Sunteți pe pagina 1din 52

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.

br

ndice
HISTRICO DO LINUX......................................................................................................................... 4 SISTEMA OPERACIONAL LINUX........................................................................................................ 4 KERNEL / DISTRIBUIO.................................................................................................................... 4
MDULOS DE KERNEL................................................................................................................................. 5 DEBIAN..................................................................................................................................................... 5 CONECTIVA................................................................................................................................................ 5 SLACKWARE............................................................................................................................................... 6 SUSE...................................................................................................................................................... 6 RED HAT.................................................................................................................................................. 6 QUAL LINUX EU INSTALO?............................................................................................................................ 6 KDE.................................................................................................................................................... 7 WINDOW MAKER........................................................................................................................................ 8 GNOME..................................................................................................................................................... 9 ENLIGHTENMENT....................................................................................................................................... 10 ICEWM.................................................................................................................................................. 10 BLACKBOX............................................................................................................................................... 10

INSTALAO:..................................................................................................................................... 0 1
QUANTO ESPAO EM DISCO O LINUX PRECISA?............................................................................................... 0 1 FAA O LINUX DETECTAR AUTOMATICAMENTE O HARDWARE................................................................................ 1 1 INICIE A INSTALAO OU INICIALIZE O COMPUTADOR A PARTIR DE UM CD..............................................................11 UTILIZE UMA GUI (GRAPHICAL USER INTERFACE) PARA INSTALAR O LINUX............................................................11 DEFINA SUAS PARTIES DE DISCO EM QUALQUER MODO DE INSTALAO.............................................................. 1 1 QUANTAS E QUAIS DEVEM SER MINHAS PARTIES?......................................................................................... 1 1

LINUX STANDARD BASE.................................................................................................................. 2 1


DEFINIES............................................................................................................................................. 13 AS VANTAGENS......................................................................................................................................... 13 RESULTADO............................................................................................................................................. 14

VISO GERAL DA RVORE DE DIRETRIOS (ESTRUTURA).......................................................14 INICIANDO O LINUX........................................................................................................................... 5 1 CONSOLES VIRTUAIS....................................................................................................................... 6 1 SHELLS............................................................................................................................................... 6 1
PROGRAMANDO EM SHELL SCRIPT............................................................................................................... 16 CONCEITO DE VARIVEIS EM SHELL SCRIPT..................................................................................................... 7 1 OUTRAS ALTERNATIVAS.............................................................................................................................. 19

LOCALIZAO DE USURIOS E GRUPOS.....................................................................................20 ARQUIVOS E DIRETRIOS............................................................................................................... 0 2


COMPREENDENDO OS TIPOS DE ARQUIVO....................................................................................................... 0 2

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
PERMISSES DE ARQUIVOS......................................................................................................................... 20 Mudando permisses de arquivos e diretrios............................................................................... 1 2

COMANDOS BSICOS DO LINUX:...................................................................................................22 COMANDOS GERAIS DO LINUX:...................................................................................................... 7 2


ADMINISTRAO DE USURIOS..................................................................................................................... 27 ADMINISTRAO DO SISTEMA...................................................................................................................... 28 MDULOS............................................................................................................................................... 28 CONSOLE................................................................................................................................................ 28 PROCESSOS............................................................................................................................................ 28 DATA/HORA/CALENDRIO........................................................................................................................... 28 PORTA SERIAIS........................................................................................................................................ 28 ARQUIVOS/DIRETRIOS.............................................................................................................................. 29 SISTEMA DE ARQUIVOS ATRIBUTOS........................................................................................................... 29 SISTEMA DE ARQUIVO ARMAZENAMENTO.................................................................................................... 9 2 MISCELNEA............................................................................................................................................ 29

BACKUP UTILIZANDO O COMANDO TAR...................................................................................29 O EDITOR DE TEXTO VI..................................................................................................................... 0 3


MODO DE COMANDO.................................................................................................................................. 30 MODO DE EDIO..................................................................................................................................... 31 MODO DE LINHA........................................................................................................................................ 31

USANDO PIPES.................................................................................................................................. 1 3 FECHANDO PROGRAMAS TRAVADOS...........................................................................................32 FILESYSTEMS.................................................................................................................................... 2 3


IDENTIFICAO DE DISCOS E PARTIES EM SISTEMAS LINUX.............................................................................. 2 3 CONTROLE DE MONTAGEM E DESMONTAGEM DE SISTEMA DE ARQUIVOS.............................................................33 FSTAB.............................................................................................................................................. 3 3 PATH................................................................................................................................................ 5 3

RPM..................................................................................................................................................... 6 3
OBJETIVOS DO RPM ............................................................................................................................... 36 Atualizao de Softwares............................................................................................................... 36 Pesquisas........................................................................................................................................ 36 Verificao do Sistema................................................................................................................... 36 Cdigos Bsicos............................................................................................................................. 36 Utilizao do RPM........................................................................................................................... 36

DPKG................................................................................................................................................... 1 4
Pacotes ......................................................................................................................................... 41 Instalar pacotes .............................................................................................................................. 41 Dependncias ................................................................................................................................ 42 Listar pacotes existentes no sistema ............................................................................................. 2 4 Removendo pacotes do sistema ................................................................................................... 2 4 Removendo completamente um pacote ........................................................................................ 2 4 Mostrar descrio do pacote ......................................................................................................... 3 4 Procura de pacotes atravs do nome de um arquivo ................................................................... 3 4 Status do pacote ............................................................................................................................ 43 Procurando pacotes com problemas de instalao ...................................................................... 3 4 Mostrando a lista de pacotes do sistema ...................................................................................... 4 4 Obtendo uma lista de pacotes para instalar no sistema ...............................................................44

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
Configurando pacotes desconfigurados ........................................................................................ 4 4 Listando arquivos de um pacote .................................................................................................... 5 4

TELNET............................................................................................................................................... 5 4 SSH...................................................................................................................................................... 5 4
DESCRIO DOS COMANDOS DO SSH.......................................................................................................... 6 4

FTP....................................................................................................................................................... 7 4 CONFIGURANDO PERIFRICOS......................................................................................................48


KBDCONFIG:............................................................................................................................................ 48 MOUSECONFIG:........................................................................................................................................ 48 XCONFIGURATOR:..................................................................................................................................... 49 SNDCONFIG:............................................................................................................................................ 49 LINUXCONF:............................................................................................................................................. 49 KPPP:.................................................................................................................................................... 49

CUPS................................................................................................................................................... 1 5 LPRNG................................................................................................................................................. 2 5

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Histrico do Linux
O Unix foi desenvolvido na Bell Laboratrios no incio da dcada de 1970 de programadores para programadores. Os arquitetos originais do Unix o criaram a partir da necessidade de uma camada especial de software conhecida como o sistema operacional. Esse sistema forneceria ferramentas para abstrair tarefas comuns de computao para um nvel humano e tambm para fornecer portabilidade que simplificaria a instalao dele em novo hardware de computador medida que este emergisse. Em outras palavras, alguns projetistas precisavam de uma ferramenta que no estava disponvel na poca, ento eles a construram. Em 1991, Linus Torvalds era aluno de cincia da computao na Universidade de Helsinque na Finlndia. Ele queria um sistema operacional para seu computador pessoal 386 que fosse como o Unix do qual ele tinha se tornado um admirador na Universidade. Como um aluno de cincia da computao, ele tambm quis conhecer o software internamente para ver como ele funcionava. Era impossvel fazer isso com o sistema proprietrio e de cdigo-fonte fechado, que vinha com seu PC. Torvalds se prontificou a escrever um sistema operacional sozinho. Seis meses mais tarde ele publicou seu trabalho na Internet para qualquer pessoa que estivesse interessado no trabalho que ele estava fazendo. Escrever um sistema operacional no uma tarefa pequena. Mesmo depois de seis meses de muito trabalho, Torvalds tinha feito muito pouco progresso no que diz respeito utilidade geral do sistema. Ainda assim, havia pessoas suficientes na Internet que compartilhavam seu interesse e curiosidade. Depois de algum tempo, algumas das mentes mais brilhantes no mundo estavam contribuindo para o projeto do Linus, adicionando aprimoramentos ou corrigindo bugs.

Sistema Operacional Linux


O Linux um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinque na Finlndia. um sistema Operacional de cdigo aberto distribudo gratuitamente pela Internet. Seu cdigo fonte liberado como Free Software (software livre) o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele est proibido de fazer a comercializao do sistema. O sistema segue o padro POSIX que o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o Linux voc no encontrar muita dificuldade em operar um sistema do tipo UNIX, FreeBSD, HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados em cada sistema. O cdigo fonte aberto permite que qualquer pessoa veja como o sistema funciona (til para aprendizado), corrija algum problema ou faa alguma sugesto sobre sua melhoria, esse um dos motivos de seu rpido crescimento, do aumento da compatibilidade de perifricos (como novas placas sendo suportadas logo aps seu lanamento) e de sua estabilidade. Outro ponto em que ele se destaca o suporte que oferece a placas, CD-ROMs e outros tipos de dispositivos de ltima gerao e mais antigos (a maioria deles j ultrapassados e sendo completamente suportados pelo sistema operacional). Este um ponto forte para empresas que desejam manter seus micros em funcionamento e pretendem investir em avanos tecnolgicos com as mquinas que possui. O suporte ao sistema tambm se destaca como sendo o mais eficiente e rpido do que qualquer programa comercial disponvel no mercado. Existem centenas de consultores especializados espalhados ao redor do mundo. Voc pode se inscrever em uma lista de discusso e relatar sua dvida ou alguma falha, e sua mensagem ser vista por centenas de usurios na Internet e algum ir te ajudar ou avisar as pessoas responsveis sobre a falha encontrada para devida correo.

Kernel / Distribuio
O kernel o sistema operacional (o GNU/Linux), que controla os dispositivos e demais perifricos do sistema (como memria, placas de som, vdeo, discos rgidos, disquetes, sistemas de arquivos, redes e outros recursos disponveis). Muitos confundem isto e chamam a distribuio de sistema operacional. O kernel faz o controle dos perifricos do sistema e para isto ele deve ter o seu suporte includo. Para fazer uma placa de som Sound Blaster funcionar, por exemplo, necessrio que o kernel oferea suporte a este placa e voc deve configurar seus parmetros (como interrupo, I/O e DMA) com comandos especficos para ativar a placa e faze-la funcionar corretamente. Existe um

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
documento que contm quais so os perifricos suportados/ no suportados pelo GNU/Linux, ele se chama Hardware-HOWTO. Suas verses so identificadas por nmeros como 2.0.36, 2.0.38, 2.1.10, 2.2.12, as verses que contm um nmero par entre o primeiro e segundo ponto so verses estveis e que contm nmeros mpares neste mesmo local so verses instveis (em desenvolvimento). Usar verses instveis no quer dizer que ocorrer travamentos ou coisas do tipo, mas algumas partes do kernel podem no estar testadas o suficiente ou alguns controladores podem ainda estar incompletos para obter pleno funcionamento. Se operar sua mquina em um ambiente crtico, prefira pegar verses estveis do kernel.

Mdulos de Kernel
Os mdulos de kernel fornecem uma maneira de adicionar hardware e unidades de sistema especiais depois que voc carregou o kernel na memria. Cada mdulo de kernel tambm pode requerer que parmetros especficos sejam passados para ele no momento da inicializao. Voc pode localizar o arquivo de configurao que contm esses parmetros, bem como determinar que mdulos carregar em tempo de inicializao, no arquivo /etc/modules.conf.

Distribuies
S o kernel GNU/Linux no suficiente para se ter um sistema funcional, mas o principal. Existem grupos de pessoas, empresas e organizaes que decidem "distribuir" o Linux junto com outros programas essenciais (como por exemplo, editores grficos, planilhas, bancos de dados, ambientes de programao, formatao de documentos, firewalls, etc). Este o significado bsico de distribuio. Cada distribuio tem sua caracterstica prpria, como o sistema de instalao, o objetivo, a localizao de programas, nomes de arquivos de configurao, etc. A escolha de uma distribuio pessoal e depende das necessidades de cada um. Algumas distribuies bastante conhecidas so: Slackware, Debian, Red Hat, Conectiva, Suse, Monkey, todas usando o SO Linux como kernel principal (a Debian uma distribuio independente de kernel e pode ser executada sob outros kernels, como o GNU hurd). Algumas das distribuies mais conhecidas e suas principais caractersticas:

Debian
http://www.debian.org - 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. Possui suporte a lngua Portuguesa, a nica que tem suporte a 10 arquiteturas diferentes (i386, Alpha, Sparc, PowerPc, Macintosh, Arm, etc.) e aproximadamente 15 sub-arquiteturas. A instalao da distribuio pode ser feita tanto atravs de Disquetes, CD-ROM, Tftp, Ftp, NFS ou atravs da combinao de vrios destes em cada etapa de instalao. Os pacotes so divididos em diretrios de acordo com sua categoria e gerenciados atravs de um avanado sistema de gerenciamento de pacotes (o dpkg) facilitando a instalao e atualizao de pacotes. Possui tanto ferramentas para administrao de redes e servidores quanto para desktops, estaes multimdia, jogos, desenvolvimento, web, etc. A atualizao da distribuio ou de pacotes individuais pode ser feita facilmente atravs de dois comandos, no requerendo adquirir um novo CD para usar a ltima verso da distribuio. a nica distribuio no comercial onde todos podem contribuir com seu conhecimento para o seu desenvolvimento. Para gerenciar os voluntrios, conta com centenas de listas de discusso envolvendo determinados desenvolvedores das mais diversas partes do mundo.

Conectiva
http://www.conectiva.com.br - Distribuio brasileira que teve seu desenvolvimento baseado no linux Red Hat, possuindo portando muita semelhana no seu funcionamento e gerenciamento. Ultimamente os desenvolvedores conectiva tem se aproximado muito dos desenvolvedores Debian GNU/Linux, o que pode ser constatado atravs da incorporao do apt a distribuio Conectiva e a crescente participao da conectiva nos projetos debian.

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Slackware
http://www.slackware.com - Uma das distribuies mais antigas, mas ainda em evidncia, apesar de ser pouco atrativa para os novatos. Esta distribuio, organizada por Patrick Volkerdig, tem pouca ou nenhuma organizao no que diz respeito a gerenciamento de dependncia de pacotes, ou seja, voc pode, inadvertidamente, remover um pacote de software do qual outros pacotes necessitam para funcionar sem sequer ser avisado disso. uma das poucas (seno a nica atualmente) que pode ser instalada a partir de disquetes. A slackware atraente para pessoas que tm bastante experincia em administrao Unix, e que gostam de baixar o cdigo fonte de programas, compil-los, instal-los, configur-los e gerencilos com as prprias mos, moda antiga. , no entanto, a distribuio que d mais liberdade ao administrador por no impor restries e que exige mais conhecimento dos utilitrios e pacotes de software do sistema. No existe uma forma simples de fazer upgrade em Slackware, o modo comum fazer backup de dados de usurios e configuraes e instalar um novo slackware do zero. O uso prolongado de Slackware tende a criar um administrador mais experiente do que os demais, e com menos cabelos.

SuSE
http://www.suse.com - Distribuio comercial Alem com a coordenao sendo feita atravs dos processos administrativos dos desenvolvedores e de seu brao norte-americano. O foco da Suse o usurio com conhecimento tcnico no Linux (programador, administrador de rede, etc.) e no o usurio iniciante no Linux. A distribuio possui suporte ao idioma e teclado Portugus. Possui suporte as arquiteturas Intel x86 e Alpha. Sua instalao pode ser feita via CD-ROM ou CDDVD ( a primeira distribuio com instalao atravs de DVD). Uma mdia de 1500 programas acompanham a verso 6.3 distribudos em 6 CD-ROMs. O sistema de gerenciamento de pacotes o RPM padronizado. A atualizao da distribuio pode ser feita atravs do CD-Rom de uma nova verso ou baixando pacotes de ftp://ftp.suse.com. Usurios registrados ganham direito a suporte de instalao via e-mail. A base de dados de suporte tambm excelente e est disponvel na web para qualquer usurio independente de registro.

Red Hat
http://www.redhat.com - A Red Hat a distribuio mais popular nos dias de hoje. Alm de contar com o RPM, o gerenciador de pacotes mais difundido na Internet, mantido por uma empresa que se preocupa com Free Software, mantendo vrios funcionrios com a tarefa nica e exclusiva de escrever software que ser disponibilizado atravs da Internet, com cdigo fonte e tudo. Vrios projetos foram adotados pela Red Hat, como o Gnome e o Enlightenment, o primeiro, resumindo drasticamente, um protocolo para a integrao entre aplicaes e o segundo um gerenciador de janelas com caractersticas extremamente avanadas e inovadoras, juntos os dois so concorrentes diretos do KDE. O Red Hat Linux muito preocupado com o usurio leigo, sendo a distribuio de instalao mais simples e rpida e que conta com uma das melhores interfaces. Recentemente a Intel, a Netscape e outras empresas passaram a investir na Red Hat, o que tende a torn-la ainda mais popular. A Red Hat hoje a distribuio de Linux que suporta mais plataformas de Hardware.

Qual Linux eu instalo?


Quando pensamos em iniciar a usar o linux, temos sempre esta grande dvida: e agora, qual linux vou usar? No Brasil, trs distribuies so bastante difundidas: a Slackware, a Red Hat, e a Conectiva, mas existem diversas distribuies. As diferenas entre as distribuies so poucas, estando principalmente nas ferramentas de instalao e manuteno dos softwares. Para o usurio de ambiente grfico as diferenas so mnimas, mas para usurios avanados que gostam de personalizar o sistema e trabalhar em cima dele, as dificuldades podem ser muitas.

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Interfaces Grficas
O Linux apresenta dois ambientes de trabalho, o grfico (usando o XFree) e o modo console. O modo console um modo mais cru, parecido com o do DOS. Pra quem estava acostumado com o DOS, a adaptao vais ser mais fcil e rpida. As tarefas so quase todas realizadas atravs da execuo do comando no prompt, como na figura abaixo:

Apesar de parecer simples, o console apresenta aplicativos muito bons, como o BitchX, wget, mpg123, suportando ainda jogos como quake I e II. A grande vantagem de se trabalhar no modo texto que o sistema fica mais rpido pois no exige muito esforo do cpu. O modo grfico do Linux um dos grandes atrativos aos usurios domsticos. O modo grfico baseado no sistema cliente:servidor, no qual o servidor contm informaes sobre as especificaes da placa e do monitor. Nem sempre fcil conseguir rodar o ambiente grfico XWindows, mas depois de configurado as coisas ficam um pouco mais simples. Depois que voc consegue rodar o XFree86, voc tem a sua disposio uma srie de gerenciadores de janelas, cada um apresentando vantagens e desvantagens. Os mais conhecidos window managers so os seguintes:

KDE
Home Page Oficial: http://www.kde.org O KDE um poderoso ambiente grfico desktop para estaes de trabalho UNIX. Ele combina facilidade de uso, grande funcionalidade e incrvel design grfico com a superioridade tecnolgica de sistemas Unix-like. O KDE um projeto da Internet e verdadeiramente aberto em todos os sentidos. O seu desenvolvimento ocorre na prpria Internet e discutido na lista de emails e no grupo de notcias USENET. Ningum controla os cdigos fonte do KDE, todos tm liberdade para contribuir com o projeto KDE, todos os cdigos esto disponveis e qualquer pessoa interessada pode distribu-lo e modific-lo de acordo com a licena GNU.

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Window Maker
Home Page Oficial: http://www.windowmaker.org O Window Maker um elegante gerenciador de janelas X11 que emula o desktop do OpenStep(tm) apresentando vrias melhorias. rpido, fcil de configurar e usar e apresenta muitas opes. O WindowMaker tambm free, qualquer um pode us-lo, sem nenhuma restrio. Dentre as vantagens apresentadas pelo Window Maker figuram est a compatibilidade com o KDE e o GNOME; aplicativos para que voc possa configurar seu ambiente de trabalho mais facilmente, sem a necessidade de editar as configuraes manualmente; suporte a cones XPM, PNG, JPEG, TIFF, GIF e PPM; apresenta o Application Dock e o WorkSpace Dock (Clip), onde voc pode acoplar seus programas preferidos e os appdocks; suporte para vrias lnguas, incluindo o portugus. O Window Maker desenvolvido por um programador brasileiro, residente no Rio Grande do Sul, o Alfredo Kojima.

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Gnome
Home Page Oficial:http://www.gnome.org Gnome significa GNU Network Object Model Environment. O projeto gnome pretende construir um ambiente de trabalho completo, de uso fcil e com aplicativos poderosos para seus usurios. Assim como o KDE, o Gnome parte do projeto GNU, sendo um software livre de acordo com a definio OpenSource(tm). O Gnome no um gerenciador de janelas, ele permite com que voc escolha o gerenciador de janelas de sua preferncia e o use em conjunto. Na verdade o Gnome um conjunto de aplicativos e ferramentas de trabalho, parecido com o KDE, com a diferena que cada mnimo componente do projeto Gnome Software Gratuito.

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Enlightenment
Home Page Oficial: http://www.enlightment.org O Enlightenment outro gerenciador de janelas para o XFree86. O objetivo do projeto desenvolver um window manager o mais customizvel possvel, em relao ao uso e aparncia.

IceWM
Home Page Oficial: http://www.kiss.uni-lj.si/~k4fr0235/icewm/ O IceWM um pequeno window manager que tem como objetivo emular a aparncia do Windows95, OS/2 e Motif. Dentre as opes do Icewm esto o suporte a vrias reas de trabalho, barra de tarefas, listagem de janelas, alterao de tamanho/movimento de janelas de modo opaco, um relgio digital, verificao do seu mailbox. O IceWm prima pela rapidez, no pela aparncia. No h muitas opes para configurao, isso resulta numa interface grfica mais simples, sem tanta cosmtica, mas com muita funcionalidade, estabilidade e rapidez. Quase todas as funes podem ser chamadas com o teclado ou com o mouse (exceto quando usado o foco do mouse).

Blackbox
Home Page Oficial: http://blackbox.alug.org/ O Blackbox um window manager desenvolvido para o X11R6, escrito em linguagem C, contendo apenas 14,406 linhas de cdigo. O Blackbox tem um principal e quase nico objetivo: a rapidez. Para isso, abre mo de vrios recursos, mas no perde a funcionalidade. Menus, janelas e cones so encontrados no Blackbox, mas de uma maneira muito mais leve para o computador. Ele no suporta nenhum tipo de carregamento de imagem, e, segundo o autor, no suportar por enquanto. O Blackbox foi desenvolvido por Brad Hughes em um Pentium 133 com 64 Mb de RAM, rodando o FreeBSD 3.3.

Instalao:
Quanto espao em disco o Linux precisa?
Para uma instalao completa, recomenda-se mais de 800Mb, mas, dependendo da aplicao do sistema operacional, pode-se instalar em at 10Mb.

10

10

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
Vamos dar uma idia geral do que uma instalao e configurao inicial do Linux. A primeira coisa que voc tem que fazer saber se seu equipamento possui os pr-requisitos necessrios para rodar o sistema que voc escolheu. Isso parece bastante bvio, mas nunca demais lembrar. Pegue todos os manuais de hardware que voc tem e prepare-se para responder algumas perguntas, durante a instalao. Recentemente muitos aprimoramentos foram adicionados ao procedimento de instalao do Linux, principalmente projetado para tornar a instalao mais fcil.

Faa o Linux detectar automaticamente o hardware.


A maioria das distribuies do Linux agora suporta a maioria dos perifricos e configuraes de hardware atuais.

Inicie a instalao ou inicialize o computador a partir de um CD.


Isso facilita comear a instalao sem a necessidade de fazer primeiro o disquete de instalao.

Utilize uma GUI (graphical user interface) para instalar o Linux.


Essa opo de instalao faz pleno uso do mouse e ainda suporta navegao pelo teclado.

Defina suas parties de disco em qualquer modo de instalao.


No passado, algumas escolhas de instalao automaticamente alteravam e/ou apagavam seus discos e parties. Se seu sistema tiver um sistema operacional existente e voc quiser mant-la, e recomendado utilizar programas como partition magic ou o prprio fips que vem com a maioria das distribuies Linux. Utilizando o prprio particionador da distribuio voc tambm tem a escolha de decidir que parties remover. Alm disso, voc tambm pode especificar o tamanho e a localizao de suas parties de disco. Reinicialize sua mquina dando boot pelo CD-ROM ou utilizando um disquete de boot e siga as instrues apresentadas. Voc no ter dificuldades em instalar o Linux. (Instrues de instalao no sero contempladas nesse treinamento devido a particularidades de cada distribuio que se realizar em um evento aparte)

Quantas e quais devem ser minhas parties?


Se voc pretende reparticionar a partio Windows, existem dois cuidados necessrios para que tudo saia bem. Em primeiro lugar, o bvio, certificar-se que existe espao em disco suficiente. Com 1 GB j possvel fazer uma instalao bsica do sistema, mas para instalar vrios programas, armazenar seus arquivos pessoais etc. seria recomendvel reservar um espao maior, pelo menos 2 ou 3 GB. Quanto mais espao melhor. Outro detalhe importante desfragmentar o disco. Alguns particionadores so capazes de redimensionar a partio mesmo que esteja fragmentada, porm alm do processo demorar bem mais que o normal, a possibilidade de ocorrer algum problema muito maior. Escolhendo a opo Erase entire disk o programa vai simplesmente limpar a tabela de partio do HD e dividi-lo em duas parties: uma menor, usada para os arquivos do sistema e outra maior, montada no diretrio /home, onde ficam guardados os arquivos dos usurios. As interface de particionamento so bastante intuitiva, lembra bastante a do Partition Magic 6, mas mais fcil, por conter apenas os sistemas de arquivos suportados pelo Linux: No topo da tela temos a lista dos sistemas de arquivos suportados: EXT2, EXT3, Journalised FS, Swap, FAT (inclui FAT 16 e FAT 32) alm de Other (outro sistema de arquivos no reconhecido) e Empty (espao no particionado). Geralmente na tela abaixo, voc tem uma lista dos HDs instalados. Nos softwares de particionamento existem barras colorida mostrando um mapa do disco, com todas as parties que ele contm.

11

11

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
Para criar uma nova partio voc precisar clicar sobre uma rea de espao livre (aparece em branco no mapa) e em seguida clicar no boto do sistema de arquivos que ser usado (na parte superior). Para liberar espao voc deve usar as opes anteriores, de redimensionar ou deletar uma outra partio. Na hora de escolher o sistema de arquivos a ser utilizado as opes so basicamente duas: usar o velho sistema EXT2, que acompanha o Linux a vrios anos, ou utilizar um dos novos sistemas com journaling. Clicando em Journalised FS voc poder escolher entre o EXT3, RiserFS e JFS. O journaling permite que o sistema de arquivos mantenha um log, onde so armazenadas todas as mudanas feitas em arquivos do disco. Quando qualquer erro inesperado surge ou o sistema desligado incorretamente possvel localizar todas as operaes que no haviam sido concludas, restaurando a consistncia do sistema de arquivos em poucos segundos, sem a necessidade de vascular arquivo por arquivo. Isso bem diferente do que acontece no EXT2, onde o fsck precisa vasculhar todo o disco em busca de erros depois de cada desligamento incorreto, um processo que pode demorar mais de 10 minutos, dependendo do tamanho da partio. Alm disso, a frequncia com que so perdidos arquivos ou mesmo pastas inteiras (ou at mesmo a tabela de partio do disco se voc for realmente azarado :-) no EXT2 por causa dos desligamentos incorretos espantosamente alta, um perigo que no existe nos sistemas com suporte a journaling. Dentre os trs, o EXT3 foi o que pude testar melhor e por isso a minha recomendao pessoal. Evite usar o EXT2, principalmente se o seu PC no tiver no-break. No existem desvantagens aparentes em usar o EXT3; pelo contrrio, o desempenho do sistema chega a ser um pouco melhor. Junto com estas opes, esto vrios outros sistemas de arquivos, incluindo FAT 16, FAT 32 e at mesmo outros sistemas de que provavelmente voc nunca ouviu falar. O nico sistema importante que no consta na lista o NTFS, que ainda no completamente suportado pelo Linux. Essa fartura de sistemas de arquivos suportados permite at mesmo que este utilitrio seja usado no lugar do Partition Magic na hora de formatar HDs e redimensionar parties, mesmo que o objetivo no seja instalar o Linux. Voc precisar criar uma partio swap, que armazenar a memria virtual do sistema. O Linux no permite aumentar dinmicamente o tamanho do arquivo de troca, como no Windows, ao acabar o espao da partio voc receber uma mensagem de falta de memria e ter que fechar alguns aplicativos para continuar trabalhando. Para evitar isso, crie um arquivo razoavelmente grande, de 127 ou at 256 MB, dependendo de quanto espao livre em disco tiver disponvel e velocidade do se HD. Se voc tiver bastante memria (256 MB ou mais) e no desejar usar memria virtual, voc pode criar um arquivo pequeno, de 8 ou 16 MB, apenas para evitar que um ou outro aplicativo gere mensagens de erro pela falta da memria swap. Portanto criado o SWAP temos que criar a partio para os arquivos. Escolhido o sistema de arquivos a ser utilizado basta criar a partio (/).

Linux Standard Base


O sistema operacional Linux foi construdo a partir do trabalho de voluntrios, como costumeiro (embora no regra geral) em projetos de software livre, durante muito tempo no houve uma orientao bem definida sobre como deveria ser o sistema padro - cada distribuio do sistema adotava seus prprios critrios em uma srie de aspectos, desde a localizao dos arquivos do sistema, at a seqncia de inicializao da mquina, passando por vrios outros itens crticos, como as verses das bibliotecas de suporte do sistema e o mtodo utilizado no gerenciamento de pacotes de software. Conseqncia da liberdade do projeto, esta falta de padronizao ajudou a levar diversidade de distribuies de Linux que conhecemos hoje, o que foi providencial na disseminao do sistema em seus primeiros anos de vida. Entretanto, a mesma diversidade criava problemas para a comunidade Linux ao longo de todo o seu desenvolvimento. Entre outras questes, durante muito tempo era difcil obter verses prcompiladas de aplicativos, exceto se elas tivessem sido preparadas especificamente para a distribuio de Linux que voc estivesse utilizando. Embora hoje seja quase sempre trivial utilizar pacotes do Mandrake no Conectiva, do RedHat no SuSE, e assim por diante, houve um tempo que

12

12

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
isto era muito mais raro, e de todo usurio de Linux era exigido o conhecimento da instalao de programas a partir da compilao de seu cdigo-fonte, o que at certo ponto se constitua numa grande barreira ao uso e adoo do Linux. Ainda hoje encontramos situaes onde softwares de grande apelo junto a segmentos da comunidade usuria (como o ambiente de desenvolvimento Kylix ou o gerenciador de bancos de dados Oracle) suportam apenas um subconjunto das distribuies. Isso no significa que eles no possam ser instalados em outras distribuies (ainda que s vezes esta operao exija truques e malabarismos indesejveis), mas que o seu fornecedor ou produtor no estava apto a suportar seu uso em todas as variantes possveis de Linux. Garantir e suportar o uso tem um custo, e muitas vezes no economicamente vivel diversificar este suporte. O desenvolvimento da comunidade Linux, a entrada de participantes de maior porte no mercado criado em torno deste sistema operacional e o surgimento de interesse pela distribuio de aplicaes e servios baseados no Linux, portanto, criaram a necessidade de convergncia em torno de um padro, sem restringir a possibilidade de diferenciao entre as distribuies - mantendo assim a liberdade, sem permitir a fragmentao do Linux em uma srie de alternativas incompatveis entre si. Esta necessidade levou criao do Linux Standard Base (LSB), que visa desenvolver e promover um conjunto de padres para aumentar a compatibilidade entre as distribuies de Linux, permitindo assim que softwares aplicativos possam rodar em qualquer sistema em conformidade com o padro. O LSB dividido em trs componentes principais: a especificao do sistema, as ferramentas de teste e um exemplo de distribuio para referncia. A especificao do sistema define a chamada BIA (Binary Application Interface), que o ambiente que toda aplicao desenvolvida, levando em conta o LSB, dever esperar encontrar em qualquer distribuio de Linux, incluindo o nome e localizao dos arquivos, verso das bibliotecas, e diversos outros fatores. Assim, obtemos as seguintes vantagens: Os aplicativos podem ser suportados em todas as distribuies de Linux que respeitem o padro. Os profissionais da rea de suporte e administrao de sistemas encontram menos surpresas ao trabalhar com diferentes distribuies; a literatura, os cursos e treinamentos bsicos no precisam ser segmentados por distribuio. O LSB no uma tentativa ou um projeto acadmico: a verso 1.0 da especificao foi lanada em 2001 (a verso 1.1 foi lanada no incio de 2002), e os principais participantes do mercado Linux, incluindo as principais distribuies do mundo todo, os desenvolvedores de aplicativos e as empresas de suporte, j o adotam ou esto em pleno processo de adaptao para adoo.

Definies
A especificao completa da LSB do interesse no apenas dos distribuidores de Linux e dos desenvolvedores de aplicaes (para os quais se trata de leitura obrigatria), mas tambm dos administradores de sistema, usurios avanados e da comunidade Linux em geral, at mesmo por se tratar de um projeto aberto comunicao com os usurios. A verso corrente da especificao pode ser encontrada no site www.linuxbase.org. Atualmente ela define itens tais como as bibliotecas do sistema, comandos disponveis, a localizao dos arquivos (definida pelo FHS - www.pathname.com/fhs), a inicializao e processos associados, a shell, usurios e grupos, o gerenciamento de pacotes, o formato dos arquivos executveis e outros. O enfoque dos padres prtico, levando em conta o que j existe hoje ou est sendo ativamente desenvolvido, e no se prendendo exclusivamente compatibilidade com outros padres (como o POSIX) - o que chama a ateno principalmente quando se nota que nomes tradicionais do mercado Unix, como a HP, a Compaq (Digital), a IBM, a SGI e o prprio Open Group esto listados como contribuintes ou patrocinadores do projeto, ao lado de nomes conhecidos exclusivamente do mercado Linux como Red Hat, SuSE, Caldera, Debian, Conectiva e Turbo Linux.

As vantagens
J foi visto que o LSB no restringe a liberdade de cada distribuio fazer as coisas a seu modo - ele apenas estabelece um ncleo de recursos e capacidades que deve ser suportado. Desfeitos os temores de que todas as distribuies teriam que ser idnticas resta analisar as vantagens. A principal bvia: veremos menos aplicativos que exigem uma distribuio ou verso

13

13

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
especfica de Linux, j que eles podero aceitar e suportar qualquer distribuio que implemente o LSB. Alm disso, desenvolver e portar software para Linux sero uma atividade menos custosa, pois no apenas existir uma interface unificada, como ainda esta interface contar com documentao atualizada e voltada para os desenvolvedores de aplicaes - o que no se pode afirmar da maior parte das distribuies de hoje. Alm da interoperabilidade de aplicativos, pode-se mencionar outros ganhos secundrios, como manuais, cursos e publicaes independentes de distribuio sem perder o enfoque prtico, e a formao de profissionais sem as barreiras mentais que o atual culto s diferenas entre as distribuies acaba por provocar. Como membros da comunidade Linux, cabe a ns exigir de nossos distribuidores que adotem integralmente os padres da LSB. Alm disso, aqueles entre ns que so desenvolvedores, precisam ler atentamente o padro, pois ele estabelece alguns pontos (como por exemplo, maneira correta de incluir uma tarefa para execuo automtica pelo cron) que no so trabalhosos para atender e levam a softwares de maior qualidade compatvel com os padres existentes.

Resultado
A convergncia das tecnologias um processo natural em qualquer mercado e faz parte do desenvolvimento de qualquer sistema. Num mercado onde h liberdade de uso do software, como o caso do Linux, essa convergncia ainda mais natural - basta ver o exemplo da Conectiva adotando o apt, gerenciador de pacotes tradicionalmente associado ao Debian: as boas idias de uma distribuio podem ser livremente utilizadas por todas as outras. O LSB, alm de acelerar esse processo de convergncia, torna-o uma atividade ordenada, e facilita a vida no apenas dos desenvolvedores de aplicaes, mas de todas as empresas ou pessoas que suportam, administram ou operam sistemas baseados no Linux. Trata-se de uma excelente idia, e precisamos fazer nossa parte: adot-la, divulg-la e exigir que nossos fornecedores faam o mesmo (ressalva importante absoluta maioria dos distribuidores de Linux j adotam o padro, ainda que no constem como participantes do seu desenvolvimento). E da prxima vez que voc ouvir falar na antiga lenda da impossibilidade de compatibilizao, ou do processo de fragmentao que levaria inevitavelmente ao fim do Linux (como a "concorrncia" periodicamente apregoa em press releases rapidamente disseminados por parte da imprensa), lembre-se de mencionar o LSB e os seus efeitos.

Viso Geral da rvore de diretrios (Estrutura)


Arquivos executveis (binrios) de comandos essncias pertencentes ao sistema e que so utilizados com freqncia. Arquivos de sistema essenciais Arquivos estticos de boot ou inicializao. Arquivos de dispositivos de entrada/sada. Os arquivos de configurao mantidos aqui so globais para o funcionamento do host. Por exemplo, o arquivo passwd, que contm todas as informaes de usurio de sistema, mantido aqui. Outros subdiretrios importantes tambm esto sob /etc. Por exemplo, o diretrio /etc/X11 contm arquivos de configurao do X e os arquivos / etc/rc.d e diretrios definem como realizar a inicializao de sistema e procedimentos de desligamento. Arquivos de bibliotecas compartilhadas usadas com freqncia.

/bin /sbin /boot /dev

/etc

/lib

14

14

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br /mnt /tmp /var
Diretrios dos usurios. O diretrio inicial (home directory) do usurio tambm contm um nmero de arquivos de configurao. Esses arquivos definem o comportamento de aplicativos e servios de sistema sobre os quais o usurio tem controle. Diretrio local do superusurio (root) Todos os arquivos de binrios devem estar aqui (Ex: quando voc instala um programa o executvel geralmente fica em: /usr/local/bin). Ponto de montagem de partio temporria. Arquivos temporrios gerados por alguns utilitrios. Ficam os arquivos de informao varivel..

/home

/root /usr

Iniciando o Linux
O Linux tudo menos um sistema desocupado. Executar o comando top no prompt de comando revela que uma dzia de processos est executando em segundo plano a qualquer hora. Esses processos foram gerados em algum lugar ao longo do caminho, provavelmente durante o processo de inicializao. Entender o procedimento de inicializao e desligamento crucial para configurar o comportamento de seu sistema Linux. Configurando o procedimento de inicializao, voc pode fazer o ajuste fino de um computador sob o Linux para iniciar somente os processos desejados e necessrios enquanto voc deixa os outros fora da memria do sistema. Todos os processos tm de ser gerados por um processo existente. Um programa chamado init o primeiro processo iniciado pelo kernel na hora da inicializao. Todos os processos subseqentes podem rastrear sua linhagem para o processo init. O arquivo que dirige o comportamento init chamado /etc/inittab. O init realiza algumas operaes de sistema bsicas e gerencia outro programa chamado rc que realiza os detalhes do processo de inicializao. Primeiro, o rc executa um script chamado /etc/rc.d/rc.sysinit. Este realiza operaes gerais de nvel de sistema e configuraes de ambiente que so requeridas independentemente do nvel de execuo. O rc ento executa os links de script no diretrio subseqente de nvel de execuo. Por fim, rc executa o script de Shell chamado /etc/rc.d/rc.local, que fornece qualquer funo de inicializao de envio requerido depois de carregar os scripts especficos de nvel de execuo. Voc pode pensar em cada nvel de execuo como uma configurao de inicializao diferente. Quando o sistema inicializa voc pode escolher somente permitir voc prprio como um usurio, permitir que outros efetuem login em seu sistema (multiusurio) ou permitir acesso de multiusurio pela rede. Esses so trs exemplos comuns de nvel de execuo. O diretrio de nvel de execuo contm links simblicos para o diretrio /etc/init.d onde todos os scripts de inicializao residem. Voc notar que cada nvel de execuo particular to simples quanto adicionar ou excluir o link simblico do diretrio de nvel de execuo. Os sete nveis de execuo, juntamente com seu propsito, so apresentados a seguir: Nvel de execuo 0 1 2 3 4 5 6 O que faz Realiza um desligamento ordenado de todos os processos e pra a CPU Modo de um nico usurio; utilizado principalmente para manuteno e soluo de problemas. Modo multiusurio sem rede Modo multiusurio com rede Usurio definido Modo multiusurio com rede e gerenciador de vdeo X Realiza um desligamento ordenado e a subseqente reinicializao de nvel de execuo padro

Os scripts de inicializao que so chamados dependem do nvel de execuo em que o sistema est iniciando. Por exemplo, se o nosso sistema assume padro para o nvel de execuo 3, todos

15

15

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
os scripts no diretrio rc3.d executam. Para ver que scripts so iniciados, crie uma listagem de arquivos neste diretrio: ls /etc/rc.d/rc3.d A primeira coisa que voc pode notar que todos os arquivos so links simblicos ou symlinks para abreviar. Em outras palavras, esses arquivos s apontam outro lugar em vez de conter suas prprias instrues de script. Se voc considera que os mesmos servios podem ser iniciados sob diferentes nveis de execuo, voc v que faz sentido chamar o mesmo script. Caso contrrio, necessrio copiar o mesmo script para todos os diretrios de nvel de execuo que precisam iniciar o servio... um pesadelo contnuo que pode ser evitado. Outra parte interessante dessa listagem de diretrios a conveno de atribuio de nomes de arquivo. O programa rc que realmente executa o script utiliza o nome de arquivo para determinar a ordem e evento em que um servio particular executado. O rc chama cada script com um argumento de prompt de comando dependendo do evento. Um evento de inicializao passa um argumento stop. O rc sabe qual script executar avaliando o nome do symlink. O S na frente do nome de arquivo diz ao rc que esse script deve ser executado durante a inicializao desse nvel de execuo. O K no nome de script diz ao rc que o script executado com um argumento de parada quando uma alterao de nvel de execuo solicitada a partir desse nvel de execuo. Os prximos dois caracteres depois do tipo de evento representam um inteiro de dois dgitos, que fornece a ordem em que um processo iniciado. Alguns processos requerem que outros sejam iniciados primeiro. Essa conveno para atribuio de nomes permite que o sistema chame servios em uma ordem particular. Por fim, o restante do nome de arquivo fornece apenas uma referncia para que possamos ver que servio est sendo tratado. Ento, onde todos os programas de servio real residem e com que eles se parecem? Os diretrios rc<nveldeexecuo>.d contm arquivos que apontam para o diretrio /etc/rc.d/init.d, onde todos os scripts reais residem. Voc bem-vindo a examinar esses arquivos, uma vez que eles so script de Shell. Se voc entende de programao de Shell, voc pode percorrer a seqncia de eventos do sistema durante a inicializao. Note que raramente voc precisa fazer alteraes em qualquer desses arquivos. Ativar e desativar servios de tempo de inicializao simplesmente uma questo de criar ou excluir o symlink para um processo no diretrio de nvel de execuo requerido.

Consoles Virtuais
O Linux tem uma facilidade muito grande para operar em modo texto: basta voc teclar <ALT>+<F2> e outro prompt de login aparecer. Ento, voc ter, por default seis consoles virtuais que voc pode alternar com a tecla <ALT> e mais alguma tecla de funo de <F1> at a <F6>.

Shells
O Shell do Unix nada mais do que o interpretador de comandos do sistema operacional. Comparando com o MS-DOS, poderamos dizer que o shell equivalente ao arquivo COMMAND.COM. Existem vrios tipos de Shell para mquinas Unix, mas o padro do Linux usar o Bash (Bourne Again SHell). O Bash tem suporte a cores, a completar nomes de arquivos e diretrios com a tecla <TAB>, etc.

Programando em Shell Script


Aprenda a utilizar o recurso que muitas pessoas j usam para realizar inmeras tarefas administrativas no Linux Quem usa Linux conhece bem o prompt de comando sh, ou variaes como o bash. O que muita gente no sabe que o sh ou o bash tm uma "poderosa" linguagem de script embutida, utilizada

16

16

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
por diversas pessoas para facilitar a realizao de inmeras tarefas administrativas no Linux, ou at mesmo para criar seus prprios programinhas. O criador da distribuio Slackware, Patrick Volkerding, usa essa linguagem para toda instalao e configurao de sua distribuio. E agora voc tambm poder criar scripts para automatizar as tarefas dirias de um servidor, efetuar backup automtico regularmente, procurar textos, criar formataes, e muito mais. Para voc ver como esta linguagem pode ser til, vamos apresentar alguns passos introdutrios. Os interpretadores de comandos so programas feitos para intermediar o usurio e seu sistema. Atravs deles, o usurio manda um comando, e o interpretador o executa no sistema. Eles so a "shell" do sistema Linux. Usaremos o interpretador de comandos bash, por ser mais "extenso" que o sh. E para que voc tenha uma compreenso melhor das informaes aqui relatadas, recomendvel ter uma base sobre o conceito de lgica de programao. Uma das vantagens desses shell scripts que eles no precisam ser compilados, ou seja, basta criar um arquivo texto qualquer, e inserir nele os comandos. Para dar a esse arquivo a definio de "shell script", teremos que incluir uma linha no comeo do arquivo (#!/bin/bash) e torn-lo "executvel", utilizando o comando chmod. Vamos seguir com um pequeno exemplo de um shell script que a tela mostre: "Nossa! Estou vivo!": #!/bin/bash echo `Nossa! Estou vivo!' Fcil, hein? A primeira linha indica que todas as outras linhas abaixo devero ser executadas pelo bash (que se localiza em /bin/bash), e a segunda linha imprimir na tela a frase "Nossa! Estou vivo!", utilizando o comando echo, que serve justamente para isso. Assim, todos os comandos que digitar diretamente na linha de comando, voc poder incluir no seu shell script, criando uma srie de comandos. E essa combinao de comandos que forma o chamado shell script. Tente tambm dar o comando `file arquivo' e veja que a definio dele de Bourne-Again Shell Script (Bash Script). Contudo, para o arquivo ser executvel, voc tem que atribuir essa propriedade a ele. Usando o comando chmod, faremos a atribuio: # chmod +x arquivo Pronto, o arquivo poder ser executado com um simples "$./arquivo".

Conceito de variveis em shell script Variveis so caracteres que armazenam dados, uma espcie de atalho. O bash reconhece uma varivel quando ela comea com $, ou seja, a diferena entre `palavra' e `$palavra' que a primeira uma palavra qualquer, e a outra, uma varivel. Para definir uma varivel, utilizamos a seguinte sintaxe: variavel="valor"
O `valor' ser atribudo `varivel'. Valor pode ser uma frase, nmeros, e at outras variveis e comandos. O valor pode ser expresso entre aspas (" "), apstrofos (` '), ou crases (``). As aspas vo interpretar as variveis que estiverem dentro do valor, os apstrofos lero o valor literalmente, sem interpretar nada, e as crases vo interpretar um comando e retornar a sua sada para a varivel. Vejamos exemplos:

17

17

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

$ variavel= "Eu estou logado como usurio $user" $ echo $varivel Eu estou logado como usurio cla $ variavel=`Eu estou logado como usurio $user' $ echo $varivel Eu estou logado como usurio $user $ variavel= "Meu diretrio atual o `pwd`" $ echo $varivel Meu diretrio atual o /home/cla Se voc quiser criar um script em que o usurio deve interagir com ele, possvel que voc queira que o prprio usurio defina uma varivel, e para isso usamos o comando read, que dar uma pausa no script e ficar esperando o usurio digitar algum valor e teclar enter. Exemplo:

echo "Entre com o valor para a varivel: " ; read varivel (O usurio digita e tecla enter, vamos supor que ele tenha digitado `clarissa eu te amo') echo $varivel clarissa eu te amo Controle de fluxo com o if Controle de fluxo so comandos que vo testando algumas alternativas, e, de acordo com essas alternativas, vo executando comandos. Um dos comandos de controle de fluxo mais usados certamente o if, que baseado na lgica "se acontecer isto, irei fazer isso, se no, irei fazer aquilo". Vamos dar um exemplo:

if [ -e $linux ] then echo `A varivel $linux existe.' else echo `A varivel $linux no existe.' fi O que este pedao de cdigo faz? O if testa a seguinte expresso: se a varivel $linux existir, ento (then) ele diz que existe com o echo, seno (else), ele diz que no existe. O operador -e que usei, e pr-definido, uma das opes que voc pode encontrar na listagem dos operadores, conforme a tabela: -eq - Igual != - Diferente -gt - Maior

18

18

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
-lt - Menor -o - Ou -d - Se for um diretrio -e - Se existir -z - Se estiver vazio -f - Se contiver texto -o - Se o usurio for o dono -r - Se o arquivo pode ser lido -w - Se o arquivo pode ser alterado -x - Se o arquivo pode ser executado

Outras alternativas
Existem inmeros comandos no Linux, e para explicar todos, teramos de publicar um livro. Mas existem outras possibilidades de aprendizado dessa linguagem, que tambm usada em todas as programaes. Primeiro, voc pode dar uma olhada na manpage do bash (comando man bash), que disponibilizar os comandos embutidos no interpretador de comandos. Uma das coisas essenciais para o aprendizado sair coletando exemplos de outros scripts e estud-los minuciosamente. Procure sempre comandos e expresses novas em outros scripts e em manpages dos comandos. E por ltimo, mas no menos importante, pratique bastante. Na tabela a seguir, voc pode encontrar uma listagem de comandos para usar em sua shell script: echo - Imprime texto na tela read - Captura dados do usurio e coloca numa varivel exit - Finaliza o script sleep - D uma pausa de segundos no script clear - Limpa a tela stty - Configura o terminal temporariamente tput - Altera o modo de exibio if - Controle de fluxo que testa uma ou mais expresses case - Controle de fluxo que testa vrias expresses ao mesmo tempo for - Controle de fluxo que testa uma ou mais expresses while - Controle de fluxo que testa uma ou mais expresses E assim voc pode comear a escrever seus prprios scripts e facilitar sua vida no Linux.

19

19

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Localizao de Usurios e Grupos


Naturalmente seu sistema somente beneficia usurios se ele puderem alcanar isso. Um arquivo crtico que mantm uma lista dos usurios de sistema, juntamente com as informaes /etc/passwd. Os arquivos /etc/group contm informaes sobre os grupos no host e os membros (usurios) de cada grupo. Se tiver ativado senhas de sombra durante a instalao, voc tambm precisa estar ciente do arquivo /etc/shadow, que possudo e exclusivamente marcado como arquivo de leitura por root. Esse arquivo mantm as senhas criptografadas em vez da localizao tradicional no segundo campo do arquivo /etc/passwd. Embora seja possvel simplesmente editar esses arquivos para fazer adies, excluses ou alteraes para usurios, no aconselhamos isso. O programa login corresponde esses arquivos linha por linha e um simples erro de digitao em seu editor pode aleijar o sistema inteiro.

Arquivos e Diretrios
Voc no pode utilizar um computador sem em algum ponto precisar manipular arquivos e diretrios. A essa altura, o Linux faz as pessoas lembrarem da poca do prompt de comando do MS-DOS. Como no MS-DOS, existem arquivos e diretrios no Linux que podem ser acessados pelo usurio. Dependendo das permisses de cada arquivo/diretrio, um usurio normal pode no ter acesso. Iremos ver isso adiante

Compreendendo os tipos de arquivo


Voc encontra muitos tipos de arquivos diferentes no mundo do Linux. Por tipos, no estamos nos referindo a extenses, como .exe ou .doc. O tipo em questo em vez disso uma reflexo do que o arquivo e de como ele deve ser utilizado. Para ver o contedo do diretrio, usamos o comando ls. geralmente complementamos com o flag -la para mostrar os diretrios e arquivos detalhadamente. Para mudar de diretrio, usamos o comando cd, como no MS-DOS, mas a diferena bsica que as barras no so invertidas, como podemos ver no exemplo: cd /usr/src/ | cd /root | cd /etc

Permisses de arquivos
Em UNIX, podemos controlar quem pode ler, gravar/alterar/apagar e executar nossos arquivos. As permisses so classificadas ao nvel de usurio, grupo e outros. Cada arquivo tem um UID (User ID) e um GID (Group ID), que mostra quem o dono do arquivo. Segue o exemplo: -rw-r--r-- 1 trentas nucc 114 Nov 23 1996 .lessrc O arquivo .lessrc tem 114 bytes, o dono do arquivo o usurio trentas e o grupo nucc. Vejamos agora as permisses: -rwxrwxrwx ||||||||||--> execuo para outros |||||||||---> gravao para outros ||||||||----> leitura para outros |||||||-----> execuo para grupo ||||||------> gravao para grupo |||||-------> leitura para grupo ||||--------> execuo para usurio |||---------> gravao para usurio ||----------> leitura para usurio |-----------> Tipo de arquivo (arquivo, diretrio, link simblico, FIFOs, etc) Ento, podemos agrupar assim: -rwx rwx rwx \Usurio/ \Grupo/ \Outos/

20

20

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
Analisando agora nosso exemplo passado do arquivo .lessrc, podemos observar que o arquivo pode ser lido por todos, mas somente o usurio trentas pode apagar/modificar o arquivo. OBS: O root atropela quaisquer permisses nos arquivos (afinal, ele o root. :))

Mudando permisses de arquivos e diretrios Para mudar as permisses usamos o comando chmod. Depois de entendido como funcionam as permisses, a sintaxe dele bem simples, e j foi mencionada anteriormente:
chmod <ugoa><+-><rwx> <arquivos> Exemplificando, vamos tirar as permisses de leitura do grupo e outros do nosso arquivo .lessrc: chmod go-r .lessrc digitando o comando ls -la obtemos: -rw------- 1 trentas nucc 114 Nov 23 1996 .lessrc Agora, supondo-se que ele um arquivo executvel, vamos dar permisso para execuo para todos os nveis: chmod ugo+x .lessrc ou chmod a+x .lessrc digitando o comando ls -la obtemos: -rwx--x--x 1 trentas nucc 114 Nov 23 1996 .lessrc Existe tambm um outro modo de modificar as permisses que iremos usar para voltar o arquivo nas permisses originais: chmod 644 .lessrc digitando o comando ls -la obtemos: -rw-r--r-- 1 trentas nucc 114 Nov 23 1996 .lessrc Segue uma tabela com todos os valores das permisses: 0 1 2 3 4 5 6 7 ----x -w-wx r-r-x rwrwx

Tambm existe a possibilidade do arquivo ter o UID(Dono) ou GID (grupo) trocado, mas apenas o root pode faz-lo. Os comandos so, respectivamente chown e chgrp: Digitando o comando abaixo estamos alterando o dono do arquivo para o usurio root chown root .lessrc digitando o comando ls -la obtemos:

21

21

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
-rw-r--r-- 1 root nucc 114 Nov 23 1996 .lessrc

Digitando o comando abaixo estamos alterando o grupo do arquivo para o usurio system chgrp system .lessrc digitando o comando ls -la obtemos: -rw-r--r-- 1 root system 114 Nov 23 1996 .lessrc Com o comando chown podemos tambm mudar o grupo. Iremos usar para voltar o arquivo ao normal: Digitando o comando abaixo estamos alterando o dono e grupo do arquivo para o usurio trentas e grupo nucc chown trentas.nucc .lessrc digitando o comando ls -la obtemos: -rw-r--r-- 1 trentas nucc 114 Nov 23 1996 .lessrc

Comandos bsicos do Linux:


Os comandos de prompt so bastantes teis no linux . Ex.: 1. Para criar e apagar um diretrio usamos o comando mkdir e rmdir respectivamente. Observao: Voc s pode apagar um diretrio com rmdir se o mesmo est vazio. 2. Para copiar um ou mais arquivos para outro destino usamos o comando cp. Com o flag a ele se torna recursivo e mantm as permisses. Para mover e/ou renomear um arquivo, usamos mv. 3. Para apagar um arquivo, usamos o comando rm. Complementando com o flag -rf, temos o que no MS-DOS se chama deltree. Com este flag o comando fica recursivo e no pede confirmao. Devemos usar este comando com cautela, principalmente se estivermos logados como root. 4. No MS-DOS, o comando type para mostrar contedo de um arquivo texto o mesmo do que o comando cat no Linux. Mas existem visualizadores de textos melhores, como o more e o less. Esta uma pequena lista de comandos do Linux. Apesar de simples e pequena, essencial para comear a trabalhar no linux.

Comando Clear Cd

Descrio Exemplo Limpa a tela. anlogo ao CLS do DOS. clear Muda o diretrio corrente. O Linux e demais Unix utiliza-se decd /etc (Vai para o barras comuns e no invertidas como em outros sistemas,diretrio /etc) para informar a rvore de diretrios. cd - (Retorna ao diretrio que estvamos anteriormente sua execuo) cd ~ ou cd (Vai para o diretrio home do usurio).
Mostra o diretrio em que estamos localizados. Seu retornoPwd ser exatamente o caminho completo do diretrio a partir da raiz.

Pwd

22

22

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
Ls Lista os arquivos do seu HD, mesma funo que o DIR dols DOS. ls -a Atributos mais usados: ls l -a = mostra todos os arquivos, inclusive os ocultos ls F -l = mostra permisses, bytes, diretrio, etc. Ou seja a listagemls color com detalhes ls S -F = Diferencia tipos de arquivos acrescentando mais umls d caractere ao seu nome. (*) para arquivos executveis, (/) para diretrios e (@) para links. -color = Diferencia tipos de arquivos pela cor. Azul forte para diretrios, amarelo para executveis e azul claro para links, branco para arquivos texto. -S = Exibe a lista de arquivos ordenados por tamanho. -d = Lista somente diretrios utilizado para copiarmos arquivos de um local (origem) paracp /etc/passwd / outro (destino). etc/passwd.bkp Sintaxe: cp -[flags] <origem> <destino> -a = Preserva ao mximo os atributos originais dos arquivosorigem. (a - arquive). -b = Cria backups de arquivos que sero sobrescritos ou removidos durante a cpia (b - backup). -f = Copia removendo os arquivos de mesmo nome no destino sem confirmao (f -force). -p = Preserva informaes do arquivo-origem como dono, grupo, permissionamentos e datas para o arquivo-destino (p preserve). -R = Realiza cpia recursiva (r - recursive). -v = Exibe a lista de arquivos copiados conforme a cpia realizada (v - verbose). Make directory, ou seja, utilizado para a criao de diretrios.mkdir diretorio_teste Sintaxe: mkdir <alvo> conferindo.... ls l Remove arquivos e/ou diretrios. As flags mais utilizadas so: rm bzImage / rm -i = Remoo interativa. Pede confirmao antes de cadaarquivo1.htm excluso. arquivo2.c -f = Remoo forada (f - force). arquivo3.tst / rm -r -R = Remove recursivamente o contedo do diretrio nodiretrio. diferenciando arquivos ou subdiretrios e seus respectivosrm -rf equivalente ao contedos. deltree do MS-DOS. Move ou renomeia arquivos. mv teste teste2 Sintaxe: mv <arquivo_de_origem> <arquivo_de_destino> mv teste /home/teste2 mv teste /home/egp/ No muito utilizado, pois serve apenas para removerrmdir diretorio_teste diretrios sem qualquer contedo.

Cp

mkdir

rm

mv

rmdir

23

23

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
ln utilizado na criao de links. Links so apontamentos para oLn -s / contedo de arquivos ou diretrios. Dessa maneira podemusr/local/j2sdk1.4.0 / haver vrios ponteiros para o mesmo contedo. usr/local/java Podemos criar um "link hard" ou "link symbolic". A diferena que o primeiro se trata de uma "cpia linkada" do arquivo original, possuindo uma cpia do contedo alm de apontar para o original, assim qualquer alterao feita no contedo do arquivo estar automaticamente atualizada nos links, enquanto o segundo, o symbolic, realmente apenas um ponteiro para o contedo do original. O padro do comando ln a criao de "hard links", para criarmos "symbolic links" devemos utilizar a flag "-s". Utilizamos o comando find para, como o prprio nome sugere,find / -size +500k encontrarmos arquivos ou diretrios pelo file system. find /home -name lixo Sintaxe: find <origem> -[opes] <destino> -exec rm '{}' ';' -atime n = Indica que devem ser procurados arquivos quefind /home -name lixo foram acessados no n dias passados. -ok rm '{}' ';' -size n = Indica que devem ser procurados arquivos de tamanho igual a n blocos de 512 bytes. O parmetro n pode ser seguido da letra c para indicar o tamanho em bytes, k para kbytes. -nouser = Indica que devem ser procurados arquivos que no esto associados a nenhum usurio. Os ditos arquivos "rfos". -user = Indica que devem ser procurados arquivos cujo usurio passado pelo argumento seguinte o proprietrio (owner) dos arquivos. -group = O mesmo que user, porm testar se o arquivo est associado ao grupo passado pelo argumento seguinte flag. -name = Indica que devem ser procurados os arquivos cujos nomes conferem com o passado pelo argumento seguinte flag. -exec cmd = Indica que deve ser executado o comando cmd aps cada sada encontrada. Os argumentos do comando cmd sero executados at que o parmetro ';' seja encontrado. Pode-se utilizar como argumento o parmetro '{}', o qual ser substitudo automaticamente pelo find pelo nome e o caminho completo do arquivo encontrado. -ok cmd = Mesma funo que a flag exec, porm pede confirmao antes da execuo de cada comando.

find

locate

Tambm tem a funo de localizar arquivos. Porm, o locatelocate java foi criado para agilizar a busca. Para agilizar a ao de encontrar arquivos foi criado um banco de dados chamado locatedb em /var/lib que possui os nomes dos arquivos guardados como registros. Dessa maneira, o comando locate no procura por todo o file system e sim apenas em seu banco de dados. O comando utilizado para atualizar o banco de dados do locatedb o updatedb sem flags. Sintaxe: locate <alvo>

24

24

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
whereis utilizado para localizar rapidamente arquivos binrios, fonteswhereis locate relacionados e documentao de programas instalados nowhereis -b ls sistema. Sintaxe: whereis -[flags] <alvo> -m = Para procurar apenas a documentao -b = Para procurar somente os binrios -s = Para procurar somente os fontes utilizado para paginar a sada de comandos ou arquivos,more /etc/passwd geralmente em formato texto, passados no argumento-alvo. less /etc/passwd Sintaxe: more <alvo> O comando "less" tem a mesma funo do more e geralmente o mais utilizado por ser considerado mais capaz. Tanto o less como o more podem listar mltiplos arquivos e aceitam comandos em tempo de execuo. utilizado para exibir o contedo de arquivos na sada-padro,cat -n / que inicialmente ser sempre seu monitor ou a janela de seuhome/egp/prog1.c terminal. Sintaxe: cat -[flags] <alvo> -n = Lista o contedo numerando as linhas da sada ao mesmo tempo. Tem a mesma funo e sintaxe do comando cat, exceto quezcat / este feito para exibir o contedo de arquivos compactadoshome/egp/prog1.zip como se no o fossem. Utilizado para verificar as ltimas 10 linhas de um arquivo. tail -20 / muito til para a verificao de arquivos de logs. home/egp/.bash_histor Sintaxe: tail -[flags] <alvo> y -n = Indica o nmero de linhas a serem listadas do fim para o incio do arquivo-alvo. Segue o mesmo princpio do comando tail, porm, ao contrriohead -20 / deste, lista as linhas do arquivo-alvo do incio para o fim.home/egp/.bash_profile Assim como no comando tail, a flag mais utilizada e a "-n" e tem o mesmo propsito. utilizado para criar ou atualizar os horrios de acesso etouch / modificao de arquivos e diretrios. home/egp/teste.txt muito utilizado. Sua funo procurar pelo trecho "texto" nogrep -r "PATH" * (s) arquivo(s)-alvo. A sada ser a linha do arquivo em que oset | grep -i "path" trecho foi encontrado. Sintaxe: grep -[flags] <"texto"> <alvo> -r = procura recursiva -i = no faz diferenciao entre caracteres maisculos e minsculos na procura. -n = exibio do nmero da linha em que a string foi encontrada. Tem a mesma funo do grep exceto por ter sido criado para procurar trechos em arquivos-texto compactados. utilizado para comparar arquivos, retornando a diferena e indicando o caractere e a linha onde esta ocorreu. Sintaxe: cmp -[flags] <arq1> <arq2>

more

cat

zcat

tail

head

touch

grep

zgrep cmp

zcmp

Tem a mesma funo que o cmp, porm trabalha com arquivos compactados.

25

25

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
diff Tem a mesma funo que o comando cmp, porm sua sadadiff /etc/passwd / costuma ser mais completa e amigvel. Da mesma maneiraetc/passwd.ant que o comando cmp, o diff tem o seu "z-irmo". Ou seja, existe o comando zdiff. Sintaxe: diff -[flags] <arq1> <arq2> Informa sobre o formato do arquivo passado como ofile .bashrc arqumento-alvo. uma das opes do Linux para compactao de arquivos. Acompress ./dir01/teste sada automaticamente gerada composta do nome completo(Ele gerar o arquivo do arquivo mais os caracteres ".Z" teste.Z, no diretrio Sintaxe: compress <alvo> "dir01". O comando para descompactao do arquivo gerado pelo comando compress o comando uncompress. Tambm utilizado para compactao de arquivos. A sintaxegzip /home/egp/teste2 a mesma do comando compress, porm a sada gerada(Ele gerar o arquivo com os caracteres ".gz" e no ".Z" e o comando parateste2.gz, no diretrio / descompactao o gunzip. home/egp. Sintaxe: gzip -[flags] <alvo> -v = Verbose. Exibe informaes sobre o processo de compactao, como por exemplo o grau de compactao de cada arquivo. -l = Lista os nomes dos arquivos contidos no arquivo compactado. -t = Executa testes para determinar o resultado de um comando gzip ou gunzip. -r Executa o comando recursivamente. um dos mais utilizados em sistemas Unix. Sua funo tar -cvf teste.tar * "empacotar" arquivos e diretrios passados como argumento-tar -tvf teste.tar origem em um arquivo passado no argumento-destino. Em outros sistemas os programas de compactao como arj.exe emkdir restore pkzip.exe fazem o empacotamento alm da compactaomv teste.tar ./restore/ tambm. No Unix esse processo pode ser separado. cd restore O comando tar do Linux possui uma particularidade: a flag "-z" ou "-Z" pode ser usada para que o tar utilize o gzip ou otar -xvf teste.tar compress respectivamente para compactar o arquivo-destino aps o empacotamento. utilizado em backups para diversos devices como floppy disk, dat tape, zip disk, etc. Sintaxe: tar -[flags] <destino> <origem> -c = Cria um novo arquivo tar -f = Especifica o device ou arquivo-destino. O default / dev/rmt0. -M = Cpias em multivolumes. -N data = Copia arquivos mais novos que a data passada pelo parmetro data. -t = Lista arquivos em um tar file. -v = Exibe a lista dos arquivos processados. -x = Extrai arquivos de um arquivo tar. -z = Utiliza o gzip como filtro para compactar o arquivo empacotado. -Z = Utiliza o compress como filtro para compactar o arquivo empacotado. Mostra quem esta logado em sua mquina no momento. who Mostra quem voc e - util quando voc esquece com qual loginwhoami entrou. Mostra o espao usado, livre e a capacidade das parties dodf seu HD.

file compress

gzip

tar

who whoami Df

26

26

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
free exit ou logout shutdown Exibe a memria livre, a usada, e os buffers da memria RAM free Sai de sua sesso atual. logoutou exit Reboota a mquina shutdown (reseta) shutdown (desliga) rebootou init 6 -r -h now now

reboot ou init 6 Startx Kde uname -a

Reinicializa a mquina

Inicia o X Window (Parte Grfica do Linux) startx Inicia o KDE (Gerenciador de janelas, modo grfico), desdeKde ou startkde que tenha sido instalado o pacote kdestart Mostra a verso do kernel e a data da compilao.

Comandos gerais do Linux:


Abaixo, segue uma lista bem mais elaborada dos comandos principais do Linux, separados por categorias.

Administrao de Usurios
adduser - Adiciona usurios no sistema passwd - Altera senha do usurio no sistema userdel - Apaga usurios no sistema last - Informa os ltimos logins do usurio login - Inicializa uma seo do usurio logout - Termina a seo do usurio users - Informa o usurios conectados logname - Informa o usurio corrente who - Informa os usurio conectados e os respectivos terminais whoami - Informa o nome do usurio corrente su - Troca o usurio e o grupo da shell
id - Informa os dados de identificao do usurio

w - Informa os usurios conectados e o que esto fazendo

27

27

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Administrao do Sistema
uname - Informa os dados do sistema uptime - Informa h quanto tempo foi dado boot... arch - Informa a arquitetura do computador free - Informa como esta sendo utilizado a memria mkbootdisk - Cria o disco de boot do sistema shutdown Desliga o sistema

Mdulos
lsmod - Lista os mdulos carregados pelo sistema rmmod remove o mdulo carregado no sistema insmod - Carrega o mudulo no sistema

Console
clear - Limpa a tela do terminal

Processos
ps - Exibe os processos em execuo at - Programa a execuo de um comando ou script top - Informa a taxa de utilizao da CPU, e os dados dos processos em execuo crontab Executa comandos em determinado horrio

Data/Hora/Calendrio
cal - Exibe o calendrio date - Exibe e acerta a data/hora do sistema

Porta Seriais
statserial - Exibe o status das portas seriais

28

28

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Arquivos/Diretrios
pwd - Informa o diretrio corrente cd - Muda o diretrio de trabalho rm - Remove arquivos ou diretrios mkdir - Cria diretrio

Sistema de Arquivos Atributos


chattr - Altera os atributos do arquivo no sistema de arquivo ext2fs chgrp - Altera o grupo do arquivo lsattr - Informa os atributos do arquivo no sistema de arquivo ext2fs chmod- Altera as permisses de acesso de arquivos ou diretrios

Sistema de Arquivo Armazenamento


df - Informa os dados de ocupao do sistema de arquivo du - Informa o espao ocupado pelos arquivos ou diretrios hdparm - Otimizao do HD fdformat - Formata disquete em baixo nvel mkfs - Cria o sistema de arquivo

Miscelnea
man - Exibe a ajuda de um referido comando

Backup utilizando o comando TAR


O tar o comando utilizado para criao de backups no Linux. Sua sintaxe : Sintaxe: tar -[flags] <destino> <origem> Opes mais comuns do comando tar -c = Cria um novo arquivo tar -f = Especifica o device ou arquivo-destino. O default /dev/rmt0. -M = Cpias em multivolumes. -N data = Copia arquivos mais novos que a data passada pelo parmetro data. -t = Lista arquivos em um tar file. -v = Exibe a lista dos arquivos processados. -x = Extrai arquivos de um arquivo tar. -z = Utiliza o gzip como filtro para compactar o arquivo empacotado. -Z = Utiliza o compress como filtro para compactar o arquivo empacotado. Uma observao importante, que a extenso-padro utilizada para arquivos processados pelo tar .tar e tar.Z ou tar.gz para os compactados, porm o comando tar no as coloca automaticamente, ficando por conta do usurio indicar o nome completo, inclusive com qualquer extenso.

29

29

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
O comando tar na verdade no compacta os dados, ele somente agrupa vrios arquivos e/ou diretrios em um nico arquivo. O gzip e gunzip so os responsveis por compactar e descompactar, respectivamente, o arquivo criado pelo tar. Exemplos: tar -cv backup.tar /home/usurio/programas/ (gera um arquivo backup.tar com os arquivos que esto dentro do diretrio /home/usurio/programas/) gzip backup.tar (compacta o arquivo backup.tar e gera o arquivo backup.tar.gz) tar -vczf backup.tar.gz /home/usurio/programas/ (gera o arquivo backup.tar.gz com os arquivos que esto dentro do diretrio /home/usurio/programas) tar -vczf /dev/device /home/usurio/programas (compacta os dados e gera o backup em um dispositivo do sistema, geralmente fita dat)

O editor de texto vi
Para iniciar o editor num novo arquivo basta digitar vi na linha de comando. Para abrir um arquivo j existente digite vi seguido do nome do arquivo. Exemplo: para abrir o arquivo chamado teste digite: $ vi teste O vi possui trs modos de trabalho: 1. modo de comando 2. modo de edio 3. modo de linha

Modo de comando
Inicialmente, ao abrir um arquivo, o editor est no modo de comando. Neste modo voc pode movimentar-se no texto usando as teclas de seta ou as teclas mostradas na tabela abaixo (observe que h diferena entre maisculas e minsculas): TECLA/MOVIMENTO k= para cima j= para baixo l= para direita h = para esquerda 0 (zero) =para o incio da linha $ (dlar) = para o final da linha gg = para o incio do arquivo G = para o fim do arquivo nG =para a linha n CTRL + f = passa para a prxima tela (Page Down) CTRL + b = volta para a tela anterior (Page Up) H = primeira linha da tela M = linha no meio da tela L = ltima linha da tela Ainda no modo de comando, voc pode procurar por uma string tanto para baixo como para cima no texto. Para procurar para baixo digite /<string> Ao fazer isso o cursor ser colocado na primeira ocorrncia de string. Para ir para a prxima ocorrncia basta pressionar a tecla n. Para procurar para cima digite: ?<string> Para ir para a prxima ocorrncia acima pressione n. Para apagar a linha atual no modo de comando digite dd. Para apagar n linhas a partir da posio do cursor digite dn e pressione a tecla ENTER.

30

30

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
Para desfazer a ltima alterao feita digite u. Ainda no modo de comando voc pode digitar o comando CTRL + g. Este comando exibe o nome do arquivo, a quantidade de linhas e a posio do cursor.

Modo de edio
Para entrar no modo de edio e digitar ou alterar seu texto pressione a tecla INSERT. Ao fazer isso aparecer a mensagem -- INSERT -abaixo do editor indicando que, se voc digitar, ir inserir novo texto na posio do cursor. Se voc pressionar a tecla INSERT de novo aparecer a mensagem -- REPLACE -abaixo do editor, indicando que, se voc digitar, ir substituir o texto sob o cursor. Pressionando a tecla INSERT voc alterna entre insero e substituio de texto. Para retornar ao modo de comando pressione a tecla ESC.

Modo de linha
Para entrar no modo de linha digite : (dois pontos) a partir do modo de comando. Neste modo voc pode executar os seguintes comandos (todos devem ser seguidos pelo pressionamento da tecla ENTER): W = salva o arquivo q! = sai do vi wq! = salva o arquivo e sai do vi 1,20 s/font/bug substitui da linha 1 at a linha 20 todas as ocorrncias de font por bug %s/font/bug substitui em todo o arquivo todas as ocorrncias de font por bug Para finalizar vale ressaltar que o vim exibe, abaixo, a posio atual do cursor (linha e coluna) e tem um recurso bem legal em que textos de cdigos HTML ou de cdigos fonte em linguagem C exibem os diversos comandos em cores diferentes. Se achar esta exibio de cores chata use o vi mesmo.

Usando Pipes
Voc pode rodar mais de um comando numa mesma linha usando pipes. O smbolo usado para fazer o pipe um "|" entre dois comandos: ls -la | more Com isso, o "ls -la" ser rodado e, a sada dele (stdout) no aparecer na tela neste ponto, ele ir direto para a entrada (stdin) do more e, a sim, a saida do more (stdout) aparecer na tela, formatado em pginas. O usurio pode colocar vrios pipes numa mesma linha: ls -la | grep xxx | more grep um software poderoso para filtrar strings. Neste exemplo, o stdout do ls -la ir entrar no stdin do grep, filtrando todas as linhas que aparece a string "xxx" e ento, o stdout do grep ir ser formatado pelo more.

31

31

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Fechando programas travados


Apesar do Kernel do Linux ser extremamente estvel, quase impossvel de travar, os programas nem sempre so. Para complicar, o rpido desenvolvimento do sistema e a necessidade por novos aplicativos acabam fazendo que com muitas vezes as distribuies tragam programas ainda em estgio Beta, ou mesmo Alpha, que ainda no esto completamente estveis. Isto acaba resultando em travamentos. A vantagem do Linux neste ponto que voc nunca precisar reiniciar todo o sistema, bastar matar o aplicativo problemtico, ou no pior dos casos reiniciar a interface grfica. A forma mais prtica de finalizar aplicativos usar o xkill. Ao clicar sobre o cone do programa, ou chama-lo pelo terminal (digitando xkill) o cursor do mouse virar um cone de caveira. Basta clicar sobre o programa para finaliza-lo Voc tambm pode finalizar os programas atravs do terminal, usando os comandos kill e killall. O killall pode ser usado sempre que voc souber o comando que inicializa o programa a ser fechado. Por exemplo, para fechar o xmms, o mesmo do screenshot acima, bastaria escrever killall xmms, para finalizar o konqueror o comando seria killall konqueror e assim por diante. O problema com o killall que em muitos casos o comando para fechar o programa no o mesmo que seu nome. Para fechar o mozilla por exemplo, voc teria que digitar illall mozilla-bin e no k apenas killall mozilla, que seria o mais lgico. Para os casos onde voc no souber o nome do programa, existe o comando que mostra todos ps os processos em execuo. Existem vrias opes para este comando. A que costumo usar mais freqentemente ps -x | more que mostra todos os processos iniciados por voc no terminal atual, sempre dando uma pausa quando esta encher a tela: Na coluna direita da lista voc ver os nomes dos aplicativos. Veja que em muitos casos o mesmo programa aparece vrias vezes, como o xmms, mas o killall se encarrega de acabar com todos os vestgios. Na coluna da esquerda est o PID de cada processo, que pode ser usado em conjunto com o comando kill, como em kill 2444 Alm do ps -x, voc pode tentar o ps -aux, que inclui os processos iniciados por outros usurios e em outros terminais. Ele resulta numa lista bem mais detalhada e tambm maior. Se ao invs de um programa quem travar for o gerenciador de janelas, use o atalho Ctrl+Alt+Backspace para finaliz-lo. Voc voltar para a janela de login e poder inicializar novamente o gerenciador, ou tentar outro.

FileSystems
Filesystem um conjunto de arquivos e diretrios que ocupa uma rea pr-estabelecida do disco e que necessita de uma ponte de conexo com a estrutura principal. No confunda filesystem com diretrio, porque o diretrio, apesar de ser um conjunto de arquivos, no possui uma regio especfica do disco reservada. Existem vrios tipos de filesystems possveis de serem utilizados com o Linux, entre eles ext2 e ext3 (que o nativo do linux), msdos, vfat, ISO9660 (cdrom), NFS (Network File System), NTFS, REISERFS, etc...

Identificao de discos e parties em sistemas Linux


No GNU/Linux, os dispositivos existentes em seu computador (como discos rgidos, disquetes, tela, portas de impressora, modem, etc) so identificados por um arquivo referente a este dispositivo 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...)

32

32

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
| | | |_Sigla que identifica o tipo do disco rgido (hd=ide, sd=SCSI, xd=XT). | |_Diretrio onde so armazenados os dispositivos existentes no sistema. Abaixo algumas identificaes de discos e parties em sistemas Linux: /dev/fd0 - Primeira unidade de disquetes /dev/hda - Primeiro disco rgido na primeira controladora IDE do micro (primary master) /dev/hda1 - Primeira partio do primeiro disco rgido IDE. /dev/hdb - Segundo disco rgido na primeira controladora IDE do micro (primary slave) /dev/hdb1 - Primeira partio do segundo disco rgido IDE /dev/sda - Primeiro disco rgido na primeira controladora SCSI /dev/sda1 - Primeira partio do primeiro disco rgido SCSI /dev/sr0 - Primeiro CD-ROM SCSI /dev/sr1 - Segundo CD-ROM SCSI /dev/xda - Primeiro disco rgido XT /dev/xdb - Segundo disco rgido XT As letras de identificao de discos rgidos podem ir alm de hdb, em meu micro, por exemplo, a unidade de CD-ROM est 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 monta-los.

Controle de Montagem e Desmontagem de Sistema de Arquivos


O Linux tem suporte para montar vrios tipos de filesystems. Geralmente pegamos um device (/dev/???) e montamos num diretrio. Para isso, precisamos informar que tipo de device iremos montar. O comando usado o comando mount. Aqui vai a sintaxe: mount -t <FS> <DEVICE> <MOUNT-POINT> onde, <FS> - Tipo de filesystem <DEVICE> - filesystem a ser montado <MOUNT-POINT> - diretrio vazio que ser montado o filesystem., Exemplos: mount -t iso9660 /dev/cdrom /cdrom mount -t msdos /dev/fd0 /drivea Podemos montar a partio de Windows 95/98 e ME em uma mquina linux com os seguintes comandos: mkdir /mnt/win95 mount -t vfat /dev/hda1 /mnt/win95 Para desmontar digite umount /mnt/win95

FSTAB
O arquivo /etc/fstab permite que as parties do sistema sejam montadas facilmente especificando somente o dispositivo ou o ponto de montagem. Este arquivo contm parmetros sobre as parties que so lidos pelo comando mount. Cada linha deste arquivo contm a partio que desejamos montar, o ponto de montagem, o sistema de arquivos usado pela partio e outras opes. fstab tem a seguinte forma: Sistema_de_arquivos Ponto_de_Montagem Tipo Opes dump ordem /dev/hda1 / ext2 defaults 0 1 /dev/hda2 /boot ext2 defaults 0 2 /dev/hda2 /dos msdos defaults,noauto,rw 0 0 /dev/hdg /cdrom iso9660 defaults,noauto 0 0

33

33

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
Onde: Sistema de Arquivos Partio que deseja montar. Ponto de montagem Diretrio do GNU/Linux onde a partio montada ser acessada. Tipo Tipo de sistema de arquivos usado na partio que ser montada. Para parties GNU/Linux use ext2, para parties DOS (sem nomes extensos de arquivos) use msdos, para parties Win 95 (com suporte a nomes extensos de arquivos) use vfat, para unidades de CD-ROM use iso9660. Opes Especifica as opes usadas com o sistema de arquivos:

defaults - Utiliza valores padres de montagem noauto - No monta os sistemas de arquivos durante a inicializao (til para CDROMS e disquetes)

ro - Monta como somente leitura user - Permite que usurios montem o sistema de arquivos (no recomendado por
motivos de segurana)

sync recomendado para uso com discos removveis (disquetes, zip drives, etc) para
que os dados sejam gravados imediatamente na unidade (caso no seja usada, voc deve usar o comando sync, Seo 8.22 antes de retirar o disquete da unidade.

Ordem Define a ordem que os sistemas de arquivos sero verificados na inicializao do sistema. Se usar 0, o sistema de arquivos no verificado. O sistema de arquivos raiz que dever ser verificado primeiro o raiz "/" . opo para o dump: Essa opo usada pelo comando dump para determinar quais sistemas de arquivos precisam ser copiados, caso no tenha sido escrito nada nesse quinto campo o valor dele ser considerado zero, e o dump assumir que esse sistema de arquivos no precisa ser copiado. opo para o fsck: Nesse campo voc deve colocar a ordem em que os sistemas de arquivos sero verificados durante o boot. A partio raiz ( / ), sempre como 1, e os outros sistemas de arquivos devem ter esse campo a partir de 2 fazendo seqncia de acordo com o nmero de parties que voc quiser montar. Sistemas de arquivos em um mesmo dispositivo, sero verificados seqencialmente, e sistemas de arquivos em dispositivos diferentes, sero verificados ao mesmo tempo para utilizar o paralelismo disponvel com o hardware. Caso esse campo no exista ou esteja com o valor 0 o fsck no ir checar essa partio ao inicializar o Gnu/Linux. Mais informaes sobre essa opes podem ser encontradas com o comando "man mount" ou "man fstab", aqui eu somente coloquei as que julguei mais importantes. Na primeira linha do exemplo voc puderam ver que esta com as opes default do sistema, j na linha onde montei o cd-rom utilizei

34

34

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
das opes noauto, defaults e user, fazendo com que fique da melhor maneira para trabalhar, claro que essas opes ficam a seu critrio, e suas necessidades. Aps configurar o /etc/fstab, basta digitar o comando mount /dev/hdg ou mount /cdrom para que a unidade de CD-ROM seja montada. Voc deve ter notado que no necessrio especificar o sistema de arquivos da partio pois o mount verificar se ele j existe no /etc/fstab e caso existir, usar as opes especificadas neste arquivo. Para maiores detalhes veja as pginas de manual fstab e mount.

Montando disquete formatado em FAT # mount -t vfat /dev/fd0 /mnt/floopy Montando o Cdrom # mount -t iso9660 /dev/hdX /mnt/cdrom Montando partio Windows FAT # mount -t vfat /dev/hdaX /mnt/win Montando partio Windows NTFS # mount -t ntfs /dev/hdaX /mnt/win Montando compartilhamento remoto Windows/SMB # mount -t smbfs //192.168.0.1/dados /mnt/smb -o username=xxx Montando compartilhamento remoto NFS # mount -t nfs 192.168.0.1:/dados /mnt/nfs Montando uma partio do FreeBSD # mount -t ufs -o ufstype=44bsd /dev/hdaX /mnt/bsd/

PATH
Path o caminho de procura dos arquivos/comandos executveis. O path (caminho) armazenado na varivel de ambiente PATH. Voc pode ver o contedo desta varivel com o comando echo $PATH. Por exemplo, o caminho /usr/local/bin:/usr/bin:/bin:/usr/bin/X11 significa que se voc digitar o comando ls, o interpretador de comandos iniciar a procura do programa ls no diretrio /usr/local/bin, caso no encontre o arquivo no diretrio /usr/local/bin ele inicia a procura em / usr/bin, at que encontre o arquivo procurado. Caso o interpretador de comandos chegue at o ltimo diretrio do path e no encontre o arquivo/comando digitado, mostrada a seguinte mensagem: bash: ls: command not found (comando no encontrado). O caminho de diretrios vem configurado na instalao do Linux, mas pode ser alterado no arquivo / etc/profile. Caso deseje alterar o caminho para todos os usurios, este arquivo o melhor lugar, pois ele lido por todos os usurios no momento do login. Caso um arquivo/comando no esteja localizado em nenhum dos diretrios do path, voc deve executa-lo usando um ./na frente do comando. Se deseja alterar o path para um nico usurio, modifique o arquivo .bash_profile em seu diretrio de usurio (home). OBSERVAO: Por motivos de segurana, no inclua o diretrio atual $PWD no path.

35

35

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

RPM
O utilitrio que permite manipular os Pacotes Red Hat (RPM). Os pacotes com extenses . rpm podem ser executado tanto no Red Hat Linux como em qualquer outro sistema Unix, um produto distribudo sob os termos do GPL. Para os utilizadores finais, o RPM prev uma srie de implementaes que facilitam a manuteno do sistema. Instalar, desinstalar ou atualizar um determinado pacote RPM pode ser feito atravs de um nico comando, na certeza que o RPM vai cuidar de todos os detalhes necessrios ao processo. O RPM mantm uma base de dados com todos os pacotes instalados e dos seus arquivos, o que permite executar pesquisas complexas e verificaes de forma fcil e com bastante segurana. Para quem se dispe a desenvolver software, o RPM permite manter as fontes e os binrios, empacotando-os de forma separada para os utilizadores finais.

Objetivos do RPM Atualizao de Softwares


Com o RPM possvel atualizar os componentes individuais do sistema, sem ter a necessidade de uma reinstalao total. Ao ter uma nova verso de um determinado pacote baseado em RPM, a atualizao feita de forma rpida e totalmente automtica. Os arquivos de configurao so mantidos durante a atualizao, no sendo possvel perder qualquer padronizao anteriormente realizada.

Pesquisas
O RPM foi desenhado, para atender s pesquisas sobre os pacotes j instalados e dos seus arquivos. possvel pesquisar a que pacote pertence um determinado arquivo e qual a sua origem. Os arquivos RPM esto em formato comprimido e com um header padro contendo informaes teis sobre os pacotes e os seus contedos.

Verificao do Sistema
Outra ferramenta poderosa a verificao de pacotes. Caso existam dvidas sobre o apagar de um determinado arquivo importante de algum pacote, pode, logo ao inicio verificar se o pacote apresenta alguma anormalidade. Caso seja localizada possvel reinstalar o pacote se tal for necessrio, sendo preservado sempre as configuraes e padronizaes existentes.

Cdigos Bsicos
Um dos principais objetivos do RPM dar a possibilidade da distribuio das fontes originais, sempre idnticas s que so distribudas pelos autores dos softwares. Com o RPM possvel ter essas fontes e todas as atualizaes que forem sendo aplicadas. Assim torna-se sempre possvel comparar as alteraes efetuadas nos softwares a cada nova verso que seja disponibilizada.

Utilizao do RPM
O RPM tem cinco modos bsicos de operao, excluindo-se o modo de criao de pacotes: instalao, remoo, atualizao, pesquisa e verificao. Alm deste manual podem ser obtidas mais informaes em rpm --help ou em man rpm.

1)Instalao Os pacotes RPM tm nomes de arquivos tais como foo-1.0-1.i386.rpm, que incluem o nome do pacote (foo), verso (1.0), release (1) e a plataforma para o qual ele distribudo (i386). A instalao de um pacote feita atravs de uma linha de comando, como a indicada neste exemplo:
$ rpm -ivh foo-1.0-1.i386.rpm foo ###########################

36

36

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Como pode observar, o RPM apresenta o nome do pacote (o qual no tem necessariamente o mesmo nome que o programa) e apresenta uma sucesso de caracteres # atuando como uma rgua de indicao do progresso do processo de instalao. O processo de instalao foi desenvolvido para ser o mais simples possvel, no entanto alguns erros podem acontecer. Pacotes previamente instalados Se o pacote j tiver sido instalado apresentada a seguinte mensagem: $ rpm -ivh foo-1.0-1.i386.rpm foo package foo-1.0-1 is already installed error: foo-1.0-1.i386.rpm cannot be installed Caso deseje instalar o pacote de qualquer forma, pode ser usado o parmetro -- replacekgs na linha de comando, o que faz com que o RPM ignore o erro.

Arquivos com conflitos

Se tentar instalar um pacote que contm um arquivo j instalado por outro pacote, ser apresentada a seguinte mensagem: # rpm -ivh foo-1.0-1.i386.rpm foo /usr/bin/foo conflicts with file from bar-1.0-1 error: foo-1.0-1.i386.rpm cannot be installed Caso deseje ignorar o erro, pode-se usar o parmetro --replacefiles na linha de comando.

Dependncias no solucionadas

Os pacotes RPM podem "depender" da instalao prvia de outros pacotes, o que significa que eles necessitam desses pacotes para poderem ser executados de forma adequada. Caso deseje instalar um pacote que dependa doutro pacote no localizado ser apresentada a seguinte mensagem: $ rpm -ivh bar-1.0-1.i386.rpm failed dependncias: foo is needed by bar-1.0-1 Para corrigir esse erro necessrio instalar o pacote solicitado. Caso deseje que a instalao prossiga de qualquer forma, pode utilizar o parmetro --nodeps na linha de comando.

2)Desinstalar pacotes Para desinstalar um determinado pacote utilize o comando:


$ rpm -e foo Onde foo sempre o nome do pacote e no do arquivo utilizado na instalao (p.ex. "foo-1.01.i386.rpm"). Pode ser encontrado algum erro de dependncias durante o processo de remoo de um determinado pacote (outro pacote necessita da sua existncia para poder funcionar de forma correta). Neste caso ser apresentada a seguinte mensagem: $ rpm -e foo removing these packages would break dependncias: foo is needed by bar-1.0-1 Se quiser ignorar a mensagem de erro e desinstalar o pacote deve ser utilizado o parmetro -nodeps na linha de comando.

37

37

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br 3)Atualizar pacotes Para atualizar um determinado pacote utilize o comando:
$ rpm -Uvh foo-2.0-1.i386.rpm foo ############## O RPM vai proceder desinstalao de qualquer verso anterior do pacote e faz a nova instalao preservando sempre as configuraes. Sugere-se utilizar sempre a opo -U, uma vez que ela funciona de forma perfeita, mesmo quando no existe uma verso anterior do pacote. Uma vez que o RPM executa um processo de atualizao inteligente, apresentada uma mensagem do tipo: saving /etc/foo.conf as /etc/foo.conf.rpmsave Simplesmente, significa que os arquivos de configurao existentes esto salvos, no entanto mudanas no software podem tornar esse arquivo de configurao no voltar a ser mais compatvel com o pacote (o que no comum). Neste caso, o utilizador deve proceder s adequaes que sejam necessrias. Como o processo de atualizao uma combinao dos processos de remoo e de instalao, alguns erros podem ocorrer como, por exemplo, quando se quer atualizar um determinado pacote com uma verso anterior verso corrente, ser apresentada a seguinte mensagem: $ rpm -Uvh foo-1.0-1.i386.rpm foo package foo-2.0-1 (which is newer) is already installed error: foo-1.0-1.i386.rpm cannot be installed Para forar uma atualizao de qualquer forma, deve usar o parmetro --oldpackage na linha de comando. 4)Consultas Qualquer possvel consulta base de dados dos pacotes instalados feita atravs do comando rpm -q. Com a utilizao deste comando, so apresentados o nome do pacote, verso e release. Como exemplo temos: $ rpm -q foo foo-2.0-1 Ao contrrio de se especificar o nome do pacote, pode utilizar as seguintes opes aps o parmetro -q: -a Permite a consulta a todos os pacotes instalados -f <file> Permite a consulta do pacote que contm o arquivo <file> -F Funciona como o parmetro -f, exceto que funciona a partir do stdin (entrada padro), como por exemplo find /usr/bin | rpm -qF -p <arquivo do pacote> Permite a consulta do pacote criado pelo <arquivo do pacote> -P Funciona como o parmetro -p, exceto que funciona a partir do stdin (entrada padro), como por exemplo find /mnt/cdrom/RedHat/RPMS | rpm -qP Existem vrias formas de se especificar que tipo de informaes devem ser apresentadas pelas consultas. As opes de seleo so: -i

38

38

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
apresenta informaes do pacote, como nome, descrio, release, tamanho, data de criao, data de instalao, vendedor e outras -l apresenta a lista dos arquivos relacionados com o pacote -s apresenta o status dos arquivos do pacote. H dois estados possveis: normal ou missing (no localizado) -d Apresenta uma lista dos arquivos de documentao (pginas de manual, pginas info, README, etc...) -c Apresenta uma lista dos arquivos de configurao. Podem ser alterados aps a instalao para adaptao. Exemplos sendmail.cf, passwd, inittab, etc.. Para as quais as opes que apresentam listas de arquivos podem ser adicionados os parmetros -v para obter a lista no mesmo formato que o comando ls -l.

5)Verificao A verificao de um determinado pacote provoca sempre a comparao dos arquivos instalados de um pacote com as informaes localizadas nas bases de dados do RPM. Entre outras coisas a verificao compara o tamanho, MD5 sum, permisses, tipo, dono e grupo de cada arquivo (size, MD5 sum, permissions, type, owner and group).
Para verificar um pacote deve utilizar o comando: rpm -V <nome do pacote> Pode usar as mesmas opes disponveis no processo de pesquisas. Exemplos: Para verificar um pacote que contenha um determinado arquivo em especial: rpm -Vf /bin/vi Para fazer a verificao de todos os pacotes instalados: rpm -Va Para verificar um determinado pacote instalado e o arquivo de pacote RPM: rpm -Vp foo-1.0-1.i386.rpm Esta funo pode ser til caso exista alguma suspeita de que a base de dados RPM possa estar corrompida. Se no houver nenhuma discrepncia, no h nenhuma resposta do sistema, caso contrrio apresentada uma mensagem na forma de uma string com 8 caracteres, com um "c" significando arquivo de configurao e aps o nome do arquivo. Cada um dos 8 caracteres significa um dos atributos do arquivo comparado aos atributos definidos no pacote RPM, onde um ponto significa que o atributo est ok. Os atributos so: 5 - MD5 checksum S - Tamanho do arquivo L - Link simblico T - Modificao do arquivo D - Device U - Utilizador G- Grupo M- Modo (inclui permisses e tipo de arquivo) Se alguma informao for apresentada necessrio proceder sua avaliao e verificar se necessrio remover o pacote, reinstalar ou procurar resolver o problema de outra forma. RPM - a admirvel surpresa O RPM extremamente til na forma de gerir, diagnosticar e na resoluo dos problemas no sistema. Vejamos alguns exemplos:

39

39

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Vamos supor, que por qualquer razo, foram apagados alguns arquivos, mas no se tem certeza quais os arquivos que foram apagados. Pode ento aplicar o seguinte comando: rpm -Va Se alguns arquivos no forem localizados ou aparentem estar corrompidos, pode reinstalar o pacote imediatamente. Outro caso pode ser o de ter problemas a utilizar o comando /usr/bin/paste. Inicialmente pode verificar a qual pacote o arquivo pertence e se ele est ok, para tal deve-se executar o comando: rpm -Vf /usr/bin/paste Caso esteja utilizando um programa, do qual deseje encontrar a documentao disponvel no pacote pode usar o comando (neste caso para o utilitrio ispell): rpm -qdf /usr/bin/ispell A sada ser: /usr/man/man4/ispell.4 /usr/man/man4/english.4 /usr/man/man1/unsq.1 /usr/man/man1/tryaffix.1 /usr/man/man1/sq.1 /usr/man/man1/munchlist.1 /usr/man/man1/ispell.1 /usr/man/man1/findaffix.1 /usr/man/man1/buildhash.1 /usr/info/ispell.info.gz /usr/doc/ispell-3.1.18-1/README

Ao localizar um arquivo RPM e se forem necessrias mais informaes sobre o pacote, basta digitar (neste caso o arquivo koules): rpm -qip koules-1.2-2.i386.rpm A sada ser: Name: koules Distribution: Red Hat Linux Version : 1.2 Vendor: Red Hat Software Release : 2 Build Date: Mon Sep 02 11:59:12 1996 Install date: (none) Build Host: porky.redhat.com Group : Games Source RPM: koules-1.2-2.src.rpm Size : 614939 Summary : SVGAlib action game; multiplayer, network Description: This arcade-style game is novel in conception and excellent in execution. No shooting, no blood, no guts, no gore. The play is simple, but you still must develop skill to play. This version uses SVGAlib to run on a graphics console. Agora se quiser saber quais os arquivos que o pacote RPM koules instala, deve-se informar: rpm -qlp koules-1.2-2.i386.rpm A sada ser: /usr/man/man6/koules.6

40

40

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
/usr/lib/games/kouleslib/start.raw /usr/lib/games/kouleslib/end.raw /usr/lib/games/kouleslib/destroy2.raw /usr/lib/games/kouleslib/destroy1.raw /usr/lib/games/kouleslib/creator2.raw /usr/lib/games/kouleslib/creator1.raw /usr/lib/games/kouleslib/colize.raw /usr/lib/games/kouleslib /usr/games/koules Outros recursos Para maiores informaes sobre RPM, leia a pgina do manual, a tela de help (rpm --help), e a documentao disponvel em: http://www.rpm.org/

DPKG
O dpkg (Debian Package) o programa responsvel pelo gerenciamento de pacotes em sistemas Debian. Sua operao feita em modo texto e funciona atravs de comandos, assim caso deseje uma ferramenta mais amigvel para a seleo e instalao de pacotes, prefira o dselect (que um front-end para o dpkg) ou o apt dpkg muito usado por usurios avanados da Debian e desenvolvedores para fins de instalao, manuteno e construo de pacotes.

Pacotes Pacotes Debian so programas colocados dentro de um arquivo identificados pela extenso .deb incluindo arquivos necessrios para a instalao do programa, um sistemas de listagem/checagem de dependncias, scripts de automatizao para remoo parcial/total do pacote, listagem de arquivos, etc. Um nome de pacote tem a forma nome-verso_reviso.deb

Instalar pacotes Use o comando: dpkg -i [NomedoPacote] para instalar um pacote em seu sistema. Talvez ele pea que seja instalado algum pacote que depende para seu funcionamento. Para detalhes sobre dependncias veja. preciso especificar o nome completo do pacote (com a verso e reviso).

41

41

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Dependncias Dependncias so pacotes requeridos para a instalao de outro pacote. Na Debian cada pacote contm um programa com uma certa funo. Por exemplo, se voc tentar instalar o pacote de edio de textos supertext que usa o programa sed, voc precisar verificar se o pacote sed est instalado em seu sistema antes de tentar instalar o supertext, caso contrrio, o pacote supertext pedir o sed e no funcionar corretamente. Note que o pacote supertext apenas um exemplo e no existe (pelo menos at agora :-). O programa dselect faz o trabalho de checagem de dependncias automaticamente durante a instalao dos pacotes. A colocao de cada programa em seu prprio pacote parece ser uma dificuldade a mais para a instalao manual de um certo programa. Mas para os desenvolvedores que mantm os mais de 4300 pacotes existentes na distribuio Debian, um ponto fundamental, porque no preciso esperar uma nova verso do supertext ser lanada para instalar a verso mais nova do pacote sed. Por este motivo tambm uma vantagem para o usurio.

Listar pacotes existentes no sistema Use o comando: dpkg -l [pacote] para isto. Na listagem de pacotes tambm ser mostrado o "status" de cada um na coluna da esquerda, acompanhado do nome do pacote, verso e descrio bsica. Caso o nome do [pacote] seja omitido, todos os pacotes sero listados. recomendado usar "dpkg -l|less" para ter um melhor controle da listagem (pode ser longa dependendo da quantidade de programas instalados).

Removendo pacotes do sistema Use o comando: dpkg -r NomedoPacote para remover um pacote do sistema completamente. Somente necessrio digitar o nome e verso do pacote que deseja remover, no sendo necessrio a reviso do pacote. O comando dpkg -r no remove os arquivos de configurao criados pelo programa.

Removendo completamente um pacote Use o comando: dpkg --purge NomedoPacote para remover um pacote e todos os diretrios e arquivos de configurao criados. No necessrio especificar a

42

42

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

reviso do pacote. O comando dpkg--purge pode ser usado aps uma remoo normal do pacote (usando dpkg -r). Caso voc usar diretamente o comando dpkg --purge, dpkg primeiro remover o pacote normalmente e aps removido apagar todos os arquivos de configurao. Note que o dpkg --purge somente remove arquivos de configurao conhecidos pelo pacote. Em especial, os arquivos de configurao criados para cada usurio do sistema devem ser removidos manualmente. Seria pedir demais que o dpkg tambm conhecesse os usurios de nosso sistema ;-).

Mostrar descrio do pacote Use o comando: dpkg -I NomedoPacote para mostrar a descrio do pacote. Entre a descrio so mostradas as dependncias do pacote, pacotes sugeridos, recomendados, descrio do que o pacote faz, tamanho e nmero de arquivos que contm.

Procura de pacotes atravs do nome de um arquivo Use o comando: dpkg -S arquivo para saber de qual pacote existente no sistema o arquivo pertence.

Status do pacote Use o comando: dpkg -s pacote para verificar o status de um pacote em seu sistema, se esta ou no instalado, configurado, tamanho, dependncias, maintainer, etc. Se o pacote estiver instalado no sistema, o resultado ser parecido com o do comando dpkg -c [pacote]. Este comando equivalente ao dpkg --status.

Procurando pacotes com problemas de instalao A checagem de pacotes com este tipo de problema pode ser feita atravs do comando: dpkg -C

43

43

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

Ser listado todos os pacotes com algum tipo de problema, verifique os detalhes do pacote com "dpkg -s" para decidir como corrigir o problema.

Mostrando a lista de pacotes do sistema Use o comando: dpkg --get-selections para obter uma lista de seleo dos pacotes em seu sistema. A listagem mostrada na sada padro, que pode ser facilmente redirecionada para um arquivo usando dpkg --get-selections >dpkg.lista. A listagem obtida com este comando muito til para repetir os pacotes usados no sistema usando o dpkg --set-selections.

Obtendo uma lista de pacotes para instalar no sistema Use o comando: dpkg --set-selections <arquivo para obter a lista de pacotes que sero instalados no sistema. O uso do dpkg -get-selections e dpkg --set-selections muito til durante uma necessidade de reinstalao do sistema GNU/Linux ou repetir a instalao em vrias mquinas sem precisar selecionar algumas dezenas entre os milhares de pacotes no dselect. Aps obter a lista com dpkg --get-selections, use dpkg --setselections <arquivo e ento entre no dselect e escolha a opo INSTALL, todos os pacotes obtidos via dpkg --set-selections sero automaticamente instalados.

Configurando pacotes desconfigurados Pacotes esto desconfigurados quando, por algum motivo, a instalao do mesmo no foi concluda com sucesso. Pode ter faltado alguma dependncia, acontecido algum erro de leitura do arquivo de pacote, etc. Quando um erro deste tipo acontece, os arquivos necessrios pelo pacote podem ter sido instalados, mas os scripts de configurao ps-instalao no so executados. Use o comando:

44

44

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

dpkg --configure [NomedoPacote] Para configurar um pacote. O NomedoPacote no precisa conter a reviso do pacote e extenso.

Listando arquivos de um pacote Use o comando: dpkg -c arquivo para obter a listagem dos arquivos contidos no pacote. necessrio digitar o nome completo do pacote. O comando dpkg -c til para listarmos arquivos de pacotes que no esto instalados no sistema. Para obter a listagem de arquivos de pacotes j instalados no sistema, use o comando: dpkg -L arquivo. necessrio digitar somente o nome do pacote (sem a reviso e extenso).

Telnet
O telnet um protocolo para acessar computadores remotos atravs de redes com protocolos TCP/IP. O que ele faz emular um terminal atravs da rede. Por exemplo: voc est em uma sala e esqueceu de alterar um documento em um computador que est a 1000Km de distncia, sabendo que ambos os computadores esto conectados mesma rede TCP/IP. Normalmente, o que voc faria pegar o arquivo a ser alterado, alterar e mandar de volta. Mas se o arquivo for grande, isso pode levar um tempo muito alto. Para contornar a situao, voc usa o telnet, que faz com que voc acesse o computador remoto atravs de seu terminal. Assim, voc abre o terminal e altera o arquivo, como se estivesse no seu computador. Para acessar o programa, que tem o mesmo nome do protocolo, basta digitar telnet na linha de comandos do UNIX. Para abrir uma sesso em um computador remoto, basta digitar open e o endereo ou o IP do computador remoto. telnet> open remoto Trying 1.2.3.4... Connected to remoto. Linux 2.0.35 (remoto.br) (ttyp1) remoto login: Aps conectar-se, digite seu login e senha, assim como estivesse usando por um terminal ou pelo prprio console. Para sair, basta digitar exit na linha de comando do computador remoto. Digite man telnet no seu prompt de terminal para saber mais sobre o Telnet.

SSH
SSH uma outra forma de se acessar uma mquina remota para execuo de tarefas. Eles oferecem uma maneira de se executar comandos em uma maquina conectada a rede como se esse comando estivesse rodando localmente. SSH uma maneira segura de acessar remotamente a outras mquinas que disponibilizam esse tipo de servio. Os antigos servios de acesso remoto (telnet, ftp, ...) tm graves problemas de segurana, uma vez que todas as informaes digitadas so passadas atravs da Internet como texto puro. Vejamos o exemplo do servio 'telnet'... para voc se conectar a algum servidor remoto, voc ter que digitar algo mais ou menos assim:

45

45

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
$ssh localhost Voc pode estar se perguntando " Qual o problema nisso ??? ". Eis que o problema grande... existem certas tcnicas de obteno de senhas e logins, mais conhecidas como "Sniffing", que permitem ao mal-intencionado "escutar" a sua conexo e saber qual a sua senha (*) e login em determinada mquina ou rede. A idia do SSH realizar um servio similar ao 'telnet', mas de maneira criptografada, ou seja mesmo que algum consiga interceptar sua conexo o mximo que ele vai ver ser um monte de smbolos, letras e nmeros que no possuem nenhum significado para a pessoa ao qual o pacote no se destina. O SSH utiliza um poderoso mtodo de criptografia chamado de Public Key Cryptography que fornece autenticao e encriptao entre os hosts (cliente e servidor) de maneira que nenhum password e nenhum envio de dados sejam facilmente interceptados por outros hosts. Esse mtodo usa uma chave pblica (public key) para encriptao dos dados e uma chave privada (private key) para desencriptao. Assim, antes de o PC do Joo estabelecer conexo com o Mac da Joana, eles passam por um processo de "reconhecimento" de troca de chaves pblicas: o PC envia sua chave pblica para o Mac reconhec-la, e o Mac faz o mesmo com o PC. Feita a troca, a comunicao pode ser feita com segurana.

Descrio dos Comandos do SSH


Como j mencionado, o SSH visa substituir antigos comandos de acesso remoto. Vamos a uma pequena descrio dos comandos que so possveis utilizando SSH.

Comandos: ssh: Programa usado para logar e executar comandos dentro de uma mquina remota. slogin : Nome alternativo ao comando ssh. scp : Programa utilizado para cpia remota de arquivos. sftp : Similar ao uso do ftp( File Transfer Protocol - Protocolo de Transferncia de Arquivo ), a diferena que o sftp realiza todas as operaes de forma criptografada. Existem outros comandos 'especiais' que so possveis atravs da utilizao do SSH, caso o usurio esteja interessado em saber mais recomendo a leitura do 'man ssh' que est disponvel em qualquer sistema baseado na plataforma Unix (AIX, Solaris, Linux, etc.) ou atravs de consultas de sites na Internet. Para se conectar remotamente a qualquer servidor SSH, digite na linha de comando: ssh hostname Aps conectado os comandos executados so semelhantes aos comandos usados localmente. SCP- Copiando arquivos remotamente: Para copiar arquivos de uma mquina local para uma mquina remota ou vice-versa, ou at entre dois sistemas remotos use o comando scp. Vamos supor que voc queira copiar o arquivo programa.c localizado no diretrio /home/alunos/maria/Programas/C/ para seu computador (nesse exemplo, vamos supor que o nome da usuria seja diferente no host remoto) em casa.
Usando scp digite: Scp programa.c maria_sm@comp_casa:diretorio_remoto No exemplo acima o arquivo copiado para a mquina remota, com o mesmo nome que ele se encontra na mquina local. Voc pode usar 'wildcards' tambm, que o que veremos no exemplo abaixo. O comando: scp * comp_casa:diretorio_remoto copia todos arquivos do diretrio descrito acima para dentro do diretrio 'diretorio_remoto' no host 'comp_casa'.

46

46

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br

FTP
O FTP um protocolo de transmisso de arquivos pela Internet. O nome deriva-se do ingls: File Transfer Protocol, que em portugus significa Protocolo de Transmisso de Arquivos. Ele foi desenvolvido h bastante tempo, para viabilizar a transmisso de arquivos entre as universidades americanas enquanto a Internet se desenvolvia. O programa que trabalha com o FTP tem o mesmo nome: ftp. Para abrir uma sesso de FTP, basta digitar ftp na linha de comando do UNIX. Assim que voc digita ftp, voc entra na linha de comandos do ftp. Para abrir uma sesso em um computador remoto, basta digitar open(abrir) seguido do nome ou do IP do computador remoto. Logo depois que ele conectar, ele pedir seu login e sua senha. Geralmente, se voc tem acesso este computador, o login e a senha so os mesmo que voc usa para usar este computador. ftp> open remoto Connected to remoto. 220 remoto FTP server (Version wu-2.4(4) Wed Aug 27 15:29:35 CDT 1997) ready. Name (remoto): joao 331 Password required for joao. Password: Existem inmeros locais com os chamados FTP annimos, onde no necessrio login, muito menos senha. Nesses casos o login anonymous e a senha guest ou o seu e-mail. Logo aps entrar com seu login e senha, voc volta linha de comandos do FTP 230 User joao logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> Para ver o contedo do diretrio atual, basta digitar ls (lembra?). A maioria dos comandos igual ao UNIX: mkdir, rmdir, ls, cd, chmod etc. com exceo de alguns dos listados abaixo NO UNIX NO FTP Rm delete Mv rename Para baixar algum arquivo do computador remoto para o seu, voc usa o comando get ftp> get <arquivo> local: arquivo remote: arquivo 200 PORT command successful. 150 Opening BINARY mode data connection for nohup.out (0 bytes). 226 Transfer complete. Se quiser pegar vrios arquivos ao mesmo tempo, basta usar o comando mget, por exemplo, use: (se quiser pegar todos os arquivos que terminam em .txt) mget *.txt Para enviar arquivos para o computador remoto, basta usar o comando put, por exemplo put arquivo.tgz Para enviar vrios arquivos, basta usar o comando mput: mput *.tgz. Para pegar ou enviar arquivos, existem dois modos: o binrio e o ASCII (texto). Normalmente, usa-se o modo ASCII para enviar arquivos texto e o binrio para qualquer outro tipo de arquivo. Cuidado: se voc selecionar o modo ASCII e pegar um arquivo binrio (.tgz por exemplo), pode ser que o arquivo que voc pegou no seja o mesmo que est no computador remoto.

47

47

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
Para ir para o modo binrio, basta digitar binary ou bin e para ir para o modo ASCII, basta digitar ascii.

Configurando perifricos
Aprenda a usar os programas de deteco e a configurar os principais dispositivos de seu hardware Tendo como base um computador sem perifricos avanados, nos dias de hoje seis elementos so essenciais nos micros: placa de vdeo, placa de som, modem, mouse, placa de rede e teclado. Em geral nos micros caseiros no h placas de rede. Primeiro, conheceremos os aplicativos que iremos utilizar e a que hardware eles esto relacionados. Lembre-se de que para utilizar qualquer um dos softwares apresentados aqui, necessrio estar usando a conta de root (superusurio, o nico com direitos de alterar as configuraes). Xconfigurator (placa de vdeo e monitor) sndconfig (placa de som) kppp (modem) mouseconfig (mouse) linuxconf (placa de rede) kbdconfig (teclado) importante destacar que todas as configuraes exemplificadas nesta matria foram baseadas no Conectiva Linux.

Kbdconfig:
Este aplicativo chamado a partir da linha de comando: # kbdconfig Selecione ento o tipo de teclado que se encaixa ao seu modelo. Lembre-se de que se o seu teclado for aquele que possui a tecla "" ento ele do tipo br-abnt2, caso contrrio, geralmente o modelo correto o us-acentos. Em seguida, confirme a escolha pressionando o boto "OK". Porm, se mesmo depois disso o teclado parecer no funcionar corretamente, no X-Window System em particular, ento deve-se editar o arquivo /etc/X11/XF86Config e retirar os comentrios (smbolo de #) da seguinte linha: # XkbDisable Depois das alteraes a linha dever ficar assim: # XkbDisable

Mouseconfig:
Para rod-lo, execute na linha de comando: # mouseconfig Selecione o mouse mais compatvel com o seu modelo. Se por acaso o seu mouse possuir somente dois botes ser possvel fazer com que ele emule a ao de mais um boto, sendo isso facilmente configurado selecionando a opo "Deseja emulao de 3 botes". Aps seguir esses passos recomendvel executar alguns comandos para que as alteraes feitas no mouse possam ser carregadas. Esses comandos so os seguintes: # cds

48

48

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
E aps: # ./gpm restart

Xconfigurator:
A configurao do vdeo um pouco mais complicada com relao aos outros itens acima, j que existem mais variveis envolvidas no processo como: placa de vdeo, monitor, quantidade de memria da placa de vdeo, resoluo e quantidade de cores, porm esse aplicativo tem uma interface amigvel e faz a autodeteco da maioria das placas, fornecendo-lhe uma configurao mnima funcional. A sintaxe para execut-lo : # Xconfigurator Se no desejar rod-lo com a autodeteco da placa de vdeo, execute: # Xconfigurator expert Ele far a autodeteco, porm deixar de selecionar qualquer placa da lista. No primeiro caso, ir detectar sua placa de vdeo e, depois, ser necessrio indicar qual monitor est conectado ao sistema. Se este ltimo no estiver listado, escolha a opo "personalizado" e informe suas freqncias verticais e horizontais ao aplicativo. Tenha em mente que mesmo se a sua placa de vdeo no estiver listada, possvel selecion-la pelo chipset genrico. Detalhes: Quando o X est mal configurado, ele entra na "tela preta" e ali fica parado. Para abort-lo, na maioria das vezes o Ctrl + Alt + BackSpace funciona, mas antes disso, tente Control + Alt + (tecla + do teclado numrico) que alterna entre configuraes de resolues de tela possveis (640x480, 800x600 etc), pois s vezes essa tela s aparece em uma resoluo e nas outras no (geralmente a m configurao da resoluo de tela vem acompanhada de um zumbido discreto do monitor). Ou ainda, tecle Ctrl+Alt+F1 para voltar ao modo caractere, e no console onde o X foi chamado, tecle Ctrl+C para "matar" o X. Tente primeiro configuraes mais "conservadoras" e depois v aumentando/experimentando at chegar no limite de sua placa de vdeo.

Sndconfig:
Como o aplicativo acima, este tambm dotado de autodeteco de hardware, facilitando o uso de usurios que no conheam o hardware que possuem. A sintaxe para rod-lo : # sndconfig Caso queira especificar a placa de som manualmente, bem como os parmetros, tais como irq e dma (muitas placas ISA no plug-and-play possuem jumpers que "travam" seus endereos e muitas vezes esses no so o padro de fbrica da placa, convm chec-los antes de configurar), execute: # sndconfig noprobe

Linuxconf:
O aplicativo linuxconf utilizado para fazer a configurao de inmeras outras tarefas, porm vamos nos deter somente no que diz respeito a placas de rede. A sintaxe para rod-lo : # linuxconf Um exemplo de configurao segue abaixo:

Kppp:
Antes de configurar uma conta de Internet usando o kppp, primeiramente configuraremos o hardware em si (modem). As portas "com", no Linux so chamadas de "ttyS". Consulte a tabela de correspondncia abaixo para saber em qual "ttyS" encontra-se seu modem.

49

49

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
COM 1 = /dev/ttyS0 COM 2 = /dev/ttyS1 COM 3 = /dev/ttyS2 COM 4 = /dev/ttyS3 Vamos agora criar um link simblico deste "ttyS" chamado /dev/modem para que a configurao no aponte diretamente para a porta de comunicao. Isso garantir a todos os usurios o acesso a esse dispositivo. Lembramos que todo o procedimento deve ser feito como usurio root (que o nico capaz de alterar as configuraes). # ln -sf /dev/ttySx /dev/modem O "x" acima refere-se ao nmero da "tty" visto na tabela de correspondncia. Feito isso, coloque o CD 1 do Conectiva Linux 5.0 no seu drive de CD-ROM e instale o seguinte pacote: # mount /dev/cdrom # cd /mnt/cdrom/conectiva/RPMS # rpm -ivh setserial-2.17-1cl.i386.rpm # setserial /dev/modem autoconfig # setserial /dev/modem Caso ele informe algo como: /dev/modem, UART: 16550A, Port: 0x02e8, IRQ: 3, e se o seu modem no estiver na IRQ3, voc pode incluir esta linha no seu arquivo /etc/rc.d/rc.local: setserial /dev/modem irq 7 Neste caso, seu modem usa a irq 7. Passe ao setserial apenas os parmetros que necessitar (irq no caso). Para testar se todas as configuraes feitas no modem esto corretas podemos utilizar o aplicativo kppp. Para inici-lo basta estar utilizando um ambiente grfico (Gnome, kde, Window Maker) e abrir um x-term (ou terminal, konsole, gnome-terminal, dependendo do ambiente) e executar: # kppp Em seguida, selecione as seguintes opes: "Configurao", "Modem", "Perguntar ao modem". Se ao clicar nesta opo aparecer uma lista com vrias informaes sobre o seu modem ento parabns, ele foi configurado corretamente. O prximo passo agora configurar uma conta para a Internet. Nesse caso utiliza-se tambm o aplicativo kppp. Antes de mais nada, como superusurio, voc precisa configurar seu modem e editar o arquivo /etc/ppp/options, removendo a linha "lock". Como usurio normal, entre no X e chame o kppp, depois: clique em "Configurao"; aba "Contas": boto "Nova..."; Defina um nome para sua conexo: ex.: "Meu Provedor"; Preencha o nmero do telefone do seu provedor: ex.: 123-4567; Na parte "Autenticao", escolha a opo adequada (script, PAP, CHAP, terminal). Na dvida, consulte seu provedor. Em geral, a mais usada PAP; Deixe a opo "Guardar password" selecionada. aba "IP": Deixe selecionado "Endereo IP Dinmico"; No selecione "Auto-configurar nome da host...". aba "DNS": Em "Nome do Domnio", preencha o nome do domnio do seu provedor (consulte-o para saber qual ) ex.: provedor.com.br;

50

50

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
No campo "Endereo IP do DNS", preencha o nmero do IP do provedor (consulte-o para saber qual ). Se houver mais de um, clique no boto "Adicionar". Ex.: 123.456.789.0; Selecione a opo "Desativar Servidores DNS existentes..." aba "Gateway": Deixe a opo "Gateway Padro" selecionada (a no ser que seu provedor lhe d um IP de gateway); Deixe a opo "Colocar rota padro neste Gateway" selecionada. Clique no boto "OK"; aba Dispositivo: Em "Dispositivo Modem", selecione "/dev/modem"; Em "Velocidade de Ligao", selecione de acordo com a velocidade do seu modem (normalmente 38400 ou 57600). aba Modem: Boto "Comandos do Modem"; em "String de Discagem", coloque ATDP caso a linha seja Pulso, ou ATDT caso a linha seja Tom; clique no boto "OK"; Novo clique em "OK"; Preencha seu "ID de login" (nome de usurio no provedor); Coloque a senha; Clique no boto "Ligar". Observao: Caso tenha problemas com o kppp, e no consiga salvar as configuraes feitas, verifique as permisses do diretrio ~/.kde e do arquivo ~/.kde/share/config/kppprc. O padro para nossa distribuio (Conectiva) foi de que nada que no fosse absolutamente necessrio pudesse ser executado com permisses de root. Um dos utilitrios em que foi retirada esta permisso foi o programa pppd. D permisso de root ao pppd, da seguinte maneira: # chmod a+s /usr/sbin/pppd E ao kppp: # chmod a+s /usr/bin/kppp Abordamos aqui os principais tpicos de configurao de perifricos. Se voc quiser encontrar documentao adicional sobre o assunto, visite o site da linux.tucows.com, em que voc encontrar muito material, inclusive para perifricos incomuns e para todas as distribuies de Linux.

CUPS
O Cups um servidor de impresso que possui suporte a permisses, podendo determinar, controlar e definir que usurios ou quais mquinas podem imprimir, remover servios de impresso, etc. O pacote Cups fornece comandos lpr, lprm e lpq, utilizados para imprimir um arquivo, remover um trabalho de impresso e consultar a fila de trabalhos de uma impressora respectivamente, alm de uma interface grfica de fcil utilizao. Esses comandos so utilizados tambm por outros aplicativos do Linux, embora isso seja transparente para o usurio. Um dos principais objetivos do CUPS foi possuir suporte para distribuies de UNIX/Linux usando CUPS como nativo. Os Debian/RED HAT/Conectiva esto fornecendo atualmente CUPS como parte estvel de sua distribuio. O CUPS responde pela porta padro 631. Utilizando qualquer browser, basta especificar na barra de endereos a seguinte localizao: http://localhost:631 (se as configuraes no arquivo cupsd.conf forem efetuadas digitando em vez de localhost o endereo IP do servidor, ter o mesmo efeito, sempre seguido da porta do CUPS - 631). Isto abrir uma janela em seu navegador, de qualquer ponto da rede. A migrao para ambiente de tecnologia de software livre e de cdigo aberto, alm de enorme economia para a corporao, possibilita o acrscimo sem custo de novas

51

51

Disciplina: Introduo a Gesto de Software Livre Linux Prof.: Antnio Ricardo Leocdio Gomes E-mail: leocdio@acad.unibh.br
tecnologias de fcil acesso e de simples gerenciamento, se contabilizarmos os gastos que so feitos com aquisio de equipamentos e treinamento de funcionrios a medida que cresce o nmero de clientes que utilizam estes recursos. A centralizao da administrao de impresso em uma grande corporao pode gerar grandes economias, tanto na parte de reduo de gastos com suprimentos, quanto na utilizao da banda disponvel da rede, alm de deixar o administrador de rede ciente das impresses. O objetivo deste artigo de guiar e orientar detalhadamente administradores de rede que se interessem em, de fato, em efetuar a migrao, mesmo que experimentalmente

LPRNG
Servios de impresso so essenciais em uma rede local, e para prover esse tipo de servio necessrio um programa capaz de aceitar requisies de impresso, colocando-as em uma fila, e que permita o gerenciamento dessa fila de maneira transparente para os usurios. O LPRng um gerenciador de fila de impresso que visa atender esses objetivos. O LPRng possui tambm suporte a permisses, podendo determinar, controlar e definir que usurios ou quais mquinas podem imprimir, remover servios de impresso, etc. O pacote LPRng fornece tambm os comandos lpr, lprm, lpq e lpc, utilizados para imprimir um arquivo, remover um trabalho de impresso, consultar a fila de trabalhos de um impressora e controlar essa fila de trabalhos, respectivamente, atravs de linhas de comando. Esses comandos so utilizados tambm por outros aplicativos do Linux, embora isso seja transparente para o usurio.

Autores Agney Ferreira -- Aluno do Curso de Cincia da Computao UNI-BH Antnio Ricardo Leocdio Gomes, Prof. -- Analista de Rede e Suporte Revisores Antnio Ricardo Leocdio Gomes, Prof. -- Analista de Rede e Suporte

Bibliografia Minicurso: Introduo ao Linux -- Prof. Elberte Gualberto Pongelupe -2002 Linux Administrao e Suporte -- Chuck V. Tibet , Editora Novatec -- 2001 Guia Foca Linux Cludio Morimoto -- obtido no site www.guiadohardware.net Revista do Linux edio nmero 5 - 2000 Sites: www.linuxall.org

52

52

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