Vamos voltar um pouco no tempo, mais precisamente há cerca de 40 anos. Nessa época os computadores eram bem diferentes do que conhecemos hoje, tanto nas dimensões quanto na parte operacional. Os computadores dessa época chegavam até mesmo a ocupar uma sala inteira e cada computador tinha seu próprio sistema operacional . Os softwares eram sempre customizados para servir a um propósito especifico e se rodavam em um sistema não rodavam no outro. Não é dificil de imaginar que o trabalho de usuários e administradores era muito arduo.
Em 1969, um grupo de projetistas da Bell Labs, começou a trabalhar em uma solução para resolver os problemas de incompatibilidade de software. O novo sistema era simples e elegante , possuia seu código reciclável e era escrito em linguagem C. Este novo sistema operacional foi batizado com o nome de UNIX. Por suas características ele podia rodar em máquinas de hardware diferente ,dispensava treinamento adicional e com isso ajudava usuários a se tornarem compatíveis em diferentes sistemas.
Porém apesar de ser um grande avanço, para ter contato com o UNIX era preciso estar na universidade , trabalhar no governo ou em uma grande corporação porque ele rodava em mainframes e minicomputadores.
Nos anos 80, com o surgimento dos PCs, muitas pessoas possuiam computadores em casa. Havia mesmo alguns UNIX capazes de rodar na arquitetura PC, mas nenhuma dessas máquinas tinha poder de processamento suficiente para rodar bem um UNIX, era extremamente lento, e muitas pessoas preferiam usar o MS-DOS ou o Windows 3.1.
O que é o Linux?
Nos anos 90 com o crescimento do poder de processamento dos PCs, um estudante chamado Linus Torvalds , teve a idéia de desenvolver um sistema totalmente compátivel com o UNIX orignal e que fosse capaz de rodar nos PCs da época. Torvalds pegou um UNIX comercial chamado Minix e o re-escreveu criando um sistema operacional melhor que o próprio Minix e o registrou na GPL (General Public License). Essa licença determina que não se deve fechar o código derivado do projeto com essa licença.
Desde então várias pessoas tomaram conhecimento do projeto pela internet, se entusiasmaram e passaram a contribuir com o sistema que nos dias de hoje é barato, funcional, atualizado e contando com vários aplicativos.
O Linux é um tipo de UNIX criado com o propósito de ser uma alternativa barata e funcional em relação aos UNIX comerciais para quem não dispõe de alto poder aquisitivo para adquiri-los, nem máquinas adequadas para rodá-los; já que boa parcela dos UNIX comerciais necessitam de máquinas RISC, enquanto que para o Linux basta no mínimo um Intel 386. Basicamente aprender a lidar com o Linux equivale a você aprender a lidar (a nível básico) com qualquer UNIX comercial.
O Linux está dividido em diversas distribuições cada uma mais adequada a um determinado propósito, entre as mais conhecidas estão : Debian, Redhat, SUSE, Caldera e Slackware.
Características do Sistema
- Multitarefa (Várias aplicações podem ser executadas ao mesmo tempo)
- Multiusuário (Varios usuários podem utilizar o sistema ao mesmo tempo)
- É gratuito, atualizações frequentes e é desenvolvido voluntariamente por programadores experientes e colaboradores que visam a constante melhoria do sistema.
- Convive harmoniosamente no mesmo computador com outros sistemas operacionais
- Não exige um computador potente para rodar
- Não é necessário licença para o seu uso.
- Maior estabilidade em relação ao Windows
- Maior confiabilidade.
- Não precisa ser reinicializado devido a instalação de programas ou configuração de periféricos.
- Acessa discos formatados por outros sistemas operacionais
- Suporte a linguagens de programação.
- Não existem vírus no linux
- Roda aplicações windows através do WINE
- Ambiente Shell
- Suporte a diversos dispositivos e periféricos disponíveis no mercado
- Código fonte aberto, isso significa que se você for um programador, pode modificá-lo para se adequar a necessidades específicas, algo impossivel de ser conseguido com o Windows.
Conceitos Básicos
Conta de Acesso
Similar a conta de um banco, a conta de acesso é a maneira pela qual você se identifica no sistema. É através dela que o sistema sabe que vc tem direitos de fazer uma coisa ou outra e garantir que somente vc alterará seus arquivos. Isso é de suma importância porque dessa forma, você não poderá (mesmo que acidentalmente) danificar o sistema, acessando áreas vitais para o funcionamento do mesmo.
A conta de acesso é composta de Login e Senha. Tanto o login quanto a senha podem ser alfanuméricos, a senha inclusive deveria ser alfanumérica por medidas de segurança.
Mesmo que só você utilize o linux, terá que usar uma conta para acessar o sistema, devido ao fato de que essa é uma característica do próprio linux desde a sua concepção (e de qualquer sistema multiusuário) e por ser ele um sistema voltado para ambientes em rede.
Existe uma conta que tem o controle total do sistema denominada root, comumente chamada de superusuário.
Com ela podemos fazer qualquer coisa que um usuário normal não poderia, inclusive danificar o sistema, se não soubermos exatamente o que estamos fazendo. Por isso todo o cuidado é pouco, e justamente por isso, essa conta não deveria ser usada no dia a dia. Deveria ter sua senha guardada e usada em situações de real necessidade, tais como tarefas de configuração e administração do sistema.
3.2 - Partes que compõem o Linux
Podemos classificar o Linux em três componentes principais: O kernel , o Shell e os aplicativos.
Kernel
O Kernel é o núcleo do sistema. É responsável pelas operações de baixo nível tais como: gerenciamento de memória, gerenciamento de processos, suporte ao sistema de arquivos, periféricos e dispositivos.
Pode ser compilado para se adequar melhor a um determinado tipo de máquina.
Shell
O Shell é o elo entre o usuário e o sistema. Imagine o Shell como sendo um intérprete entre pessoas que falam linguas diferentes. Ele traduz os comandos digitados pelo usuário para a linguagem usada pelo kernel e vice-versa. Sem o Shell a interação entre usuário e o kernel seria bastante complexa.
Ele também é uma linguagem de programação completa.
O Bourne Shell e o C Shell são os mais comumente usados.
Aplicações
Incorporam novas funcionalidades ao sistema. É através deles que se torna possivel a implementação de serviços necessários ao sistema. Podem ser divididos em aplicações do sistema e aplicações do usuário.
Aplicações do sistema são aquelas necessárias para fazer o sistema funcionar tais como init e syslog por ex; enquanto que aplicações do usuário são aquelas voltadas para a realização de tarefas do usuário, entre elas poderiamos citar: editores de texto, navegadores, programas de e-mail.
3.3 - Sistema de Arquivos
Um sistema de arquivos é a maneira pela qual os dados são organizados, armazenados e controlados em qualquer midia além de ser a forma como o sistema operacional representa essas informações. Ele é criado durante a formatação de uma partição.
O sistema de arquivos mais utilizado no linux é o ext (extended filesystem).
Podemos representar o sistema de arquivos do linux segundo a seguinte estrutura:
/ - (todos os arquivos e diretórios do sistema)
/boot – (arquivos de inicialização)
/bin – (executáveis principais)
/dev – (referência aos dispositivos)
/etc – (executáveis essenciais ao sistema, arquivos de configuração)
/usr – (comandos, bibliotecas, aplicativos)
/lib – (biblioteca básica do sistema)
/tmp – (arquivos temporários)
/home – (diretório de usuários e suas configurações)
Permissões de Arquivo
Por ter sido concebido para funcionar em um ambiente de rede, o linux precisa garantir que determinados usuários acessem somente áreas para o qual podem ter acesso, e isso é possivel graças as permissões de acesso.
Com elas evitam-se muitos problemas. Imagine por exemplo se em uma empresa qualquer funcionário pudesse acessar os dados de Departamento Pessoal e ver os salários dos outros funcionários.
As permissões se aplicam a arquivos e diretórios e são dos tipos: leitura, escrita e execução. Para casos em que é necessário que mais de um usuário tenha acesso a um arquivo ou grupo de arquivos, eles podem ser colocados em grupos e a esse grupo ser dado as permissões adequadas, essa prática facilita e muito a administração dos usuários.
Os grupos também são muito úteis quando se trata da inclusão de novos usuários que precisam ter as mesmas permissões de acesso que alguns já existentes. Assim se um novo funcionário foi admitido no Departamento de Pessoal, bastaria inclui-lo no grupo em questão para ele ter as mesmas permissões dos outros membros do departamento, ao invés de atribuir permissões individuais. Isso poupa muito esforço e tempo.
O linux já vem com alguns grupos predefinidos, mas outros podem ser criados, assim como os existentes serem alterados.
Tipos de Arquivos
No linux temos vários tipos de arquivos: texto, executável, arquivos de imagem e arquivos especiais. Para distinguir entre os tipos de arquivo observe a legenda:
- arquivo
d diretório
l link
b,c,s especiais
Arquivos especiais estão associados a dispositivos do sistema, ou seja cada periférico do seu computador na verdade interage com o linux através desses arquivos.
Peguemos um exemplo de um drive, quando você manda gravar algum conteúdo nele, o linux na realidade grava esse conteúdo em um arquivo especial que atua como intermediário entre o periférico e o sistema.