Escolar Documentos
Profissional Documentos
Cultura Documentos
Debian in Ici Ante Lenny
Debian in Ici Ante Lenny
Direitos autorais: Essa Apostila est licenciada sob uma Licena Creative Commons Atribuio-Uso No-ComercialCompartilhamento pela mesma licena 2.0 Brazil. Pode ser copiada, distribuda e modificada. Para ver uma cpia desta licena, visite http://creativecommons.org/licenses/by-nc-sa/2.0/br/ ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Assembleia.
Debian Bsico - Desktop Paran 1.0-4 09 de maro de 2009 por Jos Manuel da Pena Rosa 10 de maro de 2009 por Fbio Tobich 20 de abril de 2009 por Felipe Camargo de Pauli 07 de maio de 2009 por Felipe Camargo de Pauli 21 de maio de 2009 por Felipe Camargo de Pauli 15 de julho de 2009 por Felipe Camargo de Pauli 05 de agosto de 2009 por Felipe Camargo de Pauli 21 de agosto de 2009 por Felipe Camargo de Pauli Mantenedor: Felipe Camargo de Pauli Revisor: Fbio Tobich Colaboradores: Andr Lucas Falco David Alves Frana Coordenao do projeto: Jonsue Trapp Martins 148 pginas
Equipe Tcnica
Pginas
ndice
Introduo.......................................................................................................................................................9 Histria do GNU/LINUX................................................................................................................................10 Multics, Unix e Minix: os avs do GNU/Linux............................................................................................10 O surgimento do projeto GNU....................................................................................................................11 Nasce o Kernel Linux.................................................................................................................................12 O encontro do GNU com o Pinguim..........................................................................................................13 Debian.......................................................................................................................................................13 Discos e parties de disco.........................................................................................................................15 O que so parties?.................................................................................................................................15 Partio primria, estendida e lgica.........................................................................................................16 Sistemas de arquivos...................................................................................................................................20 Blocos........................................................................................................................................................20 Journaling..................................................................................................................................................20 Principais diferenas entre os principais....................................................................................................21 Abstrao de hardware................................................................................................................................23 Ns de dispositivos....................................................................................................................................23 Nomeao de dispositivos.........................................................................................................................26 Estrutura de diretrios.................................................................................................................................28 Endereos..................................................................................................................................................29 Diretrios do Sistema................................................................................................................................30 Exerccios de fixao (parte 1)....................................................................................................................33 Iniciao........................................................................................................................................................34 Como obter ajuda?....................................................................................................................................34 Terminais...................................................................................................................................................34 Usurios e grupos......................................................................................................................................35 Entendendo o terminal...............................................................................................................................37 Comandos para informaes sobre sesses.............................................................................................37 Coringas....................................................................................................................................................38 Recursividade............................................................................................................................................39 Redirecionadores.......................................................................................................................................40 2>...............................................................................................................................................................42 VIM.................................................................................................................................................................44 Criando um arquivo...................................................................................................................................44 Editando um arquivo existente...................................................................................................................44 Modos do vim............................................................................................................................................44 Comandos essenciais..................................................................................................................................46 cd...............................................................................................................................................................46 ls................................................................................................................................................................47 pwd............................................................................................................................................................48 mkdir..........................................................................................................................................................49 > (De novo este redirecionador)................................................................................................................50 cp...............................................................................................................................................................50 mv..............................................................................................................................................................51 rm..............................................................................................................................................................52 diff..............................................................................................................................................................53 file..............................................................................................................................................................54 tree............................................................................................................................................................54 O completo APT............................................................................................................................................56 Repositrios...............................................................................................................................................57 Utilizando o apt..........................................................................................................................................57 dpkg...........................................................................................................................................................61 Exerccios de fixao (parte 2)....................................................................................................................65 Comandos para visualizao de contedo de arquivos ..........................................................................68 sort.............................................................................................................................................................68 cat..............................................................................................................................................................68 tac..............................................................................................................................................................69 head...........................................................................................................................................................69 tail..............................................................................................................................................................70
5
more..........................................................................................................................................................71 less............................................................................................................................................................71 nl................................................................................................................................................................71 Comandos para pesquisa............................................................................................................................72 find.............................................................................................................................................................72 locate.........................................................................................................................................................73 grep...........................................................................................................................................................74 Comandos diversos......................................................................................................................................75 alias...........................................................................................................................................................75 badblocks...................................................................................................................................................75 clear...........................................................................................................................................................76 date............................................................................................................................................................76 df................................................................................................................................................................77 dmesg........................................................................................................................................................78 echo...........................................................................................................................................................78 free............................................................................................................................................................78 ln................................................................................................................................................................80 su...............................................................................................................................................................82 time............................................................................................................................................................82 touch..........................................................................................................................................................83 uname........................................................................................................................................................83 uptime........................................................................................................................................................84 whatis........................................................................................................................................................84 watch.........................................................................................................................................................85 which.........................................................................................................................................................85 reboot........................................................................................................................................................85 halt.............................................................................................................................................................86 shutdown...................................................................................................................................................86 Montagem de Dispositivos (mount e umount)............................................................................................86 Exerccios de fixao (parte 3)....................................................................................................................89 Comandos para gerenciamento de rede.....................................................................................................90 Informaes bsicas..................................................................................................................................90 Ifconfig.......................................................................................................................................................92 /etc/network/interfaces...............................................................................................................................92 ping............................................................................................................................................................94 route..........................................................................................................................................................94 nmap..........................................................................................................................................................95 hostname...................................................................................................................................................97 Exerccios de fixao (parte 4)....................................................................................................................98 Comandos de gerenciamento de contas....................................................................................................99 Arquivos de contas de usurios e grupos..................................................................................................99 adduser....................................................................................................................................................101 userdel.....................................................................................................................................................101 addgroup..................................................................................................................................................102 groupdel...................................................................................................................................................102 passwd.....................................................................................................................................................103 id..............................................................................................................................................................103 groups......................................................................................................................................................103 getent.......................................................................................................................................................103 Comandos para gerenciamento de processos........................................................................................105 ps.............................................................................................................................................................106 top............................................................................................................................................................107 kill............................................................................................................................................................107 killall.........................................................................................................................................................108 jobs..........................................................................................................................................................108 fg..............................................................................................................................................................109 bg.............................................................................................................................................................109 Comandos para gerenciamento de permisses.......................................................................................111 Proprietrios, grupos e outros usurios....................................................................................................111 Tipos de permisses................................................................................................................................111
Diretrios..................................................................................................................................................112 Arquivos...................................................................................................................................................113 chown.......................................................................................................................................................114 chgrp........................................................................................................................................................114 chmod......................................................................................................................................................115 umask......................................................................................................................................................116 newgrp.....................................................................................................................................................117 usermod...................................................................................................................................................119 Exerccios de fixao (parte 5)..................................................................................................................120 Instalao de impressoras.........................................................................................................................122 Abrindo o Gerenciador.............................................................................................................................122 Definindo uma impressora padro...........................................................................................................122 Adicionar uma nova impressora..............................................................................................................123 Remover uma impressora........................................................................................................................125 SSH..............................................................................................................................................................126 Instalando e iniciando o servio...............................................................................................................126 Conectando-se ao servidor......................................................................................................................127 Copiando com o ssh................................................................................................................................128 Anexo I (Instalao do Sistema Operacional Desktop Paran 2.0 - Zandor)......................................130 Primeira etapa da instalao...................................................................................................................130 Segunda Etapa da Instalao..................................................................................................................131 Anexo II (Alsa).............................................................................................................................................133 Eventuais problemas...............................................................................................................................133 Referncias Bibliogrficas.........................................................................................................................134
ndice de Figuras
Figura 1: Richard M Stallman.........................................................................................................11 Figura 2: Linus Torvalds.................................................................................................................12 Figura 3: O casamento: GNU e Linux.............................................................................................13 Figura 4: Algumas distribuies......................................................................................................13 Figura 5: MBR - Master Boot Record.............................................................................................16 Figura 6: Informaes que definem uma partio..........................................................................17 Figura 7: Quatro parties primrias..............................................................................................18 Figura 8: Trs primrias mais uma lgica.......................................................................................18 Figura 9: Uma primria mais trs lgicas.......................................................................................19 Figura 10: Estrutura de diretrios...................................................................................................27 Figura 11: Cilindros, trilhas e setores..............................................................................................80 Figura 12: Adduser x Userdel.......................................................................................................101 Figura 13: Caixa de dilogo "Configurao da impressora"..........................................................123 Figura 14: Definindo uma impressora padro...............................................................................123 Figura 15: Procurando o dispositivo.............................................................................................124 Figura 16: Instalando uma impressora que esteja no Windows....................................................126 Figura 17: Instalando o driver da impressora...............................................................................127 Figura 18: Menu de contexto para remover uma impressora.......................................................127
INTRODUO
A migrao de diversos servios que possuem seus cdigos-fonte fechados para alternativas livres uma realidade dentro do estado do Paran. uma questo de tempo at que todas as estaes de trabalho de todas as secretarias estejam com a distribuio Debian personalizada pela Celepar, denominada Desktop Paran, e diversas ferramentas do projeto GNU e de outros projetos alternativos livres estejam instalados e em produo. A CPPC (Coordenao de Projetos, Pesquisa e Capacitao) a coordenao dentro da Celepar responsvel por tentar diminuir o impacto dessa transio, atravs de uma ampla documentao de servios adotados pelo estado e cursos para usurios e tcnicos. Esta apostila a primeira de uma srie de trs volumes. So eles: Debian Bsico; Debian Intermedirio; e Debian Avanado. Todos estes volumes visam fazer com que os administradores de redes que desenvolvem trabalhos dentro do estado do Paran ou qualquer interessado da comunidade consigam realizar suas competncias j existentes de gerenciamento, mas agora com ferramentas completamente livres. O curso de Debian Bsico tem como objetivo transmitir aos tcnicos interessados conceitos bsicos de informtica, introduo a conceitos utilizados nas verses Unix like, e ensinar-lhes vrios comandos para serem utilizados para gerenciamento de uma rede. Este curso bsico, por isso ter uma srie de introdues a assuntos sem aprofundamento. O estudante ter a possibilidade de manusear uma srie de ferramentas e entender o que acontece com o computador, mas as solues e anlises mais profundas do sistema, capacidade de criao de projetos de redes complexas, ser adquirida apenas com a concluso dos trs volumes. A release atual do Desktop Paran possui o codinome Zandor, que possui a estrutura do Debian Lenny com as alteraes feitas pela Celepar. Ser esta a distribuio que este curso ir abordar, porm, deve-se ficar claro que qualquer outra distribuio, at mesmo uma Unix-Like sem vnculos com o Debian, segue os mesmos princpios do Zandor e possui muitos comandos e arquivos idnticos ou parecidos. Tenham um bom curso!
HISTRIA DO GNU/LINUX
Sem um sistema operacional no conseguimos utilizar o computador para nada, pois o sistema operacional que permite a interao entre o homem e a mquina. Para entendermos melhor sobre o surgimento do Debian, o sistema operacional adotado pelo Paran, vamos ver um pouco da histria dos sistemas operacionais.
Interessado em novas tecnologias para serem usadas em armas cada vez mais precisas e devastadoras);
General Eletric (principal auxlio: espao fsico e computadores); Laboratrios Bell da AT&T (principal auxlio: programadores renomados, sendo o mais MIT (principal auxlio: programadores renomados e o esboo do projeto).
Os anos foram se passando e, devido a complexidade maior do que esperada da tarefa, os resultados desejados no foram atingidos. Isto fez com que o projeto MULTICS perdesse fora e, aos poucos, cada uma das entidades envolvidas foram o abandonando. O sonho do multiprocessamento em um sistema operacional foi morrendo. Foi morrendo at que morreu. Em 1969 o projeto foi abandonado. Ken Thompsom, funcionrio dos Laboratrios Bell e ex-integrante do grupo que desenvolvia o MULTICS, continuou estudando o sistema e decidiu criar um outro sistema operacional mais simples, mas que conservasse as ideias bsicas do MULTICS, nascendo assim o UNICS (Uniplexed Information and Computing Service), que mais tarde passou a se chamar UNIX. Ele ficou bom e convincente, fazendo assim com que a AT&T resolvesse patrocin-lo. Era a volta do sistema operacional multiprocessado. Inicialmente o UNIX foi escrito em Assembly, o que causava grandes dificuldades pelo fato de que praticamente o sistema operacional s funcionaria em uma arquitetura. Como Assembly uma linguagem de baixo nvel e muito complicada, Thompson tinha a inteno de passar o Unix para uma linguagem de alto nvel. Aps algumas tentativas mal sucedidas, surgiu a linguagem C, e o UNIX finalmente foi reescrito sob esta linguagem no ano de 1973.
10
O UNIX cresceu muito na AT&T, que at ento, no o comercializava e o distribua gratuitamente para s universidades para fins educacionais. Mas com o seu crescimento, a partir da verso UNIX System IV (em 1983), a AT&T comeou a comercializ-lo cobrando pelo seu uso e no disponibilizando mais seu cdigo fonte. Por no ter mais acesso ao cdigo fonte do UNIX, o professor universitrio, Dr Andrew Tanenbaum, motivado por fins educacionais, resolveu desenvolver um novo sistema operacional baseado no UNIX, criando assim o MINIX. Era um sistema operacional limitado, pois possua apenas fins didticos, e nesta tarefa cumpria bem seu papel, mas para ser usado para outros fins era considerado fraco.
possvel fazer alteraes no hardware da impressora para corrigir os problemas devido a falta de tecnologia da poca, eles faziam alteraes no driver da mesma, adicionando algumas funes (gambiarras). Uma dessa funes que eles haviam adicionado fazia com que aparecesse uma mensagem na tela de cada usurio que havia mandado uma impresso informando se a tal estava pronta ou no. Avisava tambm problemas na impresso, caso isso ocorresse. Assim, quando havia algum problema, algum iria correndo para sanar o problema o quanto antes. Ento j haviam encontrado no a soluo, mas um jeito de fazer com que a remediao fosse mais rpida. Bastava implementar as mesmas alteraes no driver dessa outra impressora. E isso foi feito? Infelizmente no era possvel pois o driver daquela impressora era proprietrio, pertencia Xerox, e s estava disponvel na forma binria. O cdigo-fonte era exclusivo da xerox. Para se alterar um programa necessrio seu cdigo-fonte (como se fosse a receita de um bolo. o cdigo em que encontramos toda a programao que faz um programa funcionar). Richard e seus companheiros de trabalho estavam impotentes diante desse problema. Quando Richard soube que um colega de outra universidade tinha o cdigo fonte para esse driver, procurou-o. Para sua surpresa, o colega se negou a lhe repassar o cdigo-fonte, pois ele havia assinado um acordo de responsabilidade que o impedia, legalmente, de compartilhar essa informao com quem quer
11
que fosse. Se Richard Stallman quisesse ter acesso ao cdigo fonte ele teria que assinar um acordo igual ao que seu colega assinara. Isso ia contra seus princpios. Muito pouco tempo depois de tudo isso, o MIT desencadeou um processo de reestruturao tecnolgica. Os softwares que j estavam obsoletos foram substitudos. Os novos softwares, apesar de mais sofisticados e fceis de se usar, vieram com acordos iguais quele que seu colega havia assinado, permitindo a ele alterar os programas, mas no os redistribuir. Alm disso, no poderia divulgar o cdigo fonte original. Richard se viu ento num grande impasse: se ele quisesse continuar a trabalhar com informtica, ele teria que assinar o mesmo tipo de acordo que havia feito ele conviver com uma impressora destruidora de pacincia. Ele sentia que no podia assinar esse contrato, mas ao mesmo tempo isso passava a ser tendncia do mercado. Ele era contra tudo isso e no queria mais jogar dessa forma, mas no passava em sua mente deixar a informtica. Foi ento que, no ano de 1984, Richard resolveu no assinar o acordo, sair da MIT e fundar a FREE SOFTWARE FOUNDATION, com a proposta de lutar para que as pessoas pudessem ter acesso a softwares livres, com direito a olhar seu cdigo fonte, modificar e distribuir os programas livremente, promovendo o livre fluxo de ideias na rea de softwares. Atravs da FREE SOFTWARE FOUNDATION foi criado o projeto GNU, que idealizava a criao de um alternativa livre para cada software proprietrio existente. Claro que uma das metas era um sistema operacional completamente livre. Qualquer pessoa teria o direito de usar, modificar e redistribuir esses softwares, desde que fossem garantidos esses mesmos direitos aos softwares derivados. O nome GNU foi escolhido porque, alm do significado original do mamfero Gnu, um acrnimo recursivo de GNU is Not Unix (em portugus Gnu No Unix). Esse sistema operacional deveria ser compatvel com o UNIX, mas no poderia usar nenhuma parte do cdigo fonte do UNIX, j que este era fechado. Assim a partir de 1984, liderados por Richard Stallman, um grupo de programadores que aderiram causa comearam a desenvolver as principais peas de um sistema operacional e aplicativos diversos. Em 1991 o sistema operacional GNU estava quase pronto, mas ainda faltava a sua parte mais importante: o seu ncleo, que na informtica chamado de kernel. Assim Richard e sua equipe concentraram seus esforos na criao do kernel chamado Hurd. Enquanto isso...
1991 disponibilizou na rede a primeira verso do kernel criado por ele. Linus queria que todos os programadores que quisessem se envolver no projeto, auxiliassem-no a melhorar sua criao. Essa mesma comunidade que o ajudou a fazer com que o kernel crescesse, resolveu homenage-lo dando o nome ao kernel de Linux, que a contrao de Linus (idealizador) e Unix (sistema em que o Linux foi baseado). Mas o Linux ainda era apenas um kernel, e precisava de todo restante dos programas para funcionar como um sistema operacional completo. Por coincidncia, faltava exatamente o que fora produzido no projeto GNU. Mas a juno de tudo no era algo fcil. Para utilizar o Linux, o prprio usurio tinha que encontrar os outros programas do projeto GNU, compil-los e configur-los; talvez por isso, o Linux tenha comeado a ter fama de sistema operacional para tcnicos.
operacional GNU. Foi a que, numa deduo bvia, pensou-se em unir os dois, GNU e Linux. Um completaria o outro, e assim, surgiu um sistema operacional forte, completo e o melhor, com todo seu cdigo aberto! Atualmente, o sistema operacional GNU com o kernel Linux conhecido como GNU/Linux, que como o projeto solicita aos utilizadores que se refiram ao sistema completo, embora a maioria das pessoas se refiram ao sistema apenas como Linux, por uma questo de facilidade.
DEBIAN
Qual a diferena entre um buffet e um prato la carte? No primeiro, voc poder escolher, dentro de todas as opes oferecidas pelo restaurante, o que mais lhe agrada. No segundo, voc diz o nome do prato e este vem pronto com os ingredientes e propores que o restaurante define. Os sistemas operacionais proprietrios e livres funcionam analogamente aos buffets e pratos prontos. Sistemas proprietrios vm prontos, permitindo que voc configure somente aquilo que tem permisso e que insira programas feitos para eles. J os livres permitem que, dentre todos os softwares do projeto GNU ou qualquer outro projeto, voc escolha quais quer ter e como eles devem interagir. O GNU/Linux , ento, o restaurante que fornece uma gama grandssima de opes para que voc escolha qual deseja usar e como eles devem trabalhar juntos. Qualquer pessoa pode criar seu prprio prato. E esses pratos que so as distribuies. O Debian uma distribuio GNU/Linux, j que ele pega o que deseja do projeto GNU, encaixa ao kernel Figura 4: Algumas distribuies
13
Linux, insere outros softwares criados por ele ou terceiros (alguns programas at proprietrios, como o java) e os deixa prontos para serem utilizados. Outros exemplos de distribuio so Ubuntu, SuSE, Mandriva, etc. Veja na figura 4 logos das principais. O Debian nasceu em 1993, mais precisamente no dia 16 de agosto daquele ano. Seu criador foi Ian Murdock. A ideia de Murdock era criar um sistema operacional que fosse livre, consoante filosofia da comunidade criada por Stallman. No comeo Ian conseguiu a ajuda de alguns hackers e da prpria Free Software Fundation. Eles tinham como preocupao compilar os vrios pacotes do GNU/LINUX, mas seguindo um mtodo que tornava o controle do sistema organizado. Cada pacote (conjunto de arquivos que ganham um rtulo. Ser visto na pgina 56) tinha um mantenedor que era responsvel por resolver problemas de dependncias, instabilidade, novas verses, ou seja, tudo que envolvesse estes pacotes. Alm disso, ferramentas permitiam que a instalao fosse facilitada, sendo criado at um repositrio, que um servidor de pacotes acessvel atravs de um simples comando. Padres de criao de pacotes, documentao de tudo, fases de maturao, tudo isso e mais vrias outras coisas fizeram com que o Debian crescesse e se tornasse uma das distribuies mais completas, maduras, robustas e organizada de todas. Hoje a empresa conta com uma constituio, contrato social e padro para organizao de pacotes. Qualquer um pode contribuir com o projeto, s que seus pacotes devem seguir as regras da comunidade. Murdock, antes de se envolver com o projeto do Debian, trabalhou no filme Toy Story. Como ficou emocionalmente envolvido com os personagens, resolveu dar o nome de um personagem do desenho a cada nova release do Debian. Veja alguns deles: Debian 1.1 Buzz (17 de junho de 1996) Debian 1.2 Rex (12 de dezembro de 1996) Debian 1.3 Boo (05 de junho de 1997) Debian 2.0 Ham (24 de julho de 1998) Debian 2.1 Slink (09 de maro de 1999) Debian 2.2 Potato (15 de agosto de 2000) Debian 3.0 Woody (19 de julho de 2002) Debian 3.1 Sarge (6 de junho de 2005) Debian 4.0 Etch VERSO ESTVEL Debian Lenny VERSO DE TESTE Debian Sid VERSO INSTVEL PARA SEMPRE
ebian vem da contrao do nome de Ian Murdock com o da sua mulher, Debra.
14
O QUE SO PARTIES?
Alguns dispositivos de armazenamento permitem-nos criar divises lgicas de seu espao total. Ao criar parties, aos olhos do sistema operacional, cada uma delas como se fosse um dispositivo de armazenamento diferente. Essa diferenciao permite que: (a) tenhamos mais segurana dos dados armazenados em situaes crticas; (b) mais de um tipo de sistema operacional no mesmo dispositivo fsico; (c) uma otimizao na utilizao do espao disponvel. Existem mais razes, mas essas so as principais.
15
Os 64 bytes referentes a tabela de parties so divididos em quatro partes, tendo 16 bytes cada uma. Dentro desse espao de 16 bytes onde encontramos a diferena entre os tipos de parties. Ele pode conter informaes a respeito de uma partio ou ento o endereo do espao que contm as informaes da prxima partio lgica.
16
Dentro da MBR Informaes que definem uma partio Dentro da MBR Referncia para a primeira partio lgica Fora da MBR Informaes a respeito de uma partio no primeiro espao de 16 bytes; referncia para a prxima lgica, se existir, nos outros 16 bytes; e 32 bytes finais sem nada (espao perdido mesmo)
Mas o que so essas informaes que definem uma partio? So os dados que definem exatamente onde comea e onde termina uma partio. Esses dados so mostrados na tabela abaixo:
A figura 6 mostra o que cada 16 bytes dentro da MBR armazena. Quando temos uma partio estendida, esses 16 bytes s tero o endereo do espao que contm a primeira partio lgica. Cada espao fora da MBR que tenha informaes sobre uma partio lgica tambm ter 64 bytes, s que ser organizada de uma forma diferente. Os primeiros 16 bytes sero reservados para definir a partio, como mostrado na figura 6. Os outros 16 bytes indicam qual o endereo da nova partio lgica. Os outros 32 bytes no armazenam nada, s existindo para que assuma o mesmo padro da MBR. como se tivssemos uma tabela de parties da MBR de 64 bytes para cada partio lgica.
Propriedades importantes
1. As parties primrias s podem existir dentro da MBR, por isso, o nmero mximo desta partio que podemos ter em um disco rgido quatro. 2. A partio estendida s serve para criar um vnculo entre a MBR e a primeira partio lgica, por isso no enxergamos ela. 3. Cada nova partio lgica deve ser referenciada por uma lgica anterior, sendo que a primeira delas deve ser referenciada pela partio estendida dentro da MBR. 4. A ltima partio lgica encerrar com uma assinatura, para que o sistema saiba que acabaram as parties. 5. No ser possvel, aps criar uma partio estendida, criar uma partio primria. 6. O mximo de parties que se pode criar em um disco rgido dezesseis, sendo que somente quinze so utilizveis, j que uma ser a estendida.
17
Esse sistema de mximo de parties primrias, partio estendida e encadeamento de lgicas existe pois, antigamente, os sistemas operacionais s trabalhavam com parties primrias. Quatro parties eram suficientes, j que os discos tinham os incrveis tamanhos de 30MB, 540MB, 730MB, 850MB, alm dos mais sofisticados e de alta capacidade de armazenamento, de 1.28GB! Hoje em dia, com discos de 80GB, 120GB, 160GB, 500GB e outras capacidades maiores, mais parties so necessrias. Para que pudessem ser criadas mais de quatro parties havendo compatibilidade com sistemas antigos, foi necessrio criar um sistema em que as informaes de parties ficassem fora da MBR, j que somente os 64 bytes no eram suficientes para armazenar tantas informaes. O mtodo explicado anteriormente foi a soluo encontrada.
19
SISTEMAS DE ARQUIVOS
Sistemas de arquivos, ou filesystem, o que chamamos de formatao lgica de um disco. A primeira formatao a fsica, feita pelo fabricante do disco. Ela no ser abordada neste curso. A segunda formatao a lgica, feita pelo sistema operacional, sendo esse o motivo de cada sistema operacional ter suporte a sistemas de arquivos diferentes. Essa formatao tem funo de preparar o disco para ser utilizado pelo sistema. Tambm possui um conjunto de regras que define como os dados sero manipulados, ou seja, armazenados e recuperados. Alguns tipos de sistemas de arquivos possuem recursos a mais do que outros, como por exemplo journaling, tail, etc, alm de blocos de tamanhos diferentes.
BLOCOS
O bloco a menor unidade de armazenamento em um disco. Imagine um banco da Sua. Voc milionrio e possui uma seo s para voc, e dentro dessa seo existem vrias maletas. A poltica do banco no permite que voc entre em sua seo por motivo de segurana. Sempre que voc queira colocar ou retirar algo do banco, voc precisar solicitar uma maleta especfica que esteja dentro da sua seo. Voc tem 50 anis de ouro na maleta A e apenas um de prata na B. Se voc quiser retirar o anel de prata, ter que solicitar a maleta B inteira. Se voc quiser apenas um de ouro, ter que solicitar a maleta A inteira do mesmo jeito. Essa maleta como o bloco dos sistemas de arquivos. O tamanho real de um arquivo no importa, e sim a soma do total de bytes dos blocos que ele usa. E a diferena entre bloco e setor que este criado pela formatao fsica e muito pequeno. Serve como referncia para que a formatao lgica possa definir quantos setores representaro a menor unidade do sistema de arquivos, ou seja, quantos setores representaro um bloco de dados.
or padro, os sistemas de arquivos no misturam dados de arquivos diferentes dentro do mesmo bloco. Se temos um arquivo A que precisa de 2 blocos e meio, a metade do
terceiro no ser usado para armazenamento de um arquivo B. Os dados so armazenados no quarto bloco. Isso por padro, mas existem alguns recursos que possuem blocos especiais que armazenam caldas de arquivos (da tail). Os dados que completam blocos cheios so gravados sequencialmente e os dados finais de todos os arquivos, os restos, so armazenados num bloco especial. Este recurso chama-se tail packing.
JOURNALING
um recurso que registra tudo que o sistema de arquivos faz, permitindo que em caso de queda de energia ou travamento no haja corrompimentos. Quando abrimos um arquivo ou programa, ele carregado na memria. Tudo que fazemos alterado na memria e, somente aps um tempo determinado pelo aplicativo, sistema operacional ou usurio (atravs das opes de salvar, sincronizar, etc), ser feita a alterao dos dados no disco. Essa alterao no gravada sobre os dados anteriores, mas sim em um espao novo no disco. O espao que continha os dados antigos considerado como disponvel, mas continuar com os dados antigos at que o sistema realmente precise dele. Se durante o processo de sincronia de dados entre memria RAM e disco momento esse em que um novo espao no disco
20
referenciado como local de armazenamento do arquivo houver uma queda de energia ou travamento, o sistema de arquivos perder a ligao com o espao antigo e o espao novo ter somente parte dos dados atualizados. O arquivo estar corrompido. Com o sistema de journaling, antes de realizar qualquer tarefa, o sistema de arquivos a registrar. No caso de haver um problema, como no exemplo anterior, o sistema de arquivos saber o endereo do espao antigo e conseguir recuper-lo. No teremos o espao atualizado, j que esse nunca foi passado completamente da memria RAM para o disco, mas teremos o arquivo no estado anterior, que j alguma coisa (as vezes muita coisa).
Capacidade de armazenamento
A porcentagem definida pela razo entre blocos utilizveis e total de blocos mostra que, na maioria dos relatrios o ReiserFS e XFS so mais eficazes que o Ext3. Isso quer dizer que o Ext3 possui muitos blocos perdidos para controle de si mesmo, enquanto o sistema dos outros sistemas de arquivos mais inteligente.
21
22
ABSTRAO DE HARDWARE
Sempre que iniciamos o computador, o sistema operacional faz uma varredura procurando todos os dispositivos de hardware disponveis para utilizao. Quando encontrados, cada um deles recebe um nome e criado dentro do diretrio /dev um arquivo especial chamado de n de dispositivo, que nada mais que um espao na memria RAM que ser o local ao qual o hardware enviar e receber dados do sistema e vice-versa. Sempre que um aplicativo precisar acessar alguma informao do hardware, ele s precisar abrir o arquivo especial referente.
NS DE DISPOSITIVOS
Cada n precisar de um driver para funcionar. No Windows, sempre que voc adiciona um dispositivo, necessrio que voc instale o driver que tenha as instrues de funcionamento dele. Aps instalado, aparece no gerenciador de dispositivos um cone pelo qual o administrador consegue fazer as configuraes necessrias. Os aplicativos que precisam dele criam referncias apontando para este representante. No Debian, quase sempre os dispositivos de hardware encontrados j tm suporte do sistema e funcionam sem necessidade de configurao. Quando isto no acontecer, o administrador ter que inserir um mdulo que dar suporte ao dispositivo (o mdulo ensina o sistema a utilizar aquele dispositivo). Se tudo estiver certo, o dispositivo aparecer dentro do diretrio /dev. O comando abaixo ir mostrar todos os ns de dispositivos que o sistema encontrou.
$ls -l /dev brw-rw---- 1 root disk 3, 1 Nov 21 13:27 hda1
Existem quatro tipos de ns de dispositivos. Sempre que executamos o comando ls mostrado anteriormente (comando este que ser abordado na pgina 47), podemos verificar vrias informaes a respeito dos arquivos e diretrios. O primeiro set de configurao (a primeira letra) responsvel por informar qual o tipo de arquivo listado. Veja quais so os arquivos especiais abaixo:
23
4.O comando acima enviou a informao Eu quero aparecer em outra aba para o Arquivo-Pipe que a armazenou. Esta frase fica em stand-by at que outro aplicativo permitido requeira as informaes. Abra um novo terminal clicando, no menu do terminal, em Arquivo/Abrir Aba; 5.Nessa nova aba, veja o contedo do arquivo Arquivo-Pipe utilizando o comando abaixo:
cat Arquivo-Pipe
24
6.A mensagem Eu quero aparecer em outra aba aparecer. Se voc voltar para a primeira aba, perceber que o comando que estava em primeiro plano foi finalizado, j que ele enviou a informao que guardava para um outro comando. Os arquivos pipe tm a mesma funo do redirecionador |, tambm conhecido pelo nome pipe. Veremos vrios redirecionadores na pgina 40.
Pseudo dispositivos
Estes ns aparentam ser ns de dispositivos, mas no necessariamente representam um dispositivo fsico, real. Eles so interessantes para algumas tarefas do sistema operacional. Veja quais so os pseudo dispositivos:
seudo dispositivo um grupo que abrange ns de dispositivos que compartilham uma mesma caracterstica: serem falsos. Existem vrios deles.
/dev/null (dispositivo de caractere) Este arquivo vai receber todos os dados enviados a ele, porm os descartar sem nenhuma sada. como se fosse um buraco negro em que tudo que cai ali dentro se perde para sempre. Se voc configurar uma impressora como local e definir que o n que o referencia o null, todos os trabalhos de impresso no apresentaro erro, j que o arquivo o aceitar, porm no sero impressos, mas sim descartados. Execute o comando abaixo para entender melhor:
fcamargo@amontoado:~$ total 389200 drwx------ 5 fcamargo drwx------ 3 fcamargo drwx------ 7 fcamargo fcamargo@amontoado:~$ fcamargo@amontoado:~$ fcamargo@amontoado:~$ ls -l celepar celepar celepar 41 Dez 23 15:53 Acervo 16 Dez 24 09:25 Backup 4096 Dez 23 15:51 Desktop
ls -l > /dev/null
No exemplo acima, o primeiro comando resulta na listagem dos subdiretrios e arquivos do diretrio corrente. No segundo comando, a sada (a listagem) foi redirecionada da tela para o null, que a recebeu tranquilamente sem apresentar erros, mas depois a ignorou e mandou-a para o alm. Num futuro, quando voc estiver criando um script e usar um comando que normalmente traz um resultado na tela, mas voc no desejar que ela aparea, voc poder direcionar a sada para o null sem interferir na tarefa por ele executado. /dev/random (dispositivo de caractere) Este arquivo, quando solicitado, envia um fluxo de caracteres aleatrios para a sada solicitada. Utilidades aparecem a partir do momento que voc se familiarizar com outras ferramentas do Debian. /dev/zero (dispositivo de caractere) Igual ao random, j que produz um fluxo de caracteres, mas todos os caracteres so o zero. Ideal para zerar trechos conhecidos do hd, como por exemplo a MBR. Voc ver como fazer isso em conjunto do comando dd no curso de Debian Avanado.
25
NOMEAO DE DISPOSITIVOS
Os arquivos especiais no recebem um nome qualquer de acordo com a criatividade e humor do sistema operacional. Existe um padro, e agora veremos como ele nomeia alguns dos principais dispositivos. Na maioria das vezes teremos um prefixo que identificar qual a interface utilizada pelo dispositivo para se comunicar com a unidade central de processamento. hda hdb hdc hdd hda1 sda sda5 fd0 ttyS0 Dispositivo conectado ao IDE 0 mestre. Dispositivo conectado ao IDE 0 escravo. Dispositivo conectado ao IDE 1 mestre. Dispositivo conectado ao IDE 1 escravo. Primeira partio do dispositivo conectado ao IDE 0 mestre. Dispositivo conectado ao primeiro slot SATA ou a uma porta USB. Quinta partio do dispositivo conectado ao primeiro slot SATA. Drive de disquete. Porta serial 0.
psaux Mouse. video0 N da webcam. wlan0 Primeira placa de rede wireless (sem fio). eth1 Segunda placa de rede wired (com fio).
Vamos ver um exemplo prtico de nomeao dos discos rgidos IDE. Comearemos ento com a seguinte configurao: 1. Disco rgido conectado IDE0 como mestre; 2. Drive DVD conectado IDE1 como mestre; 3. Gravador de DVD conectado IDE1 como escravo. A nomeao fcil e invarivel. Veja como feita:
Prefixo de acordo com a forma de conexo Letra de a a e referente ao slot conectado Nmeros de parties.
As letras seguem a seguinte regra: IDE 0 (primeira) mestre (master) LETRA a IDE 0 (primeira) mestre (master) LETRA b IDE 1 (segunda) escravo (slave) LETRA c IDE 1 (segunda) escravo (slave) LETRA d Agora ficou fcil. Voltando ao exemplo anterior, vejamos como cada dispositivo seria nomeado: 1. Disco rgido conectado IDE0 como mestre = hda; 2. Drive DVD conectado IDE1 como mestre = hdc; 3. Gravador de DVD conectado IDE1 como escravo = hdd. Se existisse um arquivo em determinada partio do disco rgido hda, para que possamos trabalhar
26
com ele teramos que informar ao sistema exatamente onde ele est. Se ele estiver na segunda partio lgica do disco, ento o endereo ser hda6. Mas por qu?
As parties primrias so nomeadas de 1 a 4, de acordo com a ordem; Se mais de 4 parties forem necessrias, faz-se necessria a criao de parties lgicas Para que exista uma partio lgica, necessrio que exista uma partio estendida
referenciando a primeira das lgicas. Esta partio assumir um nmero assim como as primrias (de 1 a 4);
inutilizadas. Se tivermos uma partio primria e uma partio lgica: Partio primria Partio lgica impossibilidade de utilizao das parties lgicas. Partio primria Partio primria Partio primria Partio primria 1 2 3 4 1 5
Partio estendida (mesmo que no aparea) 2 Se tivermos quatro parties primrias, no haver espao para a estendida, o que acarretar em
27
ESTRUTURA DE DIRETRIOS
essencial que, antes de se iniciar o estudo dos comandos e interao com o interpretador de comandos, o estudante tenha pleno domnio sobre a estrutura de diretrios utilizada pelo Debian. Sempre teremos apenas dois gneros de dados em nosso computador: arquivos ou diretrios. Os arquivos podem ser de vrias espcies: arquivo de texto, binrios, links (bastante conhecido como atalho), etc. J os diretrios s podem ser ou diretrios ou links para outros diretrios. Os diretrios existem para criar uma diviso lgica dentro do disco de armazenamento, tornando a alocao dos arquivos muito melhor organizada. preciso que tenhamos um ponto de origem a partir do qual uma rvore de subdiretrios repouse. Este ponto ser a base de todo o sistema. Abstratamente, todos os arquivos e diretrios estaro dentro dele. Podemos comparar o / (barra) ao Meu computador do Windows. O Meu computador representar o sistema inteiro e todos os locais aos quais o usurio tem acesso: disquetes (A://), parties de discos rgidos e drives de CD/DVD (C://, D://, E:// e assim por diante). J no Debian, temos o / (barra diretrio raiz) e dentro dele temos acesso a disquetes (/media/floppy0), parties de discos rgidos (/boot, /home e os outros diretrios do /) e qualquer local que o usurio tenha acesso a partir do seu sistema. Na figura abaixo possvel visualizar o funcionamento da estrutura de diretrios:
A estrutura comea com o / e depois vai indo nveis abaixo. Os diretrios etc, dev, lib e media esto um nvel abaixo em relao ao / (primeiro nvel) e no mesmo nvel em relao a eles. Os arquivos fstab, sudoers e o diretrios pendrive esto no mesmo nvel em relao ao / (segundo nvel), mas esto em diretrios diferentes.
28
ENDEREOS
A estrutura de diretrios muito simples, como foi visto anteriormente, principalmente no modo grfico. Mas quando estivermos utilizando linhas de comando atravs de um terminal virtual (interpretador de comandos), necessrio saber trabalhar com endereos.
Endereos Absolutos
o caminho que deve ser seguido do diretrios raiz (o /) at o diretrio ou arquivo desejado. Sempre que se muda de nvel, coloca-se uma barra para fazer a separao. Usando a figura 10 como referncia, veja alguns endereos absolutos. Diretrio corrente aquele diretrio que o usurio est no momento. Arquivo ou diretrio que se deseja ter o endereo absoluto Arquivo fstab Arquivo sudoers Diretrio pendrive Diretrio dev Diretrio / /etc/ /home/felipe /etc/ /etc/ /home/tiaogalinha/Desktop Diretrio corrente Endereo absoluto /etc/fstab /etc/sudoers /media/pendrive/ /dev/ /
Endereos Relativos
O endereo absoluto o caminho do / at o arquivo ou diretrio desejado, independente do diretrio corrente. J o endereo relativo o caminho do diretrio corrente ao arquivo ou diretrio desejado. Arquivo ou diretrio que se deseja ter o endereo relativo Arquivo fstab Arquivo sudoers Diretrio pendrive Diretrio dev Diretrio / /etc/ /home/felipe / /etc/ / Diretrio corrente fstab ../../etc/sudoers media/pendrive/ ../dev . Endereo relativo
possvel perceber dois fatos no quadro acima: os endereos relativos, diferente dos absolutos, no comeam com /; e quando o arquivo ou diretrio no est vinculado verticalmente ao diretrio corrente, melhor usar o endereo absoluto.
s dois pontos consecutivos (..) indicam o diretrio de um nvel acima enquanto o ponto simples (.) indica diretrio corrente.
29
DIRETRIOS DO SISTEMA
Agora que voc j sabe como funciona o mecanismo da estrutura dos diretrios, vamos ver a forma como o Debian organiza seus arquivos. Atravs do comando mostrado abaixo, possvel listar os diretrios visveis do diretrio raiz.
fcamargo@amontoado:~$ total 41 drwxr-xr-x 2 root drwxr-xr-x 5 root drwxr-xr-x 11 root drwxr-xr-x 103 root drwxr-xr-x 8 root drwxr-xr-x 14 root drwxr-xr-x 12 root drwxr-xr-x 2 root dr-xr-xr-x 118 root drwxr-xr-x 17 root drwxr-xr-x 2 root drwxrwxrwt 16 root drwxr-xr-x 11 root drwxr-xr-x 14 root
ls -l / root root root root root root root root root root root root root root 4096 1024 3720 8192 95 4096 139 6 0 4096 4096 4096 109 140 Nov Nov Dez Dez Nov Nov Nov Ago Nov Nov Nov Dez Nov Nov 27 18 2 2 25 27 21 5 21 26 27 2 17 17 06:41 11:44 06:45 08:12 09:01 06:40 13:39 13:17 11:27 17:01 06:41 08:34 10:12 10:13 bin boot dev etc home lib media mnt proc root sbin tmp usr var
/boot
Possui a imagem do sistema bsico do kernel e arquivos importantes para inicializao do sistema. Esta imagem o sistema bsico que vai ser carregado na memria principal quando o computador for inicializado.
/dev
Todos os arquivos especiais ficam dentro deste diretrio. Eles no ocupam espao no disco rgido, j que tm a funo apenas de criar uma conexo entre os aplicativos e os componentes de hardware na memria RAM. Alm disso, o arquivo binrio makedev, responsvel por criar os arquivos especiais tambm alocado dentro do /dev.
/etc
o centro nervoso do Debian. Possui quase todos os arquivos de configurao de tudo. Todos os arquivos que ali esto devem ser de texto. Deve-se evitar alocar arquivos binrios dentro deste diretrio.
/home
Todos as configuraes pessoais dos usurios so gravadas dentro de uma pasta pessoal que ganha o seu nome e armazenada dentro do diretrio /home. Alm disso, os arquivos pessoais dos usurios tambm so armazenadas dentro de seus respectivos diretrios.
30
/lib
Possui as bibliotecas necessrias para a inicializao dos servios, mdulos e aplicativos aps o carregamento do sistema bsico da imagem do kernel que fica dentro do /boot.
/media
o diretrio que contm subdiretrios que servem de pontos de montagem de dispositivos. Veremos montagem de dispositivos na pgina 86). Sugere-se que dentro do /media tenha-se apenas pontos de montagem permanentes, como o drive de cd, dvd, compartilhamentos, disquete, etc.
/mnt
um diretrio destinado a montagem de dispositivos temporariamente. Caso deseje-se montar um dispositivo permanentemente, recomendado utilizar o /media.
/root
Diretrio pessoal do superusurio. Ele no fica dentro do /home para evidenciar que o diretrio do superusurio e para no caso do sistema estar crtico e no for possvel montar as outras parties, ser possvel acessar mesmo assim os arquivos pessoais do superusurio, j que ele fica dentro da mesma partio do sistema. como o capito que no abandona o navio.
/sbin
Os arquivos binrios essenciais para o funcionamento do sistema ficam dentro deste diretrio. Normalmente esses binrios no podem ser executados pelos usurios sem privilgios de superusurio.
/bin
Comandos essenciais para o sistema que esto disponveis para todos os usurios.
/tmp
Qualquer arquivo temporrio poder ser armazenado dentro deste diretrio. Aplicativos tambm o usam sem voc saber. Toda vez que o computador reiniciado o contedo deste diretrio apagado.
/usr
Contrao de Unix ShaRe. o diretrio que possui o maior volume de dados. A ideia deste diretrio criar um local em que as aplicaes no essenciais para o sistema fiquem a disposio de todos os usurios, mas somente com permisso de leitura. Um aplicativo alocado aqui pode ser acessado com suas respectivas bibliotecas e arquivos de configurao, mas qualquer coisa que o usurio crie e modifique ficar dentro da sua pasta pessoal.
31
Descrio Contm os aplicativos destinados aos usurios. No so essenciais ao sistema. Contm os aplicativos do sistema que no so essenciais para o seu funcionamento. Normalmente servem para explorar melhor o potencial do computador. Contm as bibliotecas utilizadas pelos aplicativos alocados no /usr/bin e /usr/sbin. Dados que sempre sero instalados, independente da arquitetura para qual o pacote foi criado. Documentao,plugins, configuraes bsicas, pginas de manuais, dicionrios e imagens de cones so alguns exemplos.
/usr/lib /usr/share
/var
Um bom sistema operacional precisa de um local em que dados variveis possam ser criados, modificados e excludos dinamicamente por processos . O /var tem essa funo. Vejamos alguns dos seus principais subdiretrios: Subdiretrios /var/cache /var/log Descrio Alguns aplicativos precisam de um diretrio para armazenar alguns dados que utilizam sempre, tornando a reutilizao desses dados mais rpida. Existem alguns daemons (gerenciadores de servios) que criam entradas de log em arquivos para que o administrador possa saber o que est acontecendo no computador. Estes registros ficam dentro deste diretrio. Possui filas de dados para aplicativos. O CUPS envia os trabalhos de impresso para o /var/spool/cups/tmp. Semelhante ao /tmp, porm os dados de dentro dele no sero apagados aps a reinicializao do sistema. Alguns aplicativos precisam armazenar dados temporariamente, mas exigem que para apag-los seja enviada uma ordem para isso.
/var/spool /var/tmp
32
(b) /
(II)
(c) /home
(III) Local padro de alocamento de diretrios de todos os usurios, exceto do root e de usurios do sistema, com seus respectivos arquivos e configuraes pessoais. (IV) Imagem do sistema bsico.
(d) swap
Resposta: a = ___ , b = ___ , c = ___ , d = ___ 6.Assinale com um V as proposies verdadeiras e com um F as proposies falsas: ( ) A MBR no pode ser alterada, j que se trata de uma memria ROM; ( ) possvel se ter uma partio lgica sem uma estendida; ( ) Dentro da MBR podem ser armazenadas informaes de at 16 parties; ( ) Aps a criao de uma partio lgica, no possvel criar uma partio primria; 7.Qual a menor unidade de armazenamento que temos em um disco? 8.Indique qual o tipo de arquivo criado pelo Debian para se comunicar com o: a)Mouse b)Disco Rgido c)Memria Ram 9.Escreva o nome atribudo pelo Debian a: a)3 partio lgica de um disco conectado IDE 0 configurado como slave b)1 pendrive conectado a um computador com um disco IDE c)2 pendrive conectado a um computador com um disco SATA d)Drive de disquete de um computador com dois discos SATA e um IDE 10. Qual o diretrio que contm os pontos de montagem, por padro, do drive de cd e pendrive? 11. O que, em um comando, caracteriza um endereo absoluto? 12. Qual foi a inteno ao se criar o diretrio /usr ?
33
INICIAO
Antes de iniciarmos a utilizao efetiva do interpretador de comandos, devemos ter algumas noes bsicas bem claras. Mas ainda, antes disso, importante que o estudante saiba onde encontrar informaes a respeito de comandos e funcionamento do sistema operacional, j que nem sempre encontrar suas dvidas sanadas por apostilas, manuais e cursos. Tudo isso ser visto neste captulo.
Frum
Em alguns casos, a experincia de outras pessoas o melhor caminho para se encontrar uma soluo. Esses links levam a fruns interessantes a respeito do Debian:
http://www.forumdebian.com.br http://wiki.forumdebian.com.br http://ubuntuforum-br.org
Manuais
Quase todos os comandos e arquivos de configurao possuem manuais. Para acess-los, basta digitar man antes deles no interpretador de comandos.
fcamargo@amontoado:~$ man interfaces ( um arquivo) fcamargo@amontoado:~$ man ifconfig ( um comando)
Para sair dos manuais pressione a tecla <q> do teclado. Q de quit, sair em ingls.
TERMINAIS
Para poder entregar dados para que a unidade central do computador possa fazer os devidos processamentos, necessrio que voc interaja com o sistema operacional. Os terminais permitem que essa conexo seja feita. Vejamos agora as principais formas de se fazer isso.
Terminal virtual
o interpretador de comandos que independe de modo grfico. Para que possa ser acessado e ser iniciada uma sesso com um usurio vlido, o usurio deve pressionar simultaneamente as teclas <CTRL>+<ALT>+<F[1 a 6]> se estiver no modo grfico ou ento somente <ALT> + <F[1 a 6]>. Qualquer aplicativo que precise de suporte do servidor grfico no funcionar neste terminal. O
34
interessante dele que se o modo grfico travar, o administrador poder fazer seu diagnostico e corrigir eventuais problemas atravs de outro acesso ao sistema operacional.
Terminal emulado
uma emulao do terminal virtual. Ele inciado a partir do modo grfico. A diferena que no emulado possvel alterar o perfil da tela (cores, transparncia, fundo de tela, etc), mas caso o modo grfico trave, o terminal emulado tambm travar. Para acess-lo v em:
Aplicaes/Acessrios/Terminal
Modo grfico
Por fim, o modo grfico outra forma de interao. Com ele, aps iniciar uma sesso, o usurio contar com uma interface grfica e o auxlio do mouse em suas atividades. O problema que o modo grfico nem sempre disponibiliza uma forma de se acessar ou alterar alguns arquivos e locais que administradores precisam configurar.
USURIOS E GRUPOS
O Debian um sistema multiusurio. Isso quer dizer que vrios usurios podem utilizar o mesmo sistema ao mesmo tempo. Mas a voc vem e me diz que isso impossvel, j que s existem conectores para um mouse e um teclado. Quer dizer que se dois usurios quiserem utilizar o mesmo sistema, cada um ter de usar uma metade do teclado e somente um boto do mouse? Calma filha. Utilizam-se terminais virtuais. Pode-ser ter vrios usurios conectados em terminais diferentes sendo utilizados um de cada vez atravs do mesmo conjunto de teclado e monitor; ou ento usurios sendo manipulados remotamente por uma ou mais pessoas. Para que haja uma organizao das sesses iniciadas, so criados os usurios, que podem ser os de sistema (utilizados somente pelo sistema operacional) e os usurios normais: o joao, a maria, etc. Cada usurio ter locais dentro do computador para armazenar arquivos pessoais e informaes referentes s suas preferncias. como se fosse o Documents and Settings do Windows. No linux, o diretrio que contm as pastas pessoais o /home. Se eu me logo como macale, qualquer arquivo que eu gravar em minha pasta pessoal ou Desktop, alteraes no GNOME (como temas e papis de parede), variveis de ambiente do interpretador de comandos (como definio de proxy, shell padro do usurio e path), ficam dentro da sua respectiva pasta dentro do /home/macale. Alm disso, processos (programas carregados na memria) so gerenciados atravs de uma srie de identificaes. Dentre elas, o proprietrio e grupo de cada instncia do processo. Usurios e grupos servem, ento, para que seja possvel um bom funcionamento das permisses, gerenciamento de instncias de processos e armazenamento de configuraes pessoais.
Superusurio (root)
Para que o sistema fique mais seguro, os sistemas baseados no GNU/Linux possuem um usurio administrador que o nico que tem plenos poderes sobre o sistema. Sempre que o administrador precisar fazer alguma configurao, instalao, ou qualquer tarefa de gerenciamento do sistema, dever estar logado como superusurio, caso contrrio esbarr em proibies devido a falta de permisses. O nome que dado ao superusurio root.
35
Usurio normal
So todos usurios que no sejam o superusurio. Eles, por padro, s tem permisso de realizar tarefas nos locais e processos que so proprietrios. Isso faz com que um usurio no interfira no trabalho do outro. Possuem seus arquivos e configuraes alocados dentro de suas pastas pessoais, que por sua vez ficam no endereo /home.
A
Grupos
pasta pessoal do superusurio a nica que no fica dentro do /home. Fica dentro do prprio diretrio raiz. Seu endereo /root.
Grupos so obrigatrios nos sistemas baseados no GNU/Linux. Eles que permitem que usurios com privilgios iguais compartilhem as mesmas permisses de uma forma mais fcil. Se existirem 1000 usurios numa rede, mas somente 10 podem acessar um diretrio chamado CAIXA PRETA, deve-se criar um grupo com tal permisso e inserir essas 10 pessoas ao grupo. As outras 990 pessoas sero barradas.
A tela acima acessvel, caso o usurio esteja no modo grfico, atravs do comando <CTRL><ALT><F[1 a 6]>, ou ento escolhendo a opo SINGLE MODE no grub. Ser necessrio inserir primeiramente o nome do usurio e depois a senha.
Debian Gnu Linux 5.0 amontoado tty1 amontoado login: fcamargo password: <Digite a senha Normalmente.
Os
asteriscos
no
A
36
o iniciar um terminal emulado, a sesso ser iniciada automaticamente com o usurio que entrou no modo grfico, sem necessidade de digitar novamente a senha.
ENTENDENDO O TERMINAL
Sempre que voc logar no BASH, um dos terminais mais utilizados pelos usurios Linux, uma linha de comando fica disponvel para que o usurio digite os comandos. Entenda as informaes que aparecem nessa linha: <nome_do_usurio>@<nome_do_computador>:<diretrio_corrente>[caractere_de_status] Ex: fcamargo@amontoado:/tmp/$ O caractere cifro ($) indica que o usurio logado no o superusrio. Isso obvio, mas com o passar do tempo voc notar que esse caractere mais fcil de se visualizar que o nome do usurio. Para o usurio root, o nome do usurio e o @ no aparecem, e o caractere de status muda para o jogo da velha. Ex: amontoado:/etc/#
Recursos do terminal
Comandos CTRL+C CTRL+Z CTRL+L CTRL+D CTRL+U CTRL+Y Resultado Termina a execuo de um programa que esteja sendo executado em 1 plano. Pra (pausa) a execuo de um programa que esteja sendo executado em 1 plano. Limpa a tela e mantm o comando escrito na linha de comando. Sai do sistema (mesma coisa que digitar logout). Apaga (similar ao recurso RECORTAR) tudo que estiver entre o cursor do teclado e o incio da linha de comando. Insere o trecho recortado com o CTRL+U a partir de onde o cursos estiver.
37
fcamargo@amontoado:~$ who root tty2 2009-01-29 fcamargo tty7 2009-01-27 fcamargo pts/0 2009-01-29 fcamargo pts/1 2009-01-29
Como pode-se observar, os dados apresentados so: [usurio_conectado] [terminal] [data e hora do incio da conexo] [interface intermediria] A interface intermediria aquele que fica entre o sistema operacional e a interface em questo. Se o usurio se loga no modo grfico, este modo faz uma ponte entre o usurio e um terminal virtual. Como o primeiro modo grfico representado por ( : 0 ), ento na interface intermediria teremos essa representao. Caso a conexo seja remota, o terminal utilizado sempre ser pts/n (onde o n o prximo nmero disponvel), e o intermedirio ser o IP ou HOSTNAME (nome) do computador remoto. No caso de um terminal emulado, este tambm utilizar o formato pts/n, porm a interface intermediria ser um termo composto pela representao do modo grfico mais .0.
e um usurio se logar no modo grfico, travar a tela e um novo usurio se logar, este novo modo grfico ganhar a representao ( : 20 ) e se conectar ao terminal tty8.
CORINGAS
Existem alguns caracteres que servem como os famosos coringas do baralho. Eles representam muitos outros caracteres. Alguns coringas representam todos caracteres, outros restringem-se a grupos especficos. Eles fazem com que uma tarefa que envolvesse vrios arquivos e/ou diretrios acabe se tornando muito mais fcil e rpida.
Casas
Cada caractere ocupa uma casa. Entende-se como caractere qualquer um dos smbolos presentes nas tabelas de caracteres ASCII ou UTF. [4 casas] [9 casas] [13 casas] [28 casas] Eita Meu Saci! Thunder cats! O Roger come como um cavalo.
* (tudo)
Este caractere representa todos os caracteres, independente do nmero de casas. *.odt Representa todos os arquivos terminados em .odt.
38
Ex: Como deixar de ser feio.odt CPPC.odt Co* Representa tudo que comea com Co. Ex: Comanda.odg Como deixar de ser feio.odt Co*.odt Representa tudo que comea com Co e termina com .odt. Ex: Como deixar de ser feio.odt
? (um caractere)
quase igual ao asterisco (*), porm em vez de aceitar ilimitados caracteres no lugar do coringa, ter um nmero fixo de casas. O nmero de casas vai ser igual ao nmero de interrogaes que se colocar. B*o Representa todos os arquivos que comeam com B e terminam em o. Ex: Bati no Robzila com um ourio Beio B??o Representa todos os arquivos que comeam com B e terminam em o, que possuem apenas duas casas entre os dois critrios. Ex: Beio [2 casas entre B e o]
[ ] (definindo o caractere)
Esta a forma mais precisa de coringa, pois o usurio poder definir exatamente quais caracteres devero ser usados como critrios. Cada duplo colchete, independente do nmero de termos que contiver dentro deles, representaro uma casa (exceto para o caso dos colchetes). [15adB] Representa todos os caracteres que esto dentro das chaves. [a-n] Representa os caracteres que estiverem entre a e n (somente letras minsculas). [a-fh] Representa os caracteres que estiverem entre a e f (somente letras minsculas) mais a letra h. [a-zA-C] Representa todos as letras minsculas mais as letras maisculas entre A e C. {oi,oe}[14-6] Representa arquivos que tenham nas duas primeiras casas a palavra exata oi ou oe e na terceira casa qualquer nmero entre o 4 e 6 mais o 1.
s chaves servem para que os critrios sejam palavras inteiras (no caracter por caracter) e devem substituir os colchetes, no ficar dentro deles. [HD][HD] poder
RECURSIVIDADE
Este termo deve ficar bem claro, j que frequentemente um usurio ou administrador ter que utilizlo. Vocs cansaro de usar o -R. Veja o esquema abaixo para entender a ideia da recursividade. Quando voc ler isto pela segunda vez, a recursividade ter acabado. Se for a primeira vez, leia o pargrafo abaixo. Se este for o ltimo pargrafo, apague-o e v para o pargrafo acima, caso contrrio, v para o prximo pargrafo. Se este for o ltimo pargrafo, apague-o e v para o pargrafo acima, caso contrrio, v para o prximo pargrafo. Se este for o ltimo pargrafo, apague-o e v para o pargrafo acima, caso contrrio, v para o prximo pargrafo.
39
A recursividade atribuda a um comando faz com que este comando seja executado sobre os arquivos e subdiretrios do ltimo nvel, depois nos arquivos e subdiretrios de um nvel acima e assim por diante, at chegar a um diretrio final que acaba com a recursividade. Voc entender ele melhor quando comearmos a utilizar alguns comandos.
REDIRECIONADORES
Programas so compilaes de ordens bem definidas que possuem objetivos. Ento dados so recebidos, processados pelo processador sob os comandos dos programas e um resultado surge. Podemos dividir este processo em trs etapas: 1. Entrada de dados. Isto se d atravs do que chamamos Entrada de um comando; 2. Processamento e gerao de um resultado, que fica registrado na memria principal aguardando uma indicao de o qu fazer com os dados; 3. Sada dos dados. Isto se d atravs do que chamamos Sada de um comando. Os comandos possuem entradas e sadas definidas, que chamamos de entrada e sada Padro, mas o usurio poder a qualquer momento alterar a forma de coleta e entraga de dados de um comando. Isso feito atravs dos redirecionadores.
>
Altera a sada de um comando. Iremos usar um exemplo muito simples para que vocs possam entend-lo. Se dermos um echo em um bash qualquer, a mensagem digitada ser mostrada dentro do bash em que o comando rodou (o comando echo ser visto na pgina 78). Este o padro, a sada padro do comando. Mas podemos fazer com que, em vez de sair no bash corrente, ele saia em outro bash. Vejamos o exemplo a seguir.
blanka@amontoado:~$ echo Bom dia estrela do planeta Terra! Bom dia estrela do planeta Terra!
Agora iremos abrir uma nova aba utilizando as teclas de atalho <Ctrl>+<Shift>+<t>. Nesta aba, teremos que descobrir qual o nome da sua interface.
blanka@amontoado:~$ who am i fcamargo pts/1 2009-03-10 15:50 (:0.0)
Agora iremos voltar para o outro bash eredirecionar a sada para o /dev/pts/1.
blanka@amontoado:~$ echo Bom dia estrela do planeta Terra! > /dev/pts/1 blanka@amontoado:~$
Desta vez no apareceu nenhum resultado. Agora v at o terminal /dev/pts/1 e veja o resultado. Quando um arquivo usado como sada e usa-se este redirecionar, se o arquivo no existir ser criado automaticamente e se o arquivo existir ser sobrescrito, tendo como contedo o resultado do comando executado antes do >.
bozo@amontoado:~$ ls / > eita.txt bozo@amontoado:~$ cat eita.txt
40
>>
Igual ao anterior, porm, quando usado um arquivo como sada, ele no descarta o arquivo existente, e sim adiciona as novas informaes ao fim do arquivo.
bozo@amontoado:~$ bozo@amontoado:~$ Carro bozo@amontoado:~$ bozo@amontoado:~$ Carro FIM echo "Carro" > O-que-torna-o-Macauli-bonito cat O-que-torna-o-Macauli-bonito echo FIM >> O-que-torna-o-Macauli-bonito cat O-que-torna-o-Macauli-bonito
<<
Finaliza a execuo de um comando no momento que um critrio seja atendido. Veja o exemplo:
amontoado:/home/fcamargo# cat << FIM? > ser <Enter> > que <Enter> > isto <Enter> > chegar <Enter> > ao <Enter> > FIM? <Enter> ser que isto chegar ao amontoado:/home/fcamargo#
No exemplo acima podemos observar que tudo que est aps o sinal de maior est sendo digitado, e aps o <Enter>, uma nova entrada criada. Quando o termo do critrio digitado, o comando finalizado e tudo que foi digitado passa para o cat, que mostra todas as entradas, exceto aquela que serviu de critrio.
amontoado:/Curso# cat > Baralho << FIM > Oi > meu > amiguinho > FIM amontoado:/Curso# cat Baralho Oi meu amiguinho amontoado:/Curso#
Acima podemos ver que primeiro temos o critrio FIM, depois temos a criao do arquivo Baralho e o a lista criada com todos os resultados, exceto o termo FIM enviado para o comando cat, que visualiza, s que em vez de mostrar na tela, envia a sada para o arquivo criado Baralho.
41
2>
um filtro que deixa a tela limpa de erros. Ele redireciona as mensagens de erro para um novo arquivo de texto. Se j existir outro arquivo, no mesmo diretrio, com o mesmo nome, ele ir sobrescrev-lo.
amontoado:/Curso# cat cat: Petinho: Arquivo amontoado:/Curso# cat amontoado:/Curso# cat cat: Petinho: Arquivo Petinho ou diretrio no encontrado Petinho 2> Soh-Erro.txt Soh-Erro.txt ou diretrio no encontrado
2>>
Tem a mesma finalidade do 2>, mas em vez de criar um arquivo novo, ele ir adicionar as novas linhas ao fim do documento especificado.
amontoado:/Curso# cat cat: Petinho: Arquivo amontoado:/Curso# cat cat: Petinho: Arquivo amontoado:/Curso# cat amontoado:/Curso# cat cat: Petinho: Arquivo cat: Petinho: Arquivo Soh-Erro.txt ou diretrio no encontrado Petinho ou diretrio no encontrado Petinho 2>> Soh-Erro.txt Soh-Erro.txt ou diretrio no encontrado ou diretrio no encontrado
| (pipe)
O pipe tem a funo de direcionar a sada de um comando para a entrada de um outro. Como os estudantes tm dificuldade em entender este comando e ainda no estudamos realmente nenhum comando, iremos usar um exemplo que no possui nenhuma relao com o linux. Temos os seguintes comando no nosso bash (isto fictcio, tendo apenas fins didticos): Comando safadinho Descrio Crie uma lista com todas as namoradas que o Chicken Little j teve. Essa lista deve trazer em linhas: (a) o nome delas; (b) suas habilidades. Sintaxe: safadinho <Enter> Mostre apenas as linhas que contenham o que for escrito aps o comando. Sintaxe: garimpe <termo-a-ser-pesquisado> <entrada> A entrada pode ser um arquivo ou o resultado de um outro comando.
garimpe
O resultado acima foi mostrado no formato de lista. Podemos pegar esta lista, que a sada do comando safadinho (j que o resultado dele), e encaminh-lo para o comando garimpe, para que ele possa filtrar a lista, mostrando na tela apenas as linhas que contenham o termo pedido. No necessrio informar nada de onde o comando garimpe deve pegar os dados para fazer a filtragem, j que o prprio pipe indica isso.
42
Sada padro
Vamos ler o esquema acima: execute o comando safadinho e o seu resultado, em vez de ser mostrado na tela, dever ser encaminhado para o comando garimpe, que ir procurar linhas que contenham o termo ventre. Veja como ficaria se estivssemos trabalhando no bash:
safadinho | garimpe ventre <Enter> fellipa dana do ventre;engraadinha
Lembre-se disso e ser meste em pipe: o pipe serve como um conector, ligando a sada de um comando com a entrada de outro.
tee
O resultado de um comando que precede o tee enviado para um arquivo de texto e para a sua sada padro ao mesmo tempo. Deve ser usado juntamente com o pipe. Vamos usar o mesmo exemplo do >:
bozo@amontoado:~$ ls / | tee eita.txt bin boot cdrom Curso ... (alm dos outros diretrios) bozo@amontoado:~$ cat eita.txt bin boot cdrom Curso ... (alm dos outros diretrios)
Perceba que no seria necessrio visualizar o arquivo criado. S o tee j faz tudo: mostra e grava no arquivo. Estamos usando o cat somente para confirmar se ele fez seu trabalho direito.
43
VIM
Quando o administrador estiver gerenciando o sistema atravs de um interpretador de comandos, precisar ter domnio de pelo menos um editor de texto. Voc poder usar at o Gedit (bloco de notas do Debian) se quiser, mas imprescindvel que ao menos um editor feito para rodar em um terminal virtual seja dominado, j que nem sempre o servidor grfico estar presente. O vim o editor de texto mais utilizado pelos administradores de sistemas Debian, por isso ele ser abordado neste captulo.
CRIANDO UM ARQUIVO
Para criar um arquivo com o vim fcil, basta utilizar a seguinte sintaxe: vim {endereo}<nome.do.arquivo> Abaixo um exemplo do arquivo de texto robzila dentro do diretrio pessoal do usurio feio.
$vim /home/feio/robzilla <ENTER>
nico detalhe que diferencia a criao e edio de arquivos com o vim se o arquivo j existe ou no. Se o nome dado j existir, ele ser aberto para edio, se no existir,
MODOS DO VIM
Existem trs tipos de modos possveis de se trabalhar no vim: Insero de texto Edio de texto Linha de comando
Insero de texto
Rodap Tecla de atalho Detalhes Rodap: -- INSERT -Permite que o usurio crie, modifique ou apague dados sempre aumentando ou diminuindo o tamanho total do texto. Se existir a linha abaixo: 2111 bom 1112 e voc inserir dia com o <Insert>, a linha ficar 2111 bom dia 1112 Rodap: -- REPLACE - igual ao INSERT com a diferena que manter o tamanho original do texto. Isso porque qualquer novo dado inserido sobrescrever o que j existe. O mesmo procedimento feito antes, mas com o REPLACE, resultar no seguinte: 2111 bom 1112 2111 bom dia2 INSERO DE <Insert> para TEXTO esquerda do cursor NORMAL <i> - para esquerda do cursor <a> - para direita do cursor INSERO DE <Insert Insert> TEXTO <R> SOBRESCREVENDO
44
Edio de texto
Funes Tecla de atalho Detalhes Rodap: (nada) Independente do modo que voc estiver, ao pressionar a tecla <Esc> voc iniciar o modo de edio. Rodap: n line(s) yanked Ir copiar uma ou mais linhas inteiras para a rea de transferncia, esperando que o usurio indique, atravs do posicionamento do cursor e pressionamento da tecla <p>, onde dever ser criada a cpia no documento. Entrar no modo <Esc> de edio COPIAR <yy> Copia a linha em que o cursor est. <y>n<y> Copia n linhas a partir de onde o cursor estiver para baixo.
RECORTAR
<yy> Recorta a linha Rodap: n line(s) less em que o cursor est. Idem ao copiar, s que no manter a linha que deu origem <y>n<y> Recorta n cpia. linhas a partir de onde o cursor estiver para baixo. <p> Rodap: n more line(s) Ir inserir no texto a cpia criada ou pelo Copiar ou pelo Recortar. A ou as novas linhas sempre sero inseridas na linha abaixo de onde o cursor esteja.
COLAR
APAGAR COM <v> + setas direcionais Rodap: -- VISUAL -O VISUAL + <Delete> Este modo permite que mesmo fora do modo de insero, voc consiga apagar trechos selecionados e no somente linhas inteiras. Aps pressionar o <v> fora do modo de edio, utilize as setas direcionais para selecionar o trecho que deseja apagar e ento pressione a tecla <Delete>. Automaticamente voc sair do modo Visual.
Linha de comando
Funes Tecla de atalho Detalhes Para iniciar a pesquisa atravs da linha de comando, sempre ser necessrio sair do modo de insero de texto atravs do <Esc> e depois digitar o comando. Para encontrar o texto, basta pressionar a tecla </> e depois escrever o que deseja encontrar. Para avanar para a prxima entrada encontrada no texto, pressione <n> (next - prximo). Aps fazer todas as alteraes necessrias, voc poder sair salvando ou no o documento. Ao lado esto listadas as formas possveis de se sair. O q de quit (sair), o w de write (escrever) e o x um atalho para wq. Ao utilizar a exclamao, voc estar forando a sada. Algumas vezes, o vim ir impedir que o usurio salve as alteraes feitas pois trata-se de um documento importante. O exclamao serve para voc dar certeza de que tem cincia do que est fazendo. Preparar para <Esc> entrar no modo linha de comando PESQUISAR </>string
SAIR
<:q> = Sai sem salvar. <:x> = Salva e sai. <:wq> = Salva e sai. <:q!> = Sai sem salvar forado. <:x!> = Salva e sai forado. <:wq!> = Salva e sai forado.
45
COMANDOS ESSENCIAIS
Agora que j foram abordados alguns dos conceitos bsicos necessrios para o entendimento de alguns fatores que aparecem na prtica, est na hora da abordagem dos comandos que so necessrios para que um administrador possa fazer um bom gerenciamento do sistema. Este captulo trar apenas os comando essenciais do bash. Estes comandos so necessrios para que voc possa manipular e gerenciar arquivos e diretrios do sistema. A ordem em que eles esto dispostos deve ser seguida para que voc inicie dos mais simples para os mais complicados. A cada novo comando haver um acmulo de conhecimento que o tornar apto para resolver problemas mais complexos no decorrer do curso.
O
CD
s comandos abaixo viro sempre com um campo inicial chamado Assimilao, que informar o que o comando quer dizer para que voc possa memoriz-lo de uma
forma mais fcil. O comando na maioria das vezes vai ser um verbo no imperativo. Voc mandar o computador fazer algo.
Assimilao:(Change DirectoryMudeodiretrio!)
((1)) fcamargo@amontoado:~$ cd /media/cdrom ((1)) fcamargo@amontoado:/media/cdrom$ cd /home/fcamargo/ ((3)) fcamargo@amontoado:/home/fcamargo$ cd /media/cdrom ((4)) fcamargo@amontoado:/media/cdrom$ cd .. ((1)) fcamargo@amontoado:/media$ cd / ((5)) fcamargo@amontoado:/$ cd ((2)) fcamargo@amontoado:/home/fcamargo$ cd Desktop/ ((2e4)) fcamargo@amontoado:/home/fcamargo/Desktop$ cd ../.. ((2)) fcamargo@amontoado:/home$ cd fcamargo/Desktop/ ((1)) fcamargo@amontoado:/home/fcamargo/Desktop$ cd / ((2)) fcamargo@amontoado:/$ cd home/ ((2)) fcamargo@amontoado:/home$ cd fcamargo/
46
LS
Assimilao:(ListListe!) Sintaxe: ls <diretrio 1> ... <diretrio n> [parmetros] Mostra o contedo do(s) diretrio(s) desejado. Caso voc deseje listar o contedo do diretrio corrente, basta digitar ls e pressionar <Enter>. Para listar diretrios diferentes do corrente sem sair deste, informe o endereo absoluto ou relativo daqueles. fcamargo@amontoado:/curso$ ls
arquivo Saci
fcamargo@amontoado:/curso$ ls /home
fcamargo fellipeveiga marcius
parana
tiaogalinha
fcamargo@amontoado:/curso$
Descrio Em vez de trazer o contedo em colunas, um ao lado do outro, este parmetro ir listar o contedo em linhas, trazendo informaes adicionais de cada arquivo ou diretrio. Estas informaes sero vistas aps esta tabela. Lista tudo, inclusive os arquivos ocultos. Arquivos ocultos tem seus nomes comeados por um ponto simples. Exemplo: .oculto (para criar um arquivo oculto, basta renomelo com um ponto na frente). Deve-se ser usada em conjunto ao -l. A coluna do tamanho dos arquivos ser mostrado em unidades de bytes (B, KB, MB, GB, TB, etc), linguagem mais fcil de entender por ns humanos. Mostra ao lado direito do nome do diretrio ou arquivo um caractere que indica qual o tipo do dado. Diretrio(/) - Binrio(*) ; Pseudo Arquivo(|) ; soquete(=) ; Link Simblico(@) Ativa a opo de recursividade (pgina 39).
-h (humanos)
-F (faz o qu?)
-R (recursivo)
Todas essas informaes que aparecem a mais nas colunas ficam no inode de cada arquivo ou diretrio. Inode um cabealho que cada arquivo ou diretrio possui para controle do sistema de arquivos e armazenamento de informaes. Primeira coluna: Tipo de dado e Permisses A primeira coluna composta por um set que indica o tipo de dado da linha; trs sets que indicam as permisses do proprietrio; trs sets que indicam as permisses de quem faz parte do grupo ao qual o arquivo ou diretrio pertence; e por fim, trs sets que indicam as permisses de quem no nem
47
d = diretrio l = link simblico - = arquivo b = n de dispositivo de bloco s = n de dispositivo de soquete p = n de pseudo dispositivo
s ns de dispositivos foram vistos na pgina 23. As permisses sero abordadas na pgina 111.
Segunda coluna: Nmero de ligaes diretas Diretrios: Indica o nmero de ligaes diretas que se tem a partir do diretrio em questo. Por padro, sempre teremos duas ligaes, mas por qu? Porque se o usurio entrar no diretrio que tenha 2 acessos a partir dele, ser possvel ver o contedo do diretrio (1 ligao) e voltar para o diretrio de um nvel acima (2 ligao). Ento, se nesta coluna aparecer o nmero 5, o diretrio ter 3 subdiretrios, mas 5 opes ligadas diretamente a ele. Arquivos: O nmero sempre ser 1, porque a nica ligao existente a com o seu contedo. Terceira coluna: Proprietrio Indica o nome do proprietrio do arquivo ou diretrio. Quarta coluna: Grupo Informa qual o grupo que o arquivo ou diretrio pertence. Quinta coluna Diretrios: Informa o espao ocupado pelo contedo do diretrio e somente dele, no contabilizando o contedo dos subdiretrios. Arquivo: Informa o tamanho do arquivo. Sexta, stima e oitava coluna Informa a data de criao ou da ltima modificao. Nona coluna Nome do arquivo ou diretrio.
PWD
Assimilao:(PrinttheWorkingDirectoryPowerdirectory!) Sintaxe: pwd Mostra qual o diretrio corrente. fcamargo@amontoado:~$ pwd
/home/fcamargo/
fcamargo@amontoado:~$
48
MKDIR
Assimilao:(MakedirCrieo(s)diretrio(s)!) Sintaxe: mkdir <nome do diretrio> Cria um diretrio ou toda uma estrutura linear de diretrios. O interpretador de comandos sempre criar o ltimo nome que voc colocou. O resto ser o endereo para chegar ao diretrio em que ser criado o novo diretrio. No exemplo a seguir, podemos observar formas de se usar o mkdir. 1. Criao do diretrio Pequeno dentro do /tmp. 2. Tentativa de se criar o diretrio Paulo dentro do diretrio /home/fcamargo/Pequeno, sendo que este no existe. Por isso, retornado um erro. 3. Criao do diretrio Pequeno dentro do diretrio corrente (perceba que no h a / na frente de Pequeno, por isso, trata-se de um endereo relativo). 4. Procedimento igual ao do ponto 2, porm agora ir d certo j que a estrutura para o Paulo existe. ((1)) fcamargo@amontoado:~$ mkdir /tmp/Pequeno ((2)) fcamargo@amontoado:~$ mkdir Pequeno/Paulo mkdir: no possvel criar o diretrio `pequeno/Paulo': Ar quivo ou diretrio no encontrado ((3)) fcamargo@amontoado:~$ mkdir Pequeno ((4)) fcamargo@amontoado:~$ mkdir Pequeno/Paulo fcamargo@amontoado:~$
possvel criar mais de um diretrio por vez. Para isso basta separar o nome dos diretrios por espao. Se voc desejar ter um diretrio com espao no nome (nome composto), coloque-o entre aspas.
fcamargo@amontoado:/curso$ mkdir Burro Robzila fcamargo@amontoado:/curso$ ls -l total 0 drwxr-xr-x 2 fcamargo grupo-celepar-usuarios 6 drwxr-xr-x 2 fcamargo grupo-celepar-usuarios Leo Dourado drwxr-xr-x 2 fcamargo grupo-celepar-usuarios 6
Mico Leo Dourado Dez 5 16:20 Burro 6 Dez 5 16:20 Mico Dez 5 16:20 Robzila
Se voc quiser ter 10 diretrios com nomes 1, 2... at 10, um dentro do outro linearmente, voc no conseguir da forma normal. Isso porque o nico diretrio que se tentar criar ser o 10, mas todo o resto ter que existir para funcionar. fcamargo@amontoado:~$ mkdir 1/2/3/4/5/6/7/8/9/10 mkdir: no possvel criar o diretrio `1/2/3/4/5/6/7/8/9/10': Arquivo ou diretrio no encontrado
Agora se voc usar o parmetro -p (parents pais), voc ir criar toda a estrutura de diretrios que faltam para finalmente se criar o 10.
49
D
CP
iferente do Windows, os sistema baseados no GNU/Linux no trabalham com extenso. Elas existem apenas para organizao por parte dos usurios. Alguns raros
aplicativos associam extenses ao programa que dever abri-lo, como o BrOffice.org, por exemplo. Mas ele no deixar de ser o que .
Assimilao>(CopyCopie!) Sintaxe: cp <arq ou dir a ser copiado> <diretrio de destino da cpia> [parmetros] Copia um arquivo, vrios arquivos, um diretrio, vrios diretrios, contedo de diretrios ou um combinao dessas opes para um destino. Na cpia o que copiado mantido e a cpia vai para um novo lugar. Se o usurio desejar, ele pode alterar o nome do arquivo ou diretrio durante a cpia.
((1)) fcamargo@amontoado:/curso$ ls Arquivo.txt Saci ((2)) fcamargo@amontoado:/curso$ cp Arquivo.txt Saci ((3)) fcamargo@amontoado:/curso$ Arquivo.txt Saci ((4)) fcamargo@amontoado:/curso$ Arquivo.txt ((5)) fcamargo@amontoado:/curso$ ((6)) fcamargo@amontoado:/curso$ ls
ls Saci
cp Arquivo.txt Backup-Arquivo.txt ls
1. Comando para visualizar o contedo do diretrio corrente. Saci estava dentro do diretrio /curso; 2. Copia o arquivo Arquivo.txt para dentro do diretrio Saci, que est dentro do diretrio corrente (perceba que no tem a / no comeo, por isso, um endereo relativo); 3. Ao visualizar o contedo do diretrio, podemos ver que tanto Saci, como Arquivo.txt ainda esto l; 4. Ao visualizar o contedo de Saci, podemos perceber que a cpia do Arquivo.txt foi feita com
50
sucesso; 5. Agora o comando ir fazer uma cpia do mesmo arquivo, s que o manter no mesmo diretrio, tendo apenas o nome diferente; 6. Ao visualizar o contedo do diretrio corrente, pode-se perceber que os dois itens que j estavam l permanecem, e alm deles apareceu a nova cpia criada. Para se copiar um diretrio, necessrio que seja usado o parmetro -R, caso contrrio a copia retornar erro.
possvel copiar o diretrio Saci com outro nome. Para isso colocar um nome de diretrio que ainda no exista no fim do campo Destino.
neste momento que voc poder a comear a utilizar os coringas. Voc pode copiar o contedo de um diretrio para dentro de outro. Por exemplo: cp -R /etc/apt /tmp/Backup
Neste exemplo, tudo que tiver dentro do diretrio celepar, exceto arquivos ocultos, representado pelo asterisco, ser copiado para dentro do diretrio /tmp/Backup. Neste caso necessrio que o diretrio de destino j exista. S possvel alterar o nome quando a cpia de arquivo-arquivo ou diretrio-diretrio.
MV
Assimilao > (Move Mova ou Renomeie!) Este comando igual ao cp, com duas diferenas: 1. Aps criar a cpia no diretrio de destino, apaga o original; 2. No preciso utilizar o -R para diretrios.
51
e voc quiser, assim como com o cp, possvel copiar apenas o contedo de um diretrio para outro. Exemplo: cp Saci/* /home/fcamargo
RM
Assimilao>(RemoveRemova!) Sintaxe: rm [parmetros] <arquivo ou diretrio> Pode ser usado para remover arquivos (rm arquivo) ou para remover diretrios (rm -R diretrio). Para remover os dois, use o comando com parmetro. Para remover um arquivo: fcamargo@amontoado:/curso$ touch Vai pro alm fcamargo@amontoado:/curso$ ls Vai pro alm fcamargo@amontoado:/curso$ rm -f Vai pro alm fcamargo@amontoado:/curso$ ls fcamargo@amontoado:/curso$ Para remover um diretrio: fcamargo@amontoado:/curso$ mkdir Nasceu morto fcamargo@amontoado:/curso$ ls Nasceu morto fcamargo@amontoado:/curso$ rm -Rf Nasceu morto fcamargo@amontoado:/curso$ ls fcamargo@amontoado:/curso$
52
Removendo um diretrio que no est no corrente: fcamargo@amontoado:/curso$ mkdir -p 1/2/3/4 fcamargo@amontoado:/curso$ rm -Rf 1/2/3 fcamargo@amontoado:/curso$ tree . `-- 1 `-- 2 Perceba que apesar dos diretrios 1 e 1/2 aparecerem no comando, o que importa o ltimo diretrio que o usurio colocou, que no caso o 3, que est dentro do 1/2. Tudo que estiver abaixo do 3 ser apagado.
A
DIFF
ltima vez que ser comentado. Quase sempre os coringas podem ser usados. No diferente com o comando rm.
Assimilao>(DifferenceMostremeadiferena!) Sintaxe: diff <arq(1)> <arq(2)> Permite a comparao linha a linha de arquivos de texto. Eles podem ser arquivos diferentes ou ento arquivos iguais de datas diferentes (verificao de alteraes). Abaixo temos dois arquivos: A e B. Os dois tm o contedo abaixo:
fcamargo@amontoado:~$ cat 1 A fcamargo@amontoado:~$ cat 2 A B fcamargo@amontoado:~$ cat 3 A X
Existem trs tipos de diferenas que so representadas pelas letras d, a e c: Remoo (d deleted), adio (a added), e alterao (c changed) de linhas. O diff agrupa esses tipos diferentes. Procura a primeira diferena. Se ela se repetir agrupa a diferena at chegar ao outro tipo, e assim por diante. Os agrupamentos sero feitos da seguinte forma:
1. Linhas adicionadas
<N de linhas adicionadas>a<N da primeira linha adicionada>,<N da ltima linha adiciona> Ex: 16a15,30 (foram adicionadas 16 linhas, so elas as linhas da 15 a 30 do novo arquivo)
fcamargo@amontoado:~$ diff 1 2 1a2 > B
L-se qual a diferena do arquivo 2 em funo do arquivo 1. O maior (>) diz que o B e o esto presentes no arquivo 2 e no no arquivo 1.
53
2. Linhas removidas
<N da primeira linha deletada>,<N da ltima linha deletada>d<N de linhas deletadas> Ex: 15,30a16 (foram apagadas 16 linhas, so elas as linhas da 15 a 30 do novo arquivo)
fcamargo@amontoado:~$ diff 2 1 2d1 < B
L-se qual a diferena do arquivo 1 em funo do arquivo 2. O menor (<) sinaliza que o B foi retirado do arquivo 1 ou ento adicionado ao arquivo 2.
3. Linhas alteradas
<N da primeira linha alterada do 1 arquivo>,<N da ltima linha alterada do 1 arquivo>c<N da primeira linha diferente ao 1 arquivo>,<N da ltima linha diferente ao 1 arquivo> Ex: 15,30a16 (foram apagadas 16 linhas, so elas as linhas da 15 a 30 do novo arquivo)
fcamargo@amontoado:~$ diff 3 2 2c2 < X --> B
Neste casso, temos que a linha dois do arquivo 3 e a linha dois do arquivo 2 esto diferentes. O menor indica o que temos a mais no arquivo 3 e o maior indica o que temos a mais no arquivo 2.
FILE
Assimilao>(FilefileArquivo!?Quetipodearquivoeste?) Sintaxe: file <nome do arquivo> Mostra qual a extenso real do arquivo. Este comando importante j que os sistemas GNU/LINUX no utilizam extenses, podendo o arquivo assumir um sobrenome sem alterar suas caractersticas. Vejam o seguinte exemplo:
fcamargo@amontoado:~$ file TEXTO_PURO.txt TEXTO_PURO.txt: ASCII text fcamargo@amontoado:~$ mv TEXTO_PURO.txt TEXTO_PURO fcamargo@amontoado:~$ file TEXTO_PURO TEXTO_PURO: ASCII text fcamargo@amontoado:~$ mv TEXTO_PURO TEXTO_PURO.pdf fcamargo@amontoado:~$ file TEXTO_PURO.pdf TEXTO_PURO.pdf: ASCII text
O arquivo TEXTO_PURO.txt um arquivo ASCII text que exprime texto puro (estilo bloco de notas). Perceba que ele sempre ser texto puro, independente a sua extenso.
TREE
Assimilao>(TreetambmtreeMostremecomoestruturadervore!) Sintaxe: tree [parmetros] <diretrio a partir do qual deve ser listado> Torna a visualizao da estrutura de diretrios mais amigvel. Veja abaixo:
fcamargo@amontoado:/curso$ tree .
54
Mico Le\303\243o Dourado (Acentuaes no so entendidas) Robzila `-- oi Saci `-- 1 `-- 2 TEXTO_PURO.pdf
5 directories, 2 files
Desta forma possvel visualizar muito mais fcil os nveis e subnveis do diretrio especificado. Alguns parmetros esto disponveis e so interessantes de serem utilizados. Parmetro -d -a -L <n> Lista apenas diretrios. Lista tambm os arquivos ocultos. Lista somente <n> nveis adentro do diretrio definido como inicial. Este parmetro sempre deve ser o ltimo para que ele fique do lado do nmero de nveis. Ex: tree -daL 1 /home Mostra o nome do arquivo e/ou diretrio e seu endereo relativo. Adentra nos links como se fossem subdiretrios. Sem esta opo, os links so tratados como arquivos, tendo apenas uma indicao de para onde eles apontam. Descrio
-f -l
55
O COMPLETO APT
A instalao de aplicativos, bibliotecas, binrios, mdulos, ou seja, tudo que existe dentro do Debian, s seria mais fcil se ela se desse automaticamente ao simples pensar do administrador. O apt foi criado para o Debian, mas j vem sendo utilizado em vrias outras distribuies. Todas as distribuies derivadas do Debian no ousam tocar no apt, ele sempre est disponvel. Antes de qualquer coisa, o que so pacotes? Pacotes so unidades de programas ou bibliotecas. Quando fazemos download de um arquivo, driver ou plugin para windows, eles sempre vem em um arquivo. Este arquivo normalmente um conjunto de outros arquivos compactados que possuem uma srie de regras que dizem o que o sistema operacional dever fazer com cada um deles e onde aloc-los. Quando instalamos o Apache, todos os arquivos que so necessrios para a sua instalao, do binrio que ir iniciar o processo at o cone do menu, ir ser descarregado no seu computador e um script contendo as regras de instalao sero executados. Ou seja, um pacote do Apache um conjunto de arquivos que contm os arquivos que foram feitos pelo seu desenvolvedor para fazer com que ele rode no seu computador. Este pacote pode precisar de outros pacotes para ser instalado normalmente. Se voc est desenvolvendo um programa e j existem pacotes prontos que diminuem o seu trabalho, cria-se um pacote com aquilo que no existe e este que j existia passa a ser uma dependncia do que voc fez. Ser necessrio ter os dois para que o seu programa funcione. O apt (advanced package tool ferramenta avanada de pacotes) trabalha em conjunto com um repositrio. Este repositrio no passa de um servidor de pacotes. Todos os pacotes existentes para o Debian ficam dentro dele. Isso torna fcil a instalao, pois esses pacotes s fazem parte do repositrio se estiverem de acordo com o padro do sistema, com todos pacotes que servem de base instalados (conhecidos como dependncias) e sem problemas de incompatibilidade e instabilidade. O processo simples: o administrador executa o comando apt informando o nome do pacote que ser instalado. O apt vai at uma lista local recebida do repositrio e verifica se o pacote solicitado existe. Se existir, o apt requisita ao repositrio o(s) arquivo(s) .deb necessrio(s) para a instalao e descompactao(s). Feito isso, informaes, se necessrias, so solicitadas ao administrador (endereo de proxy, endereos de servidores, informaes especficas do aplicativo). Com tudo engatilhado, basta chamar o burro de carga que far o trabalho sujo de instalao: o dpkg. O dpkg no pensa no conjunto, apenas instala, e muito bem instalado, os pacotes com as configuraes feitas do jeito que so entregues a ele. Aps todo esse processo, o apt informa que o pacote foi instalado com sucesso. Passos: 1. Verificao de existncia do pacote na lista local (/var/cache/apt/pkgcache.bin); 2. Requisio do pacote ao repositrio (/etc/apt/source.list); 3. Download dos .deb e dos de suas dependncias (/var/cache/apt/archives); 4. Descompactao e, se existir, realizao de configuraes; 5. Instalao do pacote pelo dpkg. Todo esse processo feito pelo apt, tendo que o administrador apenas configurar a lista dos repositrios os quais fornecem os pacotes ao computador. Ento, vamos comear por eles.
56
REPOSITRIOS
Podem ser repositrios:
Locais dentro do seu disco rgido; Locais na rede ou internet; Locais em discos removveis (pendrives, cd/dvd roms, etc).
O Debian disponibiliza na internet mais de 400 repositrios redundantes. Repositrios redundantes so repositrios iguais, que ao se alterar um, todos so alterados. Eles existem para que sempre exista um espelho perto de qualquer pessoa em qualquer lugar do mundo, e tambm para, mesmo que alguma catstrofe acontea, sempre existam servidores no ar. A Celepar possui um espelho dentro de suas dependncias. Ento alm dos espelhos do repositrios oficiais do Debian, tambm existe uma rea com pacotes criados pelos desenvolvedores da Celepar. Estes pacotes fazem com que haja uma personalizao no sistema operacional, ajustando-o de acordo com as necessidades dos funcionrios do estado do Paran. O arquivo que devemos editar para especificar os caminho desses servidores o sources.list. Se voc quiser que seu apt trabalhe com os espelhos dos repositrios oficiais do Debian armazenados na Celepar, edite o arquivo acima com o vim (pgina 44) e o deixe da seguinte maneira:
amontoado:~# vim /etc/apt/sources.list
deb http://www.repositorios.eparana.parana/debian lenny main contrib non-free deb http://www.repositorios.eparana.parana/celepar lenny main contrib non-free deb http://www.repositorios.eparana.parana/marillat lenny main deb http://www.repositorios.eparana.parana/security lenny/updates main contrib non-free
e o computador for utilizado fora da rede do estado (no tiver um endereo 10.0.0.0 e conexo fsica a esta rede), voc dever alterar o
www.repositorios.eparana.parana para www.repositorios.pr.gov.br. E se voc quiser apenas um espelho do repositrio oficial do Debian, retire a segunda linha, que est escrito ...parana/celepar etch.... Os pacotes criados/alterados pela Celepar no sero instalados no seu computador.
UTILIZANDO O APT
apt-get update (atualizando a lista de pacotes)
Sempre que o administrador executa o comando, o apt verifica se ele existe na lista local. Essa lista local no atualizada automaticamente. Periodicamente, o administrador dever atualiz-la atravs do aptget update. Ao execut-lo, o apt verifica a data de ltima modificao da lista local e a compara da lista dos repositrios. Se as duas forem iguais, a lista est atualizada, se a data de modificao dos repositrios for mais recente, o apt solicita a nova lista com as alteraes.
57
libaprutil1 libpq5
Basta digitar um S, s, Y, y, Sim, Yes, ou ento simplesmente teclar o <Enter> do teclado que a instalao ir iniciar. Utilizando o parmetro -y, qualquer perguntar ser respondida com um YES.
58
tuxpaint* 0 pacotes atualizados, 0 pacotes novos instalados, 1 a serem removidos e 13 no atualizados. Depois desta operao, 397kB de espao em disco sero liberados. Voc quer continuar [S/n]? s (Lendo banco de dados ... 124172 arquivos e diretrios atualmente instalados). Removendo tuxpaint ... Expurgando arquivos de configurao de tuxpaint ... Processando gatilhos para man-db ... Processando gatilhos para menu ...
O APT traz vrias informaes antes da remoo. Informa que existem pacotes que no so mais necessrios, j que trabalhavam em funo do pacote TUXPAINT. Mas no os remove automaticamente, pois eles podem ser utilizados posteriormente por outros pacotes. Se quiser remov-los, o administrador precisa executar o comando apt-get remove --purge $(deborphan). Na release Lenny, o comando apt-get autoremove. Outra informao importante o --purge. Ele permite que o administrador apague todos os arquivos de configurao. Sem esta opo, o pacote removido, mas mantido no computador os arquivos de configurao, para no caso de mais a frente haver a reinstalao do pacote, todas as configuraes j estaro prontas.
urge em ingls significa Purificao. Quando utilizada esta opo, h a limpeza total do sistema em relao ao pacote. Nenhum vestgio dele existir.
aso o pacote tenha muitos arquivos que foram configurados, recomendvel que se crie um backup de todos, para evitar surpresas desagradveis.
59
amontoado:~# apt-cache search nintendo blockattack - a puzzle game inspired by Tetris desmume - Nintendo DS emulator fceu - FCE Ultra - a nintendo (8-bit) emulator gbsplay - A Gameboy sound player gnome-nds-thumbnailer - Nintendo DS roms thumbnailer for GN kamefu - KDE All Machine Emulator Frontend for Unix kamefu-data - Data files for Kamefu libkamefu-dev - Development headers for Kamefu libkamefu0 - Libraries for Kamefu zsnes - Emulator of the Super Nintendo Entertainment System nestra - Nintendo Entertainment System emulator snes9x-x - X binaries for snes9x - Super NES Emulator
Sempre teremos primeiro o nome e depois uma descrio do pacote: nome-do-pacote Descrio a respeito do pacote Se eu quisesse instalar um emulador do Super Nintendo , bastaria eu instalar o pacote zsnes.
60
DPKG
O DPKG uma ferramenta que perdeu espao no processo de instalao, reinstalao e removeo de pacotes, mas essencial para uma boa administrao do sistema. Apesar que o apt chama o dpkg para instalar os pacotes, mas este faz somente aquilo que o apt manda. Quando o apt no der conta atravs do dpkg que os problemas so sanados. Com ele o administrador conseguir instalar, remover, listar e manipular pacotes.
dpkg -i <arquivo.deb>
A instalao dos pacotes feita atravs deste comando. Sempre deve-se passar o endereo completo do arquivo a ser instalado. No exemplo abaixo, primeiro o comando apt utilizado com o parmetro -d (download), para que os arquivos de instalao sejam apenas descarregados para o computador sem ser feita nenhuma instalao.
O
instalado:
achar melhor.
61
amontoado:~# apt-get install -d sl Lendo listas de pacotes... Pronto Construindo rvore de dependncias Lendo informao de estado... Pronto Os NOVOS pacotes a seguir sero instalados: sl 0 pacotes atualizados, 1 pacotes novos instalados, 0 a serem removidos e 0 no atualizados. preciso baixar 25,1kB de arquivos. Depois desta operao, 127kB adicionais de espao em disco sero usados. Obter:1 http://www.repositorios.eparana.parana lenny/main sl 3.03-15 [25,1kB] Baixados 25,1kB em 0s (729kB/s) Baixar completo e no modo somente baixar ("download only")
dpkg -l
Lista todos os pacotes com algum vestgios no sistema. As colunas de informaes mostram o status, nome, verso e descrio do pacote. Ao executar este comando, todos os pacotes sero listados. Se voc quiser restringir sua pesquisa, a melhor forma de se fazer isso ou colocando o nome do pacote que deseja saber mais informaes, ou, caso no o saiba exatamente, utilizar o pipe e o grep. Veja abaixo exemplos.
amontoado:~# dpkg -l cups Desejado=U=Desconhecido/Instalar/Remover/exPurgar/H=Reter | Estado=No/Inst/arqs-Cfg/U=Descomp/Falhou-cfg/H=semi-inst/W=trigadiado/Trig-pend |/ Erro?=(nenhum)/H=Ret/precisa-Reinst/X=ambos-problemas (Est,Err: maisculas=ruim) ||/ Nome Verso Descrio +++-========================================================= ii cups 1.3.8-1lenny4Common UNIX Printing System(tm) server
amontoado:~# dpkg -l |grep ncurse ii libncurses5 5.7+20081213-1 shared libraries for terminal handling ii libncursesw5 5.7+20081213-1 shared libraries for terminal handling (wide character su ii ii ncurses-base ncurses-bin 5.7+20081213-1 5.7+20081213-1 basic terminal type definitions terminal-related programs and man pages
62
dpkg -r
Agora iremos remover o pacote instalado anteriomente.
amontoado:~# dpkg -r sl (Lendo banco de dados ... 90515 arquivos e diretrios instalados). Removendo sl ... Processando gatilhos para man-db ... amontoado:~# sl bash: /usr/bin/sl: Arquivo ou diretrio no encontrado
atualmente
dpkg --configure
Pode ser que, por algum motivo qualquer, a instalao de um pacote no tenha ocorrido de forma 100% correta, seja com o apt, seja com o dpkg. Isso pode ter ocorrido devido a um problema na configurao de algum pacote, na falha da instalao de alguma dependncia, falha na execuo de um script ps instalao, ou ento um programa pode simplesmente deixar de funcionar por causa de uma alterao no sistema. Com este comando, o sistema ir verificar todas as dependncias e realizar todo o processo de configurao do pacote novamente. Se algo estiver errado, tentar corrigir automaticamente. uma mo na roda, por isso, guarde-o na memria.
amontoado:~# amontoado:~#
instalados esto em ordem. Se uma dependncia no estiver instalada, o comando retornar um erro.
dpkg-reconfigure
Este comando reconfigura um pacote que j foi desempacotado e instalado. Ou seja, deu pau na instalao ou num pacote j instalado, use o dpkg-reconfigure para tentar fazer com que o script, responsvel por gerenciar a instalao e configurao de todos os binrios, arquivos de configurao, bibliotecas e arquivos adicionais, seja executado. Passos executados pelo dpkg-reconfigure: 1. Desempacotar os arquivos de configurao e, ao mesmo tempo, fazer um backup das configuraes j existentes para que, no caso de algum problema, elas sejam restauradas. 2. Executa o script gerenciador da instalao, conhecido como postinst. Para se reconfigurar um pacote especfico deve-se ser informado o nome deste. Para que todos os pacotes com status de pendente sejam reconfigurados, usa-se o parmetro -a.
dpkg -L
O dpkg com este parmetro poder trazer informaes preciosas para um bom administrador. Caso voc tenha instalado um pacote e no tenha a menor ideia de onde os arquivos que fazem parte do pacote
63
foram parar, como arquivos de configurao, binrios ou bibliotecas, utilizando este recurso voc passar a saber. Primeiramente iremos instalar um pacote qualquer. No nosso exemplo iremos instalar o pacote tuxpaint:
# apt-get install tux-paint <Enter>
Como voc pode ver, ele est instalado ( bvio, acabamos de instal-lo, mas caso no tivssemos sido ns quem tivssemos instalado, este passo seria importante). Agora iremos descobrir onde andam todos os arquivos referentes ao programa:
#
dpkg -L tuxpaint
Veja o resultado em sua tela e observe que muitos diretrios se repetem. Isso acontece, porque na verdade, o que o parmetro faz mostrar a parte do script de instalao responsvel por criar os diretrios e arquivos necessrios para o funcionamento do programa. Ento ele tem que criar primeiro o /usr/share/pixmaps para depois criar o /usr/share/pixmaps/tuxpaint.png. Todos arquivos e diretrios relacionados ao tuxpaint aparecero.
64
65
10. Comandos Change Directory e List : a)Entre no diretrio /etc/network/ e execute o comando $ ls . Qual foi o resultado? b)Visualize sem sair do diretrio corrente o contedo do diretrio /root, e depois execute $ pwd. Qual foi o resultado que apareceu na tela na execuo dos dois comandos? c)Entre no diretrio /boot/grub e depois v para o diretrio /etc/samba. Agora executa o seguinte comando duas vezes: $ cd -. Em qual diretrio voc est agora? d)V para sua pasta pessoal sem escrever nenhum endereo, somente utilizando o comando Change Directory. Como voc fez isso? e)Visualize do diretrio corrente o contedo do diretrio /dev ativando a opo em linhas. f)Quais so as permisses do Proprietrio, Grupo e Outros do seu diretrio pessoal? 11.Comando Make Directory (acumulativo): a)Crie um diretrio chamado Caneco dentro de /tmp. b)Crie usando apenas uma linha de comando os diretrios Jan, Fev, Mar e Abr dentro de /tmp/Caneco. Como voc fez isso? c)Agora execute o comando $ cd / e depois entre no diretrio /tmp/Caneco e execute o comando $ mkdir 01. Algum erro apareceu? Se sim, qual? d)Crie a seguinte estrutura de diretrios 1/2/3/4/5/6 dentro de /tmp/Caneco usando apenas uma linha de comando. Como voc fez isso? 12.Comando Copy (acumulativo): a)Copie, utilizando um coringa, todo o contedo do diretrio /tmp/Caneco para dentro do diretrio Novo-caneco a ser criado dentro do seu diretrio pessoal. Entre em seu diretrio pessoal utilizando apenas um comando, sem endereo, e ento execute o seguinte comando: ls? b)Crie um backup do arquivo /etc/samba/smb.conf com o nome smb.conf.backup alocando-o no mesmo diretrio do original. Como voc fez isso? 13.Comando Move e Remove: a)Crie o seguinte diretrio: /tmp/a/b/c/d/e/. Crie como VIM um arquivo chamado Saci dentro do diretrio anterior contendo o seguinte contedo: Sou praticamente um hacker invadindo a NASA com tanto conhecimento que adquiri aqui b)Mova apenas o diretrio e para sua pasta pessoal. c)Remova o diretrio c e todo seu contedo. Execute o comando $ ls -R /tmp/a. Qual foi o resultado que apareceu na tela? d)Restaure o arquivo smb.conf.backup com o nome smb.conf apagando o backup, fazendo os dois processos com apenas um comando. 14.O cp e o mv so quase iguais. So to iguais que um chama o outro durante a execuo. Voc consegue me dizer quem chama quem e o que acontece? 15.Descubra qual dos pacotes abaixo j esto instalados no seu sistema. Se estiver, qual a verso: a)broffice.org b)apache2 c)firefox (se no estiver instalado, descubra por que o firefox funciona mesmo assim e explique) $ ls Caneco. Qual foi o resultado do
66
16. Descubra algum programa que atenda as necessidades abaixo. Identifique o nome do pacote e a sua verso (sempre prefira a ltima): a)Servidor web. b)Programa para descompactar arquivos zip. c)Cliparts para o BrOffice.org. d)Internet Explorer 6. e)OCS. f)Programa para abrir arquivos rar. 17.Instale o seguinte aplicativo:
skype
a)NO INSTALE O PACOTE INDICADO COM O APT E NO EXECUTE NENHUMA VEZ O COMANDO # apt-get install skype; b)Descubra as dependncias (com o comando especfico para isso) e instale todas com o APT; c)Faa download do pacote indicado acima, entre no diretrio de cache e instale-o usando o DPKG. 18.Instale os seguintes aplicativos utilizando o apt:
internet explorer 6
19.Explique exatamente o que acontece quando utilizamos os comandos abaixo (passo-a-passo): a)apt-get install pacote b)apt-get install --resintall pacote c)apt-get remove pacote d)apt-get remove --purge pacote e)apt-get update f)apt-get clean 20.Como fazemos para executar os seguintes binrios sem utilizar os atalhos do path? a)wget: /usr/bin/wget e no somente wget b)audacious c)diff d)file e)ifconfig f)iceweasel 21.Execute os comandos abaixo como superusurio:
# apt-get clean # apt-get remove --purge apache2 # apt-get install apache2 <CTRL> + <C> ANTES DE TERMINAR A INSTALAO
Depois disso, tente instalar qualquer outro pacote, menos o apache. Conseguiu? Se no, como resolver este problema? Explique o que aconteceu.
67
SORT
Existem alguns comandos que nos permitem manipular os dados de arquivos, alterando-os ou no. A maioria s manipula a forma como os dados so apresentados na tela. O sort um deles. Ele organiza alfabtica e numericamente as linhas de um arquivo de texto ou as linhas direcionadas para ele por outro comando.
fcamargo@amontoado:/home/fcamargo/CURSO/OI$ cat DESORDEM 1 3 9 Z A 8 11 10 A1
O arquivo acima est desordenado. Ao se utilizar o comando sort, tanto as letras quanto os nmeros so ordenados.
fcamargo@amontoado:/home/fcamargo/CURSO/OI$ sort DESORDEM 1 10 11 3 8 9 A A1 Z
Perceba que a ordenao no se d de uma forma absoluta. Os critrios de classificao so feitas primeiramente pela primeira coluna. Quando h a repetio de um caractere passa-se para a segunda coluna, e assim por diante. Quando ao empate e no h mais caracteres para serem comparados, a linha mais acima ficar antes. Parmetro -n Descrio Faz a ordenao numrica de acordo com o valor integral do nmero, no tomando como base somente o primeiro caractere. Sem o -n, a linha do nmero 80 ser ordenada antes da linha que tem o nmero 9. Com -n, o 9, por ser menor, ficar antes.
CAT
O cat (concatenater concatenador) emenda vrios arquivos e os mostra no dispositivo de sada padro. No Debian, este dispositivo o prprio Shell que roda o comando. Normalmente o cat utilizado para ver o contedo de um nico arquivo de texto de uma forma mais rpida do que utilizando um editor de texto. ideal para quando voc deseja apenas bater o olho em
68
alguma informao de algum arquivo de texto curto. Se voc quer saber se os endereos dos repositrios (servidores de pacotes) esto certos, voc executar o seguinte comando:
amontoado:~# cat /etc/apt/sources.list deb http://www.repositorios.eparana.parana/debian lenny main contrib nonfree deb http://www.repositorios.eparana.parana/celepar lenny main contrib nonfree deb http://www.repositorios.eparana.parana/marillat lenny main deb http://www.repositorios.eparana.parana/security lenny/updates main contrib non-free amontoado:~#
Como voc pode perceber, o arquivo de texto sources.list foi mostrado no shell. Voc poderia ver dois documentos ao mesmo tempo, como o /etc/hostname e o /etc/resolv.conf.
amontoado:~# cat /etc/hostname /etc/resolv.conf amontoado domain celepar.parana search celepar.parana nameserver 10.15.16.6 nameserver 10.15.16.8
S
TAC
e voc verificar cada arquivo, ver que o /etc/hostname tem apenas o contedo amontoado, enquanto o /etc/resolv.conf tem as outras cinco linhas.
Faz exatamente o inverso do cat. Ele inverte a ordem das linhas. A ltima linha passa ser a primeira, a penltima a segunda e assim por diante. E, assim como o cat, ele tambm concatena arquivos. Veja abaixo o mesmo exemplo utilizado para o cat s que com o tac:
amontoado:~# cat /etc/hostname /etc/resolv.conf ecelepar91893 nameserver 10.15.16.8 nameserver 10.15.16.6 search celepar.parana domain celepar.parana
HEAD
Quando for necessrio visualizar somente o incio de um arquivo de texto ou ento de uma lista vinda da sada de um outro comando, o HEAD cai como uma luva. O padro mostrar as 10 primeiras linhas, porm isso pode ser alterado com os parmetros. Digamos que o servidor SSH instalado na sua mquina no est na porta 22, que a padro. Voc, como um bom administrador, sabe que essa informao est no arquivo /etc/ssh/sshd_config. E no s isso, sabe que a informao est no comeo do arquivo. Ento, para que sua tela no seja tomada por todas as informaes distribudas em vrias linhas, voc utiliza o HEAD.
fcamargo@amontoado:~$
head /etc/ssh/sshd_config
69
Port 2012
# Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2
Parmetros -n [nmero] -v
Descrio Define um nmero diferente de linhas que sero apresentadas. Ex: head -n 1 /etc/passwd o modo verbose. Nele a primeira linha reservada para o print na tela do endereo do arquivo.
TAIL
a mesma coisa que o HEAD, s que o inverso. HEAD cabea, TAIL rabo. E o que o inverso faz? Inverte a sada. Em vez de termos as 10 primeiras linhas como resultado, temos as 10 ltimas linhas, sendo todas transpostas, ou seja, a ltima passa a ser a primeira, a segunda passa a ser a penltima, e assim por diante.
amontoado:~# tail /var/log/dmesg [ 10.182043] input: ImExPS/2 Generic Explorer Mouse as /class/input/input4 [ 10.248833] parport_pc 00:08: reported by Plug and Play ACPI [ 10.248833] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE] [ 10.786889] Adding 1919756k swap on /dev/hda4. Priority:-1 extents:1 across:1919756k [ 11.078084] powernow: This module only works with AMD K7 CPUs [ 11.511270] kjournald starting. Commit interval 5 seconds [ 11.511270] EXT3 FS on hda1, internal journal [ 11.511270] EXT3-fs: mounted filesystem with ordered data mode. [ 11.598659] XFS mounting filesystem hda3 [ 11.708096] Ending clean XFS mount for filesystem: hda3
Parmetros Descrio -n [nmero] -v -f Define um nmero diferente de linhas que sero apresentadas. Ex: head -n 1 /etc/passwd o modo verbose. Nele a primeira linha reservada para o print na tela do endereo do arquivo. Mantm o comando tail aberto, sempre mostrando as ltimas informaes que foram inseridas ao arquivo. Ideal para logs que se deseja monitorar.
70
MORE
Permite que o administrador possa visualizar um arquivo ou a sada de um comando (este ltimo em conjunto do pipe) de forma paginada. Ou seja, a tela trava na primeira linha e depois vai percorrendo a tela atravs do pressionamento da tecla <Enter>. Cada pressionada equivale a uma linha percorrida. Isto permite uma leitura mais apurada do texto. No canto inferior direito, um controle diz quantos porcento do documento j foi mostrado na tela. S possvel percorrer o documento para baixo.
amontoado:/Curso# more /etc/ssh/sshd_config # Package generated configuration file # See the sshd(8) manpage for details # What ports, IPs and protocols we listen for Port 22 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 --More--(34%)
O <Espao> faz com que a transio, em vez de linha em linha, seja de tela em tela.
LESS
Similar ao more, com a diferena que a navegao pelo documento feita com as setas direcionais. Isto permite que o documento posso seja navegado tanto para baixo quanto para cima. Na verdade, por este motivo, este comando uma verso do more melhorada. O <Espao> faz com que, em vez de linha em linha, a visualizao seja de pgina em pgina, e o <Esc> faz a mesma coisa, s que volta uma tela.
NL
Mostra o contedo de um arquivo com a numerao das linhas. Utilizando apenas o comando nl e definindo o arquivo, a numerao feita ignorando as linhas em branco. Usando o parmetro -ba, todas as linhas sero numeradas, inclusive as que estiverem em branco.
amontoado:~# nl /etc/network/interfaces -ba 1 # This file describes the network interfaces available on your system 2 # and how to activate them. For more information, see interfaces(5). 3 4 # The loopback network interface 5 auto lo 6 iface lo inet loopback 7 8 # The primary network interface 9 allow-hotplug eth0 10 iface eth0 inet dhcp
71
FIND
Procura arquivos dentro da estrutura de diretrios ou ento mostra o contedo do diretrio especificado recursivamente. Sintaxe: find <a partir de que local> [parmetro] <dados para os parmetro> Voc pode usar quantos parmetros desejar, refinando sua pesquisa. S no esquea de colocar o diretrio a partir do qual a pesquisa ser iniciada. O find entrar nele e ir procurando at o ltimo arquivo do seu ltimo subdiretrio. como se tivssemos uma semireta que serveria de campo de pesquisa. Podemos tornar essa semireta um segmento de reta (com um ponto inicial e um ponto final) atravs do parmetro -maxdepth. Se voc desejar que a pesquisa seja feito em toda a estrutura de diretrios, voc poder definir o ponto de partida como / (barra).
Parmetros
Descrio
-name <info> Procura um arquivo ou diretrio que possua estritamente o mesmo nome com a mesma caixa dos caracteres (case sensitive). Exemplo: #find / -name Tio Macal <ENTER> Se existir algum arquivo ou diretrio com o nome tio macal, no ser mostrado no resultado. -iname Procura um arquivo ou diretrio que possua estritamente o mesmo nome, mas permite que a caixa dos caracteres seja diferente (no case sensitive). Exemplo: #find / -iname Tio Macal <ENTER> Se existir algum arquivo ou diretrio com o nome tio macal, ele ser mostrado no resultado. Procura arquivos que possuam um determinado tamanho. Voc pode definir o tamanho exato do arquivo (o problema que, devido aos arredondamentos dos nmeros reais, que so quebrados, muito difcil voc encontrar um arquivo pelo tamanho certo), ou definir se devero ser mostrados arquivos maiores ou menores que o valor dado ao parmetro. Exemplo: #find /boot -size +5M <ENTER> Voc poder procurar por KB (use o k minsculo), MB (use o M) e o GB (use o G). Define o nmero mximo de nveis que o comando find dever descer para fazer sua pesquisa. O diretrio que foi definido com ponto inicial assumir o valor de nvel 1. Cada nvel abaixo dever ser incrementado pelo nmero um. Exemplo: O arquivo oi.txt est dentro de /curso/1/2/3/4/. $find /curso/1 -maxdepth 4 -name oi.txt <ENTER> Ir encontrar /curso/1/2/3/4/oi.txt $find /curso/ -maxdepth 4 -name oi.txt <ENTER> No ir encontrar, porque ele parar no diretrio /curso/1/2/3. Define quantos nveis abaixo o comando find dever descer a partir do local definido como ponto inicial da pesquisa. O nmero que voc coloca ao lado do parmetro o nmero de nveis abaixo, contando um no diretrio especificado, que o find dever iniciar a pesquisa.
-size
-maxdepth
-mindepth
72
Parmetros
Descrio Exemplo: agora temos o arquivo eita.txt dentro do diretrios /curso/1/2/. $find /curso/1 -mindepth 3 -name eita.txt <ENTER> Nada ser encontrado. $find /curso/1 -mindepth 2 -name eita.txt <ENTER> Encontrar. /curso/1/2/eita.txt
-type
Permite que voc pesquise arquivos que sejam somente do tipo que voc venha a especificar, como diretrios, arquivos especiais de bloco, caracteres, links, socketes, etc. Voc s poder colocar uma letra por vez. b = arquivos especiais de bloco c = arquivos especiais de caractere d = diretrios l = link simblico s = arquivo especial de soquete p = arquivo especial de pipe f = arquivos regulares (arquivos normais) Exemplo: No exemplo abaixo, pedimos ao find que procure todos os arquivos pipe do computador: # find / -type p /var/lib/gdm/.gdmfifo /dev/xconsole /dev/initctl
Listagem Recursiva
Na verdade, o que o find faz listar recursivamente todos os arquivos e diretrios a partir de onde voc especificar. Conseguimos pesquisar com ele atravs dos filtros que utilizamos atravs dos parmetros, filtros esses que chamamos de critrios para a pesquisa. Ento se no colocarmos nenhum critrio, a listagem recursiva ser feita da mesma forma. Digite find seguido do diretrio a partir do qual a listagem recursiva ser feita. Digamos que estajamos no diretrio /curso e queiramos ver seu contedo e o contedo de todos os seus subdiretrios. Basta executar o comando abaixo:
fcamargo@amontoado:~$ find /curso/ /curso/ /curso/arquivo1.txt /curso/arquivo2.txt /curso/arquivo3.txt /curso/Diretrio /curso/Diretrio/dorivalcaymmi.mp3
Q
LOCATE
uando voc usa um critrio de string (iname ou name), s retornar exatamente os arquivos ou diretrios que casem exatamente com o que voc escreveu. Se voc
pesquisa OI e s existir AOI, o find no trar o resultado. Para resolver esses problemas voc pode usar os coringas (*, ?, [n]), como explicado no incio da apostila.
Pesquisa arquivos atravs de uma lista criada pelo comando updatedb. muito mais rpido que o find, pois este varre toda a estrutura de diretrios em busca dos arquivos, enquanto o locate deixa uma lista base pronta com todos os arquivos e diretrios indexados (como se fosse um cache) pronto para trazer um resultado a voc. Imagine duas casas. Voc precisa de um inventrio completo das
73
duas. Ao executar o updatedb, voc vai at as casas e faz o inventrio (demora um pouco), mas se voc precisar novamente desta informao, no precisar ir at as casas novamente, e sim simplesmente pegar o inventrio que j est pronto e verific-lo. J o find ir s casas todas as vezes que for solicitado. A vantagem do locate que as pesquisas ficam bem mais rpidas, j a desvantagem o fato de voc ter que rodar periodicamente o updatedb para que sua lista base no fique desatualizada.
petinhodavovoh@amontoado:/home$ locate feio /curso/muito-feio.jpg /curso/feio
O
GREP
locate no pesquisar estritamente o termo entregue a ele. Ele retornar tambm termos que tenham incrementos antes ou depois da string usada como critrio. Se
voc quiser que ele busque apenas arquivos ou diretrios que casem exatamente com a string colocada, use o parmetro -w antes do termo. Exemplo: locate -w feio
Sintaxe: grep [parmetros] <termo.a.ser.pesquisado> <arquivo.a.ser.pesquisado> O grep uma importante ferramenta que permite a pesquisa de strings (conjunto de caracteres, ou termos) que esto dentro de um arquivo. A sada mostrada na tela com o endereo absoluto dos arquivos que contenham o termo e a linha completa de qual ele faz parte, separados por dois pontos(:). Uma forma interessante de se usar o grep, descobrir o nome e localizao de arquivos que s se conhea o contedo. Ao contrrio dos outros comandos de pesquisa, ele no leva em considerao o nome dos arquivos, mas sim o contedo. Digamos que precisamos alterar um arquivo, mas esquecemos qual o seu nome e sua localizao. A nica coisa que lembramos alguma coisa do seu contedo. Por exemplo: quero saber qual o arquivo que contm o nome da mquina utilizado pelo sistema. Sei que o arquivo est dentro do /etc, mas no sei qual dos vrios o certo.
amontoado:~# grep amontoado /etc/* /etc/hostname:amontoado <PRIMEIRO ARQUIVO> /etc/hosts:127.0.1.1 amontoado.celeparsl amontoado <SEGUNDO ARQUIVO> /etc/motd:Linux amontoado 2.6.26-1-686 #1 SMP Fri Mar 13 18:08:45 UTC 2009 i686 <TERCEIRO ARQUIVO>
erceba que usamos o coringa, j que temos que passar arquivos para o comando. O asterisco substitui os nomes. Caso coloque-se s o diretrio, no ir funcionar.
Ele muito utilizado junto ao pipe. Lembra-se quando estudamos o pipe e tnhamos o comando garimpe (pgina 42)? Agora que voc j possui base suficiente em relao a teoria e comandos bsicos, substitua o garimpe pelo grep e voc conseguir entender bem a funo dos dois em conjunto. Uma boa utilidade para ele mostrada abaixo:
# dpkg -l |grep broffice.org ii broffice.org 1:3.0.1-7~bpo50+1 BrOffice.org office suite
74
COMANDOS DIVERSOS
Existem vrios comandos que so necessrios serem conhecidos por diversos motivos. O administrador pode, com eles, gerenciar contas, redes, arquivos, ou seja, tudo que inerente s suas atividades. Ento eles sero a caixa de ferramentas do administrador, um conjunto de ferramentas no especficas para gerenciamentos, que servem como mo na roda em muitos casos.
ALIAS
Sintaxe: alias apelido='comando [parmetros]' Permite que o usurio crie um apelido para comandos com, inclusive, parmetros. Em vez de dar o comando que desliga o computador shutdown -h now, pode ser criado um alias chamado win.exe. Assim, o apelido chamar quem ele apelida.
amontoado:~# alias win.exe='shutdown -h now' amontoado:~# alias alias win.exe='shutdown -h now' amontoado:~# win.exe
Com o ltimo comando do exemplo acima, o computador ser desligado. O apelido s ter validade dentro da sesso que o usurio estiver. Toda vez que um usurio inicia uma sesso, as informaes contidas no arquivo ~/.bashrc so carregadas. Com isso, qualquer configurao utilizando o comando alias sobrescrita. Se o usurio desejar inserir um alias permanente, deve inserir nesse arquivo uma linha com as informaes da mesma forma como mostrado acima, somente sem o nome do comando na frente.
if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi win.exe='shutdown -h now'
e voc abrir um novo terminal virtual (tty) ou ento uma nova aba num terminal emulado (pts), mesmo que a sesso que voc tenha criado o alias atravs de linha de
comando estiver ativa, as variveis de sistema sero restauradas de acordo com o arquivo ~/bashrc.
BADBLOCKS
Sintaxe: badblocks [parmetros] /dev/disco Discos de mdia possuem unidades de armazenamento que chamamos de blocos. Esses blocos so compostos de vrios setores (espaos criados por linhas radiais que cortam as trilhas dos discos). Estes setores armazenam dados, se for uma mdia magntica, atravs da polarizao de sua superfcie (carga positiva igual a 1 e negativa igual a 0). Se algum ponto da mdia perder sua polarizao, ou seja, perder a sua carga eltrica, ele no reagir a cabea de leitura e no ser mais capaz de armazenar dados. Se dados j estiverem nele, sero perdidos; se dados forem destinados a eles, no sero armazenados e sero perdidos. O grande problema que, quando algum desses setores perde sua capacidade de
75
armazenamento, o sistema de arquivos no percebe e continua mandando dados. Somente ser possvel perceber o problema se o comando badblocks quando, na recuperao de dados, o sistema de arquivos perceber que faltam informaes, dando a mensagem de que o arquivo est corrompido. O comando badblocks permite que o administrador verifique se existe algum bloco com setores defeituosos. Ele no corrige nada, somente alerta que h um problema, podendo ento, o administrador fazer algo para tentar contornar o problema.
amontoado:~# badblocks -v /dev/hda2 Checking blocks 0 to 19535039 Checking for bad blocks (read-only test): done Pass completed, 0 bad blocks found.
Descrio Cria um arquivo com o nome definido pelo administrador com o registro de todos os blocos defeituosos do disco. Ignora os blocos defeituosos que estiverem registrados no arquivo especificado. Isso torna o processo mais rpido, j que aqueles espaos com problemas j conhecidos no sero verificados novamente. Mostra na tela o progresso da checagem dos blocos defeituosos. O padro fazer a checagem silenciosamente, ou seja, sem mostrar nada na tela.
-v
Voc pode executar o comando como usurio normal ou como superusurio. O comando acima foi executado como superusurio, mas se voc desejar execut-lo como usurio normal ter que passar o caminho completo, j que no est dentro do path do usurio.
ath o nome da varivel que contm todos os diretrios nos quais so alocados os comandos que o usurio consegue executar sem ter que informar o caminho completo
do seu binrio. como se fosse um DNS para comandos de cada usurio. Existem alguns comandos que os usurios normais no conseguem executar somente chamando-o pelo nome, como o ifconfig, mas se o caminho completo (/sbin/ifconfig) for fornecido o comando executado. Isso se deve ao fato desses comandos s estarem dentro do path do superusurio.
CLEAR
Sintaxe: clear Limpa a tela inteira. Voc precisar usar a linha de comando para a limpeza da tela. Se quiser limpar a tela mantendo a linha de comando que j contenha alguma informao mais interessante usar as teclas de atalho <CTRL>+<L>.
DATE
Sintaxe: date [+%parmetro(s)] Mostra a data do sistema.
76
Se voc quiser criar um script e colocar nele uma opo para gravar a data do dia da execuo do comando em um log, voc poder colocar num formato diferente.
fcamargo@amontoado:~$ 30 fcamargo@amontoado:~$ 01 fcamargo@amontoado:~$ 2009 fcamargo@amontoado:~$ 30012009 date +%d date +%m date +%Y date +%d%m%Y
Outras opes: %d %m %Y %H %I %M %j %r %T %w Dia do ms (00-31) Ms do ano (00-12) Ano (2009-2010) Hora (00-24) Hora (00-12) Minuto (00-59) Dia do ano (1-366) Formato completo com o padro 12 horas Formato completo com o padro 24 horas Dia da semana
DF
Sintaxe: df [parmetros] Mostra a utilizao de todos os discos que o sistema tem acesso.
amontoado:~# df -h Sist. Arq. Tam Usad Disp Uso% /dev/hda2 19G 3,3G 16G 18% tmpfs 502M 0 502M 0% udev 10M 52K 10M 1% tmpfs 502M 4,0K 502M 1% /dev/hda1 92M 26M 62M 30% /dev/hda3 278G 29G 249G 11% //sceleparsmb03.celepar.parana/fcamargo 48G 22G 27G 45% Montado em / /lib/init/rw /dev /dev/shm /boot /home /media/fcamargo
Sist. Arq.: Todas as parties com sistemas de arquivos prprios os quais o sistema tem Tam: Tamanho total da partio. Usad: Total da partio que j est sendo utilizada. Disp: Total da partio que est disponvel. Uso%: Porcentagem de uso da partio. Montado em: Endereo do diretrio que permite que exista acesso ao contedo da partio.
acesso.
77
DMESG
Sintaxe: dmesg Durante a inicializao do computador, o kernel gosta de ficar falando tudo que faz. Esse falar exteriorizado em forma de registros num buffer (espao dinmico da memria) que o dmesg l sempre que executado. Ele muito interessante para procurar algum problema que aconteceu na inicializao, como uma placa de rede que no est funcionando, o servidor grfico que no consegue subir. Para filtrar sua pesquisa, interessante utilizar junto a ele o grep.
amontoado:~# dmesg |grep eth0
ECHO
Sintaxe: echo <mensagem ou varivel> Ele mostra o valor de uma varivel ou uma mensagem definida pelo usurio, na sada padro, ou ento em uma outra sada definida atravs dos redirecionadores (visto na pgina 40).
amontoado:~# echo "Meu baralho" Meu baralho amontoado:~# echo "Meu baralho num arquivo" > oi.txt amontoado:~# cat oi.txt Meu baralho num arquivo amontoado:~# echo $USERNAME root amontoado:~# echo $USERNAME >> oi.txt amontoado:~# cat oi.txt Meu baralho num arquivo root
Visualizar valores de variveis. Se voc tiver com problemas na instalao de pacotes pode
ver se a varivel $http_proxy tem algo configurado. Se tiver, zere as configuraes para ver se consegue instalar o pacote;
usurio, no necessrio nem entrar no arquivo. Como superusurio, use o echo fcamargo ALL=NOPASSWD:ALL >> /etc/sudoers, que esta informao ser inserida no fim do documento;
os comandos no rodem somente no nvel de programa, mas que eles tragam alguma informao ao usurio, como um diretrio que foi criado pelo script, ou ento um comando de erro, dizendo exatamente o que houve de errado.
FREE
Sintaxe: free [parmetros] Visualizao da utilizao da memria pelo sistema. O computador t arriando? Ento v dar uma olhada ver se no problema de memria.
amontoado:~$ free -m total Mem: 1003 used 945 free 58 shared 0 buffers 0 cached 423
78
521 0
482 1874
possvel visualizar na primeira linha a utilizao real da memria principal. Na segunda, o free informa a quantidade de memria disponvel para novos processos desconsiderando buffers cached. E a terceira mostra as informaes de Swap (memria virtual). Buffers e caches podem ser entendidos como uma coisa s (somente por hora). Eles representam espaos na memria que, apesar de terem dados armazenados, podem ser liberados a qualquer necessidade. Sempre que algum programa aberto, seus dados so carregados na memria principal; e aps seu encerramento, estes dados permanecem na memria para que o seu carregamento, numa possvel ressurreio do processo, seja feita rapidamente, j que ele j est carregado em segundo plano. Isso ocupa a memria e representado pela soma das colunas buffers e cached.
coluna shared obsoleta. Veja o que diz o manual criado pelo prprio desenvolvedor da ferramenta: The shared memory column should be ignored; it is obsolete.
Agora podemos comear a entender os dados apresentados pelo comando free. Na primeira linha temos, em ordem, o total de memria RAM disponvel (j descontado o espao reservado para o vdeo, configurvel na BIOS); em used apresentado a soma do que est sendo usado por processos ativos com os que j foram finalizados; depois o total que est completamente livre de dados; e, em buffers cached, possvel ver a quantidade da memria que est sendo usada que poder ser descarregada a qualquer momento. Na segunda linha temos as mesma informaes que na primeira linha, porm ele desconta o buffers cached da conta final. O total o mesmo que da primeira linha. O used representa apenas aquilo que est sendo usado por processos ativos, ou seja, que no podem ser descarregados da memria; e em livre temos a soma do que est totalmente livre de dados mais o que pode ser descarregado a qualquer momento. Por fim, temos o swap. Swap uma rea dentro do HD que serve como uma extenso da memria RAM, caso ela no consiga alocar todos os dados dos processos ativos, que no podem ser descarregados. Obviamente que esta rea, se utilizada, derruba o desempenho do sistema, por isso se ela comear a ser usada, considere a ideia de se aumentar a quantidade de memria RAM do seu computador.
Toda vez que um setor requisitado, a cabea de leitura do disco posiciona-se sobre a trilha e a l inteira. Muitos setores compe uma trilha, ou seja, muitos setores so lidos em apenas uma ao de leitura da cabea. Os sistemas operacionais tm um sistema de checagem de integridade de dados muito exigente. Toda vez que um dado requisitado, o sistema solicita controladora do disco que entregue apenas o primeiro setor correspondente quele dado. Somente aps a verificao deste setor, ele pede o segundo, e assim por diante. Isso quer dizer que toda vez a cabea l a trilha inteira, mas s aproveita um setor, depois tem que ler novamente a trilha inteira para aproveitar o segundo setor e assim por diante. Essa leitura de toda trilha com baixo aproveitamento faz com que o desempenho do sistema caia muito. Os buffers so dados armazenados numa rea virtual, dinmica e redimensionvel, limitada pelo tamanho da memria RAM, que recebe todos os setores de uma trilha mesmo que no solicitados. Como quase impossvel alguma informao ocupar apenas um setor, praticamente certo que o sistema usar estes outros setores da trilha. S que em vez de esperar o disco rgido, aps verificar a integridade de um setor, ele solicitar o prximo setor que j estar na memria RAM, agilizando o processo.
LN
Sintaxe: ln [parmetros] <ponto-alvo> <nome-do-link> Este comando ir criar links entre arquivos ou diretrios. Pode-se associar a ideia de link com atalhos do Windows, mas nos sitemas unix-like o link bem mais completo. Existem dois tipos de link: softlink e hardlink.
80
Hardlink
atribudo somente a arquivos, nunca a diretrios. O hardlink funciona mais ou menos como um espelho de um arquivo j existente, mas um pouco mais complicado que isso. Imagine dados gravados fisicamente no disco rgido que recebero o nome de Boeing. Boeing acessado atravs de uma abstrao criada pelo sistema de arquivos, que como se fosse uma lista de tudo que existe no disco. Quando o sistema operacional quer acessar os dados fsicos referentes a Boeing, ele no procura no disco diretamente, mas sim vai at essa lista e procura o nome Boeing que est associado ao seu endereo no disco. Aps encontr-lo, pede controladora do disco que envie os dados do endereo encontrado. Quando criamos um hardlink, criamos uma nova entrada nesta lista com outro nome, mas referenciando exatamente o mesmo local. Digamos ento que criamos um hardlink chamado Boneca. Ento temos os dados Boeing que podem, agora, ser encontrados pelo sistema operacional na lista tanto pelo nome Boeing, quanto pelo nome Boneca. Cada um desses nomes denotado na forma de um arquivo, ou seja, temos abstratamente dois arquivos, porm fisicamente apenas um. Se apagarmos o arquivo Boeing, ele sai da lista do sistema de arquivos, mas os dados armazenados fisicamente continuam acessveis atravs do arquivo Boneca. Somente aps a excluso do ltimo arquivo que referencia os dados no disco rgido que aquele espao ser dado como disponvel, podendo o sistema operacional utiliz-lo a qualquer momento. O arquivo deixou de existir. 1. S se pode criar um hardlink para um arquivo; 2. O link e o arquivo alvo devem estar na mesma partio; 3. Somente o superusurio pode criar e apagar um hardlink.
Exemplo de comparao
amontoado:/Curso# echo "Primeira Linha" > ALVO amontoado:/Curso# ln -s ALVO Link-Simblico amontoado:/Curso# ls ALVO Link-Simblico amontoado:/Curso# ls -l total 4 -rw-r--r-- 1 root root 15 Fev 19 16:59 ALVO lrwxrwxrwx 1 root root 4 Fev 19 16:59 Link-Simblico -> ALVO amontoado:/Curso# cat Link-Simblico Primeira Linha amontoado:/Curso# ln ALVO Hard-Link amontoado:/Curso# ls -l total 8 -rw-r--r-- 2 root root 15 Fev 19 16:59 ALVO
81
-rw-r--r-- 2 root root 15 Fev 19 16:59 Hard-Link lrwxrwxrwx 1 root root 4 Fev 19 16:59 Link-Simblico -> ALVO amontoado:/Curso# cat Hard-Link Primeira Linha amontoado:/Curso# echo "Segunda Linha" >> ALVO amontoado:/Curso# cat ALVO Primeira Linha Segunda Linha amontoado:/Curso# cat Link-Simblico Primeira Linha Segunda Linha amontoado:/Curso# cat Hard-Link Primeira Linha Segunda Linha amontoado:/Curso# rm -f ALVO amontoado:/Curso# cat Hard-Link Primeira Linha Segunda Linha amontoado:/Curso# cat Link-Simblico cat: Link-Simblico: Arquivo ou diretrio no encontrado amontoado:/Curso#
SU
Sintaxe: su - <usurio> Assimilao: Switch Usurio Troque de usurio! Este comando ir trocar o usurio que est em primeiro plano no bash aberto. Se voc est como joao e der um su macale, voc passar a ser macale, logicamente que s se souber a senha. Se, como macale, voc usar o comando para encerrar a sesso, o usurio que estava logado antes voltar ao primeiro plano, no caso o joao. O - no necessrio, mas importante, j que ele carrega todas as variveis de ambiente especficas do usurio.
TIME
Sintaxe: time [parmetros] E voc comea a ficar habilidosa, adquirir competncias, dentre elas desossar nos scripts. Cria um script que uma bblia. Agora voc quer saber em quanto tempo este novo script vai rodar. Dificilmente a execuo ser feita num mesmo tempo todas as vezes, j que esta tarefa depende de processamento, que envolve trfego de dados e hardware. Mas os valores normalmente sero prximos. A voc descobre uma forma de tirar metade da fonte do seu script, e voc acha que essa alterao vai tornar a execuo dele mais rpida. Como saber se essa sua proposio verdadeira? Teste.
Existem trs linhas com valores diferentes. O real indicar o valor de espera do usurio, aquele que, se cronometrarmos com nosso relgio velho de pulso, dar o mesmo tempo. O user indicar quanto tempo o kernel dedicar somente ao seu processo (j que outros processos, chamadas de sistemas, entre
82
outras coisas tomaram tempo do sistema); e sys indicar quanto tempo o processador se dedicar ao processo (lembre-se que os sistemas baseados em Unix compartilham o processador).
TOUCH
Sintaxe: touch [parmetros] <Arquivo/Diretrio> O touch permite que a data de modificao ou criao de um arquivo ou diretrio seja alterado. Ele possui uma segunda funo, que a criao de um arquivo de texto sem contedo. Ele s criar este novo arquivo, se for especificado um nome de arquivo ou diretrio que no exista.
amontoado:/Curso# ls -l total 0 amontoado:/Curso# touch Eita amontoado:/Curso# ls -l total 0 -rw-r--r-- 1 root root 0 Fev 26 09:56 Eita amontoado:/Curso# date Qui Fev 26 11:00:13 BRT 2009 amontoado:/Curso# touch Eita total 0 -rw-r--r-- 1 root root 0 Fev 26 11:00 Eita amontoado:/Curso# touch -t 01261200 Eita amontoado:/Curso# ls -l total 0 -rw-r--r-- 1 root root 0 Jan 26 12:00 Eita
Temos trs formas diferentes de utilizao do comando touch. O primeiro foi usado com um nome de arquivo/diretrio no existente. Isso fez com que fosse criado um arquivo novo com o nome especificado. Depois, numa hora diferente, o touch foi usado com o arquivo que j existia. Isto fez com que a data de modificao tenha sido alterada. Por ltimo, a data e hora foi especificada com o parmetro -t. A sintaxe a seguinte: -t MS(Jan-Dez) | DIA(01-31) | HORA(01-23):MIN(01:59) Nome-do-arquivo/Diretrio.
P
UNAME
erceba que o resultado igual s informaes mostradas atravs do comando ls -l. Ento basta dar o ls -l e usar a cola. Copie, evite a fadiga de decorar.
Sintaxe: uname [parmetros] Assimilao: Qual uname do kernel? Mostra informaes do sistema, entre elas, informaes sobre o kernel. As vezes, como um bom administrador, voc precisar instalar um pacote na unha, baixando pacotes e bibliotecas da internet, ou ento ter que compilar aplicaes. Para fazer isso, ser necessrio que voc saiba qual o kernel (linux, hurd, etc) e a release dele (2.6.26-1-686 por exemplo). Utilizando o parmetro -a (all - tudo) possvel visualizar vrias informaes do sistema.
amontoado# uname -a Linux ecelepar10160 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686 GNU/Linux
83
Informaes em ordem:
Kernel Nome do computador Release do kernel . Da Arquitetura Nome do grupo desenvolvedor do kernel
UPTIME
Sintaxe: uptime [parmetros] A principal funo deste comando informar ao administrador h quanto tempo o computador est rodando. Alm disso, podemos obter mais informaes atravs dele.
felipe@amontoado:~$ uptime 11:49:03 up 2:25, 7 users, load average: 0.14, 0.09, 0.13
O primeiro campo informa qual foi a hora que o computador foi ligado. O segundo, aps o termo up, indica h quanto tempo o computador est ligado. Ele pode estar em horas ou ento em dias (aparecer o nmero de dias seguido de days). Depois ns temos o load average (mdia de carga). O primeiro valor d a mdia da porcentagem de utilizao do processador no ltimo minuto, o segundo nos ltimos cinco e o terceiro nos ltimos quinze minutos. A mdia de carga indica qual a mdia em porcentagem da utilizao do processador por apenas dois tipos de processos: (a) processos em execuo; (b) processos esperando um recurso do computador ou evento qualquer. Os processos em execuo so aqueles que esto ou sendo processados pelo processador ou esto na fila de processamento, somente aguardando a liberao do processador. Os processos que esperam um evento ou recurso esto ativos, mas ociosos, pois esto esperando um recurso do computador (dados de um disco, pendrive, rede, etc) ou um evento (confirmao do sistema, usurio, concluso de outro processamento, etc) para irem para a fila de processamento. Os valores esto no formato 0.00, sendo que 1 significa 100%. O uptime no assume um valor de 200% caso se tenha um processador de duplo ncleo. O que ele faz atribuir 50% da capacidade de processamento para cada ncleo. Se temos um processador com ncleo duplo que est com mdia de 100% de utilizao (1.00) e voc o troca por outro com mesmas especificaes, s que com 4 ncleos, a mdia ser de 50% (0.50), e no 100% como antigamente. Faa uma regra de trs tendo a soma dos ncleos igual a 1.00 para saber como anda a utilizao do seu processador. possvel se ter um valor maior que 100%, ou seja, maior que 1.00. Isso possvel porque alm dos processos que esto em processamento, que podem vir a ocupar o processador totalmente durante todo o tempo, fazendo com que mdia seja 1.00, contabiliza-se os outros processos, mencionados acima, que esto na fila de processamento. Essa fila caracteriza o excesso, representado pelo valor acima de 1.00, e o que ir indicar em quanto o seu processador precisaria ser aumentado para dar conta do recado.
WHATIS
Sintaxe: whatis <comando-que-voce-nao-lembra-o-que-faz> Ele fala mais do que concisamente o qu um comando faz. Conhece todos os comandos, mas esqueceu o que exatamente um em especfico faz? Use o whatis.
84
WATCH
Sintaxe: watch <comando-que-ser-observado-de-perto> Precisa que um comando seja executado de 2 em 2 segundos para que voc verifique o comportamento de algum recurso o processo? O watch a ferramenta certa. Ele sempre trabalha com um comando, por isso se voc precisar, por exemplo, assistir as alteraes em um arquivo de log em tempo real, ser necessrio utilizar um comando que mostre o contedo do arquivo, como cat, head, tail, antecedido do watch.
$ watch tail /~/Curso/Arquivo-de-Log Every 2,0s: tail /~/Curso/Arquivo-de-Log Wed Apr 15 09:19:26 2009
Agora ser aberta uma nova aba, utilizando as teclas de atalho <CTRL>+<SHIFT>+<T>, e o comando abaixo ser executado:
$ echo Serah que isto darah certo? >> /~/Curso/Arquivo-de-Log
Ao voltar para a aba anterior, verificaremos que o watch ter pegado a alterao:
Every 2,0s: tail /~/Curso/Arquivo-de-Log Serah que isto darah certo? Wed Apr 15 09:20:01 2009
WHICH
Sintaxe: which <comando-que-voce-quer-descobrir-o-endereo-e-nome-do-binrio> E onde est o safado do binrio do comando que voc executa sem precisar passar o caminho, j que ele est no seu path? O which lhe dir, pode confiar.
tiao-galinha@amontoado:~$ which which /usr/bin/which
REBOOT
Sintaxe: reboot [parmetros] Reinicia o computador. Este comando na verdade ir fazer com que o computador mude de run level, passando do corrente para o run level 1. Existem vrios run level, e quando o sistema entra em um deles, ele executa vrios scripts inerentes a ele. Este assunto bastante interessante e ser abordado no curso Debian Intermedirio, ento se acalmem. Por hora, iremos saber s o que acontece quando entra-se neste run level. Os scripts sincronizam os dados da memria principal com a memria de massa. Isso nada mais do que criar referncias na memria principal dizendo onde exatamente no disco os dados sero gravados. Que dados? Configuraes pessoais, variveis de ambiente, arquivos de backup, etc. Depois ser feita a desmontagem dos dispositivos, momento em que os dados so gravados fisicamente nos discos e dissociados do sistema. Ento s resta descarregar todos os dados da memria e reiniciar o sistema. Em
85
alguns casos, devido a configuraes no padres que no iremos abordar agora, pode ser que o reboot no acione o init 1, sendo invocado no seu lugar o comando shutdown -h now, que faz a mesma coisa, s que com comandos prprios.
HALT
Sintaxe: halt [parmetros] O halt (parar em ingls) far a mesma coisa que o reboot, porm em vez de usar o init 1, ele usa o init 0. A diferena est apenas no fato deste run level, em vez de reiniciar o sistema, acionar a chave que interrompe a alimentao de energia do computador, desligando o computador.
SHUTDOWN
Sintaxe: shutdown [parmetros] <momento-da-ao> <mensagem-opcional-broadcast> Este comando independente. No trabalha com init nenhum. Com ele possvel tanto desligar o computador (utilizando o parmetro -h de halt), quanto reinici-lo (utilizando o parmetro -r de reboot). O legal do shutdown que o administrador pode definir uma hora certa para que o computador seja desligado ou reiniciado. Caso a ao deva ser executada ao pressionar do <Enter>, basta escrever now (agora em ingls) aps o comando e seu parmetro.
amontoado:~# shutdown -r now (Ir reiniciar o computador imediatamente); amontoado:~# shutdown -h amontoado:~# shutdown -r 16:02 "O computador ser reiniciado s 16:00" Broadcast message from root@ecelepar10160 (pts/0) 2009):O computador ser reiniciado s 16:00 The system is going DOWN for reboot in 60 minutes! (Thu Feb 19 15:02:58
No ltimo exemplo, o administrador define uma hora para o reiniciamento do computador (16:02) e uma mensagem que ser enviada, para todos os usurios logados, uma hora antes da ao. No exemplo, eu estava no pts/0. Veja o que aparece no pts/1 que estava logado como caiodarocha.
caiodarocha@amontoado:~$ Broadcast message from root@ecelepar10160 (pts/0) 2009):O computador ser reiniciado s 16:00 The system is going DOWN for reboot in 60 minutes! (Thu Feb 19 15:02:58
funcionando, os dispositivos sero reconhecidos e listados como ns de dispositivos. Mas estes ns de dispositivos, como j visto anteriormente, so arquivos especiais que definem dentro da memria RAM espaos destinados a troca de informaes entre o sistema e os dispositivos. Se um dispositivo tiver como informao um A, B e C gravadas fisicamente, dentro do espao reservado na memria ser criado um espelho destas informaes. Se o B for retirado de l, aps um comando de sincronia de dados, dentro do dispositivo s existir um A e um C. O grande problema dessa comunicao feita atravs dos ns de dispositivos que as informaes esto em linguagem de mquina. Para que possamos acessar esta rea de conversao entre sistema e dispositivos dentro da memria RAM, necessrio que se crie um diretrio lgico que aponte para este espao reservado. Os arquivos especiais so os dispositivos e os diretrios que o usurio consegue interagir so os pontos de montagem. Aps ter criado os diretrios, devem ser associados aos arquivos especiais, fazendo com que o sistema saiba que sempre que um arquivo ou diretrio seja criado/excludo/modificado dentro de um ponto de montagem, as informaes devem ser enviadas quele ponto reservado na memria e ento, haver a comunicao com o dispositivo. Resumindo: montagem associao de um espao reservado na memria RAM, que corresponde ao ponto de comunicao do sistema com um dispositivo, a um diretrio lgico, para que os usurios consigam receber e enviar dados para dispositivos que tenham acesso. A montagem de dispositivos deve ser feita sempre pelo superusurio.
mount
Sintaxe: mount [parmetros] <endereo-do-arquivo-especial> <ponto-de-montagem> Vamos montar um disquete, que um dispositivo simples:
amontoado:~# ls /media/floppy0 amontoado:~# mount /dev/fd0 /media/floppy0/ amontoado:~# ls /media/floppy0 filepath.lst mainmenu.txt netrts_a.___ ntrpl readme.txt win2000 win98 linux netrts5.___ nwclient oemsetup.inf rset8139.exe Win95a winnt4
nwserver netrts.inf
Perceba que o ponto de montagem o /media/floppy0. Quando visualizado pela primeira vez, no houve resultado, j que o disquete no tinha sido associado a ele. Aps a execuo do comando mount, o arquivo especial foi associado ao ponto de montagem e agora os seus dados estavam acessveis. Quando o comando mount executado sozinho, ele traz todos os locais que o sistema tem acesso, dizendo qual o ponto de montagem de cada um, seu sistema de arquivos e opes adicionais.
amontoado:~# mount /dev/sda2 on / type xfs (rw) tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) procbususb on /proc/bus/usb type usbfs (rw) udev on /dev type tmpfs (rw,mode=0755) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
87
/dev/sda1 on /boot type ext3 (rw) /dev/sda6 on /dados type xfs (rw) /dev/sda5 on /home type xfs (rw) none on /proc/fs/vmblock/mountPoint type vmblock (rw) //sceleparsmb03.celepar.parana/fcamargo on /media/fcamargo type (rw,mand) //sceleparsmb03.celepar.parana/gga on /media/gga type cifs (rw,mand) //sceleparsmb03.celepar.parana/publico on /media/publico type (rw,mand) //10.15.17.19/mpx$ on /media/mpx$ type cifs (rw,mand) /dev/fd0 on /media/floppy0 type vfat (rw)
cifs cifs
C
umount
aso um erro dizendo que o sistema de arquivos deve ser especificado, voc ter que utilizar o parmetro -t de type, tipo em ingls, e o sistema de arquivo desejado. Ex:
Sintaxe: umount [parmetros] Ir desassociar o arquivo especial e o ponto de montagem. Antes de fazer isso, o comando umount ir fazer a sincronia de dados, ou seja, dar a ordem para que os dados gravados no espelho do dispositivo na memria sejam gravados fisicamente nele.
amontoado:~# umount /media/floppy0 amontoado:~# ls /media/floppy0
umount pode ser usado tanto informando o arquivo especial quanto o ponto de montagem.
88
Nomeie esse novo arquivo como Concatenacao.. 4.Execute um comando para assistir a atualizao do comando dmesg. Depois disso, insira um pendrive ou retire o cabo de rede do computador. Verifique o que aconteceu. 5.Encontre os seguintes arquivos e coloque os seus respectivos endereos absolutos: Aproveite para dar uma olhada nos arquivos a)debian_version (arquivo que mostra a verso do debian); b)menu_lst (arquivo que possui as configuraes do gerenciador de partida GRUB); c)fstab (arquivo que possui os pontos de montagem e seus sistemas de arquivos); d)cpuinfo (arquivo que possui informaes a respeito do processados); e)(algum nmero) persistent-net-rules (arquivo com a associao do endereo MAC ao nome); f)Encontre todos arquivos que possuam mais de 20MB no seu sistema. g)Encontre todos arquivos especiais de soquete que esto dentro do /dev. 6.Qual o diretrio que est usando mais espao em disco: /boot, /home ou /usr? Qual o espao que cada um est utilizando? 7.Utilizando o comando alias, crie um comando chamado Bom-Dia que resulte numa mensagem no terminal respondendo Pra quem?. 8.Qual a partio e dispositivo (hda2, sdb6, etc) em que est alocado o diretrio /usr/lib? Qual o tamanho total dessa partio e a porcentagem dela que est em uso pelo sistema? O diretrio /usr/lib utiliza quantos porcento da partio? 9.Execute o comando ifconfig como usurio normal. Como voc fez isso? 10. H quanto tempo o seu computador est ligado? 11. Agende para o computador desligar na hora que o instrutor informar. 12. Monte o disquete fornecido pelo instrutor primeiro no modo grfico, desmonte-o, depois no modo texto, desmonte-o. Se existir uma partio Windows no seu computador, monte-a no diretrio /home/<usurio que estiver usando>/Windows e faa com que essa partio seja montada no mesmo diretrio toda vez que o computador for iniciado. 13.Qual a mdia da porcentagem de utilizao do processador nos ltimos 5 minutos?
89
INFORMAES BSICAS
Iremos ento, antes de comear a ver os comandos, entender um pouco alguns conceitos necessrios para uma boa administrao de rede.
IP
o nmero de identificao de uma interface de rede. Numa rede regida pelo protocolo TCP/IP, todos os dispositivos que fazem algum tipo de interfaceamento com a rede recebem um nmero de identificao denominado IP. Esse IP composto por quatro sets de oito bits, sendo cada set denominado octeto. Bits possuem valores binrios. O menor valor de um octeto 00000000 e o maior 11111111. Para facilitar a vida de ns humanos, resolveu-se trabalhar com nmeros de decimais. Convertando 00000000 para decimal, temos o valor 0, ou seja, 0 o menor valor decimal de um dos quatro campos do IP; e 11111111 convertendo para decimal igual a 255, ou seja, 255 o maior valor para um dos quatro campos do IP. 10.15.17.100 = 0000 1010 . 0000 1111 . 0001 0001 . 0110 0100
ara quem tiver curiosidade em saber como se converte nmeros binrios em decimais e vice-versa, veja o anexo na pgina Erro: Origem da referncia no
encontrada.
90
Mscara de rede
responsvel por identificar, a partir do IP de uma mquina, qual a sua rede. Digamos que temos um computador cujo IP 10.15.17.100. Se a mscara for 255.255.255.0, ento a identificao da rede 10.15.17.0. Para fazer esse clculo, devemos contrapor os dois valores. 10.15.17.100 = 0000 1010 . 0000 1111 . 0001 0001 . 0110 0100 255.255.255.0 = 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 Colocando a mscara de rede sob o IP, iremos riscar os valores que estiverem acima dos zeros: 10.15.17.100 = 0000 1010 . 0000 1111 . 0001 0001 . 0110 0100 255.255.255.0 = 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 A rede ser: 10.15.17.0 = 0000 1010 . 0000 1111 . 0001 0001 . 0000 0000 Se a mscara de rede for um nmero quebrado, como 255.255.252.0, teremos uma rede diferente: 10.15.17.100 255.255.252.0 A rede ser: 10.15.16.0 = = = 0000 1010 . 0000 1111 . 0001 0001 . 0110 0100 1111 1111 . 1111 1111 . 1111 1100 . 0000 0000 0000 1010 . 0000 1111 . 0001 0000 . 0000 0000
Sempre a mscara ter que ter ou somente 0, ou ento ter que ser composta por nmeros uns sem zeros a sua esquerda. No existe mscara como 1110 1111 1111 ....., sempre ter que ser 1111 1111 1100 ...sequncia de zeros. E qual diferena entre as duas redes? Na primeira o nmero de redes disponveis maior que na segunda, porm o nmeros de hosts menor. Para se saber o valor exato, basta utilizar a frmula 2n, onde n o nmero de bits correspondentes rede e aos hosts. Ento teremos: Com a mscara 255.255.255.0 pode-se ter:
Rede: 222 = 4.194.304 redes possveis. Host: 210 = 1024 hosts possveis.
Roteador e Gateway
Redes distintas podem se comunicar, mas necessrio que alguns dispositivos faam o meio de campo entre elas. O roteador o responsvel por criar esse elo entre as redes. Ele normalmente possui uma interface para cada rede que faz parte. Se existem trs redes locais, normalmente o roteador possui quatro placas de rede, uma para cada rede local e uma para conectar-se a internet. Quando um computador precisa se conectar a um outro computador de uma mesma rede local, ele faz isso diretamente. Quando precisa se conectar a um computador que est em outra rede, vai at o roteador que envia a requisio para o computador servidor como se fosse dele, recebe a resposta e envia para o computador que fez a solicitao. O IP da interface de rede do roteador recebe o nome tcnico de gateway (porto, passagem). Normalmente a identificao do gateway o primeiro ou segundo IP disponvel. Se a rede 10.15.15.0, o IP do gateway 10.15.15.1 ou 10.15.15.2. Isso o recomendado, mas no a regra.
91
IFCONFIG
Ifconfig usado para configurar as interfaces de rede. Ele sempre rodado na inicializao do sistema para ativar as interfaces de rede definidas e configuradas nos arquivos de configurao de rede. Aps a inicializao, ele pode ser usado para que o administrador possa fazer alteraes momentneas em alguma caracterstica das interfaces. Sempre que o computador for reiniciado, as configuraes dos arquivos so restauradas.
macale@amontoado:~$ sudo ifconfig eth0 Link encap:Ethernet Endereo de HW 00:1d:7d:e1:77:2e inet end.: 10.15.17.26 Bcast:10.15.19.255 Masc:255.255.252.0 endereo inet6: fe80::21d:7dff:fee1:772e/64 Escopo:Link UP BROADCASTRUNNING MULTICAST MTU:1500 Mtrica:1 RX packets:1628218 errors:0 dropped:0 overruns:0 frame:0 TX packets:78780 errors:0 dropped:0 overruns:0 carrier:0 colises:0 txqueuelen:1000 RX bytes:210596466 (200.8 MiB) TX bytes:13171490 (12.5 MiB) IRQ:221 Endereo de E/S:0x2000 lo Link encap:Loopback Local inet end.: 127.0.0.1 Masc:255.0.0.0 endereo inet6: ::1/128 Escopo:Mquina UP LOOPBACKRUNNING MTU:16436 Mtrica:1 RX packets:99896 errors:0 dropped:0 overruns:0 frame:0 TX packets:99896 errors:0 dropped:0 overruns:0 carrier:0 colises:0 txqueuelen:0 RX bytes:19280980 (18.3 MiB) TX bytes:19280980 (18.3 MiB)
/ETC/NETWORK/INTERFACES
Este o arquivo de configurao da rede no Debian. Ele bem fcil de se configurar. Vejamos dois casos bastante utilizados. Rede com IP dinmico, ou seja, com servidor DHCP:
# The loopback network interface auto lo iface lo inet loopback
92
A primeira informao que temos o loopback. Loopback um canal que envia dados para si mesmo, afim de se testar algum dispositivo ou servio, ou ento acessar localmente algum recurso que espera-se ser acessado remotamente. Ento uma interface virtual. O IP dessa interface o 127.0.0.1 e, normalmente, seu nome localhost. Para saber se este nome foi atribudo a ele, voc pode visualizar o contedo do arquivo /etc/hosts.
amontoado:~# cat /etc/hosts 127.0.0.1
localhost
Depois temos uma placa de rede fsica chamada eth0 que est configurada para receber as informaes de um servidor DHCP. Veja cada parte do arquivo de configurao: auto eth0 Quer dizer que o mdulo referente placa eth0 ser carregada automaticamente na inicializao do sistema. Se voc quiser desabilitar a placa, tendo que levantar o mdulo referente a ela na mo (ou seja, por comando), basta tirar o auto e manter o nome da interface. Existe uma outra opo que pode ser usada no lugar de auto, o allow-hotplug. Tem o mesmo significado que o plugandplay do windows. Quando o sistema detecta o dispositivo fsico, ele automaticamente carrega o seu mdulo referente. Mas da voc me pergunta qual a diferena entre auto e allow-hotplug. Simples: o primeiro sempre ter seus mdulos carregados na inicializao, independente do sistema encontrar ou no o dispositivo; o segundo s ter seus mdulos carregados caso o sistema detecte o dispositivo fsico. iface <nome da interface> inet <forma de definio de IP> Em iface deve-se dizer qual a inteface que est sendo configurada (o nome dado pelo sistema e no pode ser alterado) e inet onde o administrador define se o IP ser fixo ou fornecido por um servidor DHCP. Existem outras opes, mas estas duas so as principais. Se for DHCP, s fazer como o exemplo anterior. Se for fixo, ser necessrio escrever static e definir manualmente todos os parmetros da rede.
# The primary network interface allow-hotplug eth0 iface
Apesar de ter que se escrever num arquivo de texto, muito fcil. No lembra os nomes address, netmask? Use o man interfaces que voc encontrar no s eles, como outros parmetros, apesar que os trs citados acima j so suficientes.
93
PING
As vezes necessrio testar se algum computador da rede est respondendo. Com o ping, alguns pacotes so enviados para um destino especificado solicitando apenas umas resposta. Se esta resposta no chegar porque alguma coisa est errada com a interface de rede do computador servidor. No adianta tentar entrar no site do repositrio ou ento tentar entrar remotamente em um computador se eles no respondem a ping.
macale@amontoado:~$ ping www.repositorios.eparana.parana PING scelepar00031.eparana.parana (10.15.40.171) 56(84) bytes of data. 64 bytes from 10.15.40.171: icmp_seq=1 ttl=62 time=2.19 ms 64 bytes from 10.15.40.171: icmp_seq=2 ttl=62 time=1.97 ms ^C (cancelado atravs do <CTRL>+<C>) --- scelepar00031.eparana.parana ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 1004ms rtt min/avg/max/mdev = 1.976/2.083/2.190/0.107 ms macale@amontoado:~$
O comando ping nunca pra, por isso, aps finalizar seus testes, ser necessrio cancelar atravs do comando <CTRL>+<C>.
ROUTE
Sintaxe: route [parmetros] Permite que o administrador visualize a tabela de roteamento configurada no sistema. Sempre ao se executar o comando, todas as regras de roteamento sero listadas em ordem de prioridade. A primeira linha ser atendida primeiramente e assim por diante. Se houver conflito de regras de roteamento, a linha mais acima prevalecer. Existem vrias colunas com informaes da tabela, vejamos o que cada uma significa.
amontoado:~# route -n Tabela de Roteamento IP do Kernel Destino Roteador MscaraGen. 10.15.16.0 0.0.0.0 255.255.252.0 0.0.0.0 10.15.16.1 0.0.0.0
Primeiro vamos ver o que cada coluna significa e depois veremos um exemplo para ficar mais fcil o entendimento.
Destino
a coluna que contm o IP da rede ou computador remoto que o destino das requisies de servios de rede. Quando o endereo igual a 0.0.0.0, entenda isso como o coringa asterisco (*), ou seja, qualquer rede ou computador que no esteja especificado em linhas acima.
Roteador
o gateway. Todas as requisies destinadas rede ou computador remoto listando na coluna Destino, devero ser enviadas para o roteador especificado nesta coluna para que ele possa enviar para o seu destino. Caso o valor seja 0.0.0.0, ento a solicitao ser feita atravs de broadcast, ou seja, o computador vai enviar a solicitao para toda a rede e o computador que seja aquele requisitado quem vai se identificar.
94
MscaraGen
Permite que voc defina se a regra de roteamento ser aplicada a um computador ou a uma rede. Se for a um computador especfico, use o valor 0.0.0.0, porque desta forma qualquer endereo colocado na coluna Destino ser considerada integralmente. Exemplos Destino 10.15.16.5 e MscaraGen 0.0.0.0 A regra de roteamento ser aplicada a solicitaes feitas ao computador 10.15.16.5. Destino 10.15.16.5 e MscaraGen 255.0.0.0 A regra de roteamento ser aplicada a solicitaes feitas a todos os computadores que fizerem parte da rede 10.0.0.0.
Opes
Alguma das opes que mais aparecem nesta coluna so essas: U (Vem de UP, ou seja, a regra est no ar) H (Vem de HOST, e indica que o alvo um computador cliente) G (Vem de GATE, indica que se est usando um roteador) ! (rota rejeitada)
Iface
Toda vez que uma solicitao for feita ao computador da coluna Destino, deve ser enviada placa de rede especificada nesta coluna, para que ela ou envie para toda rede atravs de broadcast (caso o roteador esteja configurado como 0.0.0.0) ou ento ao roteador definido.
Exemplo
amontoado:~# route -n Tabela de Roteamento IP do Kernel Destino Roteador MscaraGen. 10.15.16.0 0.0.0.0 255.255.252.0 0.0.0.0 10.15.16.1 0.0.0.0
Irei acessar o computador 10.15.18.5 que est configurado com mscara 255.255.252.0 por ssh. A primeira regra que vemos de roteamento diz que todos as solicitaes que forem enviadas para a rede 10.15.16.0 devem ser enviadas para toda rede por broadcast atravs da interface eth0. Como o IP 10.15.18.5 confrontada mscara 255.255.252.0 indica que ele est na rede 10.15.16.0, ento a conexo por ssh ser feita obedecendo esta regra. No haver roteamento. Ser feito broadcast para toda a rede e o computador 10.15.18.5 dever gritar dizendo sou eu esse louco a!. Depois eu resolvo acessar o www.uglypeople.com para ver que existem pessoais to prejudicadas como eu no mundo. O IP deste site 67.15.114.118. Mesmo sem saber qual a sua mscara, evidente que este computador no est na rede 10.15.16.0, ento passaremos para a prxima regra. Ela diz que as requisies feitas a qualquer computador no mundo devem ser enviadas para o roteador 10.15.16.1 atravs da interface de rede eth1. Ele ir, ento repassando a solicitao para vrios roteadores at chegar ao computador 67.15.114.118, que enviar aquelas coisas lindas para a sua tela.
NMAP
Sintaxe: nmap [parmetros] <hosts> uma ferramenta de escaneamento das portas de um computador. Com ele, o administrador poder
95
conhecer uma srie de informaes a respeito dos servios e verses de portas, tempo que o sistema est ativo e qual o sistema operacional que est rodando em determinado host.
$ nmap localhost Starting Nmap 4.62 ( http://nmap.org ) at 2009-02-26 14:35 BRT Interesting ports on localhost (127.0.0.1): Not shown: 1709 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 139/tcp open netbios-ssn 445/tcp open microsoft-ds 631/tcp open ipp 5900/tcp open vnc Nmap done: 1 IP address (1 host up) scanned in 0.095 seconds
Parmetros -sV -p -O
Descrio Permite que descubra informaes a respeito dos servios e verses destes de um host. nmap -sV 10.15.15.15 Especifica qual porta dever ser escaneada. Todas as outras sero ignoradas. nmap -p 22 10.15.15.15 Tenta descobrir qual o sistema operacional de um host e h quanto tempo ele est ativo. No 100% confivel, mas uma mo na roda. O sistema operacional difcil de errar, mas a verso no muito confivel. nmap -O 10.15.15.15 A de agressivo. Esta opo ativar vrios outro parmetros, fazendo com que a busca seja mais completa. As vezes algumas portas, por estarem sendo usadas por servios no padres delas, acabam sendo ignorados. Com esta opo possvel fazer uma pesquisa mais profunda de tudo que est acontecendo em cada porta. Se ela estiver ativa, com este parmetro ter uma grande probabilidade de descobrir o que roda nela. nmap -A 10.15.15.15
-A
96
Se quiser, possvel usar coringas, como por exemplo 10.15.*.10-15. A faixa de IP inicia na faixa 10 e vai at o 15. Interprete o - como a preposio a (do 10 a 15).
HOSTNAME
Sintaxe: hostname [parmetros] <se-desejar-alterar-o-nome,defini-lo> O hostname mostra o nome de um computador ou ento altera este nome. Para apenas mostrar, execute o comando sem nenhum complemento; para alterar o nome, defina um nome qualquer aps o comando hostname como superusurio.
# hostname robeta # hostname garotinho # hostname garotinho
ps alterar o nome do computador, necessrio reiniciar a sesso para que as configuraes tenham efeito. Caso isto no seja feito, os processos podem no
funcionar corretamente.
97
N
o <>).
o esquea de colocar as informaes iniciais, como nome do dispositivo e forma de definio de parmetros de rede. Se tiver dificuldades, abra o arquivo no seu
6.Qual o IP do site www.bandacalcinhapreta.com.br/? 7.Digamos que voc j hacker em scripts e est criando um agora. Durante um determinado momento na confeco, necessrio que voc insira um comando no cdigo para aparecer o nome do computador que rodar o script, para este seja usado por outros comandos do script. Alm disso, no fim do script, voc precisar inserir uma mensagem ao usurio dizendo Meus parabns, desta vez voc no estragou o computador. Preencha as lacunas para que se tenha esse resultado. comando $louco ** que <> no &()-- faz nada=yes...`_______________` //(comando para mostrar o nome do computador a ser usado no script) burns=informe if informe entra++ todos saem-- *&% @@ | eita meu saci `____________________________________________` (comando que ir mostrar a mensagem Meus para.....). 8.Existe a possibilidade de se conectar por ssh no seu gateway?
98
/etc/passwd
Todos os usurios locais conhecidos pelo sistema ficam dentro desse arquivo. Cada linha representa um usurio, e cada linha dividida em campos separados por uma vrgula.
amontoado:~# cat
/etc/passwd
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh ... parana:x:1000:1000:Desktop Parana,,,:/home/parana:/bin/bash ze:x:1001:1001:Ze Galinha,13,041 3456-78910,041 3456-78911,041 999999999:/home/doidao:/bin/bash macale:x:1002:1002:,,,:/home/macale:/bin/bash Todas as colunas (informaes) so separadas por :. Acima so perceptveis 7 campos. Coluna 1 coluna (nome) 2 coluna (senha) o login do usurio. Aparece um x. Antigamente a senha era apresentada. Por motivos de compatibilidade com verses antigas, este campo foi mantido, porm a senha no aparece mais. Apesar de somente o superusurio poder acessar este arquivo, usurios colocavam senhas iguais a de e-mail, por exemplo, permitindo que o administrador acessasse dados no pertinentes a sua tarefa. o nmero de identificao do usurio. No poder se repetir. Ele existe para que o sistema trabalhe com aquilo que ele est mais habituado, que so nmeros. Os usurios do sistema vo de 0 (que ser do root SEMPRE) a 999. A partir do 1000 comeam os usurios normais. igual ao UID, porm o grupo principal do usurio. Se voc alterar manualmente este campo, o grupo principal ser alterado. Da mesma forma que acontece com o comando USERMOD, o usurio ter um novo grupo principal, porm deixar de fazer parte do grupo antigo (veja mais na pgina 100). Lembram-se das perguntas feitas ao se adicionar um usurio com o comando adduser? Neste campo que elas so armazenadas. Em ordem: Nome Completo, sala, 1 telefone, 2 telefone e 3 telefone. Para visualizar estas informaes, execute finger <nome do usurio>. Indica qual a pasta pessoal do usurio. O administrador pode alterar esta informao normalmente ( igual ao usermod -d). Indica o shell que utilizado pelo usurio. Existem vrios shells. O mais utilizado por quem adota o debian o bash. Se o usurio quiser que outro shell seja o padro, basta alterar este campo.
99
Descrio
3 coluna (UID)
4 coluna (GID)
5 coluna (info)
/etc/group
Dentro deste arquivo fica registrado a lista de todos os grupos existentes no sistema.
amontoado:~# cat /etc/group root:x:0: daemon:x:1: diplomata:x:1002: feio-como-o-cao:x:1003:macale,ze engenheiro:x:1004: ze:x:1005: doidao:x:1006: ze
Assim como o passwd, este arquivo dividido em colunas, s que com bem menos informaes. A primeira coluna o nome do grupo, o segudo a senha do grupo, a terceira o GID e por fim os usurios que fazem parte do grupo, exceto os que o tem como principal.
Veja no arquivo /etc/group que ele aparece no ltimo campo dos grupos secundrios, mas no no principal. Isso se deve ao fato de que o grupo principal j est especificado no arquivo /etc/passwd. Se o administrador desejar adicionar um usurio a um grupo, pode simplesmente escrever o login dele nesse ltimo campo. Os usurios devem ser separados por vgula sem espaos.
/etc/shadow
O arquivo shadow foi criado para resolver o problema de segurana relacionado s senhas que eram armazenadas no arquivo passwd. Elas ficam neste arquivo criptografadas. Alm disso, este arquivo permite que o administrador cancele a senha de um usurio ou ento simplesmente visualize h quanto tempo a senha foi alterada. Veja quais so os campos contidos no arquivo.
amontoado:~#
cat /etc/shadow
...
macale:$1$QOP.HCE9$A2l7Kc6BX8i.SdYiMTJI/0:14280:0:99999:7::: doidao:$1$2eG.qb4i$2VMZzTiLYmD4tNnbPLUYu1:14280:0:99999:7:::
Coluna 1 coluna (nome) 2 coluna (senha) 3 coluna (1970) Login do usurio. Senha criptografada.
Descrio
4 coluna (tempo mnimo com Quantos dias, a partir do dia da criao de um conta, que o usurio ficar
100
5 coluna (tempo mximo de Quantos dias o usurio ter para alterar a senha. Caso esse prazo seja alterao de senha) transposto, a conta expirada. 6 coluna (alerta) 7 coluna (remoo de conta) 8 coluna (h quanto tempo) Quantos dias antes de uma conta expirar, o usurio deve ser alertado. Quantos dias aps a conta ser expirada, ela deve ser removida do sistema. Nmero de dias, a partir do dia 1 de janeiro de 1970, que a conta foi removida do sistema.
ADDUSER
Sintaxe: adduser [parmetros] <usurio> Para adicionar um usurio no sistema, necessrio seguir um procedimento padro de adio de usurio, onde o administrador informa vrios dados ao sistema.
# adduser lolita Adding user `lolita' ... Adding new group `lolita' (1008) ... Adding new user `lolita' (1008) with group `lolita' ... Creating home directory `/home/lolita' ... Copying files from `/etc/skel' ... Digite a nova senha UNIX: Redigite a nova senha UNIX: passwd: senha atualizada com sucesso Modificando as informaes de usurio para lolita Informe o novo valor ou pressione ENTER para aceitar o padro Nome Completo []: Lolita de Castro Alcantara Nmero da Sala []: 171 Fone de Trabalho []: 2666-6666666 Fone Domstico []: 3666-666666 Outro []: x Is the information correct? [Y/n] Y # su - lolita lolita@amontoado:~$
USERDEL
Sintaxe: userdel [parmetros] <usurio> Qual o inverso de se adicionar um usurio? Remov-lo. Se o inverso, inverta o comando alterando o add por del.
101
Ao remover um usurio, todas as entradas que o referenciam so apagadas. Se o usurio faz parte de vrios grupos, deixar de fazer. Todos os vestgios do usurio sero apagadas do sistema. Apenas uma coisa no ser apagada, a pasta pessoal do usurio.
userdel -rf
Estes parmetros so muito teis para o administrador, pois ele resolve alguns problemas que o userdel tem quando usado sozinho. O r remove o diretrio e o spool de impresso de um usurio, independente dele ter contedo ou no, e o f fora a remoo, ignorando avisos do sistema que outros usurios esto dentro do diretrio do usurio ou usando a sua fila de impresso.
ADDGROUP
Sintaxe: addgroup <nome-do-grupo> Sempre que voc adiciona um usurio, um grupo com o mesmo nome tambm adicionado, desde que, atravs de parmetros, o administrador especifique que o usurio ser adicionado diretamente a um grupo existente. Mas e se o administrador quiser criar apenas um grupo? Usa o addgroup. Depois possvel adicionar usurios ao sistema de trs formas nesse novo grupo:
Usando o comando adduser (pgina 101); Usando o comando usermod (pgina 119); Alterando o arquivo /etc/group (pgina 100).
# addgroup petinho Adding group `petinho' (GID 1009) ... Concludo. # tail -n 1 /etc/group petinho:x:1009:
GROUPDEL
Sintaxe: groupdel <nome-do-grupo> Remove o grupo do sistema. Caso exista algum usurio dentro do grupo, automaticamente ele perder todas as referncias a esse grupo. Se o administrador tentar remover um grupo que seja o principal de um usurio, a operao ser cancelada.
amontoado:~#
uid=1007(eita)
grupos=1007(eita)
Se um arquivo ou diretrio tiver o grupo a ser removido vinculado em suas permisses, em vez do nome do grupo, aparecer o GID dele:
amontoado:/home/eita# uid=1007(eita)
id eita
grupos=1005(ze)
gid=1005(ze)
amontoado:/home/eita# ls -l total 0
102
-rw-r--r-- 1 eita
eita
amontoado:/home/eita#
groupdel eita
0 Fev 12 10:56 Arquivo-Intil
1007
Isso quer dizer o qu? Quer dizer que o prximo grupo criado que se apossar do mesmo GID do grupo antigo ir assumir o papel de grupo dos arquivos e diretrios que ficaram rfos.
PASSWD
Sintaxe: passwd <nome-do-usurio> Altera a senha do usurio ou do prprio superusurio distrado que esqueceu sua senha. Se o comando for executado como um usurio normal, ser necessrio digitar a senha corrente e depois a nova. Se for executado pelo superusurio da a histria diferente, basta digitar a senha nova e acabou.
ID
Este comando ir mostrar o ID do usurio e dos grupos que o usurio especificado fizer parte. Caso nenhum grupo for definido, o sistema mostrar as informaes do usurio corrente.
ze@amontoado:~$ id macale uid=1002(macale) gid=1002(diplomata) grupos=6(disk),24(cdrom),25(floppy),29(audio),29(audio),44(video),46(plugde v),60(games),104(lpadmin),108(messagebus),110(gdm),111(netdev),116(powerdev ),1000(parana),1002(diplomata),1003(feio-como-o-cao)
GROUPS
Sintaxe: groups <usurio> Quase igual ao comando id. A diferena est no fato dele ignorar os ID dos usurios e grupos. O grupo principal sempre ser o primeiro.
macale@amontoado:~$ groups diplomata disk cdrom floppy audio video plugdev games lpadmin messagebus gdm netdev powerdev parana feio-como-o-cao
GETENT
Sintaxe: getent [banco de dados] um incursor que traz de uma forma fcil informaes de vrios bancos de dados administrativos. Estes bancos de dados fornecem informaes a respeito de contas de usurios; servios que esto rodando no sistema; e protocolos e informaes de rede. Os bancos de dados que podem ser consultados por ele so:
e networks. amontoado:~# getent networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 amontoado:~# cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0
Como pode ser visto acima, o getent buscou o arquivo que responsvel por informar ao sistema quais so os nomes de algumas redes. Como o arquivo o /etc/networks, a sua sada igual a ele. Se fosse outro arquivo, o getent buscaria automaticamente o certo, j que ele sempre pergunta ao sistema qual banco de dados ele est utilizando. Este recurso interessante quando se est trabalhando com o LDAP. Este servio um servidor de diretrios que permite centralizar todos os usurios com suas respectivas senhas, permitindo que um usurio possa logar em qualquer computador que esteja na mesma rede do servidor e possua o cliente LDAP instalado. Mas como vimos anteriormente, o padro do Debian ter as informaes de usurios no arquivo /etc/passwd. Se o administrador instalar o cliente LDAP, configur-lo e ao usar o getent passwd, este retornar o arquivo /etc/passwd, porque a configurao est errada. Estar tudo certo quando o getent perguntar ao sistema e este responder que as informaes de usurios esto vindo do servidor LDAP. perceptvel a diferena, ainda mais quando a quantidade de usurios cadastrados no servidor bastante grande, como acontece na maioria das secretarias do estado.
104
Visualize o diretrio e veja que existem subdiretrios com nmeros. Esses nmeros so os PIDs. Se voc visualizar estes diretrios encontrar todos os arquivos utilizados pelo processo. Resumindo. Processos so programas que esto carregadas na memria e esto utilizando os recursos do sistema. Todos possuem PID, nome e um diretrio que contm todos os arquivos necessrios para o seu funcionamento. Fcil de identific-los, ento. Estes processos possuem estados, que o status deles no sistema. Um processo pode estar:
Por se tratar de um sistema multitarefa, vrios processos podem rodar simultaneamente, mas a utilizao dos recursos da mquina so feitos um de cada vez. Por isso, se temos 3 processos ativos e exigindo processamento, 1 deles estar em execuo e 2 estaro prontos aguardando a sua vez. Existem processos que ficam esperando dados de algum dispositivo de armazenamento, rede, perifricos, ou ento uma simples ordem do sistema operacional para ficar pronto e ir para execuo. Esta comunicao feita atravs dos sinais. Os principais so:
105
Sinal STOP Este sinal pra o processo. CONT Continua o processo parado.
Descrio
TERM Solicita a finalizao do processo ao mesmo. KILL Fora a finalizao do processo. Ideal para momentos crticos.
PS
Sintaxe: ps [parmetros] O comando PS permite que o administrador visualize vrias informaes sobre os processos. Os principais parmetros so os seguintes: -a = ALL. Processos de todos os terminais abertos so listados. Sem este parmetro, a listagem ser somente dos processos iniciados a partir do terminal em que o ps rodou. -u = USER. Traz mais informaes na listagem. Uma delas o nome do usurio proprietrio do processo. -x = NO SEI. Ao usar o ps, apenas os processos que foram iniciados a partir de um terminal so listados. Se o administrador quiser listar os processos que no foram abertos a partir de um terminal, usa-se este parmetro. Estes so os processos abertos pelo kernel, como o gdm (interface grfica), por exemplo. So identificados por um ? Na coluna TTY. Vejamos como sada deste comando:
USER PID %CPU %MEM VSZ RSS root 1 0.0 0.0 1984 688 root 2 0.0 0.0 0 0 ... root 3091 0.0 0.1 14636 /usr/sbin/gdm fcamargo 3743 0.0 0.4 7444 4472 root 3763 0.0 0.2 10644 2192 root 3765 0.0 0.2 5664 2948 TTY ? ? 2004 ? pts/0 pts/0 pts/0 Ss S S STAT START Ss 09:10 S< 09:10 Ss 09:22 09:22 09:22 TIME COMMAND 0:01 init [2] 0:00 [kthreadd] 09:10 0:00 bash 0:00 su 0:00 bash 0:00
Nome do usurio proprietrio do processo. Nmero de identificao do processo. Utilizao do processador em porcentagem. Utilizao da memria em porcentagem. Tamanho do espao ocupado na memria virtual (normalmente RAM). Tamanho do espao ocupado na memria permanente (normalmente HD). Terminal a partir de onde o processo se originou. Estado do processo. Eles podem ser: D: Est esperando um evento ou um recurso para passar para o estado R. No pode ser interrompido. S: Est esperando um evento ou um recurso para passar para o estado R. Pode ser interrompido. R: Em processamento. T: Pausado. Z: Processo zumbi. Normalmente um processo que dependia de outro, e esse outro foi finalizado. Ele tambm finalizado, mas por no ter sido feito diretamente, no descarregado da memria.
106
Hora do incio do processo. Tempo total de execuo do processo pelo processador. Nome do binrio que abre o processo.
TOP
Sintaxe: top [parmetros] similar ao ps, porm ele mostra as informaes dos processos em tempo real. O tempo de atualizao de dois segundos.
top - 11:28:06 up 2:17, 2 users, load average: 0.90, 0.42, 0.22 Tasks: 117 total, 4 running, 112 sleeping, 0 stopped, 1 zombie Cpu(s): 44.9%us, 11.9%sy, 0.0%ni, 42.6%id, 0.0%wa, 0.3%hi, 0.3%si, 0.0%st Mem: 1035008k total, 1021224k used, 13784k free, 156k buffers Swap: 1919756k total, 144k used, 1919612k free, 431112k cached PID 3590 3108 3667 USER fcamargo root fcamargo PR 20 20 20 NI 0 0 0 VIRT RES 120m 30m 556m 192m 247m 100m SHR 18m 10m 28m S %CPU %MEM R 100 3.0 S 8 19.1 S 3 9.9 TIME+ 1:01.11 7:29.09 3:23.97 COMMAND pidgin Xorg firefox-bin
As informaes so as mesmas do ps. Podem mudar um pouco de nome, mas so intuitivas. Para sair do TOP, pressione a tecla <Q> do teclado (Q de Quit SAIR).
A
KILL
lguns parmetros podem ser usados, mas poucos so usuais, por isso, caso queira conhecer alguns, utilize o top --help ou veja o manual do top (man top).
Sintaxe: kill -[parmetros ou SINAIS] <processo> Alguns processos no possuem modo grfico para serem finalizados, ou ento esto travados, impossibilitando o encerramento na forma padro. O KILL o comando que envia sinais para os processos indicando o que devem fazer. Ele pode enviar todos os sinais existentes, como vistos na pgina 105, mas se no for explicitado, o KILL ir enviar o sinal TERM, que solicita a finalizao do processo ao mesmo. Para finalizar foradamente um processo, utilize o parmetro -9, que finaliza sem d o processo, descarregando-o completamente da memria. No exemplo abaixo iremos matar o processo GEDIT, que o editor de texto puro padro do GNOME.
macale@amontoado:~$ gedit (pressione <CTRL+Z> para pausar o processo) ^Z [1]+ Stopped gedit
107
O CONT continua o processo que estava parado. Agora vamos ver outro exemplo, num caso mais usual do KILL: matando processos.
macale@amontoado:~$
kill -9 4296
KILLALL
Sintaxe: killall <nome-do-binrio-do-processo> Caso um programa seja executado por vrios usurios diferentes, cada usurio ter uma instncia prpria, sendo que essas instncias sero tratadas como processos diferentes, com PIDs diferentes. Se o superusurio desejar matar todos os processos, independente do proprietrio, ele pode usar o killall e no precisar se preocupar com PIDs, pois bastar informar o nome do binrio do processo. Vejamos o exemplo a seguir. Existem vrias pessoas utilizando o iceweasel (navegador de internet) num mesmo computador. Cada um deles com seu prprio usurio, ou seja, sua prpria instncia. O administrador resolve derrubar todas as instncias de uma s vez.
amontoado:~# ps aux |grep firefox fcamargo 12772 1.4 14.0 325712 145608 ? /usr/lib/iceweasel/firefox-bin -a iceweasel macale 15474 1.1 3.4 140360 35648 pts/2 /usr/lib/iceweasel/firefox-bin -a iceweasel parana 15588 1.6 3.4 140096 35700 pts/4 /usr/lib/iceweasel/firefox-bin -a iceweasel ze 15664 2.5 3.4 140552 35656 pts/6 /usr/lib/iceweasel/firefox-bin -a iceweasel root 15745 0.0 0.0 3264 812 pts/0 --color=auto firefox Sl Sl+ Sl+ Sl+ D+ Feb10 10:49 10:50 10:50 10:52 20:48 0:01 0:01 0:02 0:00 grep
Como voc pode ver, os usurios fcamargo, macale, parana e ze esto usando o iceweasel, cujo binrio o firefox-bin. Para matar todos os processos de uma s vez, basta executar o seguinte comando:
amontoado:~# killall firefox-bin amontoado:~# ps aux |grep firefox root 15966 0.0 0.0 3260 752 pts/9 --color=auto firefox
S+
11:07
0:00 grep
O
JOBS
grep encontra ele mesmo procurando por firefox. como se ele tivesse um scanner na mo para fazer a busca e passasse sobre ele mesmo, j que durante a busca ele
um processo.
Sintaxe: jobs Sempre que um processo est parado (pausado atravs do sinal STOP enviado pelo kill ou killall, ou ento atravs do <CTRL>+<Z>), ou ento em segundo plano (quando usamos o & aps o comando ou ento o comando BG, que ser visto adiante), eles podem ser vistos atravs do ps como visto anteriormente. Mas se voc quiser ver apenas eles, voc pode usar o jobs.
108
macale@amontoado:~$ xcalc
[1] 16381
&
macale@amontoado:~$ Warning: Cannot convert string "calculator" to type Pixmap Warning: Cannot convert string "gray3?foreground=gray70&background=gray85" to type Pixmap macale@amontoado:~$
[1]+
macale@amontoado:~$ ls ls: impossvel abrir a ls: impossvel abrir a ls: impossvel abrir a ^Z [2]+ Stopped macale@amontoado:~$
[1][2]+
Running Stopped
Sempre que voc digita um comando e o coloca em segundo plano, um nmero de identificao do job associado ao seu PID. O nmero de identificao do job fica entre colchetes ([1] por exemplo). Ao executar o comando jobs sero listados os processos ou em segundo plano ou pausados. Depois foi executado o comando ls -laR / > /dev/null , que demora para ser finalizado. Durante o processamento, ele foi interrompido atravs do <CTRL>+<Z>. Aps ter feito isso, existiro dois processos na lista jobs: o que est em processamento, mas em segundo plano (Running) e o que foi pausado e no pode ser utilizado at que se envie um sinal para que ele continue.
FG
Sintaxe: fg [nmero de identificao do job] FG vem de Fore Ground (plano de frente. Estranho? Lembre-se que fore quer dizer testa e testa fica na frente, no?). Ou seja, com ele voc consegue passar um processo que est em segundo plano para o primeiro, ou ento sinalizar para que um processo pausado volte a rodar.
[3]+
Stopped fg xcalc
xcalc
macale@amontoado:~$ xcalc
BG
Sintaxe: bg [nmero de identificao do job] BG vem de Back Ground (plano de fundo). Ou seja, com ele voc consegue passar um processo que est em primeiro plano para o segundo. Vamos continuar usando o exemplo anterior do comando bg.
macale@amontoado:~$ fg xcalc
109
bg 3
Primeiro o processo que estava em primeiro plano estava em primeiro plano. Ele foi pausado e ento foi enviado para segundo plano, liberando a linha de comando.
110
Podemos observar que o usurio macale, cujo UID 1001, faz parte dos grupos diplomata, engenheiro e ostrapalhoesemreprise, sendo que seus respectivos GID so 1001, 1002 e 1003, e que o seu grupo principal o diplomata. Sempre as duas principais informaes sero UID do usurio e GID do grupo principal, seguido de todos os outros grupos aos quais o usurio faz parte. Toda vez que o usurio macale criar um diretrio ou arquivo, ele mesmo ser o proprietrio e o grupo ser o seu principal no momento da criao.
macale@amontoado:~$ > EMOBIL macale@amontoado:~$ ls -l total 0
2 10:48 EMOBIL
TIPOS DE PERMISSES
Existem trs tipos de permisses que, dependendo do seu arranjo, podem criar uma srie de regras de acessos e gravaes em diretrios e arquivos. Essas permisses ficam no INODE e podem ser vistas com o comando ls -l. Toda vez que um tipo de permisso for ativada, a sua letra correspondente aparecer. Quando ela estiver desativada, aparecer no seu lugar um hfen (-). Alm dos trs tipos, existem trs sets de permisses, cada um referente a uma espcie de usurio diferente. Cada set composto por trs casas: rwx. Existem nove casas no total.
111
O primeiro set destinado ao proprietrio do arquivo ou diretrio; o segundo ao grupo ao qual ele pertence; e, por ltimo, o terceiro set referente a qualquer usurio que no seja nem o proprietrio, nem faa parte do grupo.
2 10:49 EMOBIL
leitura (r)
O r vem de Read, que significa LER em ingls.
escrita (w)
O w vem de Write, que significa ESCREVER em ingls.
execuo (x)
O x vem de eXecute, que signifca EXECUTAR em ingls.
DIRETRIOS
As permisses no se comportam igual para arquivos e diretrios. Abaixo veremos como eles se comportam nos diretrios.
Entrar
Para entrar em diretrios no basta ter apenas permisso de leitura. necessrio ter tambm permisso de execuo.
2 10:50 CATS
2 10:50 CATS
cd CATS/
macale@amontoado:/home/macale/CATS$
Se voc quiser criar um arquivo chamado Boeing dentro do diretrio CATS, este arquivo ficar no quinto nvel: /home/macale/CATS/Boeing Quando voc deseja criar algo no quinto nvel, a permisso que deve ser observada a do diretrio do quarto nvel. O arquivo Boeing tambm ter permisses, mas elas s tem validade para o seu contedo, no para o arquivo em si.
executar
sobre
2 10:50 CATS
ARQUIVOS
Os arquivos podem ser normais ou binrios. Todas as suas permisses so referentes apenas ao seu contedo. Se voc quiser remover, mover ou renomear um arquivo, ter que verificar as permisses do diretrio que o contm.
Ver contedo
Para que o contedo seja acessado, basta que o arquivo contenha a permisso de leitura.
macale@amontoado:~$ ls -l /etc/hostname -rw-r--r-- 1 root root 14 Dez 4 08:46 /etc/hostname macale@amontoado:~$ cat /etc/hostname
amontoado
O usurio macale no o proprietrio nem faz parte do grupo root, ou seja, obedece ao terceiro set de configurao (r--). Com essa permisso qualquer usurio poder acessar o contedo do arquivo hostname.
Alterar contedo
Para alterar um arquivo, necessrio que o usurio que deseja executar esta tarefa tenha permisso de escrita (w). Usando o mesmo exemplo acima, vamos tentar alterar o contedo do arquivo.
macale@amontoado:~$ amontoado macale@amontoado:~$ cat /etc/hostname
O nico usurio com permisso de alterar o arquivo o superusrio. Ento, somente aps logar como
113
vim Binrio
Salve o arquivo.
macale@amontoado:~$ ls -l total 4 -rw-r--r-- 1 macale diplomata 16 Fev
2 14:41 Binrio
Para executar um arquivo binrio, basta voc passar seu nome com seu caminho completo (pode ser o endereo absoluto ou relativo).
No basta criar um arquivo vlido, ainda necessrio adicionar permisso de execuo para todos os usurios que iro poder execut-lo.
-rwxr-x--x 1 macale diplomata 16 Fev 2 14:41 Binrio
CHOWN
Sintaxe: chown <usurio> <arquivo/diretrio> OU Sintaxe: chown <usurio>.grupo <arquivo/diretrio> O comando chown permite que se altere o usurio proprietrio de um arquivo ou diretrio. Possui a possibilidade de alterar o grupo junto ao proprietrio, mas nunca somente o grupo.
CHGRP
Sintaxe: chgrp <grupo> <arquivo/diretrio> Muda o grupo do qual um arquivo ou diretrio faz parte.
114
CHMOD
Sintaxe: chmod <permisses> <arquivo/diretrio> Muda as permisses de um arquivo ou diretrio. Existem vrias formas de se alterar as permisses, escolha a que mais lhe agrada.
Modo octal
Neste modo, voc ter que passar um valor de 0 a 7 para cada set (proprietrio, grupo e outros). Cada nmero representa uma sequncia de permisses diferentes. Cada tipo de permisso possui um valor fixo, e a soma dos trs valores o que dever ser usado juntamente ao chmod para alterar as permisses de cada set. No total, teremos trs nmeros de 0 a 7.
r leitura 4
w escrita 2
x execuo 1
Permisses
Octal
0 1 2 3 4 5 6 7
Para alterar as permisses, basta usar a sintaxe chmod <nnn> <arquivo e dir>.
ecelepar10160:~# chmod 754 ARQUIVO-LOUCO ecelepar10160:~# ls -l total 0 -rwxr-xr-- 1 root root 0 Fev 3 16:31 ARQUIVO-LOUCO
embre-se que a primeira casa destinada a exprimir o tipo de arquivo. O hfen denota arquivo, o d diretrio, o l link simblico, e assim por diante.
Modo alfabtico
Alm do modo octal, o usurio poder alterar as permisses de um arquivo ou diretrio atravs das letras que representam os tipos de permisses. A sintaxe ser chmod <proprietrio-grupo-outros>[+, - ou =]<permisses> Vamos entender cada parte.
115
<proprietrio-grupo-outros>
As permisses podem ser definidas de uma vez para todos eles, ou ento somente para o set desejado. Se for somente para um set, use o nome deste; se for mais de um set, use os nomes juntos; e se todos os sets forem definidos com as mesmas permisses, use o a de ALL (todos em ingls). Exemplos: u definio de permisses somente do proprietrio; g definio de permisses somente do grupo; o definio de permisses somente de outras pessoas; ug definio de permisses do proprietrio e do grupo; a definio de permisses de todos os sets; [+, - ou =] Agora voc ter que utilizar uma dessas conjunes para definir se as permisses sero adicionadas, removidas ou se todo o set ser alterado. Sempre que o usurio utilizar o =, ele ter que definir todas as permisses. Quando utilizar o + ou -, poder alterar apenas um tipo de permisso. <permisses> Em vez de nmeros, o usurio ter que utilizar as letras das permisses. r para leitura, w para escrita e x para execuo. Se usado com + ou -, o usurio poder adicionar ou remover um, dois ou trs tipos de permisses, sem alterar aquele que no for expressamente definido. Se for usado o =, todos os tipo de permisses tm de ser definidos, caso contrrio, aquele que no foi definido, ser desabilitado.Exemplos:
macale@amontoado:~$ ls -l total 0 -rwxrwxrwx 1 macale diplomata 0 Fev
3 16:31 ARQUIVO-LOUCO
macale@amontoado:~$ chmod o-x ARQUIVO-LOUCO macale@amontoado:~$ ls -l total 0 -rwxrwxrw- 1 macale diplomata 0 Fev 3 16:31 ARQUIVO-LOUCO macale@amontoado:~$ chmod go-rw ARQUIVO-LOUCO macale@amontoado:~$ ls -l total 0 -rwx--x--- 1 macale diplomata 0 Fev 3 16:31 ARQUIVO-LOUCO macale@amontoado:~$ chmod g+r ARQUIVO-LOUCO macale@amontoado:~$ ls -l total 0 -rwxr-x--- 1 macale diplomata 0 Fev 3 16:31 ARQUIVO-LOUCO macale@amontoado:~$ chmod a=rx macale@amontoado:~$ ls -l total 0 -r-xr-xr-x 1 macale diplomata 0 Fev
ARQUIVO-LOUCO
3 16:31 ARQUIVO-LOUCO
UMASK
Faa um teste. Crie um arquivo e um diretrio qualquer e veja quais permisses foram definidas por padro. Aps execute o comando umask.
macale@amontoado:~$ > QUALQUER-COISA
116
mkdir DIRETRIO ls -l diplomata 6 Fev diplomata 0 Fev 4 10:38 DIRETRIO 4 10:38 QUALQUER-COISA
0077
umask
Sempre que o usurio for criar um arquivo ou diretrio, uma mscara ser confrontada com um valor inicial fixo e, da, surge o padro de permisses. O valor fixo diferente para arquivos e diretrios. Os diretrios possuem o valor inicial 777 e os arquivos 666. O sistema simplesmente ir subtrair desses valores a mscara que o usurio definiu e trar o resultado. No caso anterior:
Diretrio Valor Inicial Fixo UMASK (valor a ser subtrado) Valor Padro
Arquivo
O valor nunca ser negativo. Caso o resultado d -1, o valor ser 0. Alm de visualizar a mscara definida para o usurio logado, o comando umask tambm permite que o usurio altere-a.
macale@amontoado:~$ umask 0077 macale@amontoado:~$ macale@amontoado:~$ 0066 macale@amontoado:~$ macale@amontoado:~$ total 0 -rw------- 1 macale
umask 0066
umask > oi ls -l diplomata 0 Fev 4 11:11 oi
NEWGRP
Sintaxe: newgrp <usurio> <arquivo/diretrio> As vezes preciso que o grupo principal de um usurio seja alterado temporariamente. Imagine que o usurio macale faz parte do grupo diplomata, feio-como-o-cao e engenheiro, sendo o primeiro o principal. S que ele decide criar um diretrio que o grupo feio-como-o-cao tenha acesso. Isso poderia ser feito criando-se o diretrio e depois alterando o seu grupo. Porm com o newgrp, durante toda a sesso, o grupo principal ser feio-como-o-cao, otimizando o tempo do usurio.
117
Exemplos:
$ mkdir SOH-PARA-OS-FEIOS $ ls -l total 0
4 14:07
-rw-rw---- 1 macale feio-como-o-cao 0 Feb -rw-rw---- 1 macale feio-como-o-cao 0 Feb -rw-rw---- 1 macale feio-como-o-cao 0 Feb
$ exit logout fcamargo@amontoado:~$ su - macale Senha:
sistema,
grupo
4 14:09 4 14:08
- em frente ao grupo serve para carregar as variveis de sistema do grupo que o usurio est se conectando. Caso no seja colocado, as variveis do grupo anterior
sero mantidas.
118
USERMOD
Sintaxe: usermod [parmetros] <valores> <usurio> O comando newgrp altera o grupo principal do usurio temporariamente. Mas e se o usurio desejar alterar o grupo principal permanentemente? A usamos o usermod, que ir modificar dados do usurio. Esses dados so vrios, e so definidos atravs de parmetros e valores. Parmetro -g (grupo) -G (Grupo. Maior, ou seja, engloba MAIS grupos) -aG Descrio Altera o grupo principal do usurio. Ao executar este comando, o usurio deixar de fazer parte do grupo que era o principal. Define todos os grupos secundrios aos quais o usurio far parte. Todos os grupos devem ser separados por vrgula e sem espao. Este comando ir sobrescrever todas as informaes anteriores, tendo que o administrador especificar todos os grupos secundrios. Se a inteno for apenas adicionar um grupo, basta adicionar um a antes do G. Ex: usermod -aG miseraveis robsonpavan (o usurio robsonpavan foi adicionado ao grupo miserveis sem alterao do grupo principal e nem sair de nenhum outro grupo. Se a opo -a no tivesse sido usada, o grupo principal manteria-se, porm o nico grupo secundrio seria miseraveis). Altera o diretrio home do usurio. Utilizando a opo m junto a este parmetro, todo o contedo do home antigo movido para o novo. Sem ela, todo o contedo do antigo diretrio apagado. Ex: usermod -md /home/feio andresp (o usurio andresp deixar de ter seu home em /home/andresp e passar para /home/feio. Todo o contedo do diretrio antigo ser transferido para o novo). Altera o nome do usurio, aquele utilizado para se fazer o login. O L bloqueia a conta de um usurio sem apag-la. O U desbloqueia.
119
Ap-da-Bruxa-do-71 clotilde
chegados-da-bruxa-do-71 Owner ou Proprietrio: Total Group ou Grupo: Total Users ou Outros: Nada jaiminho Owner ou Proprietrio: Nada Group ou Grupo: Total Users ou Outros: Total
Pindamonhangaba
jaiminho
Correios
presidente
funcionarios-dos-correios Owner ou Proprietrio: Total Group ou Grupo: Total Users ou Outros: Entrada
6.Agora crie os arquivos .../Ap-da-Bruxa-do-71/Caldeirao com permisso total. .../Pindamonhangaba/Mercearia com permisso total. .../Correios/Sistema-dos-correios com permisso rwxrwx---. 7.Faa os testes abaixo e reporte um relatrio sobre o comportamento do sistema. a)Logue-se como jaiminho; b)remova o arquivo caldeirao; c)neste mesmo diretrio crie um arquivo chamado Boca-livre tendo como grupo principal chegadosda-bruxa-do-71 (use o newgrp); d)adicione a frase D um de tamarindo dentro do arquivo Mercearia e adicione o horrio de entrada Entrei s 11:30 da manh no arquivo Sistema-dos-correios. e)Logue-se como madruga; f)remova o arquivo caldeirao; g)adicione a frase Aulas de boxe com Madruga; h)aps isso renomeie o arquivo Mercearia para Mercadinho; i)veja a hora que o jaiminho iniciou sua dura jornada no sistema dos correios.
120
8.O usurio jaiminho, para evitar a fadiga, acabou esquecendo de memorizar a sua senha. Existe a possibilidade de recuper-la? Altere a senha para 123456. 9.Remova o usurio presidente do sistema removendo todos os seus vestgios. 10.Temos um diretrio /Oi com permisso 777 e um arquivo /Oi/Saci com permisso 000. possvel remover esse arquivo como um usurio normal? 11.Qual processo est utilizando mais memria no seu computador? 12.Logue-se no terminal como madruga e abra o gedit em segundo plano, logue-se como jaiminho e abra o gedit em segundo plano, logue-se como madruga e abra o gedit em segundo plano, agora visualize todos os processos do gedit seu sistema. Quais so os PIDs deles? Mate todos utilizando apenas um comando. 13.Abra o firefox pelo terminal. Pause o processo dele e verifique o que acontece com a janela do firefox. Faa com que ele fique utilizvel novamente. 14.Qual dos usurios abaixo no um usurio padro do sistema? a)root b)games c)proxy d)main e)sync 15.Qual comando que, com determinado(s) parmetros faz com que possamos visualizar os processos que no esto vinculados a algum terminal? 16.O getent permite que visualizemos quais so as informaes que o sistema est recebendo para determinados recursos do sistema, como redes disponveis, nomes definidos, usurios habilitados a utilizar o sistema. Digamos que um usurio no consegue se logar no sistema. Como voc verificaria se o usurio est cadastrado e apto a logar? 17.Como fazemos para tornar um arquivo executvel? Crie um arquivo utilizando o VIM com as seguintes linhas:
#!/bin/bash echo Meu rapaz, voc conseguiu! Seu arquivo de nada virou um executvel
Salve como Binrio e torne-o um executvel. 18.O chown permite alterar o usurio e grupo ao mesmo tempo? E o chgrp? Qual a principal diferena entre eles? Crie um diretrio dentro do /tmp chamado Louco e altere o proprietrio para clotilde e o grupo para jaiminho. 19.Altere o diretrio principal do usurio madruga para /home/saci. Depois de fazer isso, logue-se como madruga e digite cd. 20.Altere o nome do usurio clotilde para bruxa-do-71. 21.Um arquivo Oi possui permisses 665. Queremos tirar todas as permisses dos outros, permisso de leitura do grupo e de alterao do proprietrio, mas permiti-lo executar o arquivo. Qual destas permisses no a correta? a)chmod u-w+x Oi; chmod g-r Oi; chmod o-rx Oi b)chmod u=rx g=w o=x Oi
121
INSTALAO DE IMPRESSORAS
A verso Zandor trs a ferramenta Configurao da impressora para facilitar a instalao, remoo e gerenciamento de impressoras no sistema, assim como a gesto da fila de impresso. Vejamos como fcil a sua utilizao.
ABRINDO O GERENCIADOR
No menu Sistema, v at o submenu Administrao e selecione a opo Impresso. A seguinte caixa de dilogo ser aberta:
Nesta janela todas as impressoras instaladas aparecero em formato de cones com seus respectivos nomes em baixo.
uma
Q
122
uando voc abre o BrOffice.org e clica em imprimir, a impressora padro a que selecionada para ser utilizada automaticamente.
No painel Selecionar Conexo, voc dever indicar qual a impressora a qual voc deseja se conectar, se, claro, ela for encontrada automaticamente. Caso isso no acontea, ento dever ser indicado a forma como o sistema se conectar a ela. As informaes sempre sero apresentadas da seguinte forma: Nome da impressora 0.0.0.0 (IP da impressora ou do servidor). Caso encontre-a, apenas selecione-a e clique em <Avanar>. Caso ela no aparea, selecione a forma de conexo e informe os parmetros necessrios na sesso que fica ao lado direito da caixa de dilogo.
unca instale uma impressora que esteja disponvel nos dispositivos de Selecionar Conexo e que estejam em computadores desconhecidos. Procure IPs que sejam ou
Device LPT #1
AppSocket / HP Ser necessrio informar o nome ou IP da impressora que JetDirect ir ser instalada em Nome da mquina e o nmero da porta que ser utilizada. A porta, por padro, 9100. Dificilmente ser diferente disto. Caso no seja, verifique
123
Tipo de impressora
Device
Parmetros o manual da impressora. Ser necessrio colocar o IP do servidor ou da impressora no campo Nome da mquina. Se usar o ip, voc dever deixar os parmetros da seguinte forma: IP:631 /printers/Nome-da-Impressora-no-Servidor
Impressora com Internet Printing interface de rede ou Protocol (ipp) conectada a um servidor Impressora instalada em uma mquina Windows
Windows Printer Ser necessrio passar os parmetros exatamente da via Samba forma como explicado abaixo da caixa de texto smb:// na sesso Impressora SMB. possvel ver um exemplo da configurao dos parmetros na figura 16. Deve-se marcar a caixa de seleo Set authentication details now e inserir um nome de usurio e senha vlidos do Windows. Clique em verificar antes de continuar para saber se a instalao ser concluda ou no.
Impressora Virtual
CUPS-PDF
Uma impressora virtual uma impressora que no existe fisicamente, somente logicamente. Toda vez que um trabalho de impresso for enviado a ela, a impressora virtual ir converter o trabalho em um arquivo PDF, e ir aloc-lo no diretrio ~/PDF. Clique sobre o boto <Avanar> sem alterar nada.
Agora voc dever selecionar o driver da impressora. Normalmente o driver estar disponvel no sistema, tendo que apenas ser especificado o fabricante e seu modelo. Se voc no tiver o arquivo ppd (correspondente ao driver da impressora), deixe marcado Selecionar impressora da base de dados, marque o fabricante e clique em <Prximo>. Se voc tiver o ppd, selecione Fornecer arquivo ppd, clique no boto ao lado direito da caixa de texto para navegar no seu sistema e indique onde e qual o nome do arquivo. Clique em <Avanar>.
124
Caso tenha selecionado procurar na base de dados, uma lista de modelos de impressoras do fabricante definido que possuem suporte no Zandor ser mostrada. Escolha a sua impressora e clique sobre o boto <Avanar>. Se ela no tiver suporte, clique sobre o boto <Avanar> entre no site www.linuxprinting.org e procure o driver apropriado. Faa download do arquivo ppd recomendado e prossiga a instalao usando a opo Fornecer arquivo ppd.
C
corretamente.
aso voc esteja tentando instalar uma impressora virtual, escolha o fabricante Genrico e o driver CUPS-PDF-Printer, Generic CUPS-PDF Printer [em]
(recomendado). Aps indicar qual driver ser instalado, voc precisar definir um nome para a impressora. O nome um campo obrigatrio e no pode conter espaos e caracteres especiais. Os campos Localizao e Descrio no so obrigatrios. Clique sobre o boto <Aplicar> e a impressora ser instalada
125
SSH
Acessos remotos so importantssimos para administradores de redes, pois no sempre que eles tm a possibilidade de estar diante do computador que precisam configurar ou consertar. Vrios servios permitem que haja conexo remota entre computadores, e o que iremos ver agora o SSH. SSH (Secure Shell Client Cliente seguro do shell) um servio que, se instalado corretamente em dois computadores, permite que eles acessem o sistema um do outro de uma forma muito segura. Segura porque ele troca informaes criptografadas e possui uma srie de recursos para impedir que pessoas no permitidas acessem os servidores ou mesmo interceptem os dados das transmisses. Para que ele funcione, precisaremos sempre que um, pelo menos, tenha o servidor SSH instalado e que o outro tenha o cliente.
Para instalar os dois, basta instalar o metapacote ssh, que instalar os dois pacotes acima:
amontoado:~# apt-get install -y ssh
Aps ter o SSH instalado corretamente necessrio que o cliente tenha um usurio vlido no servidor.
o possvel se conectar ao servidor usando um usurio do cliente. Se voc no tiver nem souber login e senha de nenhum usurio, no poder se conectar.
Para iniciar a conexo, o daemon (gerenciador do servio SSH) do servidor dever estar rodando. ele que responsvel por escutar as solicitaes, fazer as conexes, gerenciar e operar as transmisses de dados. Aps instalar o ssh, automaticamente o servio j estar funcionando. Mas se isso no acontecer, voc poder saber se o daemon est rodando verificando se a porta do SSH est aberta atravs do seguinte comando:
amontoado:~# nmap localhost Starting Nmap 4.62 ( http://nmap.org ) at 2008-11-24 08:11 BRST Interesting ports on localhost (127.0.0.1): Not shown: 1711 closed ports PORT STATE SERVICE 22/tcp open ssh Nmap done: 1 IP address (1 host up) scanned in 0.074 seconds
Se a porta estiver aberta o ssh estar rodando na porta 22. Acontece que possvel que algum tenha alterado a porta manualmente e, caso isso tenha acontecido, a porta 22 no aparecer aberta. O nmap no conseguir dizer qual a porta em que o SSH est rodando caso ele no esteja na padro (somente com ajuda de alguns parmetros, como o -A, que ser visto mais frente). Resta-nos visualizar
126
atravs do comando ps se existe um processo do daemon. Para isso, execute o seguinte comando:
amontoado:~# ps aux |grep sshd root 2369 0.0 0.0 /usr/sbin/sshd 5236 984 ? Ss Nov21 0:00
Como voc pode perceber, o processo sshd (SSH Daemon) existe e est ativo. Agora voc poder acessar o servidor, desde que tenha permisso para isso. Se nada for encontrado, voc poder inici-lo manualmente. Para isso, execute os seguintes comando:
amontoado:~# /etc/init.d/ssh start * Starting OpenBSD Secure Shell server sshd
CONECTANDO-SE AO SERVIDOR
A conexo dever ser feita atravs de comando que respeite a seguinte sintaxe: ssh [parmetros] <usurio>@<nome.da.mquina> Veja abaixo um exemplo de como se conectar a um servidor. Este ser o 10.15.17.30.
fcamargo@amontoado:~$ ssh fcamargo@10.15.17.30 The authenticity of host '10.15.17.30 (10.15.17.30)' can't be established. RSA key fingerprint is 44:b7:01:cf:c3:14:14:76:4f:18:18:e2:8e:f9:dc:c5. Are you sure you want to continue connecting (yes/no)?
N
Caso
o caso acima, o usurio poderia ser suprimido. Se voc no especificar um usurio, o ssh ir completar esta informao com o usurio que voc est logado no momento. no use este campo, retire tambm o @.
Ex: ssh 10.15.17.30 A primeira vez que voc se conectar a um servidor ser informado que no foi possvel estabelecer uma associao entre o IP e MAC da interface de rede verificada com o que consta no arquivo ~/.ssh/know_hosts. Isso bvio, j que a primeira vez que voc se conecta ao computador e no h registros. Essa verificao feita para que voc tenha certeza que, a partir da segunda vez, o servidor o qual est se conectando o mesmo que o que voc quer. Como pode o computador no ser o mesmo se voc colocou o mesmo IP? Ele pode ter sido reinstalado ou ento um servidor DHCP pode ter enviado um novo endereo para ele. Caso isso acontea, um erro na conexo acontecer, mas fiquei tranquilo, pois a soluo ser fcil. Voc s ter que abrir o arquivo know_hosts do usurio logado no shell, no computador cliente, e ento apagar a linha referente ao computador que voc estiver com problemas. Se no souber qual a linha, apague todas. Ser perguntado se voc te certeza que quer se conectar caso o registro do computador no exista. Se isso acontecer digite yes e tecle <ENTER>. Ento voc poder entrar com a senha (o que acontecer direto caso o servidor esteja registrado). Aps voc ter digitado a senha corretamente, a seguinte tela ser mostrada:
127
amontoado:~# ssh fcamargo@10.15.17.30 fcamargo@10.15.17.30's password: Linux ecelepar91893 2.6.26-1-686 #1 SMP Thu Oct 9 15:18:09 UTC 2008 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Mon Nov 24 10:53:33 2008 from 10.15.15.8 fcamargo@pilintra:~$
Voc est conectado ao sistema do computador 10.15.17.30, que tem o nome pilintra.
Parmetros (opes)
Da forma como foi mostrado acima, a conexo ser feita da forma padro. Existem alguns parmetros que permitem que voc tenha suporte a outros recursos do ssh, como por exemplo conectar-se so servidor com suporte grfico. Vejamos os principais:
Parmetro
Descrio
-X Habilita o encaminhamento X11 (servidor grfico). Com este (maisculo) parmetro voc poder abrir aplicativos atravs do terminal e us-lo no modo grfico. Um exemplo de aplicativo que poder ser executado o Iceweasel (navegador da internet). O som no ser ativado, por isso abrir um player de mp3 no ser possvel. Exemplo: $ssh -X fcamargo@10.15.1.47 <ENTER> -p (porta) Permite que voc altere a porta que o ssh ir tentar se conectar. Se voc no especificar a porta, o comando sempre tentar se conectar porta 22. Se a porta tiver sido alterada, uma mensagem dizendo que a conexo foi refutada ser mostrada. Exemplo: $ssh -p 2222 fcamargo@10.15.1.47 <ENTER>
ser o caminho no cliente e o outro no servidor. O caminho que estiver no servidor dever ser precedido pelo nome de usurio com o qual ir se conectar, arroba, o IP do servidor e dois pontos. Vejamos no seguinte exemplo como fazer isso na prtica: um arquivo chamado marcius.jpg, que est
128
armazenado em /tmp de um computador remoto, deve ser copiado para o seu. Voc quer que o arquivo v pra o diretrio /zoaes. Considerando que o usurio logado no shell local tambm est instalado no sistema remoto e que este possui o IP 10.15.15.30, o comando ser o seguinte:
Computador remoto
Local
Podemos concluir que o scp permite que em uma parte definamos um arquivo ou diretrio no computador local ou remoto, e na outra parte definamos um destino em outro computador.
Parmetros (Opes)
Parmetro -r (recursivo) Para cpia de pastas. Descrio Ativa a opo recursiva na cpia. Isso quer dizer que ao copiar diretrios, sero copiados os arquivos e subdiretrios de nveis mais abaixo a partir dele, depois os de um nvel acima e assim por diante, at tudo ser copiado. No possvel copiar diretrios sem que este parmetro seja definido. Exemplo: $scp -r /tmp/Oi fcamargo@10.15.1.47:~ <Enter> Similar ao ssh. Exemplo: $scp -p 2222 /etc/* fcamargo@10.15.1.47:/tmp <Enter>
-p (porta)
129
Restante do espao ou quanto for Formatar a partio (xfs) necessrio para esta partio
/boot Partio onde ficaro os arquivos necessrios para a carga do sistema, essa partio deve
ser criada apenas quando o Sistema Raiz (/) for formatado com o Sistema de Arquivos XFS, pois o gerenciador de boot GRUB no consegue encontrar os arquivos necessrios para a carga do sistema em parties formatadas com XFS, a escolha do Ext3 se deve ao fato desse sistema se recuperar rapidamente de falhas, fazendo com que o sistema sempre possa ser inicializado.
/ - Partio onde ficar o Desktop Paran propriamente dito, esse partio dever ter pelo menos
6GB de espao livre para instalao, a escolha do XFS se deve ao fato desse sistema gerir um melhor
130
cache dos arquivos em memria, fazendo com que o sistema fique mais responsivo, e alm de ser um dos Sistemas de Arquivos mais robusto existentes hoje em dia.
Swap Partio onde ficar a rea de troca do sistema, o tamanho dessa partio no dever
ultrapassar 1GB, esse tamanho foi escolhido pelo fato que se um sistema estiver utilizando mais do que 1GB de rea de troca, acrescentar mais espao para essa rea, far com que o sistema fique cada vez mais lento, quando isso ocorrer, o sugerido acrescentar memria RAM e no aumentar a rea de troca.
/home Partio onde ficaro os arquivos dos usurios, o tamanho dessa partio no deve ser
menor que 5GB, e dever ser formatado com XFS. A escolha do sistema de arquivos se deve ao que j foi explicado na partio onde ficar o Sistema Raiz. Quando o sistema for instalado em um HD que seu tamanho total seja menor que 15GB, recomendado que essa partio no seja criada.
altamente recomendado que as informaes acima sejam seguidas a risca para que a Instalao fique padronizada, facilitando o suporte.
1.Um exemplo de como deve ficar o particionamento mostrado na imagem abaixo: 2.Finalize as configuraes de partio e grave as mudanas no disco. Ser solicitado uma confirmao. Selecione sim se voc tiver realmente certeza. 3.Em seguida, ser iniciada a cpia dos arquivos para o disco. 4.Apo o trmino da cpia, ser necessrio informar o endereo do servidor proxy de sua rede, a porta utilizada pelo proxy e suas excees. Se a rede no possuir um servidor proxy ou no souber essa informao, deixe em branco. Aps a instalao, voc poder configurar o proxy executando no terminal dpkg-reconfigure web-browser-parana. 5.Informe o nome do Domnio/Workgroup da sua rede.Informe os servidores NTP para sua rede, se a rede no possuir servidores NTP, deixe em branco. 6.O Grub ser instalado na MBR do seu disco, os scripts finais sero executados. 7.Finalizando a instalao, selecione continuar para reinicializar a mquina. 8.Retire o CD.
131
# apt-get update
Isso far com que a lista de pacotes seja atualizada. 4.Para instalar o pacote Cliente-Ldap, execute o seguinte comando:
# apt-get install cliente-ldap
5.Informe o nome do servidor LDAP da sua rede, por exemplo: ldaps://ldap.eparana.parana/; 6.Informe a base de pesquisa do LDAP, por exemplo: ou=celepar,dc=pr,dc=gov,dc=br; 7.Selecione a verso do protocolo LDAP utilizada pelo seu servidor. Na maioria das vezes a verso utilizada a 3; 8.Em Tornar a conta root local o administrador da base de dados , selecione No. Esta opo s vlida quando o servidor LDAP est sendo executado na mquina local; 9.Em A base de dados LDAP requer autenticao?, selecione No se o seu servidor permite consultas annimas; 10..Em Conta LDAP para o root, deixe em branco, essa opo usada quando o Servidor LDAP pode ser administrado por usurios das estaes; 11.Informe o servidor WINS de sua rede; 12.Informe o nome do servidor onde se encontram os compartilhamentos dos usurios; 13.Informe o nome do compartilhamento para que ele seja montado no sistema. Deixe o padro; 14.Informe o nome do grupo dos usurios que podero logar via SSH; 15.Informe o nome do grupo dos usurios que tero poderes de SUDO; 16.Voc poder informar at 5 nomes de servidores e seus compartilhamentos; 17.Aps isso, ser mostrada uma mensagem com informaes importantes, voc deve l-la; 18.Quando for solicitado para substituir os arquivos de configurao, voc deve informar que todos os arquivos devem ser substitudos.
132
ANEXO II (ALSA)
Alsa quer dizer Advanced Linux Sound Arquitethure Arquitetura avanada de som do Linux. um sistema que prov suporte s mais variadas interfaces de som existentes. Com ele a instalao de uma placa de som muito fcil, j que ele tem vrios mdulos prontos para serem utilizados. Mdulos so como drivers do windows. Para us-lo basta execut-lo e inform-lo qual a sua placa de som de uma lista criada por ele.
amontoado:~# alsaconf <Enter>
Se tudo estiver certo, sua placa j ter o mdulo instalado e configurado. Agora s colocar o som no talo e aproveitar.
Now ALSA is ready to use. For adjustment of volumes, use your favorite mixer. Have a lot of fun! Agora o ALSA est configurado e pronto para ser usado. Para ajustar os volumes, use seu mixer favorito (use o que vem no prprio painel da rea de trabalho. Divirta-se!!!!!
EVENTUAIS PROBLEMAS
Se o sistema for local, o usurio precisa ter permisso para acessar a placa de som. Na verdade ele sempre ir precisar de permisso, mas se a autenticao no for local, voc ainda no est apto a resolver esse problema. Mas no desanime, voc est perto! Voc precisar verificar se o usurio est no grupo audio. No exemplo abaixo, iremos usar o comando groups para verificar se o usurio doideira est no grupo audio.
# groups doideira doideira
Ele no est. Ser necessrio adicion-lo ao grupo audio. Verifique o resultado do comando abaixo:
# ls -l /dev/audio crw-rw---- 1 root audio 14, 4 Abr 14 05:27 /dev/audio
Como podemos observar, somente o root e quem faz parte do grupo audio tem acesso ao arquivo /dev/audio que o n de dispositivo responsvel pela comunicao entre sistema e dispositivo. Precisamos apenas adicion-lo, ento, da seguinte forma (forma esta que j foi vista neste curso, lembra-se?):
# adduser doideira audio Adding user `doideira' to group `audio' ... Adicionando usurio doideira ao grupo audio Concludo. ecelepar11940:~# groups doideira audio
133
QUESTO 02
Criar uma alternativa livre para cada software proprietrio.
QUESTO 03
No. GNU o nome do projeto que a Free Software Foundation que pretende criar uma alternativa livre para cada software proprietrio. Linux o kernel do sistema operacional, que cuida da gesto de recursos, processos, memria e sistema de arquivos. Ambos formam um sistema operacional completo para o usurio final, recebendo o nome de GNU/LINUX.
QUESTO 04
As informaes que definem uma partio primria ficam dentro da MBR (Master Boot Record), que o primeiro setor de um disco rgido. As informaes que definem uma partio lgica ficam fora da MBR. Para que o sistema operacional saiba onde esto as informaes a respeito das parties lgicas, uma partio estendida, dentro da MBR, deve indicar onde est a primeira lgica dentro de um dispositivo de armazenamento, e todas as outras parties lgicas so referenciadas em cadeia.
QUESTO 05
a :IV ; b:I ; c:III ; d:II
QUESTO 06
F-F-F-V
QUESTO 07
Um bloco, que definido pelo sistema de arquivos.
QUESTO 08
a) arquivo de caracteres (serial) b) arquivo de blocos (paralelo) c) arquivo de blocos (paralelo)
QUESTO 09
a) hdb7 b) sda c) sdc d) fd0
QUESTO 10
/media
134
QUESTO 11
A utilizao de uma barra no incio do endereo.
QUESTO 12
usr (Unix Share) um local onde as aplicaes no necessrias ao sistema so armazenadas com suas respectivas bibliotecas e documentao. Todos os usurio tm permisso de leitura, mas qualquer configurao feita em um aplicativo gravada no diretrio pessoal do usurio.
PARTE 2
QUESTO 01
Terminal emulado um processo que roda sobre o servidor grfico e simula um terminal virtual. Terminal virtual o terminal em si, e completamente independente. Terminal emulado: permite o acesso rpido a um terminal; permite personalizao da janela; Terminal virtual: caso o servidor grfico trave, este terminal no travar, j que ele um processo independente; mais leve.
QUESTO 02
No. Sempre um usurio deve ser especificado para que o sistema possa saber quais so as permisses a serem aplicadas, e para que as variveis referentes ao usurio sejam carregadas.
QUESTO 03
a) Cancela a execuo de m processo; b) Limpa a tela mantendo a linha de comando intacta; c) Desconecta o usurio corrente do terminal; d) Abre uma nova aba num terminal emulado.
QUESTO 04
Utilizando o recurso de autocompletar atravs da tecla <TAB>.
QUESTO 05
a)
rm -rf A* //apaga s o que comea com A dentro do dir /root :/root# rm -rf [A,a]* //apaga o que comea com A ou a dentro do dir /root
:/root# b) :/root# mv
-rf *ar?lho //perceba que o dir Carvalho no foi excludo :/root# ls -l ?[a-l]*
135
QUESTO 06
Utiliza-se o parmetro que ativa a recursividade na excluso de um diretrio. A recursividade far com que o rm v at o ltimo subnvel do diretrio explicitado, apaga todo seu contedo e vai subindo de um em um nvel. Isto permite que, no fim, o diretrio explicitado esteja vazio e possa ser removido.
QUESTO 08
No. O pipe redireciona a sada de um comando para a entrada de outro. Uma pessoa com uma bola de futebol, em vez de chutar para o gol, passa para outra pessoa que, a sim, arrisca o abrir o marcador. O > redireciona a sada. Normalmente um jogador chuta a bola para o gol do adversrio, mas com o redirecionador ele chuta no gol do seu time e marca contra.
QUESTO 09
$ vim sobrenome O editor vim ser aberto e editar o arquivo chamado seu sobrenome. a) <INSERT> escrever o solicitado; b) <ESC> <y><y><y><y>; c) Coloque o cursor do mouse sobre a segunda linha e pressione <d><d>; d) :wq! ou :x!
QUESTO 10
a) $ cd /etc/network $ ls
O contedo do diretrio network, que est dentro do diretrio etc, que est dentro do diretrio barra mostrado. b) :/etc/network$ ls /root :/etc/network$ pwd /etc/network
O diretrio corrente continua sendo /etc/network. c) $ cd /boot/grub :/boot/grub$ cd /etc/samba :/etc/samba$ cd :/boot/grub$ cd :/etc/samba$
No diretrio /etc/samba. Voc volta sempre para o diretrio anterior. Se voc foi do diretrio 1 para o 2, do 2 para o 3, do 3 para o 4, e usar cd - 4 vezes, voc se encontrar no diretrio 4. d) :/etc/samba$ cd :~$
Basta utilizar o comando cd que o interpretador ir lhe levar ao diretrio pessoal do usurio logado.
136
boi
boi
boi
QUESTO 11
a) $ mkdir /tmp/Caneco
b) Existem duas formas de se fazer isso: 12$ cd /tmp/Caneco $ mkdir Jan Fev Mar Abr $ mkdir /tmp/Caneco/{Jan,Fev,Mar,Abr}
c) Caso voc entre realmente no diretrio caneco, nenhum erro acontece. d) $ mkdir /tmp/caneco/1/2/3/4/5/6 -p
QUESTO 12
a) $ mkdir ~/Novo-Caneco $ cp /tmp/Caneco/* ~/Novo-Caneco
O asterisco indica que deve ser copiado o contedo de Caneco, e no o diretrio caneco. Sempre o comando ser executado sobre o arquivo, ltimo diretrio ou coringa, sendo o restante apenas o endereo de onde est o que vai receber a ao do comando. b) $ cp /etc/samba/smb.conf /etc/samba/smb.conf.back
QUESTO 13
a) $ mkdir /tmp/a/b/c/d/e -p $ vim Saci b) $ mv /tmp/a/b/c/d/e ~ c) $ rm -Rf /tmp/a/b/c d) $ ls -lR /tmp /tmp/a: total 0 drwxr-xr-x 2 saci grupo-louco 6 Ago 14 11:33 b /tmp/a/b: total 0 e) $ mv /etc/samba/smb.conf.back /etc/samba/smb.conf
QUESTO 14
O mv usa o cp. O processo o seguinte: o mv cria uma cpia do original (utilizando o cp) e remove o arquivo original (utilizando o rm).
QUESTO 15
a) dpkg -l |grep broffice.org b) dpkg -l |grep apache2
137
c)
QUESTO 16
a) apt-cache search web |grep server ------- apache2 b) apt-cache search zip |grep compress ------- bzip2 c) apt-cache search clipart |grep openoffice ------- openclipart-openoffice.org d) apt-cache search internet explorer ------- ie6 e) apt-cache search ocs |grep parana f) **** apt-cache search rar |egrep ^rar (existem vrias formas de se encontrar uma aplicao que abra arquivos rar. Procure na internet, no site packages.debian.org, com o apt-cache show pacotes similares. O mtodo acima consiste em usar o grep com a opo de expresso regular ativada, e indicar que o rar deve comear com ^)
QUESTO 17
# wget http://www.skype.com/go/getskype-linux-deb # dpkg -i getskype-linux-deb # apt-get install <todos os pacotes que o comando acima mostra como dependncia> # apt-get install -f Verifique no seu menu se o aplicativo foi instalado.
QUESTO 18
# apt-get install internet explorer 6
QUESTO 19
a) O apt verifica dentro da lista local de pacotes se existe o pacote desejado nos repositrios. Se existir, cria a lista de dependncias necessria e faz a solicitao de todos os pacotes necessrios aos repositrios. feito o download de todas os pacotes. Estes so descompactados e o dpkg invocado para execuo do pr-inst e post-inst que fazem a instalao. b) O pacote indicado removido e o processo da letra (a) repetido. c) O aplicativo removido, mas os arquivos de configurao so da aplicao mantida. d) O aplicativo e os seus respectivos arquivos de configurao so removidos. e) Atualiza a lista de pacotes e dependncias local com a lista dos repositrios. f) Apaga todos os arquivos de instalao que foram recebidos em instalaes com o apt. Estes arquivos so removidos do diretrio /var/apt/cache/archives.
QUESTO 20
b) No est instalado. c) /usr/bin/diff d) /usr/bin/file e) /sbin/ifconfig f) /usr/bin/iceweasel
QUESTO 21
Durante a instalao do apache2 houve um problema (simulado pelas teclas de atalho <CTRL><C>), interrompendo a execuo do apt. Sempre que isto acontecer, um registro de que houve um problema na instalao criado, e o apt aguarda um comando do administrador para que a instalao seja finalizada. Se o administrador tentar instalar qualquer coisa no conseguir, pois o apt fica travado na instalao anterior. Para resolver o problema, basta executar o comando #dpkg --configure -a que ir reiniciar o processo de instalao de todos os pacotes que tiveram problemas na instalao.
138
PARTE 3
QUESTO 01
$ vim Tudo errado <Insert> digitar o texto.... <Esc> :x!
QUESTO 02
$ sort -n Tudo errado >Arquivo.txt
QUESTO 03
$ sudo su - (ou loga-se como superusrio da sua forma) # find /etc -iname hostname # find /etc -iname fstab # find /etc -iname issue # find /etc -iname timezone # logout $ cat hostname fstab issue timezone > Concatenacao
QUESTO 04
$ watch dmesg Mensagens indicando que um novo dispositivo USB foi encontrado foram mostradas na tela.
QUESTO 05
a) $ find / -iname debian_version /etc/debian_version b) $ find / -iname menu_lst /boot/grub/menu_lst c) $ find / -iname fstab /etc/fstab d) $ find / -iname cpuinfo /proc/cpuinfo e) $ find / -iname [0-9][0-9]-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules f) $ sudo su # find / -size +20M g) #find /dev -type s
QUESTO 06
# du -sh /boot /home /usr 67G /home/
139
20M 3,1G
/boot/ /usr/
QUESTO 07
$ alias Bom-dia = 'echo Pra quem?'
QUESTO 08
As informaes abaixo vo variar de sistema para sistema. No meu caso, o diretrio especificado est dentro da partio /dev/sda2 (partio barra), esta possui 14GB e e est com 32% de sua capacidade em uso. $ df -h /usr/lib Sist. Arq. Tam Usad Disp Uso% Montado em /dev/sda2 14G 4,4G 9,6G 32% / $ du -sh /usr/lib 1,2G /usr/lib Agora mostre suas habilidades com a aritmtica. Total 14G - Diretrio 1,2G - Porcentagem - 8,6% da partio
QUESTO 09
$ /sbin/ifconfig
QUESTO 10
$ uptime 15:44:32 up 2 days, 21:09, 4 users, load average: 0.32, 0.47, 0.35
QUESTO 11
$ shutdown -h 18:00 Chega de trabalho e vamos tomar uma ampola
QUESTO 12
Para mont-lo, clique duas vezes sobre o cone Disquete 1 dentro do local Computador. Para desmontar clique com o boto direito sobre o mesmo cone ou sobre o cone que foi criado na rea de trabalho e selecione Desmontar Volume. Por linha de comando faa o seguinte: # mount /dev/fd0 /media/floppy0 # umount /dev/fd0 /media/floppy0
QUESTO 13
$ uptime
140
15:44:32 up 2 days, 21:09, 4 users, load average: 0.32, 0.47, 0.35 47%
PARTE 4
QUESTO 01
A:V B:VII C:I D:III E:IV F:II G:VI
QUESTO 02
10.15.17.100 255.255.252.0 Rede: que resulta em: xxxxxxxx-xxxxxxxx-0001-0001-xxxxxxxx 11111111-11111111-1111-1100-00000000 10.15. 0001-0000 .0 10.15.16.0
QUESTO 03
Classe B = 0.0.22.28 que igual a 210 = 1024 hosts, sendo que dois esto reservados para indicao da rede e de broadcast, e outros dois sero usados para DNS e roteador, sobram 1020 endereos para hosts.
QUESTO 04
Executando o ifconfig como superusurio ou ento /sbin/ifconfig como usurio normal, voc poder visualizar as informaes IP, BROADCAST e MSCARA. # ifconfig eth0 Link encap:Ethernet Endereo de HW 00:22:15:9e:c1:10 inet end.: 10.15.19.100 Bcast: 10.15.19.255 Masc: 255.255.252.0 IP: 10.15.19.100 Broadcast: 10.15.19.255 Mscara: 255.255.252.0
QUESTO 05
IP (address), rede (net), roteador (gateway).
e o administrador no definir uma mscara, automaticamente o padro adotado ser 255.255.255.0. O endereo de broadcast tambm automtico. Sempre ser o ltimo endereo IP da rede, mas possvel definir manualmente. /etc/network/interfaces auto eth0 iface eth0 inet static address 10.15.19.100 network10.15.15.0 netmask 255.255.252.0 gateway 10.15.15.1
QUESTO 06
$ ping www.bandacalcinhapreta.com.br
141
PING bandacalcinhapreta.com.br (187.16.19.36) 56(84) bytes of data. 64 bytes from server3.softhost.org (187.16.19.36): icmp_seq=1 ttl=50 time=931 ms
QUESTO 07
hostname echo Meus parabns, desta vez voc no estragou o computador
QUESTO 08
$ nmap <ip do seu gateway> // exemplo $ nmap 10.15.15.1 Starting Nmap 4.68 ( http://nmap.org ) at 2009-08-18 17:02 BRT Interesting ports on 10.15.15.1: Not shown: 1712 closed ports PORT STATE SERVICE 23/tcp open telnet 80/tcp open http 280/tcp open http-mgmt A porta padro do ssh no est aberta, logo, no existe a possibilidade de se conectar, com uma anlise superficial e rpida, ao roteador por ssh.
PARTE 05
QUESTO 01
# adduser clotilde # adduser madruga # adduser jaiminho # adduser zero-a-esquerda
QUESTO 02
# addgroup chegados-da-bruxa-do-71 # adduser madrugada chegados-da-bruxa-do-71
QUESTO 03
# addgroup funcionarios-dos-correios # adduser presidente --ingroup funcionarios-dos-correios
QUESTO 04
# mkdir /Curso/Permissoes/{Ap-da-bruxa-do-71,Pindamonhangaba,Correios} -p
142
QUESTO 05
Primeira linha # chown clotilde /Curso/Permisses/Ap-da-bruxa-do-71 # chgrp chegados-da-bruxa-do-71 /Curso/Permisses/Ap-da-bruxa-do-71 ou ... # chown clotilde.chegados-da-bruxa-do-71 /Curso/Permisses/Ap-da-bruxa-do-71 e ... # chmod 770 /Curso/Permisses/Ap-da-bruxa-do-71 ou ... # chmod ug=rwx,o= /Curso/Permisses/Ap-da-bruxa-do-71
ara definir permisses diferentes a sets diferentes (proprietrio, grupo e outros) utilizando o mtodo de letras, pode-se fazer como no exemplo acima, separando os sets por vrgulas.
Segunda linha # chown jaiminho /Curso/Permisses/Pindamonhangaba # chgrp jaiminho /Curso/Permisses/Pindamonhangaba ou ... # chown jaiminho.jaiminho /Curso/Permisses/Pindamonhangaba e ... # chmod 077 /Curso/Permisses/Pindamonhangaba ou ... # chmod u=,go=rwx /Curso/Permisses/Pindamonhangaba Terceira linha # chown presidente /Curso/Permisses/Correios # chgrp funcionarios-dos-correios /Curso/Permisses/Correios ou ... # chown presidente.funcionarios-dos-correios /Curso/Permisses/Correios e ... # chmod 775 /Curso/Permisses/Correios ou ... # chmod ug=rwx,o=rx /Curso/Permisses/Correios
QUESTO 06
Primeira linha # cd /Curso/Permisses/ :/Curso/Permisses# > Ap-da-bruxa-do-71/Caldeirao # chmod 666 Ap-da-bruxa-do-71/Caldeirao ou # chmod a=rwx Ap-da-bruxa-do-71/Caldeirao Segunda linha # > Pindamonhangaba/Mercearia # chmod 666 Pindamonhangaba/Mercearia ou # chmod a=rwx Pindamonhangaba/Mercearia
143
Terceira linha # > Correios/Sistema-dos-correios # chmod 770 Correios/Sistema-dos-correios ou # chmod ug=rwx,o= Correios/Sistema-dos-correios
QUESTO 07
# su jaiminho jaiminho@entulho:/Curso/Permissoes$ rm -f Ap-da-bruxa-do-71/Caldeirao rm: imposvel remover `Ap-da-bruxa-do-71/Caldeirao': Permisso negada No possvel pois o diretrio Ap-da-bruxa-do-71 no permite que ningum alm do proprietrio e de quem faz parte do grupo chegados-da-bruxa-do-71 faam nada dentro dele. Soluo para isso seria inserir o usurio jaiminho no grupo chegados-da-bruxa-do-71 ou ento alterar as permisses do set outros do diretrio Ap-da-bruxa-do-71. jaiminho@entulho:/Curso/Permissoes$ newgrp chegados-da-bruxa-do-71 Senha : Invalid password. Para se usar o comando newgrp necessrio que o usurio saiba a senha do grupo ou ento que faa parte do grupo no o tendo como principal. Como o usurio jaiminho no est no grupo chegados-dabruxa-do-71, teremos que adicin-lo, jaiminho@entulho:/Curso/Permissoes$ su - root # adduser jaiminho chegados-da-bruxa-do-71 # <CTRL><D> ou logout jaiminho@entulho:/Curso/Permissoes$ newgrp - chegados-da-bruxa-do-71 jaiminho@entulho:~$ cd /Curso/Permissoes/ jaiminho@entulho:/Curso/Permissoes$ > Ap-da-bruxa-do-71/Boca-livre jaiminho@entulho:/Curso/Permissoes$ ls -l Ap-da-bruxa-do-71/ total 0 -rw-r--r-- 1 jaiminho chegados-da-bruxa-do-71 0 Aug 21 10:49 Boca-livre -rw-rw-rw- 1 root root 0 Aug 21 10:33 Caldeirao Iremos usar para jogar um contedo dentro de um arquivo em branco o echo para que uma mensagem seja gerada na tela, mas, utilizando um redirecionador, em vez da mensagem aparecer na tela, ela ser enviada a um arquivo. jaiminho@entulho:/Curso/Permissoes$ echo D um tamarindo > Pindamonhangaba/Mercearia -bash: Pindamonhangaba/Mercearia: Permission denied Mesmo sendo jaiminho o proprietrio do diretrio Pindamonhangaba, aquele no tem direito de fazer nada neste. Como o interpretador de comandos (terminal, no nosso caso o bash) verifica qual set de permisses deve aplicar a um usurio sempre da esquerda direita (proprietrio, grupo e outro), ele para no primeiro set que casa com o usurio e aplica as permisses. Ou seja, mesmo jaiminho fazendo tambm parte do grupo jaiminho, as permisses do set grupos (que total) no ser aplicada a ele, j que o interpretador parar no set proprietrio (que zerada). jaiminho@entulho:/Curso/Permissoes$ echo Entrei Correios/Sistema-dos-correios -bash: Correios/Sistema-dos-correios: Permission denied as 11:30 da manha >
Da mesma forma como no item anterior, no possvel alterar o arquivo, j que jaiminho no faz parte do grupo funcionarios-dos-correios. Uma forma simples de corrigir isso, seria adicionar o usurio jaiminho ao grupo, j que ele , realmente, funcionrio dos correios, e atribuir este grupo ao arquivo
144
Sistema-dos-correios: jaiminho@entulho:/Curso/Permissoes$ su root entulho:/Curso/Permissoes# chown funcionarios-dos-correios Correios/Sistema-doscorreios entulho:/Curso/Permissoes# adduser jaiminho funcionarios-dos-correios entulho:/Curso/Permissoes# exit jaiminho@entulho:/Curso/Permissoes$ exit necessrio reinciar qualquer sesso anteriormente aberta. Por isso, samos de todas as sesses. Isso se deve ao fato das variveis responsveis pelo armazenamento dos grupos os quais o usurio logado pertence j estarem carregadas. Para que elas sejam atualizadas necessrio reiniciar a sesso. jaiminho@entulho:/Curso/Permissoes$ echo Entrei as 11:30 da manha >> Correios/Sistema-dos-correios jaiminho@entulho:/Curso/Permissoes$ cat Correios/Sistema-dos-correios Entrei as 11:30 da manha Vamos ver como se sai o seu Madruga. <qualquer usurio>@entulho:~$ su - madruga madruga@entulho:~$ cd /Curso/Permissoes/ madruga@entulho:/Curso/Permissoes$ rm -f Ap-da-bruxa-do-71/Caldeirao madruga@entulho:/Curso/Permissoes$ echo Aulas de boxe com madruga >> Pindamonhangaba/Mercearia madruga@entulho:/Curso/Permissoes$ mv Pindamonhangaba/Mercearia Pindamonhangaba/Mercadinho madruga@entulho:/Curso/Permissoes$ cat Correios/Sistema-dos-correios cat: Correios/Sistema-dos-correios: Permisso negada
QUESTO 08
# passwd jaiminho entulho:~# passwd jaiminho Digite a nova senha UNIX: Redigite a nova senha UNIX: passwd: senha atualizada com sucesso
QUESTO 09
# userdel -rf presidente
QUESTO 10
Sim. O que importa em relao ao arquivo e seu inode so as permisses do diretrio que o contm, e no as permisses do arquivo em si. Desta forma, qualquer usrio poder apag-lo e ningum poder edit-lo.
QUESTO 11
$ top E verifique qual o processo que est utilizando mais memria na coluna %MEM.
145
QUESTO 12
No lenny isto no possvel. Antes de realizar tal atividade, necessrio se digitar o seguinte comando: usuario-logado-no-modo-grafico@entulho:~$ xhost + $ su jaiminho (sem o menos -) $ gedit & (no esquea do e comercial para abrir o programa em segundo plano) $ su presidente (novamente sem o menos) $ gedit & $ su - root # ps aux |grep gedit jaiminho 28542 0.5 0.7 60496 15536 pts/2 S 14:40 0:00 gedit madruga 28617 0.5 0.6 27220 13328 pts/2 S 14:40 0:00 gedit # killall gedit
QUESTO 13
$ firefox & $ ps aux |grep firefox parana 7755 0.9 6.9 332800 144256 ? Sl Aug20 14:16 /usr/lib/iceweasel/firefox-bin -a iceweasel $ kill -STOP 7755 A janela do firefox no fica acessvel. Mesmo que tente que nem um louco abri-la, ela no se tornar um processo ativo. Com o comando abaixo possvel fazer com que o processo volte a ficar disponvel ao usurio. $ kill -CONT 7755
QUESTO 14
$ cat /etc/passwd |grep main (nada retornado como resposta) Aps verificar todos os nomes, apenas o usurio da letra d no padro do sistema.
QUESTO 15
$ ps aux
QUESTO 16
$ getent passwd |grep nome do usurio
QUESTO 17
$ vim Binrio ...escreva o texto... $ chmod a+x Binrio $ ./Binrio
146
QUESTO 18
O chown altera ou s o proprietrio ou este e o grupo enquanto o chgrp altera somente o grudo de um arquivo ou diretrio. # mkdir /tmp/Louco # chown clotilde.jaiminho /tmp/Louco ou # chown clotilde /tmp/Louco # chgrp jaiminho /tmp/Louco
QUESTO 19
# mkdir /home/saci # chown madruga.madruga /home/saci # usermod -md /home/saco madruga
QUESTO 20
# usermod -l clotilde bruxa-do-71
QUESTO 21
Letra A.
147
REFERNCIAS BIBLIOGRFICAS
Este trabalho foi realizado pelo tcnico Felipe Camargo de Pauli da Companhia de Informtica do Paran. Foram utilizadas como fonte os livros e pginas da internet listadas abaixo, e o vasto conhecimento tcnico do grupo de suporte da CPPC, que esteve sempre presente com informaes e sanamento de dvidas que apareceram inmeras vezes ao longo deste projeto. Os integrantes da equipe que tiveram participao neste projeto esto listados na pgina 3. ERIBERTO MOTA FILHO, Joo. Descobrindo o Linux 2 EDIO Revista e Ampliada. So Paulo: Novatec Editora Ltda, 2006. 537. NEMETH, Evi. Manual completo do Linux Segunda Edio. Traduzido por Carlos Schafranski e Edsib Furmankiewicz. So Paulo: Prentice Hall, 2007. 684. http://pt.wikipedia.org/wiki/N_de_dispositivo http://www.conectiva.com/doc/livros/online/10.0/servidor/pt_BR/ch05.html http://www.gentoo.org http://www.marvinlemos.net/site/noticia_completa/46 http://focalinux.cipsga.org.br
148