Professional Documents
Culture Documents
SISTEMA GNU/LINUX
São Paulo
17/11/2005 - 16h33
2
SUMÁRIO
1 INTRODUÇÃO.......................................................................................................................3
1.2 UM KERNEL.......................................................................................................................3
2 A HISTÓRIA DO SISTEMA LINUX........................................................................................5
2.2 UM BREVE HISTÓRICO DO UNIX....................................................................................5
2.3 O PADRÃO POSIX.............................................................................................................6
2.4 O MINIX..............................................................................................................................7
2.5 A HISTÓRIA DO SOFTWARE LIVRE................................................................................8
2.6 O PROJETO GNU............................................................................................................10
2.7 O KERNEL LINUX............................................................................................................13
2.8 TUX, O MASCOTE...........................................................................................................15
2.9 SISTEMA LINUX OU SISTEMA GNU/LINUX?.................................................................16
3 CARACTERÍSTICAS DE UM SISTEMA LINUX..................................................................17
3.2 SISTEMA MODULARIZADO............................................................................................18
3.3 GERENCIAMENTO DE PROCESSOS............................................................................19
4 O SISTEMA DE ARQUIVOS...............................................................................................20
4.2 ESTRUTURA DE DIRETÓRIOS.......................................................................................21
5 INTERFACE COM O USUÁRIO..........................................................................................22
5.2 INTERATIVA.....................................................................................................................23
5.3 NÃO-INTERATIVA............................................................................................................23
6. USUÁRIOS E GRUPOS.....................................................................................................24
7. ARQUIVOS E SUAS PERMISSÕES..................................................................................25
8. X WINDOW (AMBIENTE GRÁFICO).................................................................................26
8.1 O QUE É X WINDOW?.....................................................................................................26
8.2 INICIANDO O X................................................................................................................26
8.3 TERMINAL VIRTUAL (CONSOLE)...................................................................................27
9. COMO OBTER AJUDA NO SISTEMA...............................................................................28
9.1 PÁGINAS DE MANUAL....................................................................................................28
9.2 INTERNET........................................................................................................................30
9.2.1 PÁGINAS DE REFERÊNCIA NA INTERNET................................................................30
10. SURGIMENTO DAS DISTRIBUIÇÕES............................................................................31
10.2. PADRONIZAÇÃO..........................................................................................................31
10.3. DIFERENÇAS ENTRE AS DISTRIBUIÇÕES................................................................32
10.31. PRINCIPAIS DISTRIBUIÇÕES DE GNU/LINUX.........................................................33
10.3.1. DEBIAN......................................................................................................................33
10.3.2. RED HAT....................................................................................................................34
3
10.3.3. FEDORA.....................................................................................................................34
10.3.4. MANDRIVA.................................................................................................................35
10.3.4.1 MANDRAKE.............................................................................................................35
10.3.4.2 CONECTIVA.............................................................................................................36
10.3.5.SUSE...........................................................................................................................36
10.3.6. SLACKWARE.............................................................................................................37
10.3.7. LINUX FROM SCRATCH...........................................................................................38
10.3.8. GENTOO....................................................................................................................39
11. O GERENCIADOR DE PACOTES...................................................................................39
11.1. OS PACOTES RPM.......................................................................................................39
11.2. OS PACOTES DEBIAN..................................................................................................41
11.3. FERRAMENTAS DE GERENCIAMENTO DE PACOTES..............................................42
11.3.1. O DPKG......................................................................................................................42
11.3.2. O APT.........................................................................................................................42
12. BIBLIOGRAFIA.................................................................................................................43
13. CONCLUSÃO...................................................................................................................44
ÍNDICE DE ILUSTRAÇÕES
FIGURA 1: HARDWARE, KERNEL E SHELL.........................................................................................4
FIGURA 2: DENNIS RITCHIE (ESQUERDA), KEN THOMPSON (DIREITA) E O MAINFRAME ONDE
NASCEU O UNIX .................................................................................................................................. 5
FIGURA 3: DR. ANDREW STUART TANENBAUM, AUTOR DO LIVRO SISTEMAS
OPERACIONAIS.....................................................................................................................................7
FIGURA 4: RICHARD STALLMAN, FUNDADOR DO PROJETO GNU..................................................8
FIGURA 5: O PDP-10 DA DEC EXIGIA A ASSINATURA DE UM NDA PARA
UTILIZAÇÃO...........................................................................................................................................9
FIGURA 6: LOGOTIPO DO PROJETO GNU........................................................................................11
FIGURA 7: LINUS TORVALDS, CRIADOR DO KERNEL LINUX.........................................................13
FIGURA 8: TUX, O MASCOTE E SIMBOLO DO SISTEMA.................................................................15
FIGURA 9: HARDWARE, KERNELLINUX E APLICATIVOS GNU........................................................16
FIGURA 10: TIPOS DE TERMINAIS DE UM SISTEMA LINUX............................................................18
FIGURA 11: PROCESSAMENTO INTERNO DO KERNEL-LINUX.......................................................20
FIGURA 12: OS ESTADOS DE UM PROCESSO E OS COMANDOS DO ESCALONADOR DE
PROCESSOS.......................................................................................................................................20
FIGURA 13: ESQUEMA DE RELAÇÃO ENTRE OS PROCESSOS E O SERVIDOR X......................27
4
1 INTRODUÇÃO
Este trabalho tem como objetivo dar uma visão geral da arquitetura de um sistema
operacional GNU/Linux. Vamos abordar desde a sua criação, sua arquitetura, suas
motivações, objetivos e arriscar algumas previsões.
Não pretendemos que este sistema é melhor que seus concorrentes mas quermos
mostar que nos dias atuais o GNU/Linux é tão funcional quanto seus concorrentes.
1.2 UM KERNEL
O kernel pode ser entendido com uma série de arquivos escritos em linguagem C e
em linguagem Assembly que constituem o núcleo do sistema operacional. É o kernel
que controla todo o acesso ao hardware do computador. Ele pode ser visto como
uma interface entre os programas e todo o hardware. Cabe ao kernel as tarefas de
permitir que todos os processos sejam executados pela CPU e permitir que estes
consigam compartilhar a memória do computador.
Interface
Kernel
Hardware
Pode parecer estranho começar falando do kernel mas o objetivo é mostar que esta
é uma das partes mais importantes de um sistema operacional. A alguns anos o
kernel era um completo desconhecido até mesmo para muitos técnicos de
informática, mas nos últimos 14 anos um sistema fez deste ilustre desconhecido o
pivô de um dos maiores debates ideológicos, comerciais e filosóficos dos últimos
tempos.
Sem exageros podemos dizer que por causa de um kernel de sistema operacional
está provodando mudanças drásticas em metedologias de trabalho, visão de
negócios, paradigmas de desenvolvimento e comercialização de propriedade
intelectual, desde pequenas comunidades a grandes corporações multinacionais.
É um pouco desta história que estamos vivendo, muitas vezes sem se dar conta,
que pretendemos mostrar com este trabalho.
6
2.4 O MINIX
O MINIX é uma versão do Unix, livre e com o código fonte disponível. Isso significa
que qualquer programador experiente pode fazer alterações nele. Ele foi criado
originalmente para uso educacional, para quem quisesse estudar o Unix "em casa".
Seu autor, Dr. Andrew Stuart Tanenbaum o escreveu como material de apoio ao livro
Sistemas Operacionais, no decorrer da leitura é passado os códigos fonte dos
programas e serviços do sistema e ao final tem-se um
sistema operacional "completo".
Hoje o MINIX é distribuído sob uma licença própria (que é um clona da licança BSD
original).
E foi neste ambiente que a maioria das tecnologias que usamos hoje foram criadas,
em um determinado momento o laboratório de Inteligência Artificial do Instituto de
Tecnologia de Massachusets (o famoso MIT) ganhou uma impressora da XEROX,
um modelo de uma tecnologia nova utilizando laser no lugar de uma matriz de
pontos, porém esta impressora apresentava problemas constantes de atolamento do
10
Richard Stallman se recusava assinar este contrato porque acreditava que não
compartilhar seus códigos era um retrocesso, apesar das vantagens econômicas
que o mercado de informática que estava emergindo, ele acreditava que
conhecimento não deve ser tratado como produto mas como um bem comum e os
NDAs estavam acabando com a comunidade colaborativa que ele vivia até então.
Ele lutou até as últimas conseqüências, porém chegou um momento onde ele teve
que fazer uma escolha, ou assinava um NDA para continuar nos projetos que MIT
estava envolvido e com isso poderia ganhar muito dinheiro ou pedia demissão e
deixaria de programar que sempre foi sua paixão, para ele ainda era uma opção
melhor do que abandonar seus princípios e se vender para a indústria que estava se
formando em torno dos computadores.
Para Richard Stallman ser tornou óbvio que ele deveria criar um sistema operacional
livre 100%, mas ele não podia fazer isso como funcionário do MIT, ou o instituto
poderia exigir para si os direitos sobre todo o código criado por ele, então ele pediu
demissão.
12
Para a arquitetura do sistema ele escolheu o padrão POSIX, ele escolheu este
padrão porque já haviam muitos programadores para a plataforma UNIX e isso
facilitaria para conquistar novos contribuidores, não financeiros mas contribuidores
de código.
O nome escolhido para o projeto foi GNU5 que significa GNU is Not Unix, afinal ele
estava criando um sistema Unix que não era o Unix e este tipo de “brincadeira” é
muito comum no universo hacker.
O primeiro programa do projeto GNU a ficar pronto foi o GNU Emacs, um software
que é um editor de textos, um cliente de e-mail, entre outras funcionalidades, o
Emacs já era conhecido e existiam muitas pessoas interessadas em usa-lo, então
Stallman resolveu distribuí-lo da seguinte forma, quem quisesse o Emacs deveria
pagar US$ 150,00, porém a grande diferença era que ao pagar esta quantia quem
comprasse o Emacs receberia uma fita com o programa no formato binário
Mas como uma empresa ou alguém poderia usar este software e modifica-lo e
vende-lo sem garantir estas quatro liberdades, Richard Stallman criou também o
conceito de Copyleft (uma brincadeira com o termo Copyright), na licença idealizada
por Stallman ao utilizar um software ou parte de um software que lhe tenha sido
fornecido com as quatro liberdades básicas, você deve redistribuí-lo concedendo as
mesmas liberdades que recebeu.
Na realidade o projeto GNU tem um kernel, seu nome é Hurd, e esta sendo
desenvolvido com uma arquitetura de micro-kernel, nesta arquitetura cada elemento
do kernel é independente do seu núcleo (acesso a dispositivos, driver, etc...). Estes
elemendos são executados como Daemons6 e são chamados automaticamente pelo
kernel principal somente quando necessário.
Esta arquitetura é muito moderna e já vou pivô de um famoso debate entre o Dr.
Andrew Tanenbaum e Linux Torvalds, apesar de ser considerada por muitos como o
futuro dos sistemas operacionais, na arquitetura de micro-kernel é extremamente
dificil depurar os programas compilados sob ela, tamanho a dificuldade de se
mapear a troca de mensagens entre os Daemons o que acontece no núcleo do
sistema.
Por causa desta dificuldade o Hurd ainda está um pouco longe de ser tornar tão
funcional quando o Linux, mas seu desenvolvimento nunca foi interrompido.
Apesar de estudar o MINIX na univesidade não era possível fazer o mesmo em casa
porque os únicos computadores disponíveis na época eram equipados com
processadores Intel 80386, como visto anteriormente, nesta época o MINIX
suportava apenas processadores 8086.
Do you pine for the nice days of minix-1.1, when men were men and wrote
their own device drivers? Are you without a nice project and just dying
to cut your teeth on a OS you can try to modify for your needs? Are you
finding it frustrating when everything works on minix? No more all-
nighters to get a nifty program working? Then this post might be just
for you :-)
I can (well, almost) hear you asking yourselves "why?". Hurd will be
out in a year (or two, or next month, who knows), and I've already got
minix. This is a program for hackers by a hacker. I've enjouyed doing
it, and somebody might enjoy looking at it and even modifying it for
their own needs. It is still small enough to understand, use and
modify, and I'm looking forward to any comments you might have.
I'm also interested in hearing from anybody who has written any of the
utilities/library functions for minix. If your efforts are freely
distributable (under copyright or even public domain), I'd like to hear
from you, so I can add them to the system. I'm using Earl Chews estdio
right now (thanks for a nice and working system Earl), and similar works
will be very wellcome. Your (C)'s will of course be left intact. Drop me
a line if you are willing to let me use your code.
Linus
PS. to PHIL NELSON! I'm unable to get through to you, and keep getting
"forward error - strawberry unknown domain" or something."
Foi assim que nasceu este sistema e esta mensagem é a sua certidão de
nascimento. Depois desta mensagem dezenas de programadores que liam as
mensgens da lista COMP.OS.MINIX começaram da palpites e mais importante,
começaram a contribuir com código para o sistema desenvolvido por Linus, com o
tempo este dezena de programadores se tranformou em uma centena e hoje em dia
são milhares de programadores engajados em continuar melhorando o sistema.
Em 1996 na lista de distribuição Kernel-Linux, surgiu uma discussão sobre criar uma
indentidade visual para o sistema, algo que só de olhar pudesse fazer as pessoas
pensarem no sistema. Surgiram então várias sugestões, águias, tubarões, entre
outros monstros e gozações com os logotipos dos sistemas concorrentes, então
17
Linus Torvalds mandou apenas uma mensagens, com a seguinte informação: “...eu
gosto muito de pingüins.”
Isso foi o suficiente, a partir desde e-mail todas as sugestões eram pingüins, hora
carregando o mundo, ora dominando computadores ou satirizando os logotipos dos
sistemas concorrentes, mais uma vez Linus interveio e mandou outra mensagem:
“...eu acho que deveria ser um pingüim, simpático, “gordinho” com cara de satisfeito
como se tivesse acabado de comer.”.
Há uma polêmica sem fim na comunidade software livre, como deve ser chamado o
sistema, Sistema Linux ou Sistema GNU/Linux?
Como pôde ser observado, o que foi desenvolvido por Linus Torvalds foi o kernel e
que para colocar este kernel em funcionamento Linus utilizou os aplicativos
desevolvidos para o sistema GNU.
18
Aplicativos GNU
Kernel Linux
Hardware
Do outro lado Linus Torvalds, defende que isso é uma grande bobagem, porque sem
um kernel, um punhado de aplicativos não tem função, se instalarmos o Emacs no
Windows o sistema passa a se chamar GNU/Windows? Segundo Linus Torvalds
para seguir a lógica de Richard Stallman o nome do sistema então deveria ser:
GNU/Gnome/OpenOffice/Mozilla/.../Linux.
Enfim, até hoje nem Linus nem Stallman chagaram a um acordo quanto a este
impace, mas cada um de nós deve analisar os dois pontos de vista e aplicar o nome
que julgar mais correto de acordo com o entendimento de cada um.
Para facilitar a leitura neste trabalho, a partir de agora quando for citada a palavra
Linux, esteremos no referindo ao conjunto do sistema, aplicativos GNU, kernel,
servidores e demais programas inseridos nas distribuições.
19
O Linux possue uma memória virtual paginada, isso possibilita ao sistema executar
programas e processos que ocupem mais espaço do que o tamanho da memória
real, esta memória paginada é mantida em uma patição isolada do resto do sistema
de arquivos.
20
Os módulos são carregados somente quando o kernel decidir ser necessário, o que
ocorre somente quando um processo ou programa solicita. Isso garante ouso
otimizado d memória RAM, pois são carregados na memória somente os módulos
necessáios, entretanto o tempo entre o kernel identificar a necessiade de carregar
um módulo e deixá-lo disponível é maior do em sistemas onde os drivers são
carregados já na inicialização do sistema.
Um driver pode ser carregado diretamente na memória pelo kernel, desde o boot
quando este módulo é compilado incluído no kernel. A performace do módulo é
muito maior mas os recursos por ele alocados ficam permanentemente ocupados.
subdiretórios recebem os nomes dos PID dos processos, nos arquivos cmdline,
environ e status, que encontram-se dentro desses diretórios são armazenadas
informações detalhadas sobre a execução dos processos.
Para se obter informações sobre os processos pode-se usar os comandos ps, pstree
e top. É possivel também alterar a prioridade de execução dos processos por meio
dos comandos nice e renice, isso dá ao administrador do sistema o controle
individual dos processos em execução.
Quando um processo está sendo executado ele passa por vários estados e recebe
diversos comandos internos controledos pelo escalonador de processos, para
entendermos melhor este procedimento vamos observar a figura 12:
Existem vários sistemas de arquivos para o Linux (EXT2, EXT3, ReiserFS, XFS,
JFS), cada um que possue características particulares que os deferenciam, como
performace, segurança, journaling, entre outras, entretanto todos seguem os
padrões de sistemas de arquivos especificados pelo padrão POSIX.
A distribuição dos arquivos no disco fica a critério de quem monta uma distribuição,
entretanto para facilitar o aprendizado do Linux e padronizá-lo para compatibilizar
cada distribuição com os mais diversos programas, foi criado o LSB Linux Standad
Base, com o propósito de padronizar certas estruturas como a árvore de diretórios,
23
5.2 INTERATIVA
5.3 NÃO-INTERATIVA
São usados arquivos de comandos criados pelo usuário (scripts) para o computador
executar os comandos na ordem encontrada no arquivo. Neste modo, o computador
executa os comandos do arquivo um por um e dependendo do término do comando,
o script pode checar qual será o próximo comando que será executado e dar
continuidade ao processamento.
Este sistema é útil quando temos que digitar por várias vezes seguidas um mesmo
comando ou para compilar algum programa complexo. O shell Bash possui ainda
outra característica interessante: A completação dos nomes. Isto é feito
pressionando-se a tecla "TAB".
Por exemplo, se digitar "ls tes" e pressionar <tab>, o Bash localizará todos os
arquivos que iniciam com "tes" e completará o restante do nome. Caso a
completação de nomes encontre mais do que uma expressão que satisfaça a
pesquisa, ou nenhuma, é emitido um beep. Se você apertar novamente a tecla TAB
imediatamente depois do beep, o interpretador de comandos irá listar as diversas
possibilidades que satisfazem a pesquisa, para que você possa escolher a que lhe
interessa. A completação de nomes funciona sem problemas para comandos
internos.
25
6. USUÁRIOS E GRUPOS
O usuário root é o super-usuário porque tem todos os privilégios. Tem acesso total a
todos os arquivos do sistema. Em contraste, temos uma conta de usuário sem
privilégios especiais para trabalharmos.
É com essa conta que faremos quase tudo o que precisamos no sistema, utilizando
o root apenas em tarefas administrativas, isto é, instalação, remoção ou
configuração de programas. Além disso, cada usuário no sistema tem um grupo. O
grupo existe para que diferentes pessoas consigam compartilhar seus arquivos entre
si, evitando que, pessoas de outros grupos, tenham acesso a eles.
Ao trabalharmos com os arquivos, sejam eles criados por nós, ou criados pelo
sistema ao instalar um pacote, precisamos saber a quem pertence e quais suas
permissões.
boni@debian:~$ ls -l /etc/motd
-rw-r--r-- 1 root root 370 Ago 1 14:53 /etc/motd
Vamos copiar o arquivo para o diret´orio temporário e mudar suas permissões com o
comando chmod.
boni@dsu61:/tmp$ ls -l /bin/date
-rwxr-xr-x 1 root root 25820 Jul 26 2001 /bin/date
boni@debian:~$ cp /bin/date /tmp/
boni@debian:~$ cd /tmp
boni@debian:/tmp$ ls -l date
-rwxr-xr-x 1 boni boni 25820 Ago 3 16:51 date
boni@debian:/tmp$ ./date
boni@debian:/tmp$ chmod 777 gzip
boni@debian:/tmp$ ls -l date
-rwxrwxrwx 1 boni boni 25820 Ago 3 16:51 date
boni@debian:/tmp$ ./date
boni@debian:/tmp$ chmod 444 date
boni@debian:/tmp$ ls -l date
-r--r--r-- 1 boni boni 25820 Ago 3 16:51 date
boni@dsu61:/tmp$ ./date
8 Arquivos e suas permiss˜oes
bash: ./date: Permissão negada
boni@dsu61:/tmp$ date
Dom Ago 3 16:54:46 BRT 2003
8.2 INICIANDO O X
• Manual – Através do comando startx, ou xstart. Neste caso o usuário deve entrar
com seu nome e senha para entrar no modo texto e então executar um dos
comandos acima. Após executar um dos comandos, o servidor X será iniciado e
executará um dos gerenciadores de janelas configurados no sistema.
[seção] - É a seção de manual que será aberta, se omitido, mostra a primeira seção
sobre o comando encontrado (em ordem crescente).
Exemplo:
• man 5 ls: Descrição detalhada da 5ª seção do comando ls.
• man ls: Descrição detalhada de todas as seções do comando ls.
Teclas de navegação
Q: Sai da pagina do manual
R: Redesenha a tela (refresh).
H: Ajuda sobre as opções da página de manual.
S: Salva a página no formato texto no arquivo especificado.
G ou P: Inicio da página.
F ou PageDown: Rola 25 linhas abaixo.
W ou PageUp: Rola 25 linhas acima.
E ou CetaAbaixo: Rola 1 linha abaixo.
K ou CetaAcima: Rola 1 linha acima.
31
[seção] - É a seção de manual que será aberta, se omitido, mostra a primeira seção
sobre o comando encontrado (em ordem crescente).
Exemplo:
Teclas de navegação:
9.2 INTERNET
• http://ldp-br.conectiva.com.br - documentação
• http://expansion.onweb.cx - documentação
Foi então que alguém teve a idéia de facilitar essa tarefa, fornecendo um método
mais fácil de instalar o GNU/Linux na máquina, oferecendo um conjunto de pacotes
pré-compilados, contendo os programas básicos para o funcionamento do sistema e
outros de uso comum à maioria dos usuários, tudo com um sistema que
automatizava bastante o processo de instalação.
10.2. Padronização
Foi então que foi feito um grande trabalho de padronização, com iniciativas como a
Linux Standard Base, que define os padrões que qualquer distribuição deve seguir.
Dessa forma, hoje temos muitas distribuições, mas a compatibilidade entre elas é
bastante satisfatória.
34
Como qualquer pessoa que tenha conhecimentos suficientes pode construir a sua
distribuição de GNU/Linux, foram criadas centenas de distribuições ao longo desses
11 anos, mais de 300. O que muda basicamente entre uma distribuição e outra é:
Estrutura: Apesar da Linux Standard Base definir um padrão para todo sistema
GNU/Linux, isso nem sempre acontece. Existem alguns padrões diferentes para
localização de arquivos do sistema, arquivos de configuração, diretórios, etc. Um
bom exemplo das diferenças entre as distros é a localização dos scripts de
inicialização. No Debian, que obedece o padrão System V, esses scripts ficam em
/etc/init.d/, enquanto no Slackware, que segue o padrão BSD, eles ficam em
/etc/rc.d/;
10.3.1. DEBIAN
O Debian possui um repositório com mais de 10.000 pacotes que podem baixados e
instalados facilmente através da ferramenta APT (Advanced Packaging Tool). Cada
um desses pacotes possui um mantenedor, responsável por manter atualizações
constantes do pacote.
atualizar, muito seguro e confiável, sendo uma das distribuições mais recomendadas
para uso em servidores. É a única das distribuições GNU/Linux a suportar 11
arquiteturas de hardware diferentes e possui suporte a diversos idiomas, incluindo o
português brasileiro.
10.3.3. FEDORA
Quando a Red Hat decidiu mudar seu modelo de negócios e trabalhar apenas com
soluções para o mercado corporativo, ela deixou de disponibilizar a sua distribuição
para download sob uma licensa de Software Livre. Isso causou uma certa revolta
pela comunidade, que alegava que a Red Hat a estava traindo. Temendo retaliação
e boicote, a Red Hat decidiu criar uma versão livre de seu sistema operacional,
voltado para o desktop, e disponibilizá-lo livremente para download.
37
O Fedora é mantido pela comunidade, e gerenciado pela Red Hat. Atualmente ele
está na versão Core 4.
10.3.4. MANDRIVA
10.3.4.1 MANDRAKE
O Mandrake é uma distribuição francesa baseada no Red Hat, que com o tempo
tomou características próprias e assumiu um sucesso que tornou a Mandrakelinux a
maior empresa do ramo de Linux na Europa.
10.3.4.2 CONECTIVA
10.3.5.SuSE
O SuSE possui uma ferramenta muito versátil, através da qual é possível configurar
todo o sistema, além de gerenciar os programas instalados, tudo ao alcance do
mouse: o YaST (Yet Another Setup Tool, ou Ainda Outra Ferramenta de
Configuração). A união dessa facilidade com o ótimo suporte comercial vem fazendo
do SuSE uma das melhores alternativas para grandes empresas, que não podem
39
Hoje o SuSE é administrado pela americana Novell, que têm colaborado muito com
a comunidade Software Livre, desenvolvendo softwares livres diversos, incluindo
uma alternativo ao Microsoft Exchange.
10.3.6. SLACKWARE
Mais antiga das distribuições, criada em abril de 1993 pelo irlandês Patrick
Volkerding, o Slackware é uma distribuição tradicionalista, voltada para usuários que
conhecem o sistema e sabem o que estão fazendo.
Não é a toa que o Slackware tem esse nome: slack significa "preguiçoso", e com
isso Patrick quis deixar bem claro que o Slackware não vai fazer muita coisa por
você e, se o sistema é preguiçoso, o usuário não pode ser, e terá que ler muitas
documentações e mensagens do sistema, para entender o funcionamento de tudo.
Se por um lado isso torna a configuração do sistema um pouco mais lenta e
demorada, uma vez configurado os resultados são surpreendentemente
satisfatórios, além do que, o Slackware acaba fazendo o usuário conhecer o sistema
"na marra".
O Linux From Scratch não pode ser considerado uma distribuição. O projeto visa dar
assistência àqueles que quiserem instalar o GNU/Linux da forma antiga, ou seja, do
zero, compilando pacote por pacote, configurando arquivo por arquivo. Se de início
isso pode parecer loucura ou até mesmo perda de tempo, há fortes motivos que
justificam uma instalação desse tipo. A primeira delas é o conhecimento que se
adquire sobre a estrutura e funcionamento do GNU/Linux, e o segundo é o
desempenho extremamente superior que se obtém.
10.3.8. GENTOO
Criado por Daniel Robins [1], o Gentoo [2] é uma distribuição que pode ser definida
como um "Linux From Scratch automatizado". A instalação é feita segundo os
mesmo princípios de uma instalação de GNU/Linux a partir do zero, com todos os
pacotes sendo compilados um a um, incluindo o kernel. A diferença é que o Gentoo
automatiza essas tarefas, através de um sistema de gerenciamento de pacotes, o
Portage [3], que busca e baixa o pacote da Internet, compila-o e instala-o
automaticamente, de acordo com as configurações feitas pelo usuário.
Atrás do gerenciador de pacotes está o banco de dados rpm. Ele consiste de uma
lista duplamante ligada que contêm todas as informações de todos os rpm
instalados. O banco da dados lista todos os arquivos que são criados ou modificados
quando um usuários instela um programa e facilita a remoção destes mesmo
arquivos. Se o banco de dados fica corrompido (o que acontece facilmente de o
cliente de rpm é fechado subitamente), as ligações duplas garantem que eles possa
ser reconstruído sem nenhum problema. No computadores com o sistema
operacional RedHat instalado, este banco da dados se encontra em /var/lib/rpm.
Todo pacote RPM tem um rótulo de pacote(package label), que contem as seguintes
informações:
42
o nome do software
e edição do pacote (o número de vezes que o pacote foi refeito utilizando a mesma
versão do software)
a arquitetura sob a qual o pacote foi feito (i386, i686, athlon, ppc, etc.)
<nome>-<versão>-<release>.<arquitetura>.rpm
Um exemplo:
nano-0.98-2.i386.rpm
Entretanto, note que o ródulo do pacote está contido com o arquivo e não precisa
necessariamente ser o mesmo que o nome do arquivo. O código-fonte também pode
ser distribuido em pacotes RPM. O rótulo de tais pacotes não contem a parte
destinada para a arquitetura e em seu local inserem "src". Exemplo:
libgnomeuimm2.0-2.0.0-3mdk.src.rpm
Alêm disso, as bibliotecas são distribuidas em dois pacotes separados para cada
versão. Um contendo o código pre-compilado e o outro contendo os arquivos de
desenvolvimento tais como os cabeçalhos, da biblioteca em questão. Estes pacotes
possuem o complemento "-devel" em seus nomes. Os usuários deve verificar se a
versão do pacote de desenvolvimento é a mesma do pacote binário, caso contrário o
funcionamento da biblioteca pode encontrar problemas.
Programas que não possuem pacotes DEB devem ser instalados a partir do código-
fonte. ? possível gerar pacotes DEB manualmente através da ferramenta dpkg-deb
ou através de utilitários que automatizam essa tarefa, como o checkinstall.
[foo]_[versão]-[revisão]_[arquitetura].deb
Onde:
ladccad_0.4.0-4_i386.deb;
inkscape_0.41-2_i386.deb;
kernel-image-2.6.10-1-k7_2.6.10-6_i386.deb.
44
11.3.1. O DPKG
Sintaxe
# dpkg [opções] [arquivo/pacote]
11.3.2. O APT
12. BIBLIOGRAFIA
• Título: Certificação Linux, Autor: Ribeiro, Uirá, Editora: Axcel Books. ISBN:
8573232323
13. CONCLUSÃO
Este sistema tem fascinado usuários por todo o planeta eu, André, sou um deles. E
por isso tenho plena certeza que este trabalho não está a altura do tema.
Acredito que o sistema Linux é 100% funcional e está pronto para ser utilizado por
empresas e em alguns casos até pelos usuários domésticos. Seus recursos estão
evoluindo com uma velocidade que nenhuma empresa de software proprietário
consegue acompanhar, sendo uma questão de tempo que o sistema atingir a
maturidade em algumas ferramentas para não dever em nenhum aspecto a seus
concorrentes.
Para mim o Linux já está pronto para o Desktop, porque mesmo o Windows ao ser
instalado em uma máquina não oferece um conjunto tão grande de ferramentas de
qualidade (que não puderam ser mostradas neste trabalho) desde o primeiro
BOOT.