Sunteți pe pagina 1din 138

GNU/Linux - mdulo 1 - Introduo

Licenciamento de Uso Este documento propriedade intelectual 2002 do Centro de Computao da Unicamp e distribudo sob os seguintes termos: 1. As apostilas publicadas pelo Centro de Computao da Unicamp podem ser reproduzidas e distribudas no todo ou em parte, em qualquer meio fsico ou eletrnico, desde que os termos desta licena sejam obedecidos, e que esta licena ou referncia a ela seja exibida na reproduo. 2. Qualquer publicao na forma impressa deve obrigatoriamente citar, nas pginas externas, sua origem e atribuies de direito autoral (o Centro de Computao da Unicamp e seu(s) autor(es)). 3. Todas as tradues e trabalhos derivados ou agregados incorporando qualquer informao contida neste documento devem ser regidas por estas mesmas normas de distribuio e direitos autorais. Ou seja, no permitido produzir um trabalho derivado desta obra e impor restries sua distribuio. O Centro de Computao da Unicamp deve obrigatoriamente ser notificado (treinamentos@ccuec.unicamp.br) de tais trabalhos com vista ao aperfeioamento e incorporao de melhorias aos originais. Adicionalmente, devem ser observadas as seguintes restries: A verso modificada deve ser identificada como tal O responsvel pelas modificaes deve ser identificado e as modificaes datadas Reconhecimento da fonte original do documento A localizao do documento original deve ser citada Verses modificadas no contam com o endosso dos autores originais a menos que autorizao para tal seja fornecida por escrito. A licena de uso e redistribuio deste material oferecida sem nenhuma garantia de qualquer tipo, expressa ou implcita, quanto a sua adequao a qualquer finalidade. O Centro de Computao da Unicamp no assume qualquer responsabilidade sobre o uso das informaes contidas neste material.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

Nota do Autor
Este documento uma sistematizao de captulos criados por mim, em conjunto com outros documentos de outras pessoas que desenvolveram timos materiais, dicas e artigos relacionados ao GNU/Linux, e que os disponibilizaram livremente. A lista destes documentos que tive como base para a criao deste treinamento, encontra-se no captulo Bibliografia. Gostaria que esse documento fosse encarado como uma sistematizao de documentos disponibilizados livremente e que sero utilizados com o propsito de realizar treinamentos de GNU/Linux para quem ainda no o conhece muito bem, mas que tem a curiosidade ou necessidade de aprender. Este documento livre, e os fontes esto disponibilizados para download no site do Centro de Computao da Unicamp http://www.ccuec.unicamp.br. Obrigado e bom proveito. Fabio da Silva Santos

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

ndice
1. Introduo ao GNU/Linux.................................................................................................7 1.1 O que GNU/Linux?........................................................................................8 1.2 Histria...........................................................................................................8 1.3 Algumas caractersticas.................................................................................9 1.4 O GNU/Linux e as distribuies....................................................................11 1.5 Sou novo usurio GNU/Linux, qual distribuio devo usar?..........................13 1.6 Entendendo o Software Livre?......................................................................16 1.7 Patentes de Software...................................................................................18 2. Instalao......................................................................................................................19 2.1 Antes da Instalao......................................................................................20 2.2 Instalao do Sistema Bsico.......................................................................20 2.3 Configurao do Sistema..............................................................................45 3. Utilizando o sistema GNU/Linux.....................................................................................57 3.1 Os gerenciadores de janelas........................................................................58 3.2 Terminal Virtual (console)............................................................................61 3.3 Comandos bsicos nvel 1...........................................................................62 3.3.1 ls......................................................................................................62 3.3.2 mkdir................................................................................................63 3.3.3 rmdir................................................................................................63 3.3.4 rm....................................................................................................63 3.3.5 cd.....................................................................................................64 3.3.6 pwd..................................................................................................64 3.3.7 clear.................................................................................................65 3.3.8 man..................................................................................................65 3.3.9 apropos............................................................................................65 4. Sistemas de Arquivos....................................................................................................67 4.1 Parties..........................................................................................................68 4.2 Sistemas de Arquivos......................................................................................68 4.2.1 EXT2................................................................................................69 4.2.2 Journaling........................................................................................69 4.2.3 EXT3................................................................................................69 4.2.4 ReiserFS..........................................................................................70 4.2.5 JFS...................................................................................................70 4.2.6 XFS..................................................................................................70 4.2.7 SWAP..............................................................................................70 4.2.8 Qual Sistema de Arquivos devo Utilizar?.......................................71 4.3 - Identificao de Discos e Parties..............................................................71 4.4 - Pontos de Montagem....................................................................................72 5. Arquivos e Diretrios.....................................................................................................73 5.1 Arquivos......................................................................................................74 5.2 Tipo de Arquivos.........................................................................................74 5.3 Nomes de Arquivos.....................................................................................76 5.4 Diretrios....................................................................................................76 5.5 Estrutura de Diretrios................................................................................76 5.6 Caminhos....................................................................................................84 5.7 Notaes de Diretrios do Sistema.............................................................84
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 4

GNU/Linux - mdulo 1 - Introduo

6. Utilizando o interpretador de comandos (shell).............................................................85 6.1 O interpretador de comandos.....................................................................86 6.2 Aviso de comando (prompt)........................................................................87 6.3 Curingas (Wildcards)...................................................................................87 6.4 Direcionadores............................................................................................90 6.5 Alias............................................................................................................94 6.6 Histrico dos comandos..............................................................................94 6.7 Editor de textos vi...................................................................................95 6.8 Comandos Bsicos nvel 2........................................................................97 6.8.1 history............................................................................................97 6.8.2 tee.................................................................................................97 6.8.3 grep...............................................................................................98 6.8.4 cat..................................................................................................98 6.8.5 tac................................................................................................100 6.8.6 wc................................................................................................100 6.8.7 find (utilizao bsica).................................................................101 6.8.8 more............................................................................................102 6.8.9 less..............................................................................................103 6.8.10 touch..........................................................................................104 6.8.11 ln................................................................................................105 7. Gerenciamento de Pacotes..........................................................................................107 7.1 O que so pacotes?...................................................................................108 7.2 Os pacotes Debian....................................................................................109 7.3 Ferramentas de Gerenciamento de Pacotes.............................................110 8. Aplicativos para GNU/linux..........................................................................................125 8.1 Sutes de Escritrios.................................................................................126 8.2 Internet.....................................................................................................126 8.3 Multimdia.................................................................................................129 8.4 Grficos.....................................................................................................131 8.5 Desktop Publishing (DTP)..........................................................................131 8.6 Visualizadores de Imagem........................................................................132 8.7 Emuladores...............................................................................................132 8.8 Editores de Texto......................................................................................133 8.9 Desenvolvimento......................................................................................133 8.10 Terminais Grficos..................................................................................134 8.11 Onde procurar softwares para GNU/Linux..............................................135 9. Bibliografia...................................................................................................................137

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

Captulo 1

Introduo ao GNU/Linux
Neste captulo o usurio compreender o que o GNU/Linux, sua histria, caractersticas, noes sobre distribuies, e uma introduo do que software livre.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

1.1- O que GNU/Linux?


Em uma definio mais abrangente do que GNU/Linux, podemos dizer que um sistema operacional de cdigo-fonte aberto, e que distribudo gratuitamente pela internet. Tecnicamente falando, o GNU/Linux um kernel. O Termo Kernel (ou ncleo) propriamente refere-se ao sistema de software que representa a camada mais baixa de interface com o hardware, sendo o responsvel por gerenciar os recursos do sistema computacional como um todo. no kernel que esto definidas funes para operaes com perifricos (mouse, impressora, disco, interface serial/interface paralela), gerenciamento de memria, entre outros. Resumidamente, o kernel um conjunto de programas que fornece aos programas de usurios (aplicativos), uma interface para utilizar os recursos do sistema. Sistemas completos construdos em torno do kernel do GNU/Linux (mais conhecidos como Distribuies GNU/Linux) usam o sistema GNU que oferece uma shell (interpretador de comandos, como o bash), utilitrios (por exemplo, o whoami, que mostra quem o usurio autenticado no momento, o find, comando para pesquisar arquivos em uma hierarquia de diretrios), bibliotecas (glibc), compiladores (compilador C GCC), editores de texto (Emacs), e outros tipo de ferramentas. Por essa razo, Richard M. Stallman, criador do Projeto GNU, pede aos usurios que se refiram ao sistema como GNU/Linux. Alm do sistema GNU, um Sistema GNU/Linux completo pode conter outros softwares como o XOrg ou XFree86 (servidores grficos), Apache (servidor web) , PostgreSQL e MySQL (banco de dados), KDE e GNOME (gerenciadores de janelas), Mozilla FireFox (navegador web), Mozilla Thunderbird e Evolution (leitores de e-mails), entre outros softwares livres (e as vezes no-livres) desenvolvidos por indivduos e grupos ao redor do mundo.

1.2 - Histria
O kernel do GNU/Linux foi originalmente desenvolvido como passatempo por Linus Torvalds, um estudante de computao da Universidade de Helsinki, na Finlndia. Sua inspirao foi uma pequena verso do Unix desenvolvida por Andrew Tannenbaun chamado Minix. Ele queria um sistema operacional que fosse semelhante ao Unix, com todas as suas funcionalidades e , ainda, que pudesse utiliz-lo num PC. A partir dessa idia, Linus comeou a trabalhar nesse que seria o futuro kernel do sistema operacional que hoje chamado de GNU/Linux. Isso tudo aconteceu em meados de 1991, e em 5 de outubro deste mesmo ano, a seguinte mensagem circulou na UseNet: ...Como eu mencionei h um ms, estou trabalhando em uma verso free de um sistema semelhante ao Minix para computadores AT-386. Ele j alcanou o estgio de ser usvel (embora possa no ser dependendo do que voc fazer), e pretendo distribuir o cdigo-fonte. apenas a verso 0.02, mas j consegui rodar nele o BASH, GCC, GNU-make, GNU-sed, compress, etc.
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 8

GNU/Linux - mdulo 1 - Introduo

Esta mensagem era assinada por Linus Torvalds, e ningum adivinharia que ela estaria marcando o incio de um movimento que, em menos de 10 anos, j superava trinta milhes de seguidores, e que hoje se tornou um dos sistemas operacionais mais utilizados no mundo em servidores (e agora a caminho do mundos dos desktops!), graas ao seu sistema colaborativo de desenvolvimento, de ajuda aos usurios, e de divulgao por parte dos adeptos de um sistema operacional livre, que aos poucos pe fim ao monpolio tecnolgico imposto por grandes empresas de software, principalmente pela Microsoft (lder no mercado de sistemas operacionais para desktops), que oprime o desenvolvimento do conhecimento tecnolgico de pases emergentes como Brasil, que d um grande exemplo adontando preferencialmente as solues em software livre com apoio do governo federal, como mostra o projeto de lei do Senado Nmero 330, DE 2003, Altera a redao do art. 45 da Lei nmero 8.666: 5o. Somente ser realizada licitao ou contratao direta, com base no inciso II do art. 24, para aquisio de programas de informtica quando a autoridade competente acolher, em despacho motivado, parecer tcnico que conclua pela ausncia de programas abertos gratuitos, capazes de suprir adequadamente as necessidade da Administrao. Portanto, adotar preferencialmente solues livres dar um voto de confiana para que todas as pessoas possam ter a oportunidade e a opo de participarem da incluso digital, a qual corre em grande velocidade mundo a fora, e no caso do Brasil, com software livre, sendo atravs de empresas, escolas, telecentros, e qualquer instituio que necessite de recursos de informtica para auxiliar em seus servios rotineiros.

1.3- Algumas Caractersticas


Neste item esto descritas algumas das muitas caractersticas do GNU/Linux, as quais so muito vantajosas em relao outros sistemas operacionais: livre e desenvolvido voluntariamente por programadores experientes, hackers e contribuidores espalhados ao redor do mundo, que tem como objetivo, a contribuio para a melhoria e crescimento deste sistema operacional; No requerida uma licena para uso. O GNU/Linux licenciado de acordo com os termos da GPL (GNU Public Licence); No precisa de um processador potente para funcionar. O sistema roda bem em computadores 386SX 25MHz com 4MB de RAM (sem rodar o sistema X, que recomendado 8MB de RAM), sendo um 386SX com 2MB de RAM e 40MB de disco rgido para uma instalao bsica e funcional; Por ser um sistema operacional de cdigo aberto, voc pode ver o que cdigo-fonte faz e adapt-lo as suas necessidades ou de sua empresa. Esta caracterstica uma segurana a mais para empresas e outros que no querem ter seus dados roubados
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 9

GNU/Linux - mdulo 1 - Introduo

(voc no sabe o que um sistema operacional sem cdigo-fonte aberto faz na realidade enquanto est processando um programa); Multitarefa e multiusurio; Convive sem nenhum conflito com outros sistemas operacionais (DOS, Microsoft Windows, OS/2, etc), no mesmo computador; Acessa corretamente discos formatados pelo DOS, Microsoft Windows, Novell, OS/2, NTFS, MAC, SunOS, Amiga, etc; Os sistemas de arquivos que podem ser usados com o GNU/Linux como EXT2, EXT3, ReiserFS, etc, organizam os arquivos de forma inteligente evitando fragmentao e fazendo um poderoso sistema para aplicaes exigentes e gravaes intensivas; Roda aplicaes Microsoft Windows atravs do WINE; No h a necessidade de reiniciar o sistema aps modificar a configurao de qualquer perifrico ou parmetro de rede. Somente necessrio reiniciar o sistema no caso de uma instalao interna de um novo perifrico ou falha em algum hardware (queima do processador, placa-me, etc.); Modularizao O GNU/Linux somente carrega para a memria o que usado durante o processamento, liberando totalmente a memria assim que o programa ou dispositivo finalizado; Devido a modularizao, os drivers dos perifricos e recursos do sistema podem ser carregados e removidos completamente da memria RAM a qualquer momento; Os drivers (mdulos) ocupam pouco espao quando carregados na memria RAM (cerca de 6KB para a placa de rede NE2000, por exemplo); Consultores tcnicos especializados no suporte ao sistema espalhados por todo o mundo; Na parte dos desktops, possui gerenciadores de janelas amigveis e que j podem se considerar alternativa ao Microsoft Windows, como por exemplo o KDE, GNOME e XPDE; Possui uma poro significativa de aplicativos para os mais diversos fins para usurios mais leigos, como por exemplo, aplicativos de escritrios, navegadores web e leitores de e-mail;

Analisando algumas das caractersticas do sistema GNU/Linux, podemos concluir que ele j est maduro e estvel para ser utilizado no mercado e em instituies de pesquisas de diversos seguimentos, como j acontece nos dias de hoje, tendo como parceiros e incentivadores, grandes empresas como IBM e Novell, alm de instituies de ensino superior como por exemplo a Unicamp e UNIVATES, e rgos governamentais como a Prefeitura de Monique na Alemanha, Metr de So Paulo, os Governos do Estado do Paran e do Rio Grande do Sul (os quais so os maiores incentivadores), Prefeitura de Rio das Ostras-RJ e o Governo Federal.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

10

GNU/Linux - mdulo 1 - Introduo

1.4- O GNU/Linux e as Distribuies


Logo que Linus Torvalds passou a disponibilizar o GNU/Linux, ele apenas disponibilizava o kernel com alguns comandos bsicos. O prprio usurio devia arrumar os outros programas, compil-los e configur-los. At para um hacker isto no nada fcil. Para nos poupar deste trabalho de montar um sistema do zero, como faziam os pioneiros, temos hoje as distribuies, que nada mais so do que grandes pacotes de software que trazem instaladores, documentaes e outras facilidades, que poupam o usurio de tarefas mais espinhosas de instalao e configurao do sistema. Embora seja possvel desenvolver sua prpria distribuio GNU/Linux do zero, compilando o Kernel e adicionando um a um os programas desejados, muito mais simples colocar um CD na bandeja, responder a algumas perguntas e se deparar com um sistema configurado, pronto para usar. Entre as distribuies mais conhecidas, esto: SuSe, Conectiva/Mandriva, Fedora, Gentoo, Debian, Slackware, Kurumin e Knoppix. As diferenas bsicas entre elas esto em como so organizados e pr-configurados os aplicativos, instaladores e ferramentas de configurao disponibilizadas para auxiliar na administrao do sistema GNU/Linux. Outras diferenas entre as distribuies esto nos seus sistemas de empacotamento, que podem ser o RPM, DEB ou TGZ, em alguns casos a estrutura de diretrios, que normalmente seguem o padro LSB (Linux Standard Base) que usa o FHS (Filesystem Hierarchy Standard), e a verso da biblioteca bsica, glibc (biblioteca que contm as funces bsicas para o funcionamento do sistema operacional GNU/Linux). Uma ilustrao de como so compostas as distrubuies encontra-se na figura 1.1.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

11

GNU/Linux - mdulo 1 - Introduo

Figura 1.1 Ilustrao de como so compostas as distribuies.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 12

GNU/Linux - mdulo 1 - Introduo

1.5- Sou novo usurio GNU/Linux, qual distribuio devo usar?


Este o grande problema em existir vrias distribuies, qual usar? O primeiro passo pesquisar discusses em fruns e sites sobre GNU/Linux e pedir auxlio. Depois analisar a pesquisa. Porm, tome cuidado, pois normalmente o usurio fica desapontado com a primeira distribuio escolhida. Por isso, bom escolher a distribuio que mais tenha afinidade com voc, e para que isso ocorra, deve-se experimentar vrias distribuies e escolher aquela que mais lhe agradou. O problema que o usurio no vai querer instalar vrias distribuies para achar aquela que far sentir-se confortvel, pois muito trabalho, e o usurio novo teria dificuldade. Para estas pessoas a indicao procurar por distribuies de mais fcil manipulao (considerando que varia pelo gosto da pessoa). Abaixo encontram-se descries mais detalhada das distribuies mais conhecidas: SuSe : Distribuio alem, adquirida pela americana Novell, que vem se destacando pelo seu grande crescimento no mercado corporativo, sendo a distribuio que mais cresce atualmente nesse setor. O SuSE Linux sempre se destacou por ter o melhor suporte a hardware dentre as distribuies existentes, isso graas incluso de drivers no-livres (gratuitos ou pagos) com seu sistema operacional. O SuSE possui uma ferramenta muito verstil, o YAST, atravs da qual possvel configurar todo o sistema, alm de gerenciar os programas instalados, tudo ao alcance do mouse. A unio dessa facilidade como timo suporte comercial vem fazendo do SuSE uma das melhores alternativas para grandes empresas, que no podem abrir mo de suporte tcnico especializado e sempre mo. Red Hat :Lanada oficialmente em novembro de 1994, a Red Hat foi a empresa pioneira no ramo de GNU/Linux, tornando-se rapidamente a maior empresa do mundo a trabalhar exclusivamente com o sistema operacional livre. Ainda hoje, a Red Hat a distribuio mais utilizada no mundo, e muitas outras distribuies famosas como SuSe e Mandriva so derivadas dela. Pioneira no uso de ferramentas para configurao e manuteno do sistema, o Red Hat foi e ainda usado principalmente em servidores, a contragosto de muitos que dizem que seu desempenho no l dos melhores, apesar da extrema facilidade do gerenciamento do sistema, fornecida pelas ferramentas includas na distribuio. No atual modelo de negcios, a Red Hat est desenvolvendo somente solues para empresas, atravs de distribuies fechadas, no disponveis para download. Fedora : Quando a Red Hat decidiu mudar seu modelo de negcios e trabalhar apenas com solues para o mercado corporativo, deixou de disponibilizar a sua distribuio para download sob uma licena de Software Livre. Isso causou uma certa revolta na comunidade, que alegava que a Red Hat a estava traindo. Temendo retaliao e boicote, a Red Hat decidiu criar uma verso livre de seu
13

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

sistema operacional, voltado para o desktop, e disponibiliz-la abertamente para download. Chamado Fedora, o projeto alcanou um grande sucesso, e atualmente utilizado por um nmero expressivo de usurios ao redor do mundo. Por possuir as mesmas ferramentas do Red Hat, a migrao dos usurios aconteceu de forma tranquila e nem um pouco traumtica. O Fedora mantido pela comunidade, e gerenciado pela Red Hat. Atualmente ele est na verso Core 4.

Conectiva (Mandriva) : A primeira distribuio GNU/Linux nacional criada em 1995. Baseada no Red Hat, o Conectiva Linux destacou-se graas ao timo suporte ao hardware omumente usado no Brasil e aos seus programadores que desenvolveram diversas ferramentas utilizadas posteriormente por muitas distribuies, como o gerenciador de pacotes Synaptic e o APT for RPM, uma adaptao do APT do Debian para sistemas baseados no Red Hat. A Conectiva tornou-se rapidamente a maior empresa de Linux da Amrica Latina, tendo sido recentemente adquirida pela francesa MandrakeLinux, tornando-se a distribuio Mandriva. A Conectiva sempre disponibilizou os seus produtos sob a licena GPL, exceto as verses para empresas do seu sistema operacional. Mandrake (Mandriva) : Distribuio francesa baseada no Red Hat, que com o tempo tomou caractersticas prprias e assumiu um sucesso que tornou a Mandrakelinux a maior empresa do ramo de Linux na Europa. O principal trunfo do Mandrake a facilidade de uso. Tudo simples de fazer, desde a instalao do sistema at a sua configurao, instalao de novos itens de hardware e gerenciamento dos programas instalados. Suporta vrios idiomas, incluindo o portugus brasileiro, e possui muitos servios para usurios, como o Mandrake Club, onde o membro recebe as ltimas atualizaes sobre segurana, softwares, e outros, de forma rpida e automatizada. Recentemente, a Mandrakelinux comprou a brasileira Conectiva, tornando-se tambm a maior empresa do ramo de Linux da Amrica Latina, e lanando a nova distribuio, o Mandriva. Slackware : Mais antiga das distribuies, criada em abril de 1993 pelo irlands, Patrick Volkerding, o Slackware uma distribuio tradicionalista, voltada para usurios que conhecem o sistema e sabem o que esto fazendo. O objetivo de Patrick fornecer um ambiente mais parecido possvel com um sistema UNIX padro, mantendo a simplicidade e oferecendo total controle para o administrador. Alm disso, o Slackware a nica distribuio que no aplica patches (pacotes de correo e modificaes) nos seus pacotes, ficando essa tarefa a cargo do usurio, se assim achar necessrio. O melhor uso do Slackware em servidores dedicados, geralmente estticos no sentido de no requererem atualizaes constantes de software, e onde o sistema seja administrado por uma pessoa apenas, que sabe muito bem o que est fazendo. O Slackware tem a fama de ser uma distribuio difcil e sem muitos recursos. comum os iniciantes enfrentaram problemas com a configurao do servidor grfico.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

14

GNU/Linux - mdulo 1 - Introduo

Debian : O Debian foi criado por Ian Murdock em 1993, inicialmente patrocinado pelo projeto GNU da Free Software Fundation. Hoje, os projetistas do Debian entendem-no como um descendente direto do Projeto GNU. O Debian atualmente inclui mais de 8250 pacotes de software, facilmente instalveis atravs de uma ferramenta chamada APT. Esses pacotes so em sua maioria softwares livres disponibilizados sob a licena GPL. Alguns deles no so livres, mas ainda assim gratuitos. Voc pode encontrar uma lista e descries dos pacotes atualmente disponveis no Debian em qualquer um dos seus sites mirrors (espelhos). Um diferencial do Debian sobre as demais distribuies que ele o nico sistema que no mantido, supervisionado ou patrocinado por algum ou alguma organizao. Todo o sistema, incluindo suas ferramentas e os pacotes que utiliza so mantidos por diversos desenvolvedores ao redor do mundo. Mas nem por isso o processo de desenvolvimento do Debian desorganizado, muito pelo contrrio, um dos processos mais organizados que se conhece. As pessoas que se candidatam a serem mantenedores do sistema passam por testes dificlimos, ficam um longo perodo em experincia e, se aprovados, tm de assinar um termo de responsabilidade onde se comprometem a garantir a continuidade do sistema operacional, zelando pela qualidade e segurana de tudo o que passar por suas mos. Prega-se que o Debian a distribuio mais testada do mundo, e isso de fato verdade. O processo de incluso de um recurso no sistema ou um pacote no repositrio muito rgido, o que garante uma confiabilidade total na integridade e segurana do sistema. Gentoo : Criado por Daniel Robins, o Gentoo uma distribuio que pode ser definida como um Linux From Scratch automatizado. A instalao feita segundo os mesmo princpios de uma instalao de GNU/Linux a partir do zero, com todos os pacotes sendo compilados um a um, incluindo o kernel. A diferena que o Gentoo permite automatizar essas tarefas, atravs de um sistema de gerenciamento de pacotes, o Portage, que busca e baixa o pacote da Internet, compila-o e instala-o automaticamente, de acordo com as configuraes feitas pelo usurio. O Gentoo possui arquivos de configurao prprios que definem as opes que devem ser utilizadas pelo compilador, de forma a otimizar os pacotes para uso na mquina local. Quando bem configurado, o Portage acaba produzindo um sistema onde o desempenho o ponto mais marcante. Outro ponto de destaque o Gentoo a rica documentao disponvel em seu site oficial. Mesmo usurio de outras distribuies podem se beneficiar de documentos que tratam de assuntos fundamentais como particionamento, formatao e sistema de arquivos, muitos desses documentos j traduzidos pela comunidade brasileira do Gentoo. Knoppix : Distribuio criada por Laus Knooper que oferece a possibilidade de rodar o sistema a partir do CD-ROM. O Knoppix muito popular, sendo muito utilizado para demonstraes do GNU/Linux, uma vez que pode-se rodar um sistema completo, repleto de aplicativos, a partir de um CD, sem necessidade de instalao.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

15

GNU/Linux - mdulo 1 - Introduo

Kurumin : Distribuio nacional criada por Carlos Eduardo Morimoto. O Kurumin baseado no Knoppix, tendo sobre esse a vantagem de ser adaptado realidade do usurio brasileiro, com ferramentas de instalao de hardwares muito comuns no Brasil, como modems e outros dispositivos. Por ser baseado no Knoppix, o Kurumin tambm roda a partir do CD, e pode ser rapidamente instalado no computador. Debian-BR-CDD : Este projeto uma iniciativa da comunidade brasileira Debian-BR para adaptar a distribuio Debian realidade do usurio brasileiro. Seu grande apelo est na facilidade de instalao e no belo aspecto visual. O Debian-BR-CDD 1.0 pre5 utiliza o GNOME como gerenciador de janelas padro, inclui uma excelente documentao para o usurio iniciante e um link para abrir o canal de IRC #debian-br-cdd, onde possvel tirar dvidas e relatar bugs diretamente para os desenvolvedores do sistema. Muriqui Linux : Esse projeto mantido e desenvolvido pelo Instituto Doctum de Educao e Tecnologia. Trata-se de uma distribuio baseada no Debian (um tipo de CDD, Custom Debian Distribution), com o diferencial de estar completamente traduzido para o portugus brasileiro, e pelo fato de ele vir com o instalador Anaconda, o mesmo usado em distribuies como o Red Hat e o Fedora. Isso o torna um sistema Debian muito fcil de instalar. O nome da distribuio foi baseada no nome de um macaco, considerado o maior da amrica latina, que s existe em alguns poucos lugares do Brasil. uma distribuio nova, mas que pode se tornar sucesso em um futuro prximo. Ubuntu : Desenvolvido na frica do Sul, o Ubuntu tem feito muito sucesso desde o seu lanamento, graas s suas ferramentas que tornam muito prtico o uso do sistema, e tambm pelo seu visual caprichado, utilizando X.org como servidor grfico padro.

1.6- Entendendo o Software Livre


Software Livre uma questo de liberdade, no de preo. Para entender o conceito, deve-se pensar em liberdade de expresso, e no em almoo grtis. Software Livre refere-se a liberdade dos usurios executarem, copiarem, distriburem, estudarem, modificarem e aperfeioarem o software. Mais precisamente, ele se refere a quatro tipos de liberdade, para os usurios de software: A liberdade de executar o programa, para qualquer propsito (Liberdade nmero 0 zero); A liberdade de estudar como o programa funciona, e adapt-lo para as suas necessidades (Liberdade nmero 1). Acesso ao cdigo-fonte um pr-requisito para esta liberdade;
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 16

GNU/Linux - mdulo 1 - Introduo

A liberdade de redistribuir cpias de modo que voc possa ajudar ao prximo (Liberdade nmero 2); A liberdade de aperfeioar o programa, e liberar os seus aperfeioamentos, de modo que toda a comunidade se beneficie (Liberdade nmero 3). Acesso ao cdigo-fonte um pr-requisito para esta liberdade;

Um programa software livre se os usurios tem todas estas liberdades. Portanto, voc deve ser livre para redistribuir cpias, seja com ou sem modificaes, seja de graa ou cobrando uma taxa pela distribuio, para qualquer um em qualquer lugar. Ser livre para fazer essas coisas significa (entre outras coisas) que voc no tem que pedir ou pagar pela permisso. Voc deve tambm ter a liberdade de fazer modificaes e us-las privativamente no seu trabalho ou lazer, sem nem mesmo mencionar que elas existem. Se voc publicar as modificaes, voc no deve ser obrigado a avisar a ningum em particular, ou de nenhum modo em especial. Software Livre no significa no-comercial. Um programa livre deve estar disponvel para uso comercial, desenvolvimento comercial, e distribuio comercial. O desenvolvimento comercial de software livre no incomum; tais softwares livres comerciais so muito importantes. Portanto, voc pode ter pago para receber cpias de software livres, ou voc pode ter obtidos cpias sem nenhum custo. Mas independentemente de como voc obteve a sua cpias, voc sempre tem a liberdade de copiar e modificar o software, ou mesmo vender cpias, VOC LIVRE PARA ISSO. Softwares livres distribudos pelo licena GPL (GNU Public Licence) seguem um conceito conhecido como Copyleft, um trocadilho com o termo Copyright, que traduzindo literalmente significa deixamos copiar, que o que garante a liberdade dos usurios de modificarem e distriburem sua modificaes. Ou seja, um software livre sem Copyleft pode ser tornado proprietrio por um usurio. J um software protegido por uma licena que oferea Copyleft dever, se distribudo, ser distribudo sob a mesma licena, ou seja, repassando seus direitos. Em todo caso, no necessrio redistribuir um software livre modificado. O movimento do Software Livre foi criado em 1984 por Richard Stallman, um pesquisador do MIT (Massachusetts Insitute Technology), que no era a favor de grandes empresas de software imporem restries aos usurios com o uso do contrato de licenas de software. Desde ento, criou o projeto GNU (GNU is not UNIX), fundando a Free Software Foundation (FSF). A licena mais conhecida no mundo do software livre a GPL (GNU Public Licence), que uma das licenas que garantem todas essas liberdades listadas e comentadas acima, porm, existem outros tipos de licenas de software que so semelhantes, mas no iguais GPL, como por exemplo a BSD, Creative Commons, entre outras.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

17

GNU/Linux - mdulo 1 - Introduo

1.7- Patentes de Software


Outro motivo importante que justifica a adoo do Software Livre so as chamadas patentes de software. Imagine que uma empresa patenteasse o duplo-clique, por exemplo, e passasse a exigir que qualquer um que utilizasse esse recurso em seus softwares tivessem que pagar por isso. E se tudo o que for criado na rea de software for patenteado, e tivemos que pagar para utilizar esses recursos, como poder haver desenvolvimento, no futuro? Somente as grandes companhias podero desenvolver software, e eles tero de ser pagos. Imagine que terrvel seria se todos os programas que voc utiliza em seu computador lhe custassem alguns dlares. Isso tornaria os programas mais caros que o prprio computador, o que inibiria a aquisio de computadores pelos menos favorecidos. O que acontece ento a estagnao total, e o domnio do conhecimento pelas grandes companhias. Existe uma grande movimentao por parte dos Estados Unidos para que o seu sistema de patentes seja implementado nos outros pases. Recentemente, isso aconteceu na Unio Europia, a contragosto de muitos. No Brasil e outros pases da Amrica Latina tal sistema de patentes no existe, o que nos assegura uma certa liberdade no uso de tecnologias de software patenteadas pelas empresas americanas. Entretanto, preciso ter conscincia da importncia de no impr qualquer sistema de proteo ao direito intelectual que venha a inibir a disseminao do conhecimento e o desenvolvimento tecnolgico, o que nos deixaria merc da vontade das grandes companhias americanas, que no esto nem um pouco interessadas no desenvolvimento tecnolgico e na disseminao do conhecimento, mas to somente em encher os bolsos s custas de usurios sem acesso informao, escravos de seus programas fechados e seus Service Packs.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

18

GNU/Linux - mdulo 1 - Introduo

Captulo 2

Instalao do GNU/Linux
Neste captulo o usurio compreender como organizada uma instalao do GNU/Linux independente da sua distribuio, e o que necessrio saber antes e durante a instalao para se ter uma sistema enxuto e funcional.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

19

GNU/Linux - mdulo 1 - Introduo

2.1 Antes da Instalao


A instalao de um sistema GNU/Linux no uma tarefa difcil como muitos usurios pensam, ela apenas um processo mais detalhado e customizvel do que, por exemplo, a instalao de um sistema Microsoft Windows. Para que este procedimento seja bem sucedido, indicado seguir algumas dicas bsicas: 1. Antes da instalao, verifique se existe outro sistema operacional instalado na mquina; 2. Caso exista outro sistema operacional (normalmente o Microsoft Windows) que esteja ocupando o espao disponvel em disco, necessrio fazer um redimensionamento para que o GNU/Linux possa ser instalado; 3. Faa um backup de todos os seus arquivos mais importantes e execute a ferramenta de desfragmentao de discos antes de realizar o redimensionamento (Apenas no caso de existir outro sistema operacional na mquina); 4. Mesmo que os instaladores possuam o recurso de deteco automtica de hardware, sempre tenha em mos a listagem de hardware da sua mquina (monitor, placa de vdeo, placa de rede, placa de fax modem, disco rgido SCSI, etc.), pois nem todos os instaladores possuem um abrangente banco de dados de drivers; 5. D preferncia instalao via boot no CD-ROM, que a mais comum e a mais simples disponvel at o momento; 6. Em muitos casos, a mquina est localizada dentro de uma rede interna, ento pea ao administrador da rede as seguintes informaes: Endereo IP da mquina; Nome da mquina; Gateway; Servidores de Nomes (DNS); domnio; 7. Tenha em mos os cd's da sua distribuio GNU/Linux (Pode-se instalar um sistema atravs da rede, NFS, FTP ou HTTP, com um boot pelo disquete ou mesmo pelo CD);

2.2 Instalao do Sistema Bsico


Independente de existirem diversas distribuies, que possuem seus prprios sistemas de instalao, cada qual com suas caractersticas individuais, o processo de instalao do GNU/Linux, no geral, segue um padro, o qual pode-se resumir da seguinte forma:
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 20

GNU/Linux - mdulo 1 - Introduo

Tipo de instalao (modo texto, grfico, expert, etc.) Deteco de hardware Seleo do idioma Seleo do layout do teclado Seleo e configurao do mouse Perfis de instalao Configurar rede Particionamento de disco Instalao de pacotes Configurar o modo grfico

Monitor Placa de vdeo N de cores / resoluo

Configurao do fuso horrio Configurao de usurios e senhas Configurao do gerenciador de inicializao (bootloader) Disco de inicializao Finalizao da instalao

Normalmente uma instalao de GNU/Linux possui estas caractersticas, porm, como existem diversas distribuies com seus prprios instaladores, algumas destas etapas podem no existir, podem fazer parte de outro item do instalador, ou mesmo podem ser executadas sem aparecerem visualmente para o usurio. A distribuio utilizada como base para o curso o Debian GNU/Linux 3.1, ou Debian Sarge. Esta distribuio desenvolvida e atualizada atravs do esforo de voluntrios espalhados ao redor do mundo, seguindo o estilo de desenvolvimento GNU/Linux. Por este motivo, foi adotada como a distribuio oficial do projeto GNU. Apesar da sua instalao ser inteiramente em modo texto, pode-se instalar um sistema completo com uma enorme facilidade e rapidez. Sua instalao dividida nas seguintes etapas:
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 21

GNU/Linux - mdulo 1 - Introduo

Tipo de instalao (linux26, expert, etc.) Seleo do idioma Seleo do layout do teclado Detectar e montar CD-ROM Carregar componentes do instalador Detectar hardware de rede Configurar rede Detectar discos e outros hardwares Particionar disco Instalar Sistema Bsico Instalar o GRUB em um disco rgido Configurao do fuso horrio Configurar usurios e senhas Configurar o APT (repositrio de pacotes) Seleo dos perfis de instalao Configurar o modo grfico

Monitor Placa de vdeo N de cores / resoluo

Configurar o EXIM Finalizao da Configurao e da Instalao Inicializao do Modo Grfico

A partir de agora, vamos detalhar o processo de instalao do Debian GNU/Linux 3.1 Sarge, passo-a-passo, com apresentao das telas que fazem parte do instalador. Lembrando que as opes selecionadas fazem parte dos exemplos deste curso.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

22

GNU/Linux - mdulo 1 - Introduo

Tipo de instalao (linux26, expert, etc.)

A figura 2.2.1 mostra a tela de apresentao do instalador, logo aps a inicializao do computador pela mdia de instalao do Debian GNU/Linux Sarge. Esta pode ser adquirida em um dos mirrors oficiais, que encontram-se espalhados pelo mundo, e listados em http://www.debian.org/CD/http-ftp/ . Precisa-se apenas do CD 1 para realizar uma instalao funcional e enxuta.

Figura 2.2.1 Primeira tela de apresentao do instalador.

Pressionando a tecla F1, podemos visualizar um menu com diversar informaes sobre a instalao e sobre o Projeto Debian GNU/Linux. Utilize o mtodo de instalao linux26 (figura 2.2.2).

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

23

GNU/Linux - mdulo 1 - Introduo

Figura 2.2.2 Menu de opes do instalador.

Seleo do Idioma

Nesta etapa, faz-se a seleo do idioma usado no processo de instalao (figura 2.2.3). Selecione a opo Portuguese (Brazil) - Portugus do Brasil.

Figura 2.2.3 Seleo do idioma.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 24

GNU/Linux - mdulo 1 - Introduo

Seleo do layout do teclado

Escolha o layout do teclado que voc est usando (figura 2.2.4). O instalador te oferece a opo mais comum, baseada na sua escolha do idioma, mas obviamente, voc pode mudar se desejar. Selecione a opo Portugus Brasileiro (layout ABNT2).

Figura 2.2.4 Escolha do layout do teclado.

Detectar e montar CD-ROM

O instalador executa a deteco do CD-ROM (figura 2.2.5) para poder carregar na memria os componentes necessrios ao seu funcionamento (figuras 2.2.6 e figura 2.2.7).

Figura 2.2.5 Deteco do CD-ROM.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

25

GNU/Linux - mdulo 1 - Introduo

Figura 2.2.6 Lendo os componentes do instalador no CD-ROM.

Figura 2.2.7 Carregando na memria os componentes do instalador.

Configurar Rede

A deteco do hardware de rede feita automticamente (figura 2.2.8), e se a mquina faz parte de uma rede, o instalador tenta realizar a configurao automtica via DHCP (figura 2.2.9). Caso contrrio, ser exibida uma mensagem de erro (figura 2.2.10) e o menu de opes da configurao de rede. Selecione a opo Configurar a Rede Manualmente (figura 2.2.11).

Figura 2.2.8 Detectando o hardware de rede.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 26

GNU/Linux - mdulo 1 - Introduo

Figura 2.2.9 Configurao de rede via DHCP.

Figura 2.2.10 Mensagem de erro exibida por no achar nenhum servidor DHCP.

Figura 2.2.11 Menu de opes da Configurao de Rede.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 27

GNU/Linux - mdulo 1 - Introduo

As informaes de rede como endereo IP (figura 2.2.12), mscara de rede (figura 2.2.13), gateway (figura 2.2.14), servidores de nomes, ou DNS (figura 2.2.15), nome da mquina (figura 2.2.16) e domnio da rede(figura 2.2.17), sero necessrias nesta etapa da instalao.

Figura 2.2.12 Endereo IP.

Figura 2.2.13 Mscara de Rede.

Figura 2.2.14 Gateway.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

28

GNU/Linux - mdulo 1 - Introduo

Figura 2.2.15 Servidores de Nomes, ou DNS.

Figura 2.2.16 Nome da Mquina.

Figura 2.2.17 - Domnio da rede.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 29

GNU/Linux - mdulo 1 - Introduo

Detectar Discos e outros Hardwares

Nesta etapa feita a deteco dos disco e outros hardwares relacionados (figura 2.2.18).

Figura 2.2.18 Deteco de de discos e outros hardware relacionados.

Particionar Discos

Aps realizar a deteco automtica dos discos, o instalador inicializa o particionador (figura 2.2.19) e exibe um menu onde listado todos discos detectados (figura 2.2.20). Selecione a opo Editar manualmente a tabela de partices.

Figura 2.2.19 Iniciando o particionador.

Figura 2.2.20 Menu do particionador.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 30

GNU/Linux - mdulo 1 - Introduo

Como neste custo j existem parties configuradas, formatadas e montadas, voc ir inicialmente remov-las para aprender como realizar o processo de particionamento de discos. Selecione a primeira partio (swap)(figura 2.2.21), e na prxima tela (figura 2.2.22), selecione a opo Remover a partio.

Figura 2.2.21 Selecione a primeira partio para remoo.

Figura 2.2.22 Selecione a opo Remover a partio.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

31

GNU/Linux - mdulo 1 - Introduo

O particionador ir atualizar a tabela de parties da mquina (figura 2.2.23), e depois voltar novamente ao menu onde esto listadas todas as parties configuradas no(s) respectivo(s) disco(s) (figura 2.2.24). Repita a operao anterior com a segunda partio (reiserfs), selecionando-a, e na prxima tela, escolhendo a opo Remover a partio (figura 2.2.25).

Figura 2.2.23 Atualizando a tabela de parties.

Figura 2.2.24 Menu do particionador.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

32

GNU/Linux - mdulo 1 - Introduo

Figura 2.2.25 Selecione a opo Remover a partio. Novamente apresentado o menu do particionador, com a tabela de parties sem nenhuma configurao. Nesta instalao ser utilizado um esquema de particionamento bsico, indicado para iniciantes. Siga as orientaes enumeradas para criar as parties. Cada item contm a referncia das telas exibidas durante o particionamento para que o usurio possa localizar-se durante a execuo dos procedimentos. 1. Selecione a rea do disco que contenha espao livre para criar as parties (figura 2.2.26):

Figura 2.2.26 Selecionar rea do disco para particionar.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 33

GNU/Linux - mdulo 1 - Introduo

2. Primeiramente, cria-se uma partio de SWAP (rea de troca) para o sistema. Selecione a opo Criar uma nova partio (figura 2.2.27):

Figura 2.2.27 Criar uma partio de SWAP.

3. Coloque neste campo o valor 128 MB (Entre os valores 128 e MB coloque um espao em branco) (figura 2.2.28):

Figura 2.2.28 informando o valor do tamanho da partio de SWAP.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

34

GNU/Linux - mdulo 1 - Introduo

4. Selecione a opo Primria (figura 2.2.29):

Figura 2.2.29 Tipo de partio.

5. Selecione a opo Incio (figura 2.2.30):

Figura 2.2.30 Posicionamento da partio de SWAP no disco.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

35

GNU/Linux - mdulo 1 - Introduo

6. Selecione o item Usar como para selecionar o tipo de sistema de arquivos para esta partio (figura 2.2.31):

Figura 2.2.31 Informaes sobre a partio.

7. Para a criao de uma partio de SWAP, seleciona-se a opo rea de Troca (figura 2.2.32):

Figura 2.2.32 Selecionando o tipo de sistema de arquivos.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 36

GNU/Linux - mdulo 1 - Introduo

8. Nesta etapa, o instalador exibe a configurao da partio recm-criada. Selecione a opo Finalizar a configurao da partio para confirmar a criao da partio de SWAP (figura 2.2.33):

Figura 2.2.33 Confirmao da criao da partio de SWAP. 9. O instalador volta a exibir o menu do particionador, com a nova partio de SWAP sendo exibida. Agora cria-se a partio principal, o qual ser instalado o sistema operacional. Novamente selecione a rea do disco que contenha espao livre para criar as parties (figura 2.2.34):

Figura 2.2.34 Selecionar espao livre para criao a partio principal.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 37

GNU/Linux - mdulo 1 - Introduo

10. Selecione a opo Criar uma nova partio (figura 2.2.35):

Figura 2.2.35 Criar uma nova partio.

11. Coloque neste campo o valor 5 GB (Entre os valores 5 e GB coloque um espao em branco) (figura 2.2.36):

Figura 2.2.36 Informando o valor do tamanho da partio principal.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

38

GNU/Linux - mdulo 1 - Introduo

12. Selecione a opo Primria (figura 2.2.37):

Figura 2.2.37 Tipo de partio.

13. Selecione a opo Incio (figura 2.2.38):

Figura 2.2.38 Posicionamento da partio principal no disco.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

39

GNU/Linux - mdulo 1 - Introduo

14. Selecione o item Usar como para selecionar o tipo de sistema de arquivos para esta partio (figura 2.2.39):

Figura 2.2.39 - Informaes sobre a partio.

15. Para a nossa partio principal, selecione o item sistema de arquivo com journaling ReiserFS (figura 2.2.40):

Figura 2.2.40 - Selecionando o tipo de sistema de arquivos.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 40

GNU/Linux - mdulo 1 - Introduo

16. Escolhido o tipo de sistemas de arquivos, selecione o item Flag Inicializvel, (figura 2.2.41) para tornar a nossa partio inicializvel (ligado):

Figura 2.2.41 Tornar a partio principal inicializvel

17. Aps estas configuraes, Selecione a opo Finalizar a configurao da partio (figura 2.2.42):

Figura 2.2.42- Confirmao da criao da partio principal.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 41

GNU/Linux - mdulo 1 - Introduo

18. Ser exibida a configurao da sua tabela de parties (figura 2.2.43). Selecione a opo Finalizar o particionamento e gravar as mudanas no disco:

Figura 2.2.43 Finalizar o particionamento.

19. Confirme a gravao da tabela de parties, selecionando a opo Sim (Figura 2.2.44):

Figura 2.2.44 Confirmar a gravao da tabela de parties.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 42

GNU/Linux - mdulo 1 - Introduo

20. Aps a confirmao anterior, o instalador ir formatar as parties recmcriadas (figura 2.2.45):

Figura 2.2.45 Formatando as parties.

Instalao do Sistema Bsico

A instalao do sistema bsico feita logo aps a formatao das parties (figura 2.2.46):

Figura 2.2.46 Instalao do sistema bsico. Terminada a instalao do sistema bsico, o instalador pede a confirmao para instalar o gerenciador de inicializao GRUB (figura 2.2.47):

Figura 2.2.47 - Instalar o gerenciador de inicializao GRUB.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 43

GNU/Linux - mdulo 1 - Introduo

21. Executa-se a instalao do GRUB na MBR (figura 2.2.48):

Figura 2.2.48 Executando a instalao do GRUB. Agora o instalador realiza as ltimas configuraes desta primeira etapa (figura 2.2.49), e exibe uma mensagem notificando a finalizao da instalao (figura 2.2.50). O CD ser ejetado da bandeja e o computador ser reinicializado para a prxima etapa que a configurao do sistema

Figura 2.2.49 Finalizando a instalao.

Figura 2.2.50 Instalao Finalizada.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

44

GNU/Linux - mdulo 1 - Introduo

2.3- Configurao do Sistema


A configurao do sistema GNU/Linux iniciada aps a instalao do sistema bsico (figura 2.3.2). Agora ser feita as configuraes mais especficas do sistema, e a instalao de pacotes de acordo com o uso da mquina. Mesmo que na mesma mquina exista outro sistema operacional instalado, o novo gerenciador de inicializao ser o GRUB, e a sua interface padro tem a configurao como a da figura 2.3.1:

Figura 2.3.1 Tela inicial do GRUB.

Figura 2.3.2 - Tela de boas vindas do configurador Debian.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 45

GNU/Linux - mdulo 1 - Introduo

Configurao do Fuso

Selecione a configurao de fuso horrio para o seu computador (figuras 2.3.3 e 2.3.4):

Figura 2.3.3 Selecionando o fuso horrio.

Figura 2.3.4 - Selecionando o fuso horrio.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

46

GNU/Linux - mdulo 1 - Introduo

Configurar usurio e senha

Nesta parte da configurao, sero configuradas as informaes dos usurios que normalmente utilizam a mquina. Basicamente, tm-se dois usurio no sistema, o usurio para tarefas administrativas, o root, e um usurio para utilizao geral, o qual daremos o nome de curso. Para o usurio administrativo (root), a configurao pede a sua senha (figura 2.3.5) e a confirmao para esta senha (figura 2.3.6):

Figura 2.3.5 Senha para usurio administrativo.

Figura 2.3.6 Confirmao para senha do usurio administrativo.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

47

GNU/Linux - mdulo 1 - Introduo

Para o usurio de utilizao geral (curso), a configurao pede o seu nome completo (figura 2.3.7), seu username (figura 2.3.8), sua senha (figura 2.3.9) e a confirmao para esta senha (figuras 2.3.10):

Figura 2.3.7 Nome completo do usurio de utilizao geral.

Figura 2.3.8 Username para o usurio de utilizao geral.

Figura 2.3.9 Senha para o usurio de utilizao geral.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

48

GNU/Linux - mdulo 1 - Introduo

Figura 2.3.10 Confirmao da senha para o usurio de utilizao geral.

Configurar repositrio de pacotes (APT)

Deve-se escolher o mtodo que o APT (A ferramenta de gerenciamento de pacotes do Debian GNU/Linux) dever utilizar para acessar o repositrio de pacotes Debian. possvel instalar estes pacotes atravs de um CD-ROM, FTP, HTTP, ou diretamente do sistema de arquivos. Utilize a opo cdrom (figura 2.3.11) para o repositrio de pacotes, o qual ser examinado e preparado (figura 2.3.12) para selecionar os perfis de instalao.

Figura 2.3.11 Selecione o repositrio de pacotes do Debian GNU/Linux.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

49

GNU/Linux - mdulo 1 - Introduo

Figura 2.3.12 Examinando e preparando as informaes do repositrio.

Seleo dos Perfis de Instalao

Nesta etapa a seleo de perfis requerida pela configurao do sistema. Como visto, existem perfis para os mais variados usos para serem instalados (figura 2.3.13). Selecione as opes Ambiente Desktop e Servidor Web, as quais sero suficientes para as tarefas propostas:

Figura 2.3.13 Menu dos perfis de instalao.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 50

GNU/Linux - mdulo 1 - Introduo

Configurar o modo grfico

Logo aps a instalao dos pacotes dos perfis selecionados, o instalador inicia a configurao do modo grfico. Como indicado no incio do captulo, tenha em mos as informaes de hardware relacionados ao modo grfico (monitor, placa de vdeo, etc.) e selecione-o no menu de opes. Primeiramente, ser pedido o modelo da sua placa de vdeo. No nosso caso, selecione i810 (figura 2.3.14). A deteco automtica do mouse (figura 2.3.15) e do monitor (2.3.16) sero, respectivamente, pedidos em seguida:

Figura 2.3.14 Selecionando a placa de vdeo.

Figura 2.3.15 Deteco do mouse.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 51

GNU/Linux - mdulo 1 - Introduo

Figura 2.3.16 Detectar o monitor.

Se o seu monitor for do tipo LCD, selecione a opo abaixo (figura 2.3.17):

Figura 2.3.17 Se o seu monitor dor do tipo LCD, selecione esta opo.

A mensagem exibida na figura 2.3.18 informa os tipo de opes que o instalador disponibiliza para a configurao do seu monitor. Na figura 2.3.19 estas opo so exibidas. A opo Medium ser utilizada nesta instalao, porm, se voc for um usurio mais avanado ou seu monitor precise de configuraes mais aprofundadas, escolha a opo Advanced. No caso de ser um usurio muito iniciante, escolha a opo Simple:
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 52

GNU/Linux - mdulo 1 - Introduo

Figura 2.3.18 Informaes iniciais para configurar o monitor.

Figura 2.3.19 Selecione a opo Medium. Na figura 2.3.20, o instalador exibe o menu de opes para configurar o modo de exibio do seu monitor. Neste caso selecione a opo 800x600 @ 60Hz, que a resoluo do monitor que est sendo utilizado. Porm, no caso de realizar a instalao do Debian GNU/Linux em outra mquina, selecione a opo que mais adequada para o seu monitor.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

53

GNU/Linux - mdulo 1 - Introduo

Figura 2.3.20 Selecionando o modo de exibio para o monitor.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

54

GNU/Linux - mdulo 1 - Introduo

Configurar o servidor de mensagens

A ltima parte da instalao a configurao do EXIM, o MTA (servidor de emails padro do Debian). Se voc pretende usar o sendmail ou o postfix, selecione a opo sem configurao no momento (figura 2.3.21) e no configure o EXIM. Selecione esta opo, pois neste momento este recurso no ser utilizado.

Figura 2.3.21 Sem configurao para o EXIM no momento. Mesmo o instalador pedindo a confirmao para configurar o servidor de mensagens (figura 2.3.22), selecione a opo Sim. Na prxima tela, o instalador pergunta para qual conta de usurio as mensagens sero postadas (figura 2.3.23). Como no configuramos o servidor de mensagens, selecione Ok, para ento ser exibida a tela que finaliza a instalao do nosso sistema Debian GNU/Linux (figura 2.3.24).

Figura 2.3.22 Confirmao para configurar o EXIM.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

55

GNU/Linux - mdulo 1 - Introduo

Figura 2.3.23 Selecione a opo Ok, pois o EXIM no foi configurado.

Figura 2.3.24 Fim da instalao do Debian GNU/Linux Pronto! Agora o seu sistema Debian GNU/Linux est instalado. O servidor grfico ser inicializado e uma tela para a autenticao aparece para o uso do gerenciador de janelas. Utilize a conta de usurio recm-criada, e bom uso!

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

56

GNU/Linux - mdulo 1 - Introduo

Captulo 3

Utilizando o GNU/Linux
Neste captulo o usurio acessa e utiliza pela primeira vez o GNU/Linux, aprende o que um gerenciador de janelas, e utiliza os recursos mais bsico do sistema.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

57

GNU/Linux - mdulo 1 - Introduo

3.1- Os gerenciadores de janelas


O gerenciador de janelas o programa que controla a aparncia da aplicao. Ele atua entre o servidor X (servidor grfico) e a aplicao (figura 3.1.1) .

Figura 3.1.1 Ilustrao do esquema de atuao dos aplicativos grficos. No universo do software livre, existem vrios tipos de gerenciadores de janelas disponveis, que entre os mais conhecidos, podem-se citar: KDE : K Desktop Environment, ou simplesmente KDE, um ambiente grfico muito difundido no mundo GNU/Linux, pois apresenta um conjunto de aplicativos consistentes para usurios e programadores, alm de uma aparncia agradvel e modo de operao bastante familiar. Alm do gerenciador de janelas, fazem parte do projeto KDE inmeros aplicativos para gerenciamento de arquivos, controle de dispositivos, acesso compartilhamentos de rede, gerenciamento do sistema, acesso a Internet, alm da sute de escritrio KOffice, o pacote KDevelop para desenvolvimento de aplicativos grficos, o editor de pginas para a Internet Quanta, e muito mais. O KDE utiliza a biblioteca grfica QT, mantida pelos desenvolvedores do KDE e muito utilizada para a construo de interfaces
58

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

grficas para aplicativos. Um dos pontos contra para o KDE o seu elevado consumo de recursos de sistema, principalmente de memria RAM, o que o torna inutilizvel em mquina que no tenha pelo menos 128 MB de memria disponvel.

GNOME : O GNOME, assim como o KDE, constitudo por um gerenciador de janelas, e diversos aplicativos para o usurio, como gerenciador de arquivos, navegador de Internet, aplicativos para gerenciamento e configurao do sistema, navegao pela rede, jogos, etc. Alm de aplicativos para desenvolvimento de aplicaes. O GNOME utiliza a biblioteca grfica GTK+, muito utilizada por outros aplicativos, como o GIMP e o editor de pginas para a Internet Bluefish. Uma grande vantagem do GNOME sobre outros gerenciadores de janelas o seu sistema de atualizao dinmica das configuraes, que permite que qualquer configurao entre em vigor imediatamente sua seleo, sem a necessidade de clicar em um boto "Aplicar" ou de reinicar o ambiente grfico, como acontece na maioria dos gerenciadores de janelas, incluindo o KDE. Enlightenment : O Enlightenment um super gerenciador de janelas altamente personalizvel, bonito e com muitos efeitos visuais. O projeto Enlightenment produz, alm do ambiente grfico, diversas bibliotecas grficas, como Imlib, FNLib e Imlib2, que so hoje utilizadas por muitos programas, inclusive outros ambientes grficos, como o fluxbox. Blackbox : O Blackbox um gerenciador de janelas minimalista, muito leve e pequeno. Ao contrrio de outros gerenciadores de janelas mais poderosos, ele no inclui nenhum outro aplicativo, motivo pelo qual ele to pequeno (alguns poucos KB). Sua configurao toda feita atravs da edio de arquivos de texto, o que no nem um pouco prtico, mas tem l as suas vantagens. Graas sua velocidade, o Blackbox muito apreciado por usurios avanados, que no gostam de dispender processamento e memria para rodar um ambiente com o KDE, GNOME ou Enlightenment. O Blackbox, quando em conjunto com outros pequenos mini-aplicativos, torna-se um gerenciador de janelas muito bonito. Fluxbox : Baseado no Blackbox, o Fluxbox contm mais recursos que aquele, como suavizador de fontes e suporte nativo a transparncias, sem deixar de ser igualmente leve e simples. O Fluxbox muito apreciado entre seus usurios, graas perfeita unio entre beleza e leveza deste excelente gerenciador de janelas. O suporte a cones no desktop fornecido por programas externos. Outro recurso muito interessante o suporte aos chamados docks, popularizados no WindowMaker. Windowmaker : Criado pelo brasileiro Alfredo Kojima, um gerenciador de janelas que, ao contrrio do KDE e GNOME, que se assemelham as interfaces do Microsoft Windows, tem uma proposta bastante diferente. O objetivo principal
59

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

que gerenciar abertura e manipulao de janelas acontece de forma muito rpida e eficiente. O consumo de memria bem pequeno. Ele ainda possui uma facilidade de possuir atalhos para programas, sem prejudicar o consumo de memria do computador. Existem outras dezenas de tipos de gerenciadores de janelas, como o Twm, Icewm, Xfce, AfterStep, entre outros. A escolha do seu gerenciador de janelas pessoal, depende muito do gosto de cada pessoa e dos recursos que deseja utilizar. Como mencionado, o gerenciador de janelas padro do Debian GNU/Linux o GNOME (figura 3.1.2). Ele no apenas um simples gerenciador de janelas, e sim, um desktop completo, com diversos aplicativos de diferentes tipos disponveis para a sua utilizao (figura 3.1.3). Atravs do gerenciador de pacotes APT e Synapitc (verso grfica do APT), podemos instalar e atualizar facilmente os aplicativos disponveis, aumentando o nmero de ferramentas para o seu desktop.

Figura 3.1.2 Gerenciador de janelas GNOME.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

60

GNU/Linux - mdulo 1 - Introduo

Figura 3.1.3 Menu dos aplicativos disponveis.

3.2- Terminal Virtual (console)


Terminal (ou console) o teclado e a tela conectados em seu computador. O GNU/Linux faz uso de sua caracterstica multi-usuria usando terminais virtuais. Um terminal virtual uma segunda sesso de trabalho completamente independente de outras, que pode ser acessada no computador local ou remotamente, atravs de aplicativos de acesso remoto como o SSH, telnet, rlogin, etc. No GNU/Linux em modo texto, voc pode acessar outros terminais virtuais segurando a tecla ALT e pressionando F1 a F6. Cada tecla de funo corresponde a um nmero de terminal do 1 ao 6 (o stimo usado por padro pelo modo grfico). O GNU/Linux possui mais de 63 terminais virtuais, mas apenas 6 esto disponveis inicialmente por motivos de economia de memria RAM. Se voc estiver usando o modo grfico, voc deve segurar as teclas CTRL+ALT enquanto pressiona uma das teclas de F1 a F6.
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 61

GNU/Linux - mdulo 1 - Introduo

Para um administrador de sistemas, esta ferramenta fundamental, pois muitas tarefas so feitas no modo texto, alterando arquivos de configurao, executando comandos manualmente, verificando os processos que esto carregados na memria, entre outros. Para executar um terminal virtual partir do GNOME, clique no cone que indicado pela figura 3.1.4.

cone para
executar o terminal virtual Figura 3.1.4 cone do terminal virtual

3.3- Comandos bsicos nvel 1


Neste item sero listados os comandos bsicos para que voc comece a interagir com o interpretador de comandos bash.

3.3.1- ls : lista contedos de diretrios.


Sintaxe:
$ ls <opes>

Opes:

- l : escreve no formato de colunas simples. - i : procede a sada para o arquivo pelo seu nmero serial (inode). - R : lista os diretrios encontrados recursivamente. - h : mostra o tamanho dos arquivos em KB, MB, GB. - a : lista todos os arquivos inclusive os ocultos. - F : insere um caracter aps arquivos executveis ('*'), diretrios ('/'), sockets ('=') e pipe ('|'). Seu uso til para identificar de forma fcil tipos de arquivos nas listagens de diretrios.

Exemplo:
$ ls / bin cdrom boot dev

etc home

initrd initrd.img

lib media

mnt opt

proc root

sbin srv

sys tmp

usr var

vmlinuz

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

62

GNU/Linux - mdulo 1 - Introduo

3.3.2- mkdir : cria diretrios. Sintaxe:


$ mkdir <opes> <diretrio>

Opes:

- p : cria toda a estrutura de diretrios passada como parmetro. --verbose : imprime uma mensagem para cada diretrio criado.

Exemplo:
$ mkdir teste

3.3.3- rmdir : remove diretrios vazios. Sintaxe:


$ rmdir <opes> <diretrio>

Opes: - p : remove a estrutura de diretrios passadas como parmetro, porm, o ltimo diretrio passado como parmetro deve estar vazio. -- verbose : imprime uma mensagem para cada diretrio apagado.

Exemplo:
$ rmdir teste

3.3.4- rm : alm de remover diretrios e estrutura de diretrios, tem como funo principal remover arquivos. Sintaxe:
$ rm <opes> <diretrio> <ou arquivo>

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

63

GNU/Linux - mdulo 1 - Introduo

Opes: - i : pergunta antes de remover, esta ativada por padro. - v : mostra os arquivos/diretrios na medida que so removidos - r : usado para remover arquivos em sub-diretrios. Esta opo tambm pode ser usada para remover sub-diretrios. - f : remove os arquivos sem perguntar.

Exemplo:
$ rm arquivo.txt $ rm -r teste2

3.3.5- cd : muda o diretrio de trabalho atual. Caso no seja especificado nenhum diretrio, muda para o diretrio pessoal do usurio. Sintaxe:
$ cd <diretrio>

Exemplo:
$ cd teste2

3.3.6- pwd : mostra o nome e caminho do diretrio atual. Sintaxe:


$ pwd

Exemplo:
$ pwd /home/curso/teste2

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

64

GNU/Linux - mdulo 1 - Introduo

3.3.7- clear : limpa o contedo do terminal e posiciona o cursos no incio da tela. Sintaxe:
$ clear

3.3.8- man : este comando exibe as pginas de manual do comando ou programa passado como parmetro. Elas trazem uma descrio bsica desta comando ou programa e detalhes sobre o funcionamento de uma determinada opo. Uma pgina de manual visualizada na forma de texto nico com rolagem vertical. Tambm documenta parmetros usados em alguns arquivos de configurao. Sintaxe:
$ man <comando ou programa>

Opes de navegao: q : sai da pgina de manual. f ou PageDown : rola 25 linhas abaixo w ou PageUp : rola 25 linhas acima k ou seta para cima : rola uma linha acima. e ou seta para baixo : rola uma linha abaixo. p ou g : Incio da pgina. h : ajuda sobre as opes da pgina de manual. s : salva a pgina de manual em formato texto no arquivo especificado. Exemplo:
$ man bash

3.3.9- apropos : procura por comandos atravs da descrio. til quando precisamos fazer alguma coisa mas no sabemos qual comando usar. Ele faz sua pesquisa nas pginas de manual existentes no sistema e lista os comandos/programas que atendem a consulta. Sintaxe:
$ apropos <comando ou programa>

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

65

GNU/Linux - mdulo 1 - Introduo

Exemplo:
$ apropos bash bash (1) - GNU Bourne-Again Shell bash-builtins (7) - bash built-in commands, see bash(1) bashbug (1) - report a bug in bash builtins (7) - bash built-in commands, see bash(1) checkbashisms (1) - check for bashisms in /bin/sh scripts gst-complete-0.8 (1) - do bash completion for gst-launch command-lines ispellconfig (8) - Bash script to select a new ispell default dictionary. rbash (1) - restricted bash, see bash(1) update-ispell-dictionary (8) - Bash script to select a new ispell default dictionary.

Alm dos comandos man e apropos, voc pode conseguir mais informaes sobre os comandos ou programas atravs dos comandos info e help. Outra maneira de conseguir informaes mais rpidas sobre os parmetros que o comando suporta utilizando o parmetro -help. Exemplo:
$ mkdir --help Usage: mkdir [OPTION] DIRECTORY... Create the DIRECTORY(ies), if they do not already exist. Argumentos obrigatrios para opes longas tambm o so para opes curtas -m, --mode=MODE set permission mode (as in chmod), not rwxrwxrwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory --help display this help and exit --version output version information and exit Comunicar `bugs' para <bug-coreutils@gnu.org>.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

66

GNU/Linux - mdulo 1 - Introduo

Captulo 4

Sistema de Arquivos
Neste captulo o usurio compreender as noes tericas de como funcionam as parties e os sistema de arquivos suportados pelo GNU/Linux.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

67

GNU/Linux - mdulo 1 - Introduo

4.1- Parties
So divises existentes no disco rgido que marcam onde comea e onde termina um sistema de arquivos. Por causa destas divises, ns podemos usar mais de um sistema operacional no mesmo computador (como o GNU/Linux, Microsoft Windows e DOS), ou dividir o disco rgido em uma ou mais partes para ser usado por um nico sistema operacional. Uma partio de disco no interfere em outras parties existentes, por estarem em reas distintas no disco rgido. Para particionar (dividir) o disco rgido em uma ou mais partes necessrio o uso de um programa de particionamento. Os programas mais conhecidos para particionamento de discos no GNU/Linux so fdisk, cfdisk, Parted e o Disk Druid. Informaes importantes para a criao e utilizao das parties: Para gravar os dados, o disco rgido precisa ser particionado (usando o cfdisk ou outro particionador), deve-se escolher o tipo da partio, e depois tal partio deve ser formatada com o um tipo de sistema de arquivos. Aps criada e formatada, a partio ser identificada como um dispositivo no diretrio /dev e dever ser montada para permitir seu uso no sistema; Quando se apaga uma partio, voc estar apagando TODOS os arquivos existentes nela; Em sistemas novos, comum encontrar o Microsoft Windows instalado em uma partio que consome TODO o espao do disco rgido. Uma soluo para instalar o GNU/Linux apagar esta partio e criar trs com tamanhos menores (uma para o Microsft Windows, uma para o GNU/Linux e outra para a Memria Virtual do Linux (SWAP);

4.2- Sistema de Arquivos


Um sistema de arquivos o mtodo e a estrutura que um sistema operacional utiliza para administrar a forma que os arquivos esto organizados em um disco ou partio. criado durante a formatao da partio de disco. Aps a formatao, toda a estrutura para leitura e gravao de arquivos e diretrios pelo sistema operacional estar pronta para ser usada. Normalmente este passo feito durante a instalao de sua distribuio GNU/Linux. Cada sistema de arquivos tem uma caracterstica em particular mas seu propsito o mesmo: Oferecer ao sistema operacional a estrutura necessria para ler/gravar os arquivos e diretrios. Entre os sistemas de arquivos existentes pode-se citar:

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

68

GNU/Linux - mdulo 1 - Introduo

4.2.1 EXT2
Logo que foi inventado, o GNU/Linux utilizava o sistema de arquivos Minix (e conseqentemente uma partio Minix) para o armazenamento de arquivos. Com a evoluo do desenvolvimento, foi criado o padro EXT (Extended Filesystem) e logo evoluiu para o EXT2 (Second Extended Filesystem) que, apesar de obsoleto, ainda o usado hoje em dia. Ele rpido, no se fragmenta to facilmente pois permite a localizao do melhor lugar onde o arquivo se encaixa no disco, etc. Isto til para grandes ambientes multiusurio onde vrias pessoas gravam/apagam arquivos o tempo todo.

4.2.2 Journaling
O sistema de journaling grava qualquer operao que ser feita no disco em uma rea especial chamada journal, assim se acontecer algum problema durante a operao de disco, ele pode voltar ao estado anterior do arquivo, ou finalizar a operao. Desta forma, o journal acrescenta ao sistema de arquivos o suporte a alta disponibilidade e maior tolerncia a falhas. Aps uma falha de energia, por exemplo, o journal analisado durante a montagem do sistema de arquivos e todas as operaes que estavam sendo feitas no disco so verificadas. Dependendo do estado da operao, elas podem ser desfeitas ou finalizadas. O retorno do servidor praticamente imediato (sem precisar a enorme espera da execuo do fsck em parties maiores que 10Gb), garantindo o rpido retorno dos servios da mquina. Outra situao que pode ser evitada com inconsistncias no sistema de arquivos do servidor aps a situao acima, fazendo o servidor ficar em estado single user e esperando pela interveno do administrador. Alguns tipos de sistema de arquivos utilizam este recurso atualmente, como por exemplo, o EXT3 e o ReiserFS.

4.2.3 EXT3
O sistema de arquivos EXT3 faz parte da nova gerao extended file system do GNU/Linux, sendo que seu maior benefcio o suporte a journaling. O uso deste sistema de arquivos comparado ao EXT2, na maioria dos casos, melhora o desempenho do sistema de arquivos atravs da gravao seqencial dos dados na rea de metadados e acesso mhash a sua rvore de diretrios. A estrutura da partio EXT3 semelhante a EXT2, o journaling feito em um arquivo chamado .journal que fica oculto pelo cdigo EXT3 na partio (desta forma ele no poder ser apagado, comprometendo o funcionamento do sistema). A estrutura idntica da partio EXT3 com a EXT2 torna mais fcil a manuteno do sistema, j que todas as ferramentas para recuperao EXT2 funcionaro sem problemas.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

69

GNU/Linux - mdulo 1 - Introduo

4.2.4 ReiserFS
O ReiserFS um sistema desenvolvido especialmente para o GNU/Linux, muito confivel e surpreendentemente rpido, e em muitos casos, mais rpido at mesmo que sistemas sem suporte a journaling. O ReiserFS, por no utilizar blocos de tamanho fixo, mas ajustar seu tamanho de acordo com o arquivo, evita os problemas de desperdcio de espao comuns em outros sistemas de arquivos. Possui suporte a arquivos maiores que 2 GB e o acesso a rvore de diretrios muito mais rpido. Utiliza uma eficiente estrutura de dados chamada balanced tree (rvore equilibrada), que trata toda a partio como se fosse uma nica tabela de banco de dados contendo diretrios, arquivos e arquivos de meta-data, o que aumenta muito o desempenho de aplicativos que trabalham com arquivos pequenos, porque estes so lidos de uma s vez, em apenas um ciclo de I/O do HD. Sua verso 3 no trabalha perfeitamente com o sistema de arquivos de rede NFS (Network File System). Existem alguns patches para resolver o problema, mas eles no o resolvem completamente. O criador do ReiserFS Hans Reiser. Atualmente o projeto patrocinado pela SuSE e mantido pela empresa NameSys. Aguarda-se o lanamento oficial da verso 4 do ReiserFS, o Reiser4, que foi totalmente reescrito e possui um desempenho superior da verso 3.

4.2.5 JFS
Criado pela IBM para uso em servidores corporativos, teve seu cdigo liberado. O sistema de arquivos JFS tambm usa a estrutura I-node para armazenar a localizao dos blocos de cada arquivo nas estruturas fsicas do disco. A verso JFS2 armazena esses Inodes em uma rvore binria para acelerar o acesso a essas informaes. Esses blocos podem variar de 512 a 4096 bytes, e a alocao dos I-nodes feita conforme vai sendo necessrio.

4.2.6 XFS
Desenvolvido originalmente pela Silicon Graphics e posteriormente disponibilizado o cdigo fonte, o XFS possui vrios patches e alguns bugs, mas um sistema de arquivos muito rpido na gravao e possui um desfragmentador para arquivos.

4.2.7 SWAP (Memrial Virtual)


Este tipo de partio usada para oferecer o suporte a memria virtual ao GNU/Linux em adio a memria RAM instalada no sistema. Somente os dados na memria RAM so processados pelo processador, por ser mais rpida. Desta forma, quando voc est executando um programa e a memria RAM comea a encher, o GNU/Linux move automaticamente os dados que no esto sendo usados para a partio SWAP, e libera a memria RAM para continuar carregando os dados necessrios pelo programa que est sendo carregado. Quando os dados movidos para a partio SWAP so solicitados, o GNU/Linux move os dados da partio SWAP para a
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 70

GNU/Linux - mdulo 1 - Introduo

memria. Por este motivo a partio SWAP tambm chamada de rea de troca ou memria virtual. A velocidade em que os dados so movidos da memria RAM para a partio muito alta.

4.2.8 Qual Sistema de Arquivos devo Utilizar?


Falar qual sistema de arquivos voc deve usar uma misso quase impossvel, como falar de distribuies GNU/Linux: algum que adora o Slackware com certeza s vai recomendar o Slackware, e algum que adora o Debian com certeza s vai recomendar o Debian, e assim por diante. Em se tratando de sistemas de arquivos, a recomendao que voc escolha, entre os que possuem os recursos que voc precisa, aquele que apresentar o melhor desempenho. Nesse caso, a menos que voc v utilizar NFS, o sistema de arquivos mais indicado o ReiserFS, que possui comprovadamente um desempenho muito superior ao de outros sistemas de arquivos. Se for utilizar NFS, uma vez que existe o problema de compatibilidade do ReiserFS, pode-se utilizar o XFS, ou o EXT3.

4.3- Identificao de Discos e Parties


No GNU/Linux, os dispositivos existentes em seu computador (como discos rgidos, disquetes, tela, portas de impressora, modem, etc) so identificados por um arquivo no diretrio /dev. A identificao de discos rgidos no GNU/Linux feita da seguinte forma:

/dev/hda1 | ||| | |||_ Nmero que identifica o nmero da partio no disco rgido. | || | ||_ Letra que identifica o disco rgido (a=primeiro, b=segundo, etc...). | | | |_ Sigla que identifica o tipo do disco rgido (hd=ide, sd=SCSI, xd=XT). | |_ Diretrio onde so armazenados os dispositivos existentes no sistema.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

71

GNU/Linux - mdulo 1 - Introduo

Abaixo algumas identificaes de discos e parties em sistemas Linux:


/dev/fd0 - Primeira unidade de disquetes. /dev/fd1 - Segunda unidade de disquetes. /dev/hda - Primeiro HD na primeira controladora IDE do micro (primary master). /dev/hda1 - Primeira partio do primeiro HD IDE. /dev/hdb - Segundo HD na primeira controladora IDE do micro (primary slave). /dev/hdb1 - Primeira partio do segundo HD IDE. /dev/sda - Primeiro HD na primeira controladora SCSI. /dev/sda1 - Primeira partio do primeiro HD SCSI. /dev/sdb - Segundo HD na primeira controladora SCSI. /dev/sdb1 - Primeira partio do segundo HD SCSI. /dev/sr0 - Primeiro CD-ROM SCSI. /dev/sr1 - Segundo CD-ROM SCSI. /dev/xda - Primeiro HD XT. /dev/xdb - Segundo HD XT.

As letras de identificao de discos rgidos podem ir alm de hdb, em algumas mquinas, por exemplo, a unidade de CD-ROM podem estar localizada em /dev/hdg (Primeiro disco - quarta controladora IDE). importante entender como os discos e parties so identificados no sistema, pois ser necessrio usar os parmetros corretos para mont-los.

4.4- Pontos de montagem


Antes de um sistema de arquivos poder ser utilizado, ele necessita ser montado. O sistema operacional executa diversas verificaes para estar seguro de que tudo est funcionando bem. Uma vez que todos os arquivos no GNU/Linux esto em uma nica rvore de diretrios, a operao de montagem far com que o novo sistema de arquivos parea um subdiretrio existente em algum sistema de arquivos j montado. Como ser visto em outro curso, o comando para montagem de um sistema de arquivos possui dois argumentos. O primeiro o arquivo de dispositivo correspondente ao disco ou partio que contenha o sistema de arquivos. O segundo o diretrio sob o qual ele ser montado. Por exemplo, aps a execuo do comando, dizemos ento que /dev/hda2 est montado em /mnt/backup. Para utilizar estes sistemas de arquivos, pode-se acessar estes diretrios exatamente da mesma forma que qualquer outro, como veremos mais adiante. importante ressaltar a diferena entre o dispositivo /dev/hda e o o diretrio montado /mnt/backup. Enquanto o primeiro d acesso aos dados brutos do disco, ilegveis pelos usurios e apenas pelo kernel, o segundo permite o acesso aos dados legveis pelos usurios, como arquivos e diretrios dos mais diversos fins. O diretrio montado chamado ponto de montagem.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

72

GNU/Linux - mdulo 1 - Introduo

Captulo 5

Arquivos e Diretrios
Neste captulo o usurio aprender como os arquivos so tratados pelo GNU/Linux, seus tipos e a estrutura de diretrios padro do sistema.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

73

GNU/Linux - mdulo 1 - Introduo

5.1- Arquivos
Nos sistemas *NIX, tudo o que pode ser manipulado pelo sistema operacional representado sob a forma de arquivo, incluindo a diretrios, dispositivos e processos. O arquivo a estrutura mais bsica e mais importante em um sistema GNU/Linux. O GNU/Linux segue o padro POSIX, o mesmo utilizado por outros sistemas operacionais derivados do UNIX. Dessa forma, conhecendo o GNU/Linux voc no ter dificuldades em operar outros sistemas como HPUX, FreeBSD, Solaris, etc., que assim como o GNU/Linux so baseados no UNIX. Tambm devido ao grande nmero de distribuies GNU/Linux que existem, foram determinados padres sobre a sua estrutura e a forma dele manipular os arquivos. Esses padres constituem a Linux Standard Base, ou simplesmente LSB. A LSB contm todas as especificaes que um sistema GNU/Linux deve adotar, para manter um nvel de compatibilidade entre diferentes distribuies. Costuma-se definir arquivo como o lugar onde gravamos nossos dados. Em outros sistemas operacionais feita uma distino entre arquivos, diretrios, dispositivos e outros componentes do sistema. No GNU/Linux, entretanto, tudo aquilo que pode ser manipulado pelo sistema tratado como arquivo. Mas, se tudo arquivo, como o sistema operacional faz a distino entre arquivo regular, diretrio, dispositivo, processo, etc? Muito simples: todo arquivo tem o que chamado cabealho, que contm informaes como: tipo, tamanho, data de acesso, modificao, etc. Atravs desse cabealho o GNU/Linux sabe ento quando se trata de arquivo regular, diretrio, dispositivo, e assim por diante.

5.2- Tipos de Arquivos


Os tipos de arquivos existentes num sistema GNU/Linux so os seguintes: Arquivo regular: Tipo comum que contm dados somente. Os arquivos regulares podem ser dos mais variados tipos, guardando os mais diferentes tipos de informaes. Existem arquivos de udio, vdeo, imagem, texto, etc. Os arquivos se dividem em 2 (duas) categorias principais:

Binrios: Arquivos binrios so compostos por bits 1 e 0 e s podem ser interpretados pelo sistema operacional, sendo incompreensveis por ns humanos. Se um arquivo binrio for aberto por um editor de textos, sero exibidos vrios smbolos estranhos. Arquivos de msica, vdeos, imagens e bibliotecas so exemplos de arquivos binrios;

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

74

GNU/Linux - mdulo 1 - Introduo

Texto: Arquivos do tipo texto so compostos por informaes em forma de texto, que podem ser entendidas pelo usurio comum. Arquivos desse tipo no necessariamente contm texto propriamente dito. Quando se diz que um arquivo do tipo texto, estamos querendo dizer que se o abrirmos num editor de texto, sero exibidos informaes legveis.

Diretrios: Os diretrios so utilizados para separar um grupos de arquivos. Um diretrio pode conter arquivos e outros diretrios, que sero chamados subdiretrios; Dispositivos: Todo componente de hardware instalvel chamado dispositivo. Placas de vdeo, som, rede, drives de CD-ROM, tudo o que se liga na interface USB, memria RAM, so dispositivos. Os dispositivos podem ser:

De Bloco: Dispositivos de bloco utilizam buffer para leitura/gravao. Geralmente so unidades de disco, como HD's, CD's, etc; De Caracter: Esses dispositivos no utilizam buffer para leitura/gravao. A maioria dos dispositivos PCI e outros dispositivos como impressoras, mouse, etc. so do tipo caracter;

Pipes: Utilizados pelos processos do sistema para comunicarem-se entre si; Sockets : Utilizados nos processos de comunicao em rede; Links: So atalhos. Servem para fazer referncia a outro arquivo localizado em outro local. Podem ser de dois tipos:

Simblicos: Fazem referncia ao arquivo atravs de seu endereo lgico no disco ou memria. So os links mais comuns; Absolutos: Fazem referncia ao arquivo atravs do seu endereo fsico no disco rgido.

Arquivos podem conter diferentes tipos de informaes. Cada tipo de informao requer um mtodo especfico de trabalho. Assim, um arquivo de imagem no pode ser lido por um programa de reproduo de udio, porque os dados de um arquivo de imagem so organizados de forma totalmente diferente da de um arquivo de udio, e o programa em questo s capaz de lidar com arquivos de udio. Tendo isso em vista, necessrio que o sistema operacional e os demais programas possam diferenciar os diversos tipos de arquivos disponveis, para evitar que um programa tente manipular um tipo de arquivo que no suporta. O GNU/Linux faz essa diferenciao atravs da leitura do cabealho do arquivo. Assim, a extenso do arquivo geralmente no importa para o sistema operacional, mas usada to somente para fcil identificao do usurio, motivo pelo qual muito comum encontrarmos arquivos sem extenso no GNU/Linux.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

75

GNU/Linux - mdulo 1 - Introduo

5.3- Nomes de Arquivos


Os nomes de arquivos no GNU/Linux podem ter at 255 caracteres, podendo utilizar espaos e acentos. H exceo somente quanto ao uso dos caracteres especiais '/', '\', '|', ' " ', '*', '?', '<', '>', '!', '(', ')', '`'. Um ponto muito importante que deve ser frisado que o GNU/Linux case sensitive, ou seja, diferencia letras maisculas de minsculas. Sendo assim, os arquivos file.iso e File.iso so diferentes para o GNU/Linux. Ento, quando referir-se a um arquivo, tenha a certeza de escrever com a capitulao correta. Os arquivos tambm podem ser ocultos, que contm um ponto '.' antes do seu nome, e normalmente aparecem no diretrio pessoal de cada usurio, como por exemplo o arquivo '.bash_profile' .

5.4- Diretrios
Os diretrios, como voc deve saber, contm arquivos ou outros diretrios. Todo sistema operacional possui o que chamado rvore de diretrios, que uma estrutura bsica de diretrios principais com seus respectivos subdiretrios. No GNU/Linux a rvore de diretrios particularmente muito bem organizada, e os arquivos so divididos em categorias. Assim, arquivos executveis (programas) so agrupados num determinado diretrio, enquanto bibliotecas so arquivados em outro, e arquivos temporrios em outro, e assim por diante. Isso garante uma boa organizao do sistema e traz tambm uma grande praticidade, como vocs podero ver mais adiante.

5.5 Estrutura de Diretrios


Os sistemas GNU/Linux possuem um padro rgido e especfico a respeito da organizao hierrquica dos diretrios, definido pela Filesystem Hierarquy Standard, ou simplesmente FHS, constante da LSB, que diferem totalmente da estrutura de diretrios do Microsoft Windows. Basicamente, no Microsoft Windows temos os arquivos do sistema concentrados nas pastas C:\Windows e C:\Arquivos de programas e voc pode criar e organizar suas pastas da forma que quiser. No GNU/Linux basicamente o contrrio. O diretrio raiz est tomado pelas pastas do sistema e espera-se que voc armazene seus arquivos pessoais dentro da sua pasta no diretrio /home. Nada impede que voc crie mais pastas no diretrio raiz para armazenar seus arquivos. Apesar de ser recomendvel
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 76

GNU/Linux - mdulo 1 - Introduo

em termos de organizao e segurana, voc no obrigado a concentrar seus arquivos dentro do seu diretrio de usurio. Nada impede que voc autentique-se como root, crie uma pasta /arquivos, abra o menu de permisses para que seu usurio geral tenha permisso para acess-la e a utilize para guardar seus arquivos, por exemplo. Mas, as diferenas no param por a. Para onde vo os programas que so instalados se no existe uma pasta central como a C:\Arquivos de programas? E para onde vo os arquivos de configurao se o GNU/Linux no possui nada semelhante ao registro do Microsoft Windows? Veremos isso neste captulo, mas a primeira coisa com que voc precisa se habituar que no GNU/Linux os discos e parties no aparecem necessariamente como unidades diferentes, como o C:\, D:\, e E:\ no Microsoft Windows. Tudo faz parte de um nico diretrio, chamado diretrio raiz, ou '/'. Dentro deste diretrio temos no apenas todas as parties de disco, mas tambm o CD-ROM, drive de disquete e outros dispositivos. Dentro da estrutura do sistema de arquivos, cada um dos diretrios possui uma funo especfica, como vemos na lista abaixo.

/-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|--

bin boot dev etc home lib media mnt opt proc root sbin srv sys tmp usr var

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

77

GNU/Linux - mdulo 1 - Introduo

/bin : Contm arquivos executveis (binrios) de comandos essenciais pertencentes


ao sistema e que so usados com frequncia pelos usurios e pelo administrador do sistema, como por exemplo: su, tar, pwd, rm, cat, cp, entre outros.

/boot : Este diretrios contm tudo que necessrio para carregar o sistema, exceto

os arquivos de configurao. Contm arquivos estticos relacionados inicializao do sistema, como o Kernel, e o boot-loader GRUB ou LILO.

/dev : Contm arquivos de dispositivos de entrada e sada (I/O) como por exemplo,
o CD-ROM (/dev/cdrom), o disquete (/dev/fd0), e o HD (/dev/hda). Todo o mapeamento para o hardware do sistema ser encontrado neste diretrio.

/etc : Contm os arquivos de configurao do sistema, substituindo de certa forma o

registro do Microsoft Windows. A vantagem que enquanto o registro uma espcie de caixa preta, os scripts do diretrio /etc so desenvolvidos justamente para facilitar a edio manual. verdade que na maioria dos casos isto no necessrio, mas a possibilidade continua a. Os arquivos recebem o nome dos programas seguidos geralmente da extenso .conf. Normalmente no contm binrios.

/etc/network : Contm os arquivos de configurao de rede. /etc/skel : Contm os arquivos que sero gravados no diretrio pessoal
de um novo usurio.

/etc/X11 : Contm os arquivos de configurao do servidor grfico.

/home : Este diretrio nitidamente um sistema de arquivos especfico dos usurios


locais, sendo a localizao sugerida para os diretrios locais dos usurios. Sua estrutura pode diferir de mquina para mquina. Em sistemas pequenos, cada diretrio de usurio um dos subdiretrios debaixo do /home, como por exemplo: /home/curso, /home/curso2, etc. Em sistemas maiores, (principalmente quando os diretrios do /home so compartilhados entre vrias mquina via rede) til subdividir os diretrios locais. A subdiviso pode ser implementada utilizando subdiretrios tais como /home/apoio, /home/desenvolvimento, etc.

/lib : Este diretrio contm aquelas bibliotecas compartilhadas que so necessrias


para inicializar o sistema e executar comandos no sistema de arquivos raiz, mais especificamente os comandos contidos em /bin e /sbin. Pode conter tambm mdulos do kernel, localizados em /lib/modules.

/lib<nome> : Em sistemas que suportam mais de um formato de binrios, e

portanto, necessitem de bibliotecas separadas, podem existir uma ou mais variantes do diretrio /lib. Isso comumente utilizado para fornecer suporte a 64 bits ou 32 bits em sistemas que suportam mltiplos formatos de binrios, mas requerem bibliotecas com o mesmo nome. Neste caso, /lib32 e /lib64 seriam os diretrios de bibliotecas, e /lib seria um link para um deles.
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 78

GNU/Linux - mdulo 1 - Introduo

/media : Este diretrio contm os subdiretrios que so utilizados como pontos de

montagem para mdias removveis, como por exemplo disquetes, drives CD-ROM, ZIP drives, gravadores de CD/DVD, dispositivos USB, etc.

/mnt : Este diretrio contm os subdiretrios que so utilizados como pontos de

montagem para sistemas de arquivos temporrios, que podem ser parties de outros sistemas operacionais da mquina, como por exemplo, um sistemas de arquivos FAT32 ou NTFS do Microsoft Windows.

/opt : Este diretrio reservado para a instalao de aplicativos adicionais. Nele

podem existir subdiretrios que abrigam os arquivos estticos destas aplicaes, tendo cada subdiretrio um nome que descreva o pacote de software contido nele. Podem existir os subdiretrios /opt/bin, /opt/doc, /opt/include, /opt/info, /opt/lib e /opt/man, os quais so reservados para uso do administrador do sistema local.

/proc : Este diretrio um sistema de arquivos virtual utilizado para manipular


informaes de processos do sistema. recomendada sua utilizao para o armazenamento e obteno de informaes de processos, assim como outras informaes do Kernel ou da memria.

/root : Este um diretrio opcional no GNU/Linux. O diretrio local da conta do

usurio root pode ser determinado por preferncias, porm /root a sua localizao padro.

/sbin : Este diretrio contm comandos essenciais para inicializar, restaurar,

recuperar e reparar o sistema, complementando os comandos encontrados em /bin. Comandos como getty, reboot, shutdown, ifconfig e fdisk so encontrados neste diretrio.

/srv : Este diretrio contm os arquivos de aplicaes como Apache, FTP e CVS. Ainda
pouco usado por ter sido implementado nas verses mais recentes do FHS.

/tmp : Este diretrio utilizado para arquivos temporrios gerados por programas,

podendo estar no disco rgido ou na memria RAM. Os programas no devem assumir que quaisquer arquivos ou diretrios em /tmp sejam preservados entre execues dos mesmos. Recomenda-se que o contedo de /tmp seja apagado sempre que o sistema for inicializado (padro).

/usr : O diretrio /usr a segunda maior seo do sistema de arquivos. /usr


compartilhvel e somente de leitura. Isto significa que o /usr pode ser compartilhado entre vrias mquinas que utiliza GNU/Linux. Suas subdivises consistem na seguinte estrutura:

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

79

GNU/Linux - mdulo 1 - Introduo

/usr/bin : Contm a maioria dos comandos dos usurios. Este o

diretrio principal de comandos executveis no sistema. Executveis de programas como python, perl, clear e gcc encontran-se neste diretrio.

/usr/include : Contm todos os arquivos de cabealhos (headers) de


uso geral do sistema para programao em linguagem C/C++.

/usr/lib : Contm arquivos-objeto, bibliotecas de programas internos

que no so indicados para serem executados diretamente por usurios ou shell scripts. Podem existir subdiretrios em /usr/lib, os quais so utilizados por aplicaes, de forma que todos os dados dependentes da arquitetura usados exclusivamente pela aplicao, devem estar dentro destes subdiretrios.

/usr/local : Este subdiretrio existe para o uso do administrador de

sistemas, quando instala softwares localmente. Necessita ficar a salvo de ser sobrescrito quando o software do sistema atualizado. Pode ser usado por programas e dados que so compartilhveis entre um grupo de mquinas. Tambm possui subdiretrios importantes ao sistema:

/usr/local/bin : Binrios (executveis) locais. /usr/local/games: Executveis de jogos. /usr/local/include : Arquivos de cabealho (header) C. /usr/local/lib : Bibliotecas locais. /usr/local/man : pginas de manual online locais. /usr/local/sbin : Binrios (executveis) de sistema locais. /usr/local/share : Hierarquia local independente da
arquitetura.

/usr/local/src : cdigo-fonte local.

/usr/sbin : Contm alguns binrios (executveis) no essenciais usados


exclusivamente pelo administrador do sistema.

/usr/share : Contm arquivos de dados somente leitura que

independem da arquitetura. Este diretrio indicado para ser compartilhvel entre todas as plataformas de arquitetura de um dado sistema operacional. Ele tambm contm subdiretrios importantes ao sistema, e os principais so:

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

80

GNU/Linux - mdulo 1 - Introduo

/usr/share/man : Pginas de manual online. /usr/share/misc : Miscelnea de dados independentes da


arquitetura.

/usr/share/dict : Lista de palavras (opcional). /usr/share/doc : Arquivos de documentao (opcional). /usr/share/games : Arquivos de dados estticos para
/usr/games (opcional).

/usr/share/info : Diretrio primrio do sistema GNU Info


(opcional).

/usr/share/locale : Informaes de Locale (opcional). /usr/share/nls : Catlogo de mensagens para NLS


(suporte lngua nativa) (opcional).

/usr/share/sgml : Dados de SGML e XML (opcional). /usr/share/terminfo : Diretrios para o banco de dados
de terminfo (opcional)

/usr/share/zoneinfo : Informao e configurao para


zoneinfo (opcional).

/usr/lib<nome> : Tem o mesmo papel de /usr/lib para um formato


de binrio (executvel) alternativo.

/usr/src : Contm o cdigo-fonte do kernel do GNU/Linux. Qualquer

outro cdigo-fonte no local tambm deve localizar-se neste diretrio.

/var: Este diretrio contm arquivos de dados variveis. Inclui arquivos e diretrios

em fila de execuo, dados de ordem administrativa e de login, alm de arquivos temporrios e transitrios. Algumas partes de /var no so compartilhveis entre diferentes sistemas. Por exemplo, /var/log, /var/lock e /var/run. outras partes podem ser compartilhadas, notadamente em /var/mail, /var/cache/man, /var/cache/fonts e /var/spool/news. Ele tambm contm subdiretrios importantes ao sistema, e os principais so:

/var/account : Este diretrio mantm o log dos processos ativos e os


dados compostos de uso dos processos (opcional).
81

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

/var/cache : Este diretrios indicado para armazenar dados de


aplicaes em cache. Pode conter os seguintes subdiretrios:

/var/cache/fonts : Fontes geradas localmente (opcional). /var/cache/man : Pginas de manual formatadas


localmente (opcional).

/var/cache/<pacote> : dados de cache de um pacote


especfico.

/var/crash : Este diretrio contm depsitos de sistemas quebrados


(crashed).

/var/games : Este diretrio contm quaisquer dados variveis


relacionados a jogos que esto em /usr (opcional).

/var/lib : Contm informaes sobre o estado das aplicaes.

Informao sobre o estado so dados que o programa modifica enquanto est rodando, e que pertencem a uma mquina especfica. Os seguintes diretrios podem estar contidos nele:

/var/lib/misc : Dados de estado de aplicaes


(miscelnea).

/var/lib/hwclock : Contm o arquivo adjtime, que possui


as informaes de data e hora do sistema (opcional). Na distribuio Debian este arquivo fica no diretrio /etc.

/var/lib/<editor> : Arquivos de backup e estado de

editores de texto. Por exemplo, o Emacs guarda este tipo de informao em /var/lib/emacs/lock.

/var/lib/<pacote> : Dados de estado para pacotes e


subsistemas (opcional).

/var/lib/xdm : Dados variveis do Xdm (X display

manager) (opcional). Como o Debian utiliza o GDM (GNOME Display Manager) como padro, este diretrio trocado por /var/lib/gdm.

/var/lock : Contm em sua estrutura os arquivos de bloqueio. /var/log : Contm uma miscelnea de arquivos de agenda (logs). A
maioria dos logs de sistema e de aplicaes so escritos neste diretrio ou em seus subdiretrios.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

82

GNU/Linux - mdulo 1 - Introduo

usurio.

/var/log/lastlog : Registro do ltimo acesso de cada

/var/log/messages : Mensagens do sistema syslogd. /var/log/wtmp : Registro dos os acessos dos usurios.

/var/mail : Contm as caixas postais de e-mails dos usurios, que so


arquivos no formato mailbox do UNIX, com o nome do usurio.

/var/opt : Contm dados variveis para os aplicativos instalados em


/opt. Cada aplicativo instalado em /opt que necessite, deve criar um subdiretrio em /var/opt, no qual ficaro seus dados variveis.

/var/run : Contm arquivos variveis em tempo de execuo, com


informaes de sistema, descrevendo-o desde que foi inicializado. Geralmente os arquivos neste subdiretrio devem ser deletados (removidos ou truncados) ao comear o processo de inicializao.

/var/spool : Subdiretrio de fila de trabalhos para processamento

posterior. /var/spool tradicionalmente utilizado para a informao local de mquina que enviada para processamento posterior. No geral, estes dados so apagados aps terem sido processados. Ele pode conter o seguintes subdiretrios:

/var/spool/lpd : Diretrio de dados para impressora


(opcional).

/var/spool/mqueue : Fila de sada de e-mail (opcional). /var/spool/news : Diretrio de dados de notcias


(opcional).

/var/spool/rwho : Arquivos rwhod (opcional). /var/spool/uucp : Diretrio de dados do UUCP (opcional).

/var/tmp : Contm arquivos temporrios que so preservados entre


reinicializaes do sistema. O subdiretrio /var/tmp disponibilizado para programas que requerem arquivos ou diretrios temporrios que devem ser preservados entre reinicializaes do sistema. Portanto, os dados armazenados em /var/tmp so mais persistentes que aqueles armazenados em /tmp.

/var/yp : Contm dados variveis para o Sistema de Informaes de


Rede (NIS), tambm conhecido como Sun Yellow Pages (YP).
83

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

5.6 Caminhos
Como em todo sistema de arquivos de qualquer sistema operacional, a referncia a um arquivo/diretrio deve ser feita atravs do seu caminho. Um caminho formado da seguinte forma: [diretrio raiz] [diretrio 1] [diretrio 2]...[diretrio n] [arquivo]. Cada um desses itens so separados por um smbolo, que varia de acordo com o sistema operacional. No GNU/Linux, o diretrio raiz chama-se / (barra), e o smbolo utilizado para separar os itens a / tambm. Um exemplo de caminho seria: /home/curso/doc/linux/gnu.sxw Um caminho informa onde podemos encontrar um arquivo ou diretrio. No caso acima, podemos interpretar esse comando da seguinte forma: o arquivo gnu.sxw est dentro do diretrio linux, que est dentro do diretrio doc, que est dentro do diretrio curso, que est dentro do diretrio home, que est no diretrio raiz / . Outra forma de interpretao seria: para acessar o arquivo gnu.sxw, a partir do diretrio raiz / , acesse o diretrio home, depois o diretrio curso, depois o diretrio doc, e depois o diretrio linux. O arquivo estar l.

5.7 Notaes de diretrios do sistema


Alguns diretrios possuem notaes especiais, algo que poderamos chamar de "atalho" para o acesso. Veja abaixo a lista dessas notaes:

: Ao referir-se ao diretrio ~ (til), o sistema entende como o diretrio pessoal do usurio, ou seja, /home/[usurio], onde [usurio] o nome de login do usurio atual. Dessa forma, se voc estiver logado como curso, o diretrio ~/img ser interpretado como /home/curso/img.

: O kernel Linux armazena um histrico dos diretrios que acessamos. O - (hfen) refere-se ao ltimo diretrio acessado.

: O smbolo . (ponto) refere-se ao diretrio atual, ou seja, aquele em que estamos trabalhando; : O .. (ponto ponto) refere-se ao diretrio acima do qual estamos. Por exemplo, considerando o diretrio /home/curso, o diretrio acima de curso /home, e o diretrio acima de /home /.

..

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

84

GNU/Linux - mdulo 1 - Introduo

Captulo 6

Utilizando o Interpretador de comandos (shell)


Neste captulo o usurio compreender o que e para que serve um interpretador de comandos, conhecendo seus recursos mais utilizados.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

85

GNU/Linux - mdulo 1 - Introduo

6.1- O interpretador de comandos


Tambm conhecido como shell, o programa responsvel em interpretar as instrues enviadas pelo usurio ao sistema operacional (kernel), como por exemplo, criao e remoo de diretrios, listagem de diretrios, criao e remoo de arquivos, etc. a principal ligao entre o usurio, os programas, e o kernel. Ele executa os comando lidos do dispositivo de entrada padro (teclado) ou de um arquivo executvel. O GNU/Linux possui diversos tipos de interpretadores de comando, e entre eles, os de maior destaque so o bash (Bourbe Again Shell), csh (C Shell), tcsh (Turbo C Shell), ksh (The Korn Shell). Entre eles, o mais usado o bash. Os comando podem ser enviados de duas maneiras para o interpretador:

Interativa : os comandos so digitados no prompt e passados ao interpretador de comandos um a um. Neste modo, o computador depende do usurio para executar uma tarefa, ou o prximo comando. No-interativa : so usados scripts, ou seja, arquivos criados pelo usurio com uma sequncia de comandos definidos por este, que seguem uma determinada lgica, para executar determinada tarefa que precisa ser automatizada.

O bash um interpretador de comandos muito customizvel, e para exemplificar uma pequena poro desta ferramenta, podemos destacar um de seus recursos mais teis, que o de completar os nomes dos arquivos. Isto feito pressionando a tecla TAB. Por exemplo, se o usurio digitar:
$ ls tes<TAB>

O bash localizar todos os arquivos que iniciam com tes e completar o restante do nome. Caso o bash encontre mais de uma expresso que satisfaa a pesquisa, ou nenhuma, emitido um beep. Se o usurio pressionar novamente a tecla <TAB>, o bash listar as diversas possibilidades que satisfazem a pesquisa. Este recurso tambm funciona sem problemas para comandos internos.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

86

GNU/Linux - mdulo 1 - Introduo

6.2- Aviso de comando (prompt)


Aviso de comando (prompt), a linha mostrada na tela para digitao de comandos que sero passados ao interpretador de comandos para a sua execuo. A posio onde o comando ser digitado marcado por um trao piscante chamado cursor. Tanto em shells texto como em grficos necessrio o uso do cursor para sabermos onde iniciar a digitao de textos e nos orientarmos quanto a posio na tela. O aviso de comando do usurio root identicado pela caractere # (tralha, cerquilha), e o aviso de comando de usurios identificado pelo caractere $. Isto padro em sistemas Unix.

6.3- Curingas (Wildcards)


Curingas (ou referncia global) um recurso usado para especificar e potencializar pesquisas feitas para um ou mais arquivos ou diretrios do sistema de uma s vez. Este um recurso permite que voc faa a filtragem do que ser listado, copiado, apagado, etc. So usados 4 tipos de curingas no GNU/Linux: - Faz referncia a qualquer nome completo/restante, qualquer nmero de vezes, de um arquivo/diretrio.

Exemplo:
$ ls /home/curso/teste/*.txt teste10.txt teste1.txt teste3.txt teste11.txt teste2.txt teste4.txt

teste5.txt teste6.txt

testeA.txt testeB.txt

testeC.txt testeD.txt

testeE.txt testeF.txt

Lista todos os arquivos que tiverem a extenso .txt no diretrio /home/curso/teste.


$ ls teste* teste10.txt teste1.txt teste11.txt teste2.txt

teste3.txt teste4.txt

teste5.txt teste6.txt

testeA.txt testeB.txt

testeC.txt testeD.txt

testeE.txt

Lista todos os arquivos que tiverem o prefixo teste.


$ ls teste*txt teste10.txt teste1.txt teste11.txt teste2.txt

teste3.txt teste4.txt

teste5.txt teste6.txt

testeA.txt testeB.txt

testeC.txt testeD.txt

testeE.txt

Lista todos os arquivos que tiverem o prefixo teste e terminarem com a string txt.
$ ls *5* teste5.txt

Lista todos os arquivos que tiverem string 5.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

87

GNU/Linux - mdulo 1 - Introduo

- Faz referncia a um caracter em uma posio especfica.

Exemplo:
$ ls teste?.txt teste1.txt teste3.txt teste4.txt teste6.txt

teste5.txt testeB.txt

testeA.txt testeD.txt

testeC.txt testeF.txt

testeE.txt teste2.txt

Lista todos os arquivos que tiverem um nico caracter depois da string teste, e que tiverem a extenso .txt.
$ ls teste??.txt teste10.txt teste11.txt

Lista todos os arquivos que tiverem dois caracteres depois da string teste, e que tiverem a extenso .txt.
$ ls /bin/?? /bin/cp /bin/dd /bin/df /bin/ed /bin/ln /bin/ls /bin/mt /bin/mv /bin/ps /bin/sh /bin/su

/bin/rm

Lista todos os arquivos que tiverem nome com apenas dois caracteres no diretrio /bin.
$ ls /etc/???.conf /etc/fam.conf /etc/ntp.conf /etc/xmp.conf

/etc/pam.conf

/etc/ucf.conf

/etc/vnc.conf

Lista todos os arquivos que tiverem nome com trs caracteres e a extenso .conf no diretrio /etc.

- O curinga "[...]" define um padro que casa com o conjunto de caracteres entre "[" e "]". O conjunto ainda pode conter intervalos de caracteres, como por exemplo "1-2" ou "a-z" e tambm caracteres que no podem fazer parte do conjunto, indicados por "^" ou "!".

[]

Exemplo:
$ ls teste[0-9].txt teste1.txt teste2.txt

teste3.txt

teste4.txt

teste5.txt

teste6.txt

Lista todos os arquivos que tiverem o intervalo de nmero de 0 at 9 entre o prefixo teste, com a extenso .txt.
$ ls teste[5-9].txt teste5.txt teste6.txt

Lista todos os arquivos que tiverem o intervalo de nmero de 5 at 9 entre o prefixo teste, com a extenso .txt.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

88

GNU/Linux - mdulo 1 - Introduo

$ ls teste[0-9].txt teste1.txt teste2.txt

teste3.txt

teste4.txt

teste5.txt

teste6.txt

Lista todos os arquivos que tiverem o intervalo de nmero de 0 at 9 entre o prefixo teste, com a extenso .txt.
$ ls teste[A-Z].txt testeA.txt testeB.txt

testeC.txt

testeD.txt

testeE.txt

testeF.txt

Lista todos os arquivos que tiverem o intervalo de A at Z entre o prefixo teste, com a extenso .txt.
$ ls teste[B-D].txt testeB.txt testeC.txt

testeD.txt

Lista todos os arquivos que tiverem o intervalo de B at D entre o prefixo teste, com a extenso .txt.
$ ls [a-z][0-9]* t1.txt t2.txt t3.txt

Lista todos os arquivos que tiverem em seu nome na primeira posio um caracter no intervalo de a z, e na segunda posio um nmero no intervalo de 0 9, com qualquer sufixo ou extenso.
$ ls t[a-d,0-9]*.txt t1.txt t2.txt t3.txt

ta1.txt

ta2.txt

Lista todos os arquivos que tiverem o prefixo t, seguido por um caracter no intervalo de a d, ou um nmero no intervalo de 0 9, e que tenham qualquer valor antes de .txt.
$ ls teste[0-9][^0-9]* teste1.txt teste2.txt

teste3.txt

teste4.txt

teste5.txt

teste6.txt

Lista todos os arquivos que tiverem o prefixo teste, seguido por um nmero no intervalo de 0 9, e que no contenham um outro nmero na sequncia, com qualquer extenso. o carater ^ significa negao.

- O curinga "{...}" define um padro que casa com o conjunto de caracteres entre "{" e "}", separados por vrgula.

{}

Exemplo:
$ ls teste{[0-9],[A-Z]}.txt teste1.txt teste3.txt teste5.txt teste4.txt teste6.txt testeB.txt

testeA.txt testeD.txt

testeC.txt testeF.txt

testeE.txt teste2.txt

Lista todos os arquivos que tiverem o prefixo teste, seguido por um conjunto composto por um nmero no intervalo de 0 9, ou, caracteres no intervalo de A Z, e que terminam com a extenso .txt.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

89

GNU/Linux - mdulo 1 - Introduo

$ ls teste*.{txt,log} teste10.txt teste1.log teste2.log testeD.txt testeF.txt teste11.txt testeA.txt testeC.txt testeE.txt

teste3.log teste1.txt teste.log

teste4.txt teste2.txt

teste6.txt teste3.txt

testeB.txt teste5.txt

Lista todos os arquivos que tiverem o prefixo teste, seguido por qualquer conjunto de caracteres, e que contenham as extenses .txt ou .log.

6.4- Direcionadores
Uma boa parte dos programas executados no terminal possuem alguma sada. Essas sadas so enviadas por padro para o terminal, sendo impressas na tela. Assim, consideremos o exemplo abaixo:
$ ls teste[0-9].txt teste1.txt teste2.txt

teste3.txt

teste4.txt

teste5.txt

teste6.txt

Nesse caso, tm-se:


entrada: ls teste[0-9].txt sada: teste1.txt teste2.txt

teste3.txt

teste4.txt

teste5.txt teste6.txt

A entrada foi enviada pelo teclado (stdin), e a sada foi enviada para o terminal, que a sada padro (stdout). Mas ento, o que fazer se o usurio quiser gravar a sada do comando ls em um arquivo de texto, por exemplo? Para isso existem os direcionadores de fluxo, de grande utilidade no GNU/Linux e essenciais para a realizao de diversas tarefas de manuteno do sistema. Direcionadores de fluxo fazem o que o nome sugere: direcionam o fluxo da sada dos programas, enviando-as para locais diferentes da sada padro. Esses locais podem ser arquivos, dispositivos, processos e outros programas. O direcionadores utilizados no GNU/Linux so: O Direcionador > : O direcionador > envia a sada padro de um comando para um arquivo. Caso o arquivo exista, o seu contedo substitudo. Veja ento a sada do comando ls que utilizou-se agora pouco:

$ ls teste[0-9].txt teste1.txt teste2.txt

teste3.txt

teste4.txt

teste5.txt

teste6.txt

Para gravar essa lista em um arquivo chamado ls_out, utiliza-se o direcionador, da seguinte forma:

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

90

GNU/Linux - mdulo 1 - Introduo

$ ls teste[0-9].txt > ls_out

Agora, nada impresso no terminal. Por que? Porque a sada foi direcionada para o arquivo ls_out. Veja o contedo desse arquivo com o comando cat, que concatena e envia arquivos para a sada padro:
$ cat ls_out teste1.txt teste2.txt teste3.txt teste4.txt teste5.txt teste6.txt

Como visto, o contedo do arquivo ls_out exatamente a sada do comando ls.

O Direcionador 2> : Uma restrio ao uso do direcionador > que ele no funciona para mensagens de erro (stderr). No exemplo abaixo, usa-se o comando ls, e como parmetro, um diretrio que no existe:

$ ls dir_fantasma > ls_out ls: dir_fantasma: Arquivo ou diretrio no encontrado

Observe que mesmo usando o direcionador >, a mensagem de erro foi exibida. Se o usurio visualizar o contedo do arquivo ls_out, ver que nada foi gravado. Para gravar as mensagens de erro, deve-se usar o direcionador 2>:
$ ls dir_fantasma 2> ls_out

Agora sim, nenhuma mensagem de erro foi exibida na tela, porque ela foi enviada para o arquivo ls_out, como pode-se verificar:
$ cat ls_out ls: dir_fantasma: Arquivo ou diretrio no encontrado

O Direcionador &> : Podemos usar os direcionadores > e 2> em conjunto, para gerar um arquivo com a sada padro e outro com a sada de erros, dessa forma:

$ ls teste[0-9].txt dir_fantasma > ls_out 2> ls_error

O comando acima pede para listar todos os arquivos que contenham o nome teste, seguido por um intervalo de 0 9, com a extenso .txt, e o contedo do diretrio dir_fantasma. Ao ver o contedo dos arquivos ls_out e ls_error, tm-se:
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 91

GNU/Linux - mdulo 1 - Introduo

$ cat ls_out teste1.txt teste2.txt teste3.txt teste4.txt teste5.txt teste6.txt $ cat ls_error ls: dir_fantasma: Arquivo ou diretrio no encontrado

Mas, e se for necessrio gravar todas as mensagens em um arquivo apenas? Para isso existe o direcionador &>, que direciona tanto as mensagens padro quanto as mensagens de erro para um arquivo. Repetindo o teste anterior:
$ ls teste[0-9].txt dir_fantasma &> ls_out

Nenhuma mensagem exibida no terminal, e o contedo do arquivo ls_out o seguinte:


$ cat ls_out ls: dir_fantasma: Arquivo ou diretrio no encontrado teste1.txt teste2.txt teste3.txt teste4.txt teste5.txt teste6.txt

Como visto, tm-se tanto a sada normal quanto as mensagens de erro.

Os Direcionadores >>, 2>> e &>> : Todos os direcionadores acima citados substituem o contedo do arquivo caso ele j exista. Se voc quiser gravar a sada de vrios comandos num mesmo arquivo, ento precisar adicionar o contedo ao arquivo ao invs de substitui-lo. Para fazer isso, usa-se >> ao invs de >, >>, 2>> e &>>. O Direcionador < : Direciona a entrada padro de arquivo/dispositivo para um comando. Este direcionador faz o contrrio de < , enviando os dados para a entrada padro, que no caso, o comando. Por exemplo:

$ cat < ls_out ls: dir_fantasma: Arquivo ou diretrio no encontrado teste1.txt teste2.txt teste3.txt teste4.txt teste5.txt teste6.txt

Voc pode usar o comando acima para enviar o contedo do arquivo ls_out ao comando cat, que mostrar seu contedo. claro que o mesmo resultado pode ser obtido com cat teste.txt, mas este exemplo serviu para mostrar a funcionalidade do <.
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 92

GNU/Linux - mdulo 1 - Introduo

O Direcionador << : O direcionador << utilizado para marcar o fim de exibio de um bloco. Um dos usos mais freqentes desse direcionador em conjunto com o comando cat. O comando abaixo termina o comando cat quando for digitada a palavra "fim".
cat << fim > arq_teste Meu nome Fabio Santos e estou ministrando o Curso GNU/Linux Mdulo 1 - Introduo.. ele tem a durao de 24 horas.... Este teste com o comando cat em conjunto com o direcionador "<<" fim

$ > > > > > >

Neste exemplo, o direcionador << foi usado para enviar o texto digitado para o arquivo arq_teste, logo que a palavra fim foi inserida ao texto.

O Direcionador | (pipe) : O direcionador | , tambm conhecido como pipe (duto, cano), utilizado para direcionar a sada de um comando para outro comando, e utilizado todo o tempo para a realizao de diversos tipos de tarefas e procedimentos. Um dos usos mais comuns do | com os comandos ls e more, para ver o contedo de um diretrio, quando este no cabe na tela, como o diretrio /usr/bin, por exemplo. Para que se possa ver todos os arquivos, direciona-se a sada do ls para o more, que faz a paginao do contedo:

$ ls /usr/bin | more 411toppm 822-date a2p aaxine abcde abiword AbiWord-2.2 --Mais--

Agora, basta pressionar Enter para rolar a lista, de forma que podemos ver todos os arquivos. Pode-se utilizar o pipe para contar o nmero de linhas de um arquivo, em conjunto com os comandos cat e wc:
$ cat /etc/profile | wc -l 24

O comando wc utilizado para contar nmero de linhas, palavras e bytes do fluxo, que neste caso, um arquivo texto. Um outro exemplo em conjunto com o gerenciador de pacotes apt, e com o comando grep, que utilizado para selecionar linhas que contm uma determinada expresso. Por exemplo, para procurar os pacotes relacionados documentao do bash shell, utiliza-se a seguinte linha de comando:

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

93

GNU/Linux - mdulo 1 - Introduo

$ apt-cache search bash | grep doc bash-doc - Documentation and examples for the The GNU Bourne Again SHell bash3-doc - Documentation and examples for the The GNU Bourne Again SHell optcomplete-common - common scripts and documentation for python-optcomplete

6.5- Alias
Permite criar um apelido a um comando ou programa. Por exemplo, se voc quiser otimizar o nome do comando ls -lh para ver uma listagem longa e com todos os atributos dos arquivos, voc pode usar o comando alias para facilitar as coisas digitando:
$ alias lista='ls -lh'

Detalhe: (no se esquea da meia aspa 'para identificar o comando'). Agora quando voc digitar lista, a listagem ser mostrada de forma completa. Para apagar uma alias, utilize o comando unalias:
$ unalias lista

6.6- Histrico dos comandos


Todos os comandos executados em uma sesso so memorizados pelo shell, e podem ser consultados e novamente executados quando desejado. Para consultar o histrico basta executar o comando history. Os comandos que so digitados so armazenados dentro do arquivo .bash_history que est no diretrio de trabalho dos usurios. Os comandos de uso do histrico comeam sempre pelo sinal "!" . Vejamos os mais comuns:

!132 : executa o comando de nmero 132 do histrico. !-2 : executa o penltimo comando. !! : executa o comando anterior (equivale a !-1). !gr : executa o ltimo comando comeando com as letras "gr".

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

94

GNU/Linux - mdulo 1 - Introduo

6.7- Editor de textos vi


O vi um dos editores de texto mais antigos. Independente de plataforma, ele encontrado em quase todos os sistemas *NIX. um editor de texto para console, ento no h a necessidade de se usar um ambiente grfico. Ele um pouco confuso para quem utiliza o programa pela primeira vez, visto que todas as operaes so iniciadas a partir de uma seqncia de teclas. O vim (abreviatura de vi improved) uma variao do vi com alguns recursos extras. O uso do vim igual ao do vi, exceto pelas funes adicionais no encontradas neste. As principais opes do vi so:

i : habilita a insero de textos no arquivo. a : permite a insero de textos depois do cursor. A : permite a insero de textos no final da linha onde encontra-se o cursor. o : Insere uma linha abaixo da linha corrente. O : Insere uma linha acima da linha corrente. W : Move o cursor para o incio da prxima palavra, ignorando a pontuao. w : Move o cursor para o incio da prxima palavra, sem ignorar a pontuao. B : Move o cursor para o incio da palavra anterior, ignorando a pontuao. b : Move o cursor para o incio da prxima palavra, sem ignorar a pontuao. <num>G : Move o cursor para a linha indicada pelo nmero <num>. G : Move o cursor para a ltima linha do arquivo. gg : Move o cursor para a primeira linha do arquivo. /<texto> : Procura dentro do arquivo pelo texo informado. n : repete o ltimo comando / realizado. N : repete o ltimo comando / realizado, porm, na direo reversa. <CTRL>+G : Mostra as informaes sobre o arquivo, como seu nome, nmero da linha corrente, e total de linhas. dw : Exclui uma palavra, da posio do cursor, at o seu final. dd : Exclui a linha onde o cursor est posicionado. D : Exclui o texto que est sob o cursor ate o final da linha. $ : Move o cursor para o final da linha corrente. 0 : Move o cursor para o incio da linha corrente. R : Substitui o texto corrente. cw : Substitui a palavra corrente. cc : Exclui a linha corrente e habilita o modo de insero.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

95

GNU/Linux - mdulo 1 - Introduo

C : Substitui o restante da linha corrente, a partir da posio do cursor. u : desfaz a ltima modificao. U : Desfaz todas as modificaes feitas na linha corrente (desde que o cursor no tenha mudade de linha). J : Une a linha corrente prxima. yw : copia uma palavra. dw : cortar uma palavra. Y : Copia a linha corrente. S : Cortar a linha corrente. P : Cola o contedo da rea de transferncia. V : Seleo visual. <ESC> : Alterna para o modo comando. :w : Salva o arquivo atual. :w novo_arquivo.txt : Salva o arquivo atual com o nome novo_arquivo.txt. :q : Sai do vi e no salva as alteraes. :q! : Fora a sada do vi sem salvar as alteraes. :wq : salva o arquivo atual e sai do vi. :r nome_do_arquivo.txt : Insere o contedo de nome_do_arquivo.txt no arquivo atual :r! ps : Insere a sada do comando ps no arquivo atual. :set number : exibe o nmero de linhas do arquivos atual. :set nonumber : desabilita a visualizao do nmero de linhas. :s/teste/teste1 : substitui a primeira ocorrncia de teste por teste1 na linha corrente. :s/teste/teste1/g : substitui todas as ocorrncias de teste por teste1 na linha corrente. :%s/teste/teste1 : Substitui a primeira ocorrncia da palavra teste por teste1 em cada linha, no arquivo inteiro. :%s/teste/teste1/g : Substitui todas as ocorrncias da palavra teste por teste1, no arquivo inteiro. :%s/teste/teste1/gc : Substitui todas as ocorrncias da palavra teste por teste1, no arquivo inteiro, pedindo confirmao.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

96

GNU/Linux - mdulo 1 - Introduo

6.8- Comandos bsicos nvel 2

6.8.1. history : Exibe na sada padro o histrico de todos os comandos digitados pelo usurio. Esta listagem tambm pode ser consultada no aqruivo .bash_history. Sintaxe:
$ history

6.8.2. tee : Envia o resultado de um comando para a sada padro (tela) e para um arquivo ao mesmo tempo. Este comando deve ser usado com o pipe "|". Sintaxe:
$ <comando> | tee <arquivo de sada>

Opes:

- a : acrescenta ao arquivo ao invs de sobrescrev-lo.

Exemplo:
$ ls -lh | tee lista.txt total 0 -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste10.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste11.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste1.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste2.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste3.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste43.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste4.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste5.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste6.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste7.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste8.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste9.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 testeA.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:35 testeB.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:35 testeC.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:35 testeD.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:35 testeE.txt

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

97

GNU/Linux - mdulo 1 - Introduo

6.8.3. grep : Procura por um texto dentro de um arquivo(s) ou no dispositivo de entrada padro. Sintaxe:
$ grep <expresso> <arquivo> <opes>

Opes: Exemplo:

A [nmero] : Mostra o [nmero] de linhas aps a linha encontrada. B [nmero] : Mostra o [nmero] de linhas antes a linha encontrada. n : Mostra o nmero de cada linha encontrada. i : Ignora diferenas entre minsculas e maisculas.

$ cat lista.txt | grep 15:35 -rw-r--r-- 1 fabio fabio 0 2005-06-14 -rw-r--r-- 1 fabio fabio 0 2005-06-14 -rw-r--r-- 1 fabio fabio 0 2005-06-14 -rw-r--r-- 1 fabio fabio 0 2005-06-14

15:35 15:35 15:35 15:35

testeB.txt testeC.txt testeD.txt testeE.txt

Exibe todas as linhas do arquivo lista.txt que contm a string 15:35.


$ ps -ef | grep fabio 4978 root 4982 fabio 5713 fabio 5726 bash 4976 4978 4976 5713

0 0 0 0

11:17 11:17 17:09 17:11

pts/0 pts/0 pts/1 pts/1

00:00:00 00:00:00 00:00:00 00:00:00

bash bash bash grep bash

Exibe a sada do comando ps, que lista todos os processo que esto rodando na mquina, e no exemplo acima, todos os processo que contm a string bash. O grep faz sua pesquisa em arquivos texto. Use o comando zgrep para pesquisar diretamente em arquivos compactados com gzip, os comandos e opes so as mesmas.

6.8.4. cat : Imprime o contedo de arquivos na sada padro (exibe na tela). Com o uso de direcionadores, podemos us-lo para unir diferentes arquivos em um s, dentre outra funes. Sintaxe:
$ cat <opes> <arquivo>

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

98

GNU/Linux - mdulo 1 - Introduo

Opes: - b : Numera as linhas, com exceo das linhas em branco. - E : Mostra um $ para indicar fim de linha. - n : Numera todas as linhas, incluindo as em branco. - s : No mostra mais do que uma linha em branco. Se houver duas ou mais linhas em branco consecutivas, elas so truncadas e apenas uma mostrada. - T : Substitui tabulaes pelos caracteres ^I. - v : Substitui os caracteres no imprimveis por smbolos, exceto tabulaes e final de linha.

Exemplo:
$ cat lista.txt -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio

fabio fabio fabio fabio

0 0 0 0

2005-06-14 2005-06-14 2005-06-14 2005-06-14

15:35 15:35 15:35 15:35

testeB.txt testeC.txt testeD.txt testeE.txt

Exibe todas as linhas do arquivo lista.txt, este o exemplo mais simples da utilizao deste comando.
$ cat ls_new ls_log -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio

fabio fabio fabio fabio fabio fabio fabio fabio fabio fabio

0 0 0 0 0 0 0 0 0 0

2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15

14:03 14:03 14:03 14:03 14:03 14:02 14:02 14:02 14:02 14:02

teste1.new teste2.new teste3.new teste4.new teste5.new teste1.log teste2.log teste3.log teste4.log teste5.log

Exibe a sada o contedo dos arquivos ls_new e ls_log, que contm respectivamente, a sada do comando ls -lh *.new e ls -lh *.log.
$ cat ls_new ls_log $ cat lista_lognew -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio > lista_lognew fabio fabio fabio fabio fabio fabio fabio fabio fabio fabio 0 0 0 0 0 0 0 0 0 0 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 14:03 14:03 14:03 14:03 14:03 14:02 14:02 14:02 14:02 14:02 teste1.new teste2.new teste3.new teste4.new teste5.new teste1.log teste2.log teste3.log teste4.log teste5.log

Primeiramente redireciona o contedo do exemplo anterior para o arquivo lista_lognew, e depois, exibe seu contedo.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

99

GNU/Linux - mdulo 1 - Introduo

$ cat musica_1.mp3 musica_2.mp3 > junta_musica.mp3

O comando cat tambm trabalha na juno de contedos de arquivos binrios. Por exemplo, se voc quiser concatenar duas msicas sem precisar. O comando cat trabalha com arquivos texto. Use o comando zcat para ver diretamente arquivos compactados com gzip.

6.8.5. tac : Faz o mesmo que o cat, mas exibe o arquivo pela ordem inversa, ou seja, comeando pela ltima linha e terminando com a primeira. Sintaxe:
$ tac <arquivo>

Exemplo:
$ tac lista_lognew -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio

fabio fabio fabio fabio fabio fabio fabio fabio fabio fabio

0 0 0 0 0 0 0 0 0 0

2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15 2005-06-15

14:02 14:02 14:02 14:02 14:02 14:03 14:03 14:03 14:03 14:03

teste5.log teste4.log teste3.log teste2.log teste1.log teste5.new teste4.new teste3.new teste2.new teste1.new

Exibe todas as linhas do arquivo lista.txt, este o exemplo mais simples da utilizao deste comando.

6.8.6. wc : Conta o nmero de linhas, palavras, caracteres e bytes nos arquivos. Se as opes forem omitidas, o wc mostra a quantidade de linhas, palavras, e bytes.

Sintaxe:
$ wc <opes> <arquivo>

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

100

GNU/Linux - mdulo 1 - Introduo

Opes:

c : Exibe apenas o nmero de bytes. m : Exibe apenas o nmero de caracteres. l : Exibe apenas o nmero de linhas. L : Exibe o comprimento, em caracteres, da maior linha do arquivo. w : Exibe o nmero de palavras encontradas.

Exemplo:
$ wc lista_lognew 10 80 560 lista_lognew

Se as opes forem omitidas, o wc mostra a quantidade de linhas, palavras, e bytes.


$ wc -w lista_lognew 80 lista_lognew

Exibe apenas o nmero de palavras.

6.8.7. find (utilizao bsica) : Procura por arquivos/diretrios no disco. O find pode procurar arquivos atravs de seus atributos, atravs do uso de opes. Sintaxe:
$ find <arquivo/diretrio> <opes/expresses>

Opes:

-name : Procura arquivos cujo nome coincida com a expresso digitada. -type [tipo]: Procura por arquivos que sejam de um tipo especfico. b : Dispositivos de bloco. c : Dispositivos de caractere. d : Diretrio. p : Duto nomeado (FIFO). f : Arquivo regular. l : Link simblico. s : Socket.

Exemplo:
$ find teste[A-Z].txt testeA.txt testeB.txt testeC.txt testeD.txt testeE.txt

Sem informar um diretrio para pesquisa, faz uma busca dentro diretrio atual.
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 101

GNU/Linux - mdulo 1 - Introduo

$ find /etc/ -name ???.conf /etc/gdm/gdm.conf /etc/fam.conf /etc/pam.conf /etc/ucf.conf /etc/dbus-1/system.d/hal.conf /etc/esound/esd.conf /etc/sane.d/ibm.conf /etc/sane.d/v4l.conf /etc/sane.d/pie.conf /etc/sane.d/leo.conf /etc/sane.d/nec.conf /etc/sane.d/u12.conf /etc/sane.d/dll.conf /etc/sane.d/dmc.conf /etc/sane.d/net.conf /etc/apache2/mods-available/ssl.conf

Faz um busca no diretrio /etc, por arquivos que contenham apenas 3 letras em seu nome, e que tenha a extenso .conf.

6.8.8. more : Permite fazer a paginao de arquivos ou da entrada padro. O comando more pode ser usado como comando para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela ocupada, ele efetua uma pausa e permite que voc pressione <ENTER> ou <espao> para continuar avanando no arquivo sendo visualizado. Para sair do more pressione <q>. Sintaxe:
$ more <arquivo>

Exemplo:
$ more /etc/adduser.conf # /etc/adduser.conf: `adduser' configuration. # See adduser(8) and adduser.conf(5) for full documentation. # The DSHELL variable specifies the default login shell on your # system. DSHELL=/bin/bash # The DHOME variable specifies the directory containing users' home # directories. DHOME=/home # If GROUPHOMES is "yes", then the home directories will be created as # /home/groupname/user. GROUPHOMES=no # If LETTERHOMES is "yes", then the created home directories will have # an extra directory - the first letter of the user name. For example: --Mais--(50%)

Faz a paginao do arquivo /etc/adduser.conf.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 102

GNU/Linux - mdulo 1 - Introduo

$ ls -lh | more total 24K -rw-r--r-- 1 fabio -rw-r--r-- 1 root -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio --Mais--

fabio 560 2005-06-15 14:10 lista_lognew root 2,1K 2005-06-17 12:34 lista_pag fabio 968 2005-06-15 11:34 lista.txt fabio 280 2005-06-15 14:03 ls_log fabio 280 2005-06-15 14:03 ls_new fabio 0 2005-06-14 15:34 teste10.txt fabio 0 2005-06-14 15:34 teste11.txt fabio 0 2005-06-15 14:02 teste1.log fabio 0 2005-06-15 14:03 teste1.new fabio 0 2005-06-14 15:34 teste1.txt

Faz a paginao da sada do comando ls. Para visualizar diretamente arquivos texto compactados pelo utilitrio gzip (arquivos .gz), use o comando zmore.

6.8.9. less : Permite fazer a paginao de arquivos ou da entrada padro. Ele pode ser usado como comando para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela ocupada, o less efetua uma pausa (semelhante ao more) e permite que voc pressione <seta para cima> e <seta para baixo> ou <PgUP>/<PgDown> para fazer o rolamento da pgina. Para sair do less pressione <q>. Sintaxe:
$ less <arquivo>

Exemplo:
$ less /etc/adduser.conf # /etc/adduser.conf: `adduser' configuration. # See adduser(8) and adduser.conf(5) for full documentation. # The DSHELL variable specifies the default login shell on your # system. DSHELL=/bin/bash # The DHOME variable specifies the directory containing users' home # directories. DHOME=/home # If GROUPHOMES is "yes", then the home directories will be created as # /home/groupname/user. GROUPHOMES=no # If LETTERHOMES is "yes", then the created home directories will have # an extra directory - the first letter of the user name. For example: :

Faz a paginao do arquivo /etc/adduser.conf.


Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 103

GNU/Linux - mdulo 1 - Introduo

$ ls -lh | less total 24K -rw-r--r-- 1 fabio -rw-r--r-- 1 root -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio :

fabio 560 2005-06-15 14:10 lista_lognew root 2,1K 2005-06-17 12:34 lista_pag fabio 968 2005-06-15 11:34 lista.txt fabio 280 2005-06-15 14:03 ls_log fabio 280 2005-06-15 14:03 ls_new fabio 0 2005-06-14 15:34 teste10.txt fabio 0 2005-06-14 15:34 teste11.txt fabio 0 2005-06-15 14:02 teste1.log fabio 0 2005-06-15 14:03 teste1.new fabio 0 2005-06-14 15:34 teste1.txt

Faz a paginao da sada do comando ls. Para visualizar diretamente arquivos texto compactados pelo utilitrio gzip (arquivos .gz), use o comando zless.

6.8.10. touch : Muda a data e hora que um arquivo foi criado. Tambm pode ser usado para criar arquivos vazios. Caso o touch seja usado com arquivos que no existam, por padro ele ir cri-los. Sintaxe:
$ touch <opes> <arquivo>

Opes:

-a : Modifica apenas a data do ltima acesso. -c: No cria arquivos, caso eles no existam. -m : modifica apenas a data de modificao. -t : Usa meses (MM), dias (DD), horas (hh), minutos (mm) e opcionalmente o ano e segundos para modificao do(s) arquivo(s) ao invs da data e hora atual.

Exemplo:
$ ls -lh teste1.txt -rw-r--r-- 1 fabio fabio 0 2005-06-14 15:34 teste1.txt $ touch teste1.txt $ ls -lh teste1.txt -rw-r--r-- 1 fabio fabio 0 2005-06-20 14:16 teste1.txt

Supondo que o arquivo teste1.txt tenha como ltima modificao, a data 14/06/2005 s 15:34. utilizando o comando touch sem nenhum parmetro, o arquivo automaticamente fica com a data atual, como sendo a sua data de ltima modificao.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

104

GNU/Linux - mdulo 1 - Introduo

$ touch -t 200302111030.11 teste1.txt $ ls -lh teste1.txt -rw-r--r-- 1 fabio fabio 0 2003-02-11 10:30 teste1.txt $ touch -t 200404151430 teste1.txt -rw-r--r-- 1 fabio fabio 0 2004-04-15 14:30 teste1.txt

Neste exemplo, utiliza-se a opo -t para o comando touch gravar uma data especfica no arquivo. No exemplo acima, o arquivo teste1.txt ter como data de ltima modificao, a data 15/04/2004 s 14:30.

6.8.11. ln : Utilizado para criar links, simblicos ou absolutos. Sintaxe:


$ ln <opes> <origem> <destino>

Opes: -s : Cria um link simblico. Usado para criar ligaes com o arquivo/diretrio de destino. -v: Exibe o nome de cada link antes de cri-lo.

Exemplo:
$ ln -s teste1.txt teste1.documento $ ls -lh teste1* -rw-r--r-- 1 fabio fabio 0 2005-06-14 -rw-r--r-- 1 fabio fabio 0 2005-06-14 lrwxrwxrwx 1 fabio fabio 10 2005-06-20 -rw-r--r-- 1 fabio fabio 0 2005-06-15 -rw-r--r-- 1 fabio fabio 0 2005-06-15 -rw-r--r-- 1 fabio fabio 0 2004-04-15

15:34 15:34 16:30 14:02 14:03 14:30

teste10.txt teste11.txt teste1.documento -> teste1.txt teste1.log teste1.new teste1.txt

Neste exemplo, foi criado um link simblico para o arquivo teste1.txt com o nome de teste1.documento.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

105

GNU/Linux - mdulo 1 - Introduo

$ ln -s -v teste1.txt teste1.documento criar link simblico `teste1.docs' to `teste1.txt' $ ls -lh teste1* -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio lrwxrwxrwx 1 fabio lrwxrwxrwx 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio -rw-r--r-- 1 fabio

fabio 0 2005-06-14 15:34 teste10.txt fabio 0 2005-06-14 15:34 teste11.txt fabio 10 2005-06-20 17:00 teste1.docs -> teste1.txt fabio 10 2005-06-20 16:30 teste1.documento -> teste1.txt fabio 0 2005-06-15 14:02 teste1.log fabio 0 2005-06-15 14:03 teste1.new fabio 0 2004-04-15 14:30 teste1.txt

Neste exemplo, foi criado um link simblico para o arquivo teste1.txt com o nome de teste1.docs, exemplificando a sada com a opo -v.
$ ln /etc/passwd $ ln /etc/passwd passwd_curso $ ls -lh pass* -rw-r--r-- 3 root root 1,2K 2005-06-17 11:31 passwd -rw-r--r-- 3 root root 1,2K 2005-06-17 11:31 passwd_curso

Neste exemplo, foram criados dois links absolutos, um para o arquivo /etc/passwd no diretrio atual com mesmo nome, e outro com o nome de passwd_curso, mas os dois referenciam o mesmo arquivo.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

106

GNU/Linux - mdulo 1 - Introduo

Captulo 7

Gerenciamento de Pacotes
Neste captulo o usurio compreender como gerenciamento de pacotes no Debian GNU/Linux. feito o

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

107

GNU/Linux - mdulo 1 - Introduo

7.1- O que so pacotes?


Um programa constitudo por vrios arquivos, incluindo: aplicativos, arquivos de configurao, bibliotecas, imagens e documentos. O processo natural de instalao de um programa consiste ento em 3 etapas:

Compilao: Compilar significa transformar o cdigo-fonte de um programa em arquivos binrios, isto , que podem ser executados e utilizados pelo sistema operacional. Cpia: Uma vez compilados, os arquivos precisam ser copiados para os diretrios corretos, para poder funcionar adequadamente. Nesse processo, alguns diretrios precisam ser criados, eventualmente. Configurao: Depois de compilar e copiar, necessrio configurar o programa e o sistema operacional, para que no hajam conflitos e tudo possa funcionar corretamente.

O processo natural no nem um pouco animador. Instalar todos os programas do sistema operacional seguindo esse mtodo leva muito tempo, e a chance de ocorrer algum erro muito grande. Pensando nisso, os mantenedores dos pacotes de cada distribuio fazem por voc o processo de compilao e configurao dos programas, e juntam tudo em um s arquivo, chamado pacote. Esse pacote, ser interpretado pela ferramenta de gerenciamento de pacotes, que o instalar automaticamente, com apenas um comando. Abaixo, encontra-se a listagem dos tipos de pacotes e seus respectivos gerenciadores de algumas distribuies listadas no captulo 1:

Distribuio SuSe Red Hat Fedora Slackware Debian

Tipo de Pacote RPM RPM RPM TGZ DEB

Gerenciador YaST APT, YUM APT, YUM pkgtool APT

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

108

GNU/Linux - mdulo 1 - Introduo

7.2- Os pacotes Debian


O Debian utiliza o formato DEB para os seus pacotes pr-compilados. Muitos pacotes (mais de 8000) so mantidos pela equipe de desenvolvedores Debian, e encontram-se disponveis em diversos repositrios oficiais espalhados ao redor do mundo. Programas que no possuem pacotes DEB devem ser instalados a partir do cdigo-fonte. possvel gerar pacotes DEB manualmente atravs da ferramenta dpkgdeb ou atravs de utilitrios que automatizam essa tarefa, como o checkinstall. Os nomes dos pacotes so geralmente formados da seguinte maneira:

[foo]_[verso]-[reviso]_[arquitetura].deb

Onde: foo : Nome dado ao pacote; verso : A verso do pacote; reviso : Muitas vezes o mantenedor pode fazer alteraes na mesma verso de um pacote. Nesses casos, so lanadas as revises, como em 2.2-1, 2.2-2, 2.2-3, onde todos so pacotes da verso 2.2, mas de revises diferentes; arquitetura : A arquitetura de hardware para a qual o pacote foi compilado.

Alguns exemplos de nomes de pacotes:


ladccad_0.4.0-4_i386.deb inkscape_0.41-2_i386.deb rsync_2.6.4-6_i386.deb mysql-server-4.1_4.1.11a-4_i386.deb openoffice.org-bin_1.1.3-9_i386.deb

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

109

GNU/Linux - mdulo 1 - Introduo

7.3- Ferramentas de Gerenciamento de pacotes

dpkg

O dpkg o principal programa de gerenciamento de pacotes do Debian. Todas as outras ferramentas utilizam-no para instalar, remover e configurar os pacotes no sistema. A sintaxe de uso do dpkg a seguinte:

dpkg <opes> <pacote>

Algumas opes so usadas com o nome do pacote, outras so usadas com o nome do arquivo .deb. As principais so:

--info: Exibe as informaes sobre o pacote especificado, tais como descrio, verso, dependncias, mantenedor, etc. -i, --install: Instala o pacote no sistema, desde que ele no possua nenhuma dependncia no resolvida. --unpack: Apenas extrai os arquivos do pacote, copiando-os para os locais corretos, mas no faz a configurao. Isso pode deixar o programa no utilizvel, pois ele pode precisar ser configurado, o que, nesse caso, no feito. --configure: Configura o pacote desempacotado atravs do unpack. -r, --remove: Remove um pacote, mantendo os arquivos de configurao. A importncia de se manter os arquivos de configurao que, no caso da reinstalao do pacote, as configuraes no sero perdidas, permitindo usar o programa como se ele nunca tivesse sido removido. --purge: Remove um pacote e tambm os seus arquivos de configurao. S use essa opo quando tiver certeza de que deseja acabar com qualquer vestgio do pacote em questo, geralmente quando ele realmente no for mais necessrio; -l, --list: Lista o estado de instalao do pacote. til para saber se um pacote est instalado, ou se apresenta algum problema, como dependncias quebradas ou se est desconfigurado; --get-selections [arquivo]: Exibe uma lista com os pacotes do sistema, bem como o seu estado; -L, --list-files: Exibe os arquivos instalados pelo pacote selecionado; -S, --search [padro]: Procura pelo padro informado na lista de arquivos instalados pelo pacote; -s : Exibe o status do pacote selecionado.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

110

GNU/Linux - mdulo 1 - Introduo

Exemplos:
$ dpkg -i opera_8.01-20050615.5-shared-qt_en_sarge_i386.deb Selecionando pacote previamente no selecionado opera. (Lendo banco de dados ... 91345 arquivos e diretrios atualmente instalados.) Descompactando opera (de opera_8.01-20050615.5-shared-qt_en_sarge_i386.deb) ... Instalando opera (8.01-20050615.5) ...

Instala o pacote do navegador Opera no sistema operacional.


$ dpkg --info opera_8.01-20050615.5-shared-qt_en_sarge_i386.deb novo pacote debian, verso 2.0. tamanho 4257754 bytes: arquivo de controle= 4241 bytes. 34 bytes, 2 linhas conffiles 826 bytes, 20 linhas control 5932 bytes, 85 linhas md5sums 1654 bytes, 55 linhas * postinst #!/bin/sh 1068 bytes, 38 linhas * postrm #!/bin/sh 1011 bytes, 40 linhas * prerm #!/bin/sh Package: opera Version: 8.01-20050615.5 Section: non-free/web Priority: optional Architecture: i386 Depends: libc6 (>= 2.1.3), xlib6g (>= 3.3.6) | xlibs, libqt3c102-mt Recommends: libmotif (>= 2) | lesstif2, libaspell15 Conflicts: opera-static Replaces: opera-static Provides: opera-static, www-browser Installed-Size: 9508 Maintainer: Christian Westgaard <christian.westgaard@opera.com> Description: The Opera Web Browser Welcome to the Opera Web browser. It is smaller, faster, customizable, powerful, yet user-friendly. Opera eliminates sluggish performance, HTML standard violations, desktop domination, and instability. This robust Web browser lets you navigate the Web at incredible speed and offers you the best Internet experience. The binaries were built on a RedHat-9.0 (shrike) installation using gcc-3.2.2.

Exibe as informaes do pacote do navegador Opera.


$ dpkg -r opera (Lendo banco de dados ... 91447 arquivos e diretrios atualmente instalados.) Removendo opera ...

Remove o programa do sistema operacional.


$ dpkg --purge opera (Lendo banco de dados ... 91447 arquivos e diretrios atualmente instalados.) Removendo opera ... Apagando arquivos de configurao de opera ...

Remove o programa e todos os seus arquivos de configurao.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

111

GNU/Linux - mdulo 1 - Introduo

$ dpkg -l opera Desejado=U=Desconhecido/Instalar/Remover/aPagar/H=Manter | status=No/Instalado/arquiv.-Config./U=Descomp./Falhou-config/H=semi-inst. |/ Erro?=(nenhum)/H=Mantido/precisa-Reinst./X=os dois problemas (status,Erro: maisculas=ruim) ||/ Nome Verso Descrio +++-===============-==============-============================================ ||/ Nome Verso Descrio +++-=========================-=========================================================================================== ii opera 8.01-20050615.5 The Opera Web Browser

Lista o estado do pacote do navegador Opera.


$ dpkg -l |less Desejado=U=Desconhecido/Instalar/Remover/aPagar/H=Manter | status=No/Instalado/arquiv.-Config./U=Descomp./Falhou-config/H=semi-inst. |/ Erro?=(nenhum)/H=Mantido/precisa-Reinst./X=os dois problemas (status,Erro: maisculas=ruim) ||/ Nome Verso Descrio +++-===============-==============-============================================ ||/ Nome Verso Descrio +++-==============-==============-============================================ ii aalib1 1.4p5-22 ascii art library ii adduser 3.63 Add and remove users and groups ii akode 3.3.2-1 akode arts plugin ii apache2-common 2.0.54-4 next generation, scalable, extendable web se ii apache2-mpm-pr 2.0.54-4 traditional model for Apache2 ii apache2-utils 2.0.54-4 utility programs for webservers ii apt 0.5.28.6 Advanced front-end for dpkg ii apt-utils 0.5.28.6 APT utility programs ii aptitude 0.2.15.9-2 terminal-based apt frontend ii ardour-doc 0.9beta28-1 Ardour documentation ii ardour-gtk 0.9beta28-1 digital audio workstation (graphical gtk int ii ardour-session 0.9beta28-1 Ardour session collaboration tool ii ark 3.3.2-1 KDE archiving tool ii arts 1.3.2-3 Analog Realtime Synthesizer (aRts) metapacka ii artsbuilder 3.3.2-1 Arts synthesizer designer ii at 3.1.8-11 Delayed job execution and batch processing ii avidemux 2.0.40-0.0 a small editing software for avi (especially ii base-config 2.53.10 Debian base system configurator ii base-files 3.1.2 Debian base system miscellaneous files ii base-passwd 3.5.9 Debian base system master password and group ii bash 2.05b-26 The GNU Bourne Again SHell ii bc 1.06-15 The GNU bc arbitrary precision calculator la ii bin86 0.16.14-1.2 16-bit x86 assembler and loader ii bind9-host 9.2.4-1 Version of 'host' bundled with BIND 9.X ii binutils 2.15-6 The GNU assembler, linker and binary utiliti ii bison 1.875d-1 A parser generator that is compatible with Y ii bittorrent 3.4.2-3sarge0. Scatter-gather network file transfer ii blop 0.2.8-1 Bandlimited wavetable-based oscillator plugi :

Caso no seja passado o nome do pacote no uso a opo -l, o dpkg lista a situao de todos os pacotes. Neste caso utilizou-se o direcionador | para que a listagem tenha quebra de pgina.
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 112

GNU/Linux - mdulo 1 - Introduo

$ dpkg --get-selections > lista-pkg.txt

Utilizando o dpkg com esta opo, ele direcionar para o arquivo lista-pkg.txt, a listagem de todos os pacotes instalados em seu sistema operacional, com seus respectivos estados de instalao.

$ dpkg -L nerolinux /. /usr /usr/bin /usr/bin/nero /usr/lib /usr/lib/libCDCopy.so /usr/lib/libNeroAPI.so /usr/lib/libNeroASPI.so /usr/lib/libNeroCDR.so /usr/lib/libNeroErr.so /usr/lib/libNeroSCSI.so /usr/lib/libNewTrf.so /usr/share /usr/share/nero /usr/share/nero/CDROM.CFG /usr/share/nero/DosBootImage.ima /usr/share/nero/Nero.txt /usr/share/nero/desktop /usr/share/nero/desktop/NeroLINUX.template /usr/share/nero/docs /usr/share/nero/docs/EULA /usr/share/nero/docs/Manual.pdf /usr/share/nero/libCDROM.so /usr/share/nero/libFATImporter.so /usr/share/nero/libGenCueSheet.so /usr/share/nero/libGenFAT.so /usr/share/nero/libGenHFS.so /usr/share/nero/libGenHyb.so /usr/share/nero/libGenISO.so /usr/share/nero/libGenUDF.so /usr/share/nero/libGenerator.so /usr/share/nero/libISOFS.so /usr/share/nero/libImage.so /usr/share/nero/libImageGen.so /usr/share/nero/libMmc.so /usr/share/nero/libNRPrimeraComposer.so /usr/share/nero/libNeroRobo.so /usr/share/nero/libUDFImporter.so /usr/share/nero/pixmaps /usr/share/nero/pixmaps/nero.png

Lista os arquivos instalados pelo pacote.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

113

GNU/Linux - mdulo 1 - Introduo

$ dpkg -S nero nerolinux: /usr/share/nero/libGenUDF.so nerolinux: /usr/share/nero/docs/Manual.pdf nerolinux: /usr/share/nero/libGenHFS.so nerolinux: /usr/share/nero/pixmaps/nero.png nerolinux: /usr/share/nero/desktop/NeroLINUX.template nerolinux: /usr/bin/nero nerolinux: /usr/share/nero/libMmc.so nerolinux: /usr/share/nero/libNeroRobo.so nerolinux: /usr/share/nero/DosBootImage.ima kdebase-data: /usr/share/wallpapers/seaofconero.jpg nerolinux: /usr/share/nero/libGenFAT.so nerolinux: /usr/share/nero/libImage.so nerolinux: /usr/share/nero/docs nerolinux: /usr/share/nero/libNRPrimeraComposer.so nerolinux: /usr/share/nero/libGenHyb.so nerolinux: /usr/share/nero/libCDROM.so nerolinux: /usr/share/nero/libImageGen.so nerolinux: /usr/share/nero nerolinux: /usr/share/nero/libGenCueSheet.so nerolinux: /usr/share/nero/libGenerator.so nerolinux: /usr/share/nero/libUDFImporter.so nerolinux: /usr/share/nero/docs/EULA nerolinux: /usr/share/nero/desktop nerolinux: /usr/share/nero/libISOFS.so nerolinux: /usr/share/nero/pixmaps nerolinux: /usr/share/nero/Nero.txt nerolinux: /usr/share/nero/libFATImporter.so nerolinux: /usr/share/nero/libGenISO.so nerolinux: /usr/share/nero/CDROM.CFG

Realiza uma pesquisa parecida com a do exemplo anterior.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

114

GNU/Linux - mdulo 1 - Introduo

$ dpkg -s opera Package: opera Status: install ok installed Priority: optional Section: non-free/web Installed-Size: 9508 Maintainer: Christian Westgaard <christian.westgaard@opera.com> Architecture: i386 Version: 8.01-20050615.5 Replaces: opera-static Provides: opera-static, www-browser Depends: libc6 (>= 2.1.3), xlib6g (>= 3.3.6) | xlibs, libqt3c102-mt Recommends: libmotif (>= 2) | lesstif2, libaspell15 Conflicts: opera-static Conffiles: /etc/opera6rc 731c625736b38d6caf899c3c3b1cb490 /etc/opera6rc.fixed 9025d2d3e4549b0bf2c3ee3a65c3749a Description: The Opera Web Browser Welcome to the Opera Web browser. It is smaller, faster, customizable, powerful, yet user-friendly. Opera eliminates sluggish performance, HTML standard violations, desktop domination, and instability. This robust Web browser lets you navigate the Web at incredible speed and offers you the best Internet experience. The binaries were built on a RedHat-9.0 (shrike) installation using gcc-3.2.2.

Exibe o estado do pacote.

APT

O APT (Advanced Packaging Tool) uma avanada interface para o sistema de gerenciamento de pacotes Debian, consistindo de vrios programas cujos nomes tipicamente comeam com 'apt-'. O apt-get, apt-cache e o apt-cdrom so ferramentas de linha de comando para gerenciar pacotes. Eles tambm funcionam como programas back-end para outras ferramentas, como o dselect e o aptitude. O APT trabalha procurando os pacotes nos repositrios Debian, baixando-os e instalando-os automaticamente ao comando do usurio, resolvendo automaticamente dependncias e conflitos. Alm de instalar, o APT tambm permite remover e pesquisar pacotes. Configurando o APT Para utilizar o APT necessrio, antes de mais nada, configur-lo. A primeira coisa a ser fazer escolher um repositrio de pacotes do Debian, de onde os pacotes sero baixados. Essa informao ser adicionada no arquivo /etc/apt/sources.list. Neste arquivo ficam listadas as fontes de pacotes do Debian, que podem ser:

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

115

GNU/Linux - mdulo 1 - Introduo

CD-ROM's do Debian repositrios FTP repositrios HTTP repositrios locais

Veja um exemplo de contedo do sources.list:


# deb file:///cdrom/ sarge main # deb cdrom:[Debian GNU/Linux 3.1 r0 _Sarge_ - Official i386 Binary-1 (20050605)]/ unstable contrib main # deb http://cdd.debian-br.org/debian-br-cdd/ 1.0 main # Utilizado para os pacotes da distribuio deb http://ftp.unicamp.br/pub/debian/ stable main contrib non-free deb-src http://ftp.unicamp.br/pub/debian/ stable main contrib non-free # Utilizado para o pacote pgadmin3 deb ftp://ftp2.fr.postgresql.org/postgresql/pgadmin3/release/debian sarge pgadmin # Utilizado para o pacote mplayer e w32codecs deb ftp://ftp.nerim.net/debian-marillat/ stable main deb http://security.debian.org/ stable/updates main contrib

Cada uma das linhas corresponde a uma fonte utilizada pelo APT. As linhas comentadas com um # no sero utilizadas. Cada linha formada da seguinte forma:
<pacote> <URI> <distribuio> <sees>

Sendo:

pacote: Os repositrios do Debian contm, alm dos binrios .deb, os fontes de alguns pacotes, que podem ser baixados com o APT. Para configurar o APT para baixar os pacotes .deb, colocamos deb, para baixar os fontes, colocamos deb-src. URI: A localizao principal dos arquivos. O APT pode buscar pacotes de diversos locais, utilizando os seguintes protocolos: file:/ - arquivos gravados localmente, no HD; cdrom:/ - CD-ROM oficial de alguma verso do Debian; http:// - servidor de arquivos HTTP (Internet); ftp:// - servidor de arquivos FTP (Internet); copy:/ - o mesmo que o protocolo file:/, com a diferena de que os arquivos so copiados para o diretrio de cache, ao invs de serem usados diretamente a partir de seu local original; rsh, ssh - pode-se ainda utilizar conexo a um computador remoto utilizando uma conexo segura via SSH ou RSH;

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

116

GNU/Linux - mdulo 1 - Introduo

distribuio: Os pacotes do Debian so separados em categorias, de acordo com seu estgio de estabilidade. Aqui, deve-se especificar qual categoria de pacotes se deseja utilizar. As categorias so:

stable: pacotes exaustivamente testados, considerados estveis, porm as vezes antigos; testing: pacotes em fase de testes, mais recentes que os pacotes da stable; unstable: verses mais recente dos pacotes Debian; verses do Debian: existem ainda, as verses com os pacotes oficiais das verses do Debian. Para acess-las, basta utilizar o codinome das distribuies, como woody, sarge ou sid; outras: existem muitos repositrios no-oficiais do Debian que utilizam outras notaes de distribuies.

sees: Nos repositrios oficiais existem 3 sees de pacotes, a saber:


main: seo principal, contendo somente pacotes de Software Livre; non-free: pacotes que no so Software Livre, porm gratuitos; contrib: pacotes que so Software Livre, mas que precisam de alguns pacotes da seo non-free para funcionarem.

Assim, considere a seguinte linha:


deb http://ftp.unicamp.br/pub/debian/ unstable main contrib non-free

Pode-se ver que ela configura o APT para baixar pacotes .deb. Se quiser configurar o APT para baixar cdigos-fontes, basta trocar deb por deb-src:
deb-src http://ftp.unicamp.br/pub/debian/ unstable main contrib non-free

Neste caso, ele baixa pacotes da distribuio unstable. Se estiver utilizando o Debian num servidor, interessante baixar os pacotes da verso stable. Para isso, basta trocar unstable por stable:
deb http://ftp.unicamp.br/pub/debian/ stable main contrib non-free

O APT vai procurar pacotes em todas as sees, ou seja, main, contrib e non-free. Se voc desejar apenas Software Livre no seu sistema, vamos deixar apenas a seo main configurada, removendo as sees non-free e contrib:
deb http://ftp.unicamp.br/pub/debian/ stable main

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

117

GNU/Linux - mdulo 1 - Introduo

Adicionando um CD-ROM Debian no sources.list Para utilizar pacotes de um CD-ROM Debian, utilizaremos a ferramenta apt-cdrom. Basta colocar o CD contendo os pacotes Debian na unidade, e digitar o seguinte comando:
$ apt-cdrom add

O CD ser analisado e, se forem achados pacotes Debian nele, ser criada automaticamente uma entrada no sources.list, como essa:
deb cdrom:[Debian GNU/Linux testing _Sarge_ - Official Snapshot i386 Binary-1 (20050226)]/ unstable contrib main

Adicionando um repositrio remoto no sources.list Um mtodo muito til de configurar as entradas do sources.list atravs da ferramenta apt-setup. Trata-se de uma interface que permite ao usurio adicionar novas entradas para o sources.list de modo rpido e fcil. O apt-setup oferece uma lista de repositrio oficiais Debian, organizados por pas. Pode-se utilizar o apt-setup para adicionar CD-ROM's Debian e repositrios locais (protocolos file:/ e copy:/) ao sources.list. Sua sintaxe simple:
$ apt-setup

Atualizando a Lista de Pacotes Uma vez configurado o sources.list, o APT j pode ser utilizado para baixar e instalar os pacotes. A primeira coisa a se fazer atualizar o APT, baixando a lista de pacotes disponveis. Para isso, usare-se o seguinte comando:
$ apt-get update Atingido http://security.debian.org stable/updates/main Packages Atingido http://security.debian.org stable/updates/main Release Atingido http://security.debian.org stable/updates/contrib Packages Atingido http://security.debian.org stable/updates/contrib Release Atingido ftp://ftp.nerim.net stable/main Packages Atingido ftp://ftp.nerim.net stable/main Release Atingido ftp://ftp2.fr.postgresql.org sarge/pgadmin Packages Atingido ftp://ftp2.fr.postgresql.org sarge/pgadmin Release Atingido ftp://ftp.br.debian.org stable/main Packages Atingido ftp://ftp.br.debian.org stable/main Release Atingido ftp://ftp.br.debian.org stable/main Sources Atingido ftp://ftp.br.debian.org stable/main Release Lendo Lista de Pacotes... Pronto

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

118

GNU/Linux - mdulo 1 - Introduo

Instalando pacotes com o APT Agora, pode-se instalar os pacotes facilmente, utilizando o apt-get, da seguinte forma:
$ apt-get install <pacotes>

Para instalar, por exemplo, o vncserver, utilizamos:


$ apt-get install vncserver Lendo Lista de Pacotes... Pronto Construindo rvore de Dependncias... Pronto Os pacotes extra a seguir sero instalados: vnc-common Pacotes sugeridos : xvncviewer vnc-java Os NOVOS pacotes a seguir sero instalados: vnc-common vncserver 0 pacotes atualizados, 2 pacotes novos instalados, 0 a serem removidos e 0 no atualizados. preciso fazer o download de 553kB de arquivos. Depois de desempacotamento, 1303kB adicionais de espao em disco sero usados. Quer continuar? [S/n]

Nesse procedimento, o APT procura na lista de pacotes (gerada atravs do comando apt-get update) pelo pacote vncserver. Uma vez encontrado, ele verifica se a verso disponvel para instalao mais nova que a verso instalada. Se for, ele verifica se existem dependncias, ou seja, se existe algum pacote necessrio para o vncserver funcionar. Se existir, ele insere esses pacotes na lista de instalao. Depois disso, ele exibe a lista dos pacotes que sero instalados. O APT ainda mostra uma lista de pacotes sugeridos. Os pacotes sugeridos so aqueles que fornecem alguma funcionalidade extra ao pacote selecionado para instalao. Por fim, o APT exibe a lista dos pacotes que sero instalados, e mostra o resumo da instalao, especificando quantos pacotes sero instalados, atualizados, removidos e no atualizados, e qual o tamanho do download que precisa ser feito. Se algum pacote alm dos que voc especificou precisar ser instalado, o APT pedir a confirmao antes de iniciar a instalao. Para confirmar, digite s ou pressione Enter. Os pacotes so baixados e instalados, automaticamente.
Obtendo:1 ftp://ftp.br.debian.org stable/main vnc-common 3.3.7-7 [60,4kB] Obtendo:2 ftp://ftp.br.debian.org stable/main vncserver 3.3.7-7 [492kB] Baixados 553kB em 3s (144kB/s) Selecionando pacote previamente no selecionado vnc-common. (Lendo banco de dados ... 91447 arquivos e diretrios atualmente instalados.) Descompactando vnc-common (de .../vnc-common_3.3.7-7_i386.deb) ... Selecionando pacote previamente no selecionado vncserver. Descompactando vncserver (de .../vncserver_3.3.7-7_i386.deb) ... Instalando vnc-common (3.3.7-7) ... Instalando vncserver (3.3.7-7) ...

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

119

GNU/Linux - mdulo 1 - Introduo

Removendo pacotes com o APT Pode-se remover pacotes facilmente, utilizando o apt-get, da seguinte forma:
$ apt-get remove <pacotes>

Para remover, por exemplo, o vncserver, utilizamos:


$ apt-get remove vncserver Lendo Lista de Pacotes... Pronto Construindo rvore de Dependncias... Pronto Os pacotes a seguir sero REMOVIDOS: vncserver 0 pacotes atualizados, 0 pacotes novos instalados, 1 a serem removidos e 0 no atualizados. preciso fazer o download de 0B de arquivos. Depois de desempacotar, 1163kB de espao em disco sero liberados. Quer continuar? [S/n]

O procedimento aqui parecido. Primeiro, o APT procura na lista de pacotes para ver se existe um pacote instalado com o nome informado. Se existir, ele procura na lista de dependncias, para ver se existe algum outro pacote que precisa do pacote informado para funcionar. Depois disso, o APT informa o nmero de pacotes que sero removidos. Depois, exibe a quantidade de espao em disco que ser liberado. O APT solicita a confirmao para realizar a desinstalao. Para confirmar, digita-se <s> ou pressiona-se Enter.
(Lendo banco de dados ... 91475 arquivos e diretrios atualmente instalados.) Removendo vncserver ...

A remoo feita automaticamente. Nesse processo no so removidos os arquivos de configurao utilizados pelos programas. Dessa forma, se voc quiser reinstalar o programa futuramente, ele estar configurado, da mesma forma como estava antes de voc remov-lo. Se voc quiser remover completamente o pacote, incluindo os arquivos de configurao, utilize o parmetro -purge.

$ apt-get remove -purge vncserver

Procurando Pacotes O Debian possui em seu repositrio milhares de pacotes. Seria muito complicado se voc precisasse saber antecipadamente o nome do pacote que deseja instalar ou remover. Por isso mesmo, o APT conta com uma ferramenta para localizar pacotes e exibir informaes sobre eles: o apt-cache. Para listar os pacotes que correspondem a determinadas palavras-chave, utilizamos o parmetro search, da seguinte forma:

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

120

GNU/Linux - mdulo 1 - Introduo

$ apt-cache search <palavras-chave>

Por exemplo, vamos procurar os pacotes de impresso do GIMP, utilizando as palavraschave gimp e print:

$ apt-cache search gimp print cinepaint - motion picture image painting and retouching tool cupsys-driver-gimpprint - Gimp-Print printer drivers for CUPS cupsys-driver-gimpprint-data - Gimp-Print printer drivers for CUPS escputil - A maintenance utility for Epson Stylus printers foomatic-db - linuxprinting.org printer support - database foomatic-db-engine - linuxprinting.org printer support - programs foomatic-db-gimp-print - linuxprinting.org printer support - database for GimpPrint printer drivers gimpprint-doc - Users' Guide for Gimp-Print and CUPS gimpprint-locales - Locale data files for Gimp-Print gpaint - GNU Paint - a small, easy to use paint program for GNOME ijsgimpprint - Inkjet Server - Ghostscript driver for Gimp-Print libgimpprint1 - The Gimp-Print printer driver library libgimpprint1-dev - Development files for the Gimp-Print library libgimpprint1-doc - Documentation for the Gimp-Print printer driver library libijs-0.35 - IJS raster image transport protocol: shared library libijs-dev - IJS raster image transport protocol: development files xsane - GTK+-based X11 frontend for SANE (Scanner Access Now Easy) xsane-common - GTK+-based X11 frontend for SANE (Scanner Access Now Easy)

Para exibir informaes mais detalhadas sobre um programa, podemos utilizar os parmetros show e showpkg. Vejamos, por exemplo, as informaes detalhadas do pacote gimp:

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

121

GNU/Linux - mdulo 1 - Introduo

$ apt-cache show gimp Package: gimp Priority: optional Section: graphics Installed-Size: 8156 Maintainer: Ari Pollak <ari@debian.org> Architecture: i386 Version: 2.2.6-1 Replaces: gimp1.2 (<< 1.2.5-1), gimp1.3, gimp-nonfree, gimp-data (<< 2.0.2-4) Provides: gimp2.0, gimp-nonfree Depends: wget, gimp-data (= 2.2.6-1), aalib1 (>= 1.2), libart-2.0-2 (>= 2.3.16), libatk1.0-0 (>= 1.7.2), libc6 (>= 2.3.2.ds1-4), libexif10, libexpat1 (>= 1.95.8), libfontconfig1 (>= 2.3.0), libfreetype6 (>= 2.1.7), libgimp2.0 (>= 2.2.0+rel), libgimpprint1 (>= 4.2.7), libglib2.0-0 (>= 2.6.0), libgtk2.0-0 (>= 2.6.0), libice6 | xlibs (>> 4.1.0), libjpeg62, liblcms1 (>= 1.08-1), libmng1 (>= 1.0.3-1), libpango1.0-0 (>= 1.8.1), libpng12-0 (>= 1.2.8rel), libsm6 | xlibs (>> 4.1.0), libtiff4, libwmf0.2-7 (>= 0.2.8.3), libx11-6 | xlibs (>> 4.1.0), libxmu6 | xlibs (>> 4.1.0), libxpm4 | xlibs (>> 4.1.0), libxt6 | xlibs (>> 4.1.0), zlib1g (>= 1:1.2.1) Recommends: gimp-svg Suggests: gimp-help-en | gimp-help, gimp-python, libgimp-perl, gimp-data-extras, libasound2 (>= 1.0.0) Conflicts: gimp1.2 (<< 1.2.5-1), gimp1.3, gimp-nonfree, gimp-data (<< 2.0.2-4) Filename: pool/main/g/gimp/gimp_2.2.6-1_i386.deb Size: 3087226 MD5sum: 18d0bfa32ea03ac1de835bf3a2122a99 Description: The GNU Image Manipulation Program The GIMP lets you draw, paint, edit images, and much more! GIMP includes the functionality and plug-ins of other famous image editing and processing programs. If you'd like to use a MIDI device as an input controller in GIMP, install libasound2 and read the how-to at /usr/share/doc/gimp/README.MIDI Task: desktop

A diferena entre show e showpkg que show mostra detalhes relativos ao pacote, como descrio, mantenedor, etc., enquanto showpkg exibe informaes referentes s dependncias simples e reversas do pacote.

Atualizando o Sistema O APT possui um recurso que permite atualizar todos os pacotes instalados no sistema. Isso pode ser feito utilizando as opes upgrade e dist-upgrade do apt-get:
$ apt-get upgrade $ apt-get dist-upgrade

A diferena entre o upgrade e o dist-upgrade est no mecanismo de resoluo de dependncias, que mais aprimorado quando se usa o dist-upgrade, e que o recomendado. Pode-se usar o dpkg para marcar os pacotes que no devem ser
Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp 122

GNU/Linux - mdulo 1 - Introduo

atualizados em hiptese alguma. Esse recurso til para evitar a atualizao de componentes importantes do sistema, cujas atualizaes podem ser instveis, ou no caso de programas que tenham sido instalados manualmente.

Limpando o Cache de Pacotes Os pacotes baixados da Internet pelo APT ficam armazenados no diretrio /var/cache/apt/archives, para serem usados no caso de reinstalao. Esses pacotes ocupam espao em disco, que muitas vezes pode no ser um recurso disponvel. Por isso, o apt-get conta com duas opes para limpeza de cache: clean e autoclean. O clean apaga todos os pacotes do diretrio /var/cache/apt/archives. Seu uso simples:
$ apt-get clean

J o autoclean apaga apenas os pacotes que possuem verses mais novas disponveis para download. recomendvel utilizar o autoclean sempre aps fazer a atualizao da lista de pacotes do APT (apt-get update).

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

123

GNU/Linux - mdulo 1 - Introduo

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

124

GNU/Linux - mdulo 1 - Introduo

Captulo 8

Aplicativos para GNU/Linux


Neste captulo o usurio conhecer alguns aplicativos que podem ser teis para o uso dirio no GNU/Linux.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

125

GNU/Linux - mdulo 1 - Introduo

Este captulo foi colocado neste curso para as pessoas que nunca utilizaram o GNU/Linux, e que querem conhecer softwares equivalentes em seu uso dirio no Microsoft Windows. Alguns usurio tm uma surpresa enorme com a evoluo dos aplicativos desenvolvidos para GNU/Linux.

8.1- Sutes de Escritrios

OpenOffice.org : Desenvolvido a partir do cdigo-fonte do StarOffice, cedido pela Sun Microsystems comunidade, o OpenOffice.org hoje se no a melhor, a mais difundida sute de escritrios livre do mercado, muito poderosa, com todos os recursos esperados de uma sute de escritrios completa. Fazem parte da sute os softwares Writer (editor de textos), Calc (planilha eletrnica), Draw (desenho vetorial), Impress (apresentao de slides) e Math (frmulas matemticas). Para a verso 2.0, ainda em fase de testes, foi incorporado um software de banco de dados, o Base. Koffice : O KOffice a sute de escritrios do KDE, bastante completa e bem mais leve que o OpenOffice.org, ideal para uso em mquinas mais modestas e por aqueles usurios que utilizam to somente os recursos bsicos de uma sute de escritrios.

8.2- Internet

Navegadores (Browsers) Mozilla Firefox : Desenvolvido pela Fundao Mozilla, o Mozilla Firefox um browser leve, poderoso, fcil de usar e com vrios recursos. Possui verses para GNU/Linux, Windows e MacOS. Entre os seus recursos esto a navegao por abas, pesquisa inteligente, controles avanados de privacidade e segurana, acelerador de downloads, suporte a temas para personalizar a aparncia e a extenses que fornecem todo tipo de funcionalidades extras para o navegador. Konqueror : O Konqueror o navegador padro do KDE. Tambm funciona como gerenciador de arquivos, o que lhe confere uma grande praticidade. Seus recursos incluem suporte a abas e aos plugins para Mozilla/Netscape.
126

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

Epiphany : Navegador padro do ambiente GNOME, desenvolvido sobre a engine Gecko, a mesma usada pelo Mozilla. As verses novas permitem adicionar recursos ao navegador em forma de extenses. Infelizmente ele no compatvel com as extenses do Firefox. Lynx : Navegador para modo texto, incrivelmente leve, ideal para testes de acesso a sites e acesso a servios configurveis via Web. Extremamente simples, o lynx no suporta cores e outros recursos como renderizao de tabelas e frames. Links : O links um navegador em modo texto como o lynx, porm com alguns recursos adicionais, como renderizao de tabelas, suporte a frames, download em background e suporte a cores. Existe ainda uma verso modificada do links, chamada links2, que fornece a esse navegador o suporte a imagens e mouse atravs de framebuffer.

Clientes de E-Mail Mozilla Thunderbird : O Mozilla Thunderbird um cliente de email seguro e verstil, extremamente poderoso. Entre os seus recursos, um grande destaque o seu filtro anti-SPAM inteligente, que analisa as mensagens classificadas como SPAM, de modo que, com o passar do tempo, o filtro se a auto-aperfeioa, ficando cada vez mais eficiente. Outros recursos importantes so os de segurana, como S/MIME, assinatura digital, criptografia de mensagens, suporte para certificados e dispositivos de segurana. Alm de todos os recursos bsicos de todos os clientes de email, o Mozilla Thunderbird suporta feeds RSS, filtros avanados de mensagens e extenses, que lhe incorporam todo tipo de funcionalidades extras. Evolution : Desenvolvido pela Ximian, empresa de Miguel de Icaza recentemente adquirida pela Novell, o Evolution um cliente de email to ou mais poderoso que o Mozilla Thunderbird, rpido, seguro, fcil de usar, altamente configurvel e totalmente integrado ao sistema (se o ambiente grfico em uso for o GNOME). Suas novas verses possuem suporte a servidores Microsoft Exchange e Novell Groupwise. Mutt : O Mutt um cliente de email em modo texto pra *NIX. Extremamente leve pelo fato de no utilizar interface grfica, mas nem por isso limitado. O Mutt extremamente poderoso. Sua interface, ao contrrio do que se possa esperar de um programa em modo texto, bastante intuitiva, e entre seus recursos esto a visualizao de emails por threads, recurso muito til para quem faz parte de vrios listas de discusso (comum entre usurios de GNU/Linux).

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

127

GNU/Linux - mdulo 1 - Introduo

Mensagens Instantneas GAIM : O GAIM muito popular entre os usurios de GNU/Linux, pela sua praticidade, velocidade e estabilidade. Utilizando a biblioteca grfica GTK, o Gaim oferece suporte a 7 protocolos diferentes: AIM/ICQ, Gadu-Gadu, GroupWise, IRC, Jabber, MSN, Napster e Yahoo, alm de suportar conexes mltiplas, o que permite, entre outras coisas, que todas as pessoas que utilizam o computador possam estar conectadas ao mesmo tempo. Outro ponto muito interessante o excelente controle de privacidade, onde pode-se determinar facilmente quais as pessoas que podem conversar com voc, alm do excelente nmero de recursos de personalizao da exibio de informaes, temas para personalizar sua aparncia e plugins que lhe adicionam recursos. GAIM-vv : O GAIM-vv uma verso do Gaim com suporte a udio e vdeo, no suportados pelo Gaim original. Kopete : Outro programa de mensagens instantneas muito popular, o Kopete, assim como o Gaim, possui suporte a diversos protocolos e conexes mltiplas. A diferena maior est na interface, na localizao das opes e nos recursos. aMSN : Esse poderoso aplicativo um clone do MSN Messenger da Microsoft, muito similar tanto na aparncia quanto nos recursos. Suporta apenas o protocolo MSN, e possui suporte a temas para personalizar a aparncia e plugins para adicionar recursos. Xchat : Excelente cliente de IRC, com diversas ferramentas para a utilizao desse protocolo de comunicao to difundido, tais como lista de servidores, busca de canais, notificao de amigos, gerenciador de transferncia de arquivos, mltiplas conexes, alm de uma interface muito bela, com suporte a transparncias e plugins/scripts. Irssi : Cliente de IRC para modo texto, extremamente leve e verstil. Um dos seus recursos mais teis o suporte ao bash completion, que completa o caminho de diretrios e arquivos automaticamente atravs do uso da tecla TAB, muito til na hora de enviar arquivos.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

128

GNU/Linux - mdulo 1 - Introduo

8.3- Multimdia

Reprodutores (Players) XMMS : O X Multimedia System um clone do popular Winamp para Windows, sendo muito compatvel com esse, suportando suas skins e alguns de seus plugins. A princpio, o XMMS reproduz apenas udio, mas existem plugins que permitem que ele reproduza vdeo. Xine : O Xine um reprodutor multimdia poderoso, altamente personalizvel, utilizado principalmente para reproduo de vdeos. Seus recursos incluem seleo de drivers de udio e vdeo, configurao de subttulos, efeitos de vdeo, suporte a TV, entre tantos outros. Kaffeine : O Kaffeine um frontend para outros reprodutores multimdia (o padro o Xine), feito para o KDE. Entre seus recursos adicionais esto a integrao a browsers, permitindo reproduzir streamings criados para o Windows Media Player. Amarok : Reprodutor para o KDE, extremamente poderoso, utiliza um banco de dados MySQL ou SQLite para armazenar seus dados. Sua playlist inteligente analisa as preferncias musicais do usurio, e reproduz seqencialmente as msicas no seu estilo preferido. Outro recurso interessante a busca por capas, que procura na Internet pela capa do lbum a que cada msica pertence, para que seja exibido durante a reproduo. Sua aparncia totalmente personalizvel atravs de skins, e possui suporte a plugins que lhe incorporam recursos adicionais.

Conversores RipperX : O RipperX um excelente programa para converter udio de CD para formato digital, com suporte a CDDB, que procura na Internet informaes sob o lbum a ser convertido, como artista e nomes das faixas. O RipperX utiliza o cdparanoia para extrair as msicas dos CD's, e depois convert-as para o formato escolhido (MP3, Ogg Vorbis, WMA, WAV) atravs do codec apropriado. Grip : Como o RipperX, o Grip utiliza o cdparanoia para extrair as msicas do CD, possui suporte a CDDB e suporta diversos formatos de udio. As diferenas maiores ficam por conta da interface. Avidemux : Esse , sem dvida, um dos mais poderosos conversores multimdia que se conhece. Leve e verstil, o avidemux pode converter
129

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

entre formatos de udio e vdeo. Possui suporte a extrao de udio e vdeo de DVD's, pode extrair udio de arquivos de vdeo, possui diversos filtros, inclusive suporte a legendas, ajuste de volume, controle de cor, desentrelace e recursos bsicos de edio.

Editores Ardour : O Ardour um software de edio de udio profissional, extremamente poderoso, com suporte a mltiplas pistas e diversos filtros de efeitos. Protux : Criado por brasileiros e hoje mantido por desenvolvedores de todo o mundo, o Protux um software de edio de udio profissional, desenvolvido por profissionais como engenheiros de som, que incluem no Protux os recursos que precisam, o que o tornou uma alternativa muito superior maioria das solues proprietrias da categoria, como o SoundForge, da Sony. Rosegarden : Editor de MIDI profissioal, multipista, muito verstil e poderoso, possui os recursos esperados de um sequencer e editor de msicas. Cinelerra : O Cinelerra um editor de vdeo profissional, que mistura recursos encontrados em softwares comerciais como o Premiere e o AfterEffects, da Adobe. Possui suporte a mltiplas pistas de udio e vdeo, transies e efeitos, pr-visualizao, mscara, camadas e filtros de udio. Desenvolvido para uso profissional, o Cinelerra trabalha apenas com vdeos em alta resoluo nos sistemas NTSC, PAL ou HDTV e nos formatos DV ou sem compresso, o que exige um grande espao em disco e uma grande quantidade de memria RAM disponvel. O Cinelerra pode se comunicar com dispositivos como placas de captura de vdeo e recepo de TV, alm de cmeras digitais e outros dispositivos FireWire (IEEE 1394). Um ponto de destaque o suporte a clustering, que permite utilizar vrios computadores para processar simultaneamente as tarefas de renderizao de vdeo, acelerando muito esse processo sem a necessidade de investir muito em hardware poderoso. Kino : O Kino um software profissional de editorao de DVD's, permitindo a gerao de estruturas complexas, com menus avanados, mltiplas faixas de udio, legendas, etc. O Kino trabalha com o formato DV, nos sistemas NTSC e PAL, e tem suporte a dispositivos de captura de vdeo.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

130

GNU/Linux - mdulo 1 - Introduo

8.4- Grficos

The GIMP : O GNU Image Manipulator Program um dos softwares livres de maior destaque, graas ao seu grande poder, que o tornam uma alternativa real ao onipotente Photoshop, da Adobe. Dentre os seus recursos, merecem destaque os seus filtros extremamente poderosos, alm do Script-fu, que permite criar rapidamente botes, animaes e todo tipo de efeito para uso em layouts de pginas para a Web. Sodipodi : Excelente software de desenho vetorial, cuja interface parecida com a do GIMP, dividida em vrias janelas. O Sodipodi conta com as principais ferramentas para desenho, como bzier e formas prontas, sendo uma boa alternativa para o CorelDRAW, para trabalhos que no sejam extremamente complexos. Inkscape : Outro software de desenho vetorial que utiliza o mesmo engine do sodipodi. A diferena principal est na interface, que no caso do Inkscape unificada, com todas as janelas de ferramentas dispostas em uma nica janela. OpenOffice.org Draw : Incluso na sute OpenOffice.org, o Draw o software de desenho mais poderoso dentre os softwares livres disponveis para GNU/Linux, contendo todos os recursos bsicos de desenho, alm de outras ferramentas para a criao de formas de texto avanadas.

8.5- Desktop Publishing (DTP)

Scribus : Uma das reas ainda pouco explorada no GNU/Linux o DTP (Desktop Publishing), onde encontramos o Scribus, um software poderoso que pode tranqilamente substituir o j conhecido (e extinto) Adobe PageMaker.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

131

GNU/Linux - mdulo 1 - Introduo

8.6- Visualizadores de Imagem

Eog : Eye of Gnome, o visualizador de imagens do GNOME. Possui funes bsicas de visualizao. Gthumb : Visualizador de imagens poderoso, parecido com o ACDSee. Possui visualizao de thumbnails, slideshow, rotao de imagens, etc. Tudo que se precisa de um visualizador de imagens. XV : Esse um visualizador de imagens independente de plataforma, bastante leve. Display : Esse programa faz parte do ImageMagick, leve e de uso simples.

8.7- Emuladores

DosEmu : Emulador que permite rodar aplicaes para DOS sob o GNU/Linux. Wine : O Wine permite rodar aplicativos para Windows no GNU/Linux, funcionando para uma grande quantidade de softwares comerciais como Office, Photoshop, Dreamweaver, Flash e para uma quantidade ainda maior de jogos, entre eles o popular Counter Strike, que roda perfeitamente no GNU/Linux atravs do Wine. Cedega : O Cedega um projeto derivado do Wine especialmente para jogos. Pode-se usar uma verso GPL do Cedega, ou ento assinar o servio da Transgaming, que d assistncia necessria para rodar praticamente qualquer jogo no GNU/Linux atravs desse emulador.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

132

GNU/Linux - mdulo 1 - Introduo

8.8- Editores de Texto

Gedit : Editor de texto do GNOME, que vem sendo desenvolvido com a tecnologia GTK+. Apresenta uma interface grfica amigvel, suporte a abas como o Mozilla Firefox, simples de usar, alm de suporte a realce de cdigo de vrias linguagens de programao. Kate : Editor de texto que acompanha o KDE, utiliza a biblioteca grfica QT. Seus recursos so mais focados para programao em si, no sendo muito diferentes dos do Gedit. Vi/Vim : O VI um dos editores de texto mais antigos. Independente de plataforma, ele encontrado em quase todos os sistemas *NIX. um editor de texto para console, ento no h a necessidade de se usar um ambiente grfico. Ele um pouco confuso para quem utiliza o programa pela primeira vez, visto que todos as operaes so iniciadas a partir de uma seqncia de teclas. usado tanto para editar um simples texto como para programar. Torna-se muito prtico uma vez que sistemas GNU/Linux armazenam as suas configuraes em arquivos de texto que podem, facilmente, ser editados pelo VI. O VIM (abreviatura de vi improved) uma variao do vi com alguns recursos extras. O uso do vim igual ao do vi, exceto pelas funes adicionais no encontradas neste. Para aqueles que no abrem mo de uma interface grfica, h um frontend para o vi/vim, chamado Gvim. Construdo em GTK, oferece um conforto a mais para os usurios inexperientes. Pico : Outro editor de texto para console, mais simples de utilizar. Seus comandos so feitos pela tecla CTRL+<letra>, sendo que h um menu na parte inferior da tela, com algumas teclas de atalho mais usadas.

8.9- Desenvolvimento

Quanta Plus : O Quanta Plus o aplicativo de desenvolvimento Web do KDE, com todos os recursos principais necessrios para o webmaster desenvolver desde sites simples em HTML at complexos sistemas Web em PHP. Bluefish : To ou mais poderoso que o Quanta, o Bluefish utiliza a biblioteca grfica GTK, possui suporte a diversas linguagens, alm de ferramentas para configurao de CSS e acesso a banco de dados MySQL.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

133

GNU/Linux - mdulo 1 - Introduo

Eclipse : IDE para desenvolvimento em Java, que oferece com amplos e inovadores recursos de produtividade como refactoring, gerao de cdigo e muitos outros auxlios. Sua interface grfica prpria, o que lhe confere uma interface com o usurio muito rica de componentes grficos sem abrir mo do desempenho, e possui suporte a plugins que lhe conferem todo tipo de funcionalidades extras. Anjuta : Anjuta uma IDE para desenvolvimento em C/C++, com muitos recursos e suporte a integrao com softwares para RAD, como o Glade. Glade : Ferramenta para RAD (Rapid Application Development), que permite desenvolver facilmente aplicativos grficos para a biblioteca GTK. Utiliza vrias linguagens, entre elas Python. Seus cdigos so gravados em arquivos XML, o que permite a fcil integrao com outros aplicativos de desenvolvimento, como o anjuta. Outro recurso interessante a gerao do cdigo em linguagem C que realiza a chamada dos componentes grficos GTK. jEdit : O jEdit uma IDE de desenvolvimento para mais de 130 linguagens, suportando destaque de sintaxe para todas elas. Desenvolvido em Java, ele roda em MacOS, OS/2, UNIX, VMS e Windows. Seu forte o suporte a macros e plugins, desenvolvidos pelos seus usurios e disponibilizados no site oficial do jEdit, que agilizam o desenvolvimento dos aplicativos.

8.10- Terminais Grficos

Gnome-Terminal : Terminal do GNOME, muito customizvel, transparncias e efeitos diversos, entretanto um pouco pesado.

com

Konsole : Terminal do KDE. Possui os mesmos recursos do Gnome-Terminal. Xterm : O terminal mais simples e minimalista, o terminal que acompanha o Xfree86 e X.org. No possui muitos recursos, sendo o seu grande atrativo a velocidade de abertura, ideal para mquinas modestas e para usurios que costumam abrir um grande nmero de janelas de terminal simultaneamente. Aterm : O terminal usado pelo AfterStep, muito popular entre os usurios por permitir a completa personalizao, com transparncias, cores de fundo, etc. Eterm : Terminal do Enlightment, possui alguns recursos semelhantes ao Aterm. RXVT : Outro terminal minimalista. Como o Xterm, ele presente na maior parte das distribuies.
134

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

GNU/Linux - mdulo 1 - Introduo

8.11- Onde procurar softwares para GNU/Linux

SourceForge : Pense em um local onde milhares de desenvolvedores de Software Livre tm liberdade para desenvolver seus projetos sem se preocupar com hospedagem, criando uma comunidade de desenvolvimento. Pois bem, esse projeto existe e se chama Souceforge http://sourceforge.net. Mas o que o SourceForge? Pois bem, o SourceForge uma pgina que incentiva a criao de comunidades de desenvolvimento de Software Livre. Essas comunidades recebem, gratuitamente, servios de hospedagem, frum, bugzilla, enfim, tudo que um projeto de software precisa para crescer. Para se ter uma idia, existem cerca de 100.000 projetos somente nesse site. Alguns deles so bem conhecidos, outros nem tanto. Qualquer projeto cuja home page seja http://NOME.sourceforge.net um dos membros dessa comunidade. No h apenas software para GNU/Linux no SourceForge. Esto presentes tambm softwares para MacOS, Windows, *NIX, etc. claro, s podem fazer parte dessa comunidade projetos de Software Livre, publicados sob a licena GPL ou alguma outra aceita pelo projeto. Esse um dos lugares onde se pode achar software livre de boa qualidade, ou criar um projeto prprio e usufruir das regalias oferecidas pelo SourceForge.

FreshMeat : Outro lugar parecido com esse o FreshMeat http://freshmeat.net, que tambm conta com uma grande quantidade de softwares. Se voc for ver a lista de projetos mais populares, ver grandes projetos, como o Mplayer, o MySQL, etc. Um diferencial do FreshMeat a seo de temas http://themes.freshmeat.net, com temas para gerenciadores de janelas.

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

135

GNU/Linux - mdulo 1 - Introduo

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

136

GNU/Linux - mdulo 1 - Introduo

Captulo 9

Bibliografia

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

137

GNU/Linux - mdulo 1 - Introduo

Apostila do Curso de Linux do Artur de Paula Coutinho http://geocities.yahoo.com.br/arturpc Guia Bozo Linux - Davidson Rodrigues Paulo http://guiabozolinux.sourceforge.net/ Guia Foca Linux - Gleydson Maziolli da Silva http://focalinux.cipsga.org.br/ Site do Bruno Torres http://www.brunotorres.net/ Google - :-) http://www.google.com.br Documentao da Debian-BR-CDD http://cdd.debian-br.org/project/ Dicas-L http://www.dicas-l.unicamp.br

Outros Link: CIPSGA http://www.cipsga.org.br BR-Linux http://www.br-linux.org Viva o Linux http://www.vivaolinux.com.br Free Software Foundation - http://www.fsf.org/ Projeto GNU http://www.gnu.org Linux Security http://www.linuxsecurity.com.br/ Guia do hardware http://www.guiadohardware.net CodigoLivre.org - http://codigolivre.org.br/ Debian-BR - http://www.debianbrasil.org/ SuSe - http://www.novell.com/linux/suse/ RedHat - http://www.redhat.com/ Projeto Fedora - http://www.redhat.com/fedora/ Conectiva (Mandriva) - http://www.conectiva.com.br/cpub/pt/principal/index.php Ubuntu Linux - http://www.ubuntulinux.org/ Mandrake (Mandriva) - http://www.mandrivalinux.com Slackware http://www.slackware.com Projeto Debian - http://www.debian.org/ Gentoo Linux http://www.gentoo.org Knoppix - http://www.knoppix.org/ Kurumin Linux - http://www.guiadohardware.net/linux/kurumin/ Muriqui Linux - http://www.muriquilinux.com.br/

Diretoria de Transferncia Tecnolgica Centro de Computao Unicamp

138

S-ar putea să vă placă și