Você está na página 1de 10

devin.com.

br

Introdução ao Linux - Devin


Hugo Cisneiros (Eitch)
14-19 minutos

Um texto um pouco grande com uma introdução teórica do


Linux, como sua história, seu funcionamento “atrás do palco”,
sua licença, entre outros. Bom para quem nunca ouviu falar de
Linux!

O que diabos é o Linux?

O Linux é um sistema operacional, ou seja, a interface que


gerencia o computador e torna possível a sua interação com o
usuário. Sendo assim, o Linux é quem controla o gerenciamento
dos dispositivos físicos (como memória, disco rígido,
processador, entre outros) e permite que os programas os
utilizem para as mais diversas tarefas. Outros sistemas
operacionais incluem: a família UNIX BSD (FreeBSD, NetBSD,
OpenBSD e outros), AIX, HP-UX, OS/2, MacOS, Windows, MS-
DOS, entre muitos outros.

O criador do kernel Linux se chama Linus Torvalds, que


também é até hoje o mantenedor da árvore principal deste
kernel. Quando Linus fez o kernel, seguiu os padrões de
funcionamento POSIX – os mesmos utilizados por todos os
sistemas UNIX – e por isso é um sistema operacional bem
parecido com os outros da família UNIX (mas não igual). Um fato
curioso é a origem do nome Linux: o autor juntou seu nome ao
Unix (Linus + Unix) e o resultando foi Linux.

Um dos recursos que deixou o Linux mais utilizado é sua alta


portabilidade, que faz com que o sistema possa ser utilizado em
diversas plataformas de hardware: PCs, main-frames, servidores
de porte, sistemas embarcados, celulares, handhelds,
roteadores, entre outros. Além disso, ele é um sistema
operacional completo, multi-tarefa e multi-usuário, o que significa
que vários serviços e usuários podem utilizá-lo ao mesmo
tempo. Outra característica importante é sua alta capacidade de
conversar com outros sistemas operacionais, tais quais outros
sistemas UNIX, redes Windows, Novell, entre outros).

Além de todas essas funcionalidades, uma das principais e mais


importantes características do Linux é ele ser um software livre e
gratuito (Open Source – ou em português – Código Aberto). Isto
significa que você não precisa pagar para usá-lo, além de ter a
possibilidade de não depender de nenhuma empresa que
controle o sistema operacional. O código-fonte do núcleo do
sistema (kernel) está liberado sob a licença GPL e pode ser
obtido na Internet por qualquer pessoa, pode também ter seu
código alterado e re-distribuído, modificando ao seu gosto e suas
necessidades, caso preciso. Por ser livre, o Linux tem como
desenvolvedores vários programadores espalhados pelo mundo,
de várias empresas diferentes ou até pessoas isoladas, que
contribuem sempre mandando pedaços de códigos e
implementações ao Linus Torvalds, que organiza e decide o que
ir ao kernel oficial ou não.
História do Linux

O criador do Linux – Linus Torvalds – era inscrito em uma lista


de discussão de programação baseada em UNIX, quando se
deparou com a seguinte pergunta:

“Lembra-se daquela época quando os homens escreviam seus


próprios drivers de dispositivos?”

Ele então resolveu desafiar a si mesmo e criar um sistema


operacional onde se pudesse trabalhar como em UNIX,
executasse em máquinas baratas (PCs) e que não se ficasse
preso ao sistema, como ele se sentia com sistemas operacionais
proprietários. Inspirado em um pequeno e humilde sistema feito
por Andy Tanembaum – o Minix – Linus trabalhou bastante para
desenvolver o Linux. Um pouco antes de lançar a primeira
versão oficial do kernel, Linus mandou a seguinte mensagem
para o grupo de notícias comp.os.minix:

“Você suspira por melhores dias do Minix-1.1, quando homens


serão homens e escreverão seus próprios drivers de
dispositivos? Você está sem um bom projeto e está morrendo
por colocar as mãos em um sistema operacional o qual você
possa modificar de acordo com suas necessidades? Você está
achando frustrante quando tudo trabalha em Minix? Chega de
atravessar noites para obter programas que trabalhem
corretamente? Então esta mensagem pode ser exatamente para
você.

Como eu mencionei há um mês atrás, estou trabalhando em


uma versão independente de um sistema operacional similar ao
Minix para computadores AT-386. Ele está, finalmente, próximo
do estágio em que poderá ser utilizado (embora possa não ser o
que você esteja esperando) e eu estou disposto a colocar os
fontes para ampla distribuição. Ele está na versão 0.02…
contudo eu tive sucesso rodando o bash, gcc, gnu-make, gnu-
sed, compressão e etc nele.”

No dia 5 de Outubro de 1991, Linus Torvalds anunciou a primeira


versão oficial do Linux, a versão 0.02. Desde então, muitos
programadores têm respondido ao seu chamado e têm ajudado
a fazer do Linux o sistema operacional que é hoje.

Software Livre / Código-Aberto

Quando um software é lançado, o autor geralmente escolhe uma


licença para a sua criação. Esta licença é quem vai dizer o que
se pode ou o que não se pode fazer com o software
disponibilizado. Historicamente, com a popularização da
informática, as licenças geralmente constituíam uma série de
restrições para os usuários quanto ao uso do software, como por
exemplo: usuários tinham que pagar para usar e não podiam
modificar ou mexer na sua base de programação.

Quando Linus Torvalds criou e lançou seu kernel, ele o colocou


sob a licença GPL, uma licença criada pela fundação GNU que
permitia o livre uso dos softwares, protegendo de pessoas mal-
intencionadas. A licença GPL foi uma das responsáveis pela
popularização do sistema operacional Linux, pois permitia que
usuários e desenvolvedores pudessem usar e modificar o
sistema de acordo com suas necessidades. Além disso, ao
mesmo tempo que ela permite liberdades em relação ao
software, ela também protege o código para que a licença e suas
liberdades não sejam modificadas. Este tipo de licença
permissiva é quem define quando um software é livre, ou é de
código-aberto.

Licença GPL

A licença GPL permite que o autor distribua livremente o seu


código, oferecendo assim 4 liberdades:

1. A liberdade de executar o programa, para qualquer propósito;

2. A liberdade de estudar como o programa funciona e adaptá-lo


para as suas necessidades;

3. A liberdade de redistribuir cópias de modo que você possa


ajudar ao seu próximo;

4. A liberdade de aperfeiçoar o programa, e liberar os seus


aperfeiçoamentos, de modo que toda a comunidade se beneficie
deles.

Em outras palavras, todos podem utilizar, modificar e redistribuir


o software (e inclusive as modificações), contanto que tudo isto
seja feito respeitando e mantendo a mesma licença GPL. Isso
permite que o software nunca seja fechado, assim pessoas mal-
intencionadas não podem fazer uso desleal do código.

Outras Licenças

Além da GPL, há uma grande quantidade de outras licenças que


permitem o uso livre dos softwares. Podemos citar alguns
exemplos como a LGPL, Original BSD, Modified BSD, Apache
License, Intel Open Source License, Mozilla Public License,
entre muitas outras.

FSF e o Projeto GNU

A FSF – Free Software Foundation (Fundação do Software Livre,


em português) – criada em 1985 por Richard M. Stallman é
uma fundação sem fins lucrativos com o objetivo de incentivar o
movimento do software livre. A FSF foi pioneira na discussão e
criação de softwares livres no mundo, em uma época em que
tudo estava tendendo ao software pago.

GNU’s Not Unix

O Projeto GNU foi o berço do software livre. Iniciado em 1984 e


idealizado por Richard Stallman, seu propósito era criar um
sistema operacional livre, de código-aberto. Stallman começou
com a idéia criando o editor de textos emacs, que foi muito bem
recebido ao seu redor, depois contemplando o projeto com
outros pedaços de software como o compilador gcc.

Depois de algum tempo, o projeto GNU tinha todas as


ferramentas prontas para os usuários utilizarem, mas faltava
apenas uma coisa: o kernel. Sem um kernel próprio e livre, o
ideal de software livre do projeto GNU não poderia ser
alcançado. O kernel escolhido para ser utilizado no sistema
operacional GNU é o GNU HURD, um tipo de micro-kernel que
havia sido iniciado em 1990.

Porém, a implementação deste kernel nunca andou muito rápido.


Por essa razão, um estudante da Finlandia chamado Linus
Torvalds criou um kernel chamado Linux e utilizou todas as
ferramentas do projeto GNU nele. Como o kernel era livre,
rapidamente as pessoas ao redor do projeto GNU começaram a
utilizá-lo e apesar de não ser considerado oficial, o Linux acabou
se tornando o kernel principal do sistema GNU.

Por essa razão, muitas pessoas utilizam o termo “GNU/Linux”


para chamar o sistema operacional que tem como kernel o Linux
e muitas de suas ferramentas básicas do projeto GNU. Essa
questão é bastante polêmica e gera muitas controvérsias, pois
atualmente não se usa apenas as ferramentas GNU: as
distribuições possuem vários outros programas de diversos
projetos diferentes.

Free Software Foundation

Em 1985, Richard Stallman criou a Free Software Foundation,


uma organização sem fins lucrativos que atua na defesa do
software livre e suas licenças. A FSF cuida de licenças como a
GPL, importantes na implantação e adoção do software livre no
mundo. Além disso, ela também gerencia o projeto GNU,
auxiliando todo o grande número de programas que participam
do projeto.
A Free Software Foundation tem sua sede em Boston, MA, EUA.
Além da sede, ela também tem filiais na América Latina, Europa
e Índia.

Richard Stallman

rmssmall
Introdução
ao Linux
Fundador e criador de várias políticas sobre softwares livres,
Richard Stallman pode ser considerado um dos pais do software
livre. Até os dias de hoje (2008), Stallman continua atuando
como articulador pela Free Software Foundation. Defendendo o
software livre e a GPL com todas suas forças.

Distribuições

Quando Linus lançou a primeira versão do Linux em 1991, ele


utilizou boa parte do conjunto de ferramentas do kernel GNU
para trabalhar junto ao kernel, afinal o kernel sozinho não
poderia fazer nada de útil em relação à interface com o usuário.
Para usar todas as ferramentas, ele teve que construí-las
especificadamente para o seu kernel e uní-las para apresentar
ao usuário uma interface para o uso do computador. Enquanto o
kernel trabalhava com o hardware, as ferramentas trabalhavam
servindo como ponte entre o usuário e o kernel.

O processo de montagem do kernel com estas ferramentas pode


ser muito trabalhoso. Algumas empresas e pessoas viram isso
como uma grande barreira para adoção do sistema: como
usuários que não eram tão avançados conseguiriam utilizar o
sistema operacional?

Esta questão foi resolvida com o surgimento das distribuições.


As empresas e pessoas criaram processos de empacotamento
do kernel e ferramentas diversas e forneciam aos usuários o
pacote todo pronto: uma distribuição. Os usuários obtiam cópias
de disquetes ou CDs através de amigos ou pela Internet e
instalavam em suas máquinas através dos sistemas de
instalação que as empresas e pessoas por trás das distribuições
fizeram, tornando assim o trabalho muito mais fácil.
Com o tempo, as distribuições ficaram cada vez mais
complexas, utilizando várias outras ferramentas além das do
projeto GNU, se tornando verdadeiros sistemas operacionais
que poderiam ser aproveitados por uma vasta base de usuários.

Uma das reações mais comuns entre as pessoas quando elas


dizem que utilizam o Linux é perguntar: “Qual a sua distribuição
Linux?”. Como o kernel Linux e suas ferramentas são softwares
livres, este processo de empacotamento em uma distribuição
poderia ser feito por qualquer um que entendesse do sistema.
Por isso, cada empresa ou pessoa construiu sua distribuição de
acordo com o que eles achavam que seria o melhor. Com isso,
cada distribuição acaba tendo algumas características
específicas que as diferenciam das outras, criando assim o gosto
pela adoção nas pessoas. Enquanto uma pessoa utiliza a
distribuição X, outra pessoa utiliza a distribuição Y e uma terceira
pessoa a distribuição F.

Atualmente temos disponíveis centenas de tipos diferentes de


distribuição, para todos os gostos.

Seguindo os Padrões

Quando centenas de distribuições começaram a aparecer, cada


uma estava fazendo tudo do seu jeito. Apesar da liberdade de
escolha ser algo bom, a falta de padrões poderia por em risco a
utilização das distribuições Linux em geral, pois umas acabariam
se tornando totalmente incompatíveis com as outras, como se
fossem sistemas operacionais totalmente diferentes.

Para resolver esta questão, criou-se alguns padrões que as


distribuições procuram seguir para manter a interoperabilidade
intacta:

FHS – http://www.pathname.com/fhs/ – Padrão que especifica a


localização de arquivos e diretórios, juntamente com a
especificação de qual seus papéis no sistema operacional.

LSB – http://www.linuxbase.org – Um tipo de extensão ao FHS,


que fornece modelos de teste para as distribuições possuírem a
garantia de seguidoras do padrão LSB. Com esta garantia, as
distribuições garantem que quando seguirem o padrão LSB, irão
ser interoperáveis: ou seja, as aplicações que funcionam em
uma funcionarão em todas.

Os diversos usos de uma distribuição

Como cada distribuição tem suas próprias características, é


crucial sabermos que há tipos de distribuições realmente
especializadas em fazer uma coisa em específico, como também
há outras que adotam um uso mais genérico.

Uma distribuição Linux pode ser utilizada em diversas áreas


como um servidor: firewalls, roteadores, servidores Web e FTP,
servidores de e-mail, banco de dados, backup, entre muitos
outros. Também pode ser utilizada para desktop: através de
ambientes gráficos como o KDE, GNOME, XFCE, entre outros,
os usuários tem acesso a programas que criam uma interface
amigável para o usuário, além de fornecer as ferramentas para
se trabalhar em: manipulação de imagens, desenvolvimento
Web, visualização de textos e apostilas, navegação na Internet,
editoração gráfica, jogos, música e vídeos, entre muitos outros.

Existem distribuições que ocupam um espaço mínimo (50MB),


geralmente para computadores mais antigos e com poucos
recursos; outras distribuições feitas diretamente para rodar de
um CD, DVD ou até pen-drive, sem precisar instalar o sistema
operacional, geralmente utilizadas para demonstração do
sistema, para uso emergencial ou para reparos em um
computador; outras são feitas especialmente para serem
executadas pela rede, sem a necessidade de um HD; e até as
distribuições que são utilizadas nos dispositivos que usamos no
dia-a-dia: tocadores de mp3, celulares, roteadores (wireless ou
não), modems, câmeras, dispositivos de TV, entre muitos outros.

Um bom ponto de partida para se conhecer muitas distribuições


é o site Distrowatch – http://www.distrowatch.com (em inglês) –
que contém uma lista gigante de distribuições, seus conteúdos,
descrições e objetivos.