Your SlideShare is downloading. ×
0
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Administração de Redes Linux - I
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Administração de Redes Linux - I

7,094

Published on

Curso sobre administração de redes usando Linux - Parte I

Curso sobre administração de redes usando Linux - Parte I

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,094
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
339
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Pós­gradaduação em redes de computadoresAdministração de redes  Unix/Linux Marcelo Barros de Almeida marcelobarrosalmeida@gmail.com
  • 2. Aula 01: Sumário Apresentação Instalação Fundamentos  Sistemas de arquivo  Shell  Gerenciamento de software
  • 3. Pós­gradaduação em redes de computadores Apresentação
  • 4. Marcelo Barros ?● Formação: ● Engenheiro eletrônico (EFEI, 1996) ● Mestre (UFMG, 1998) ● Doutor (UFMG, 2002) Atualmente: smar● ● Engenheiro (Smar Equip. Industriais LTDA) ● Professor do Barão de Mauá● Detalhes:  http://linuxabordo.com.br/wiki/index.php?title=Marcelo_Barros http://jedizone.wordpress.com http://www.twitter.com/marcelobarros 4
  • 5. Objetivos da disciplina Instalação Capacitação básico no uso de sistemas Linux/Unix Monitorização e diagnóstico de redes Configuração de rede básica e avançada Entendimento do funcionamento dos principais serviços  de rede Exercitar os princípios aprendidos 5
  • 6. Bibliografia básica Beginning Ubuntu Server Administration:  From Novice to Professional, Sander van  Vugt Editora Apress, 2007 Manual de Administração do Sistema  UNIX, Nemeth, Garth Snyder e Scott  Seebass, Editora Bookman, 3º Edição,  2002.  6
  • 7. Bibliografia adicional recomendada TCP/IP Illustrated, Vol 1, Richard Stevens,  Addison Wesley, 1994. Redes de computadores e a Internet: uma  nova abordagem.  Keith Ross, James Kurose,  Pearson Brasil, 2002 Redes de computadores, A. S. Tanenbaum,  Campus. Redes de Computadores, uma abordagem  sistêmica, L. L. Peterson, B. S. Davie, LTC  Editora, 2004 Redes e Servidores Linux ­ Guia Prático ­ 2ª  Edição.  Carlos Eduardo Morimoto, Sulina,  2006 7
  • 8. Vantagens no uso de Linux Não exige muitos recursos de hardware Estável, rápido e seguro Altamente configurável Suporte a várias plataformas e grande diversidade de  hardware Escalonável Grande comunidade e amplo suporte, inclusive comercial Código livre e aberto Custo de instalação zero ou baixo 8
  • 9. Desvantagens do Linux Curva de aprendizagem um pouco mais íngrime Ainda sem porte de alguns softwares comerciais Impressoras mais simples geralmente sem suporte Falta de uma maior padronização entre sabores do Linux Alguns hardware proprietário podem não funcionar Jogos mais complexos muitas vezes não rodam nem em  emulação Felizmente, quando se trata de redes, muitas destas  desvantagens não se aplicam. 9
  • 10. Áreas consagradas no uso de Linux Gerenciamento de redes Firewalls Proxies Banco de dados Servidores de web, DNS, FTP, entre outros Clusters Virtualização Desenvolvimento de software 10
  • 11. (Alguns) Sabores do Linux  para servidores Debian Redhat (versão aberta Fedora) Suse (versão aberta OpenSuse) Slackware Gentoo Ubuntu CentOS 11
  • 12. (Algumas) Grandes empresas usando ou  vendendo Linux Google  Intel IBM  Fujitsu NASA  DreamWorks Banco do Brasil  WindRiver Petrobrás  Motorola Dell, HP  Sun Novell, Redhat, Canonical  Sony Catho ThiNetworks Freescale 12
  • 13. Pós­gradaduação em redes de computadores Instalação 13
  • 14. Instalando um servidor Linux Ubuntu server, modismo ?  Não ! Versão voltada para servidores com suporte de longo  prazo (versão LTS, 5 anos)  Ampla comunidade  Farta documentação  Suporte comercial via canonical  Software atualizado constantemente  Usa a Debian como base, facilitando a instalação, administração  e manutenção  Em breve sendo oferecido pelos grandes fabricantes de  hardware, como Dell Esta imagem será usado quando aparecer uma característica específica do Ubuntu Server. 14
  • 15. Pra apimentar a discussão ... Server OS Reliability Survey 2008, publicado pelo Yankee Group. Amostra de 700 usuários espalhados pelo mundo. 15
  • 16. Particionamento Fase mais importante durante a instalação, deve ser feita  com cuidado para evitar re­instalações futuras Depende muito da finalidade do servidor que se deseja  instalar Exige algumas decisões técnicas, como tipos de sistemas  de arquivos, RAID e LVM Particionamentos ruins podem dificultar o backup ou  limitar o crescimento do sistema 16
  • 17. Particionamento Partições importantes em sistemas Linux  /boot: arquivos de inicialização e kernel Linux. Deve usar um  sistema de arquivos bem conhecido e suportado.  /var: dados de aplicações diversas, como spool de impressão,  email, banco de dados, logs, etc. Depende muito da finalidade do  servidor e da distribuição.  /home: área destinado a contas de usuário.  /tmp: área temporária de armazenamento utilizada pelos  aplicativos.  swap: partição usada como área de troca temporária pelo Linux  /usr: onde residem a maior parte das aplicações instaladas no  sistemas.  / : o restante do sistema, não alocado ainda (/bin, /sbin, /lib...) 17
  • 18. Particionamento Particionamentos típicos usados em servidores  Só pra testar:  /boot (~ 100MB)  swap (~ 1GB)  / (o resto)  Um pouco mais profissional:  /boot (~ 100MB)  swap (~ 2GB)  /var (~ 4GB)  /home (~ num. de usuários x espaço para cada usuário)  / (o restante, mas pelo menos uns 5 a 10GB) 18
  • 19. Particionamento: RAID e LVM RAID: Redundant Array of Independent Disks  Usa dois ou mais discos para permitir características como  redundância, imunidade a falha, mais desempenho ou espaço  maior de armazenamento. LVM: Logical Volume Managment  Introduz uma grande flexibilidade no gerenciamento das  partições dos discos, permitindo que partições (lógicas) sejam  aumentadas, diminuídas, movidas ou espelhadas.   Dá flexibilidade para que o sistema cresça de forma controlada.  Permite a criação de snapshots incrementais. São técnicas diferentes e, de certa forma,  complementares 19
  • 20. RAID: níveis mais comuns RAID 0 (striping):  Aumento de desempenho nas leituras e escrita (com  controladoras múltiplas).  Permite que o sistema gere um grande espaço contíguo de  armazenamento.  Não possui imunidade à falhas. 20 Figura: http://www.prepressure.com/library/technology/raid
  • 21. RAID: níveis mais comuns RAID 1 (mirroring):  Permite redundância completa dos dados através do uso de  disco adicional para espelhamento.  Desempenho similar ao uso de um disco único (com  controladoras múltiplas).  Metade do espaço é perdido na redundância.  21 Figura: http://www.prepressure.com/library/technology/raid
  • 22. RAID: níveis mais comuns RAID 5:  A informação de redundância é espalhada entre os discos  participante do array (pelo menos 3).  Desempenho da escrita geralmente menor que o da leitura,  devido à geração da paridade.  Facilita os processos de troca a quente e recuperação. 22 Figura: http://www.prepressure.com/library/technology/raid
  • 23. RAID: níveis mais comuns RAID 10:  Combina os níveis 1 e 0, gerando  segurança (espelhamento completo),  grande espaço de armazenamento e  desempenho. Figura: http://www.prepressure.com/library/technology/raid 23
  • 24. LVM: princípios Desenvolvido originalmente pela  IBM, introduz uma grande  flexibilidade no gerenciamento dos  discos. Conceitos:  Volumes físicos (PV): representam  discos ou partições reais  Grupo de Volumes (VG):  representam uma espécie de disco  virtual composto de vários PVs Figura: http://www.storix.com/aixbackup  Volume Lógicos (LV): representam  partições lógicas prontas para serem  usadas no sistema 24
  • 25. LVM: alguns exemplos Figura: http://br.geocities.com/marcio_katan/tutorial_lvm_mandriva.html 25
  • 26. Particionamento: RAID e LVM RAID e LVM são tecnologias diferentes e, de  certa forma, complementares. Em geral,  usa­se o LVM sobre uma estrutura de RAID  pré­definida, preferencialmente por  hardware. File System Nenhuma das duas tecnologias dispensa o  LVM backup. Mantenha o backup em dia. Recuperação de dos em RAID/LVM é muito  RAID mais complexa do que em esquemas mais  simples.  Nenhuma das duas tecnologias dispensa o  backup. Mantenha o backup em dia. 26
  • 27. Outros tópicos da instalação Sistemas de arquivo (prefira com journaling):  ext3: estável, robusto e amplamente usado (ext4)  swap: usado especificamente para partições de troca  Outros: xfs (Silicon Graphics), jfs (IBM), ReiserFS  Avalie a finalidade, isto pode mudar o file system Boot loader: permite a carga de vários sistemas  operacionais diferentes ou várias versões de kernel para o   mesmo  Grub: atual padrão de bootloader  LILO: usado durante muito tempo por várias distros  ISOLinux: Usado em CDs de instalação 27
  • 28. Pausa para o exercício Executa uma instalação do Ubuntu  Server 8.04 LTS com as seguintes  configurações:  Particionamento com /boot, /var, /home, / e  swap  Use LVM para /home e /var  Ext3 como sistema de arquivos  No tasksel, deixe pré­instalado os serviços  LAMP e OpenSSH  Deixe um pequeno espaço não alocado,  cerca de 100MB. Vamos usá­lo depois. 28
  • 29. Pós­gradaduação em redes de computadores Fundamentos 29
  • 30. Características gerais de sistemas *nix Multitarefa preemptiva, multiusuário e com suporte a  multiprocessamento. Interface gráfica independente do kernel. Orientado a arquivos, praticamente tudo pode ser  acessado como arquivo. Ex:  /dev/sda: disco rígido mestre na primeira IDE  /dev/ttyS0: primeira porta serial Estrutura de diretórios relativamente similar. Aplicações Servidor X Shell Kernel 30
  • 31. Estrutura de diretórios /bin, /sbin: arquivos executáveis mais importantes para  manutenção e configuração do sistema, usado com  frequência.. . |-- bin /boot: arquivos de inicialização e kernel Linux. É onde  |-- boot ficam os arquivos do Grub também. |-- dev |-- etc /dev: diretórios com arquivos representando diversos  |-- home dispositivos do sistema. |-- lib |-- lost+found /etc: diretório onde geralmente são armazenados os  |-- media |-- mnt arquivos de configuração do sistema. |-- proc |-- root /home: distório destinado a contas de usuário. |-- sbin /lib e /usr/lib: diretórios onde são armazenadas as  |-- tmp |-- usr principais bibliotecas do sistema e do kernel. `-- var /mnt e /media: área de montagem de dispositivos  (pendrives, discos externos, etc). 31
  • 32. Estrutura de diretórios /proc: sistema virtual de arquivos gerado pelo kernel, com  informações gerais do kernel em execução e outras  informações úteis para diversos programas. . |-- bin /lost+found: arquivo existente em toda partição e usado  |-- boot para armazenamento de arquivos recuperados por  |-- dev |-- etc comandos como fsck. |-- home /root: diretório onde reside a conta do administrador (root). |-- lib |-- lost+found /tmp: área temporária de armazenamento. Geralmente  |-- media |-- mnt apagada na partida do sistema. |-- proc |-- root /usr: onde residem a maior parte das aplicações  |-- sbin instaladas. |-- tmp |-- usr /var: dados de aplicações diversas, como spool de  `-- var impressão, email, banco de dados, logs, etc. 32
  • 33. Ubuntu: administração via comando sudo No Ubuntu, a administração é planejada para ser feita através  de um usuário com privilégios normais, bastando que ele faça  parte do grupo admin. Quando necessário, o usuário invoca o comando sudo para  ganhar poderes de administrador (root), diminuindo as  chances de erro como administrador. Operações administrativas são feitas como a seguir (a sua  senha será pedida):         sudo <comando> <opções do comando> Caso se prefira trabalhar diretamente como administrador,  configure uma senha para o root:        sudo passw root 33
  • 34. Dispositivos para disco e UUID Os arquivos dentro do /dev/ eram estáticos,  até o aparecimento do kernel 2.6.10 e do  gerenciador de dispositivos udev. ls /dev/sd* /dev/sc*  Discos IDE eram normalmente identificados  /dev/scd0 como /dev/hd[a,b,c,d,...]. Nos kernels mais  /dev/sda novos é usada a notação /dev/sd[a,b,c,d,...] /dev/sda1 /dev/sda2  Número adicionais indicam partições, como  /dev/sda3 /dev/sda5 /dev/sda1, /dev/sda2. /dev/sda6  CD, DVDs eram identificados como /dev/hd*  também, mas agora usam /dev/sc*.  O udev permite personalizar estes nomes (/etc/ udev/rules.d/). 34
  • 35. Dispositivos para disco e UUID O Ubuntu passou a usar a um identificador universal único  (UUID) para referenciar partições e discos.  A idéia é permitir independência do nome do dispositivo em  configurações mais complexas.  No caso das partições, o UUID muda sempre que a partição  é formatada. ls /dev/disk/by-uuid/ -l 2a495a8e-f986-4a3f-9d94-1c24fa2820c8 -> ../../sda5 794d5282-e505-42b8-a699-c4d3a276abc5 -> ../../sda1 7960bf08-9dd9-4201-8571-ea0536416e9b -> ../../sda6 d29466ec-4f0e-4a81-9754-ba23949f1982 -> ../../sda2 35
  • 36. Sistemas de arquivos: suporte amplo  DOS, FAT, NTFS: para compatibilidade com Windows.  ext2, ext3, ext4: sistema de arquivo original do Linux. Ext3 é  sinônimo de estabilidade e robustez.  xfs (Silicon Graphics), jfs (IBM), ambos com bom desempenho  mas ainda com pouco tempo de vida no Linux. ReiserFS  perdendo espaço recentemente.  Suporte aos sistemas de arquivos da Sun, HP, Apple.  ISO9660, Joliet: sistemas de arquivos para Cds.  Sistemas de arquivos para rede, como NFS, GFS.  Diversos outros sistemas de arquivos para clusters, acesso  distribuídos, gerenciamento de volumes, etc.   Diversos sistemas de arquivos para dispositivos embarcados. 36
  • 37. Sistemas de arquivos: desempenho Linux Magazine Brasil, Ext 2/3, JFS, Reiser e XFS, quem ganha essa? Set/2004, 37
  • 38. Sistemas de arquivos: critérios Meus critérios pessoais:  Robustez  Estabilidade  Suporte a redimensionamento  Suporte a cotas  Journaling Necessidades especiais devem ser tratadas à parte:  Maior velocidade de escrita: xfs, jfs  Volumes gigantes: ext4, ZFS, entre outros 38
  • 39. Sistemas de arquivos: montagem Antes de usar um sistema de arquivo, é preciso ”montá­lo”  Montar significa associar um diretório (ponto de montagem) a um  dispositivo (geralmente uma partição)  É usado o comando mount, como a seguir: mount  ­o  <opções>  ­t  <tipo>  <device>  <ponto­de­mnt> Exemplo1: montando um pendrive formatado no Windows mount  ­t  vfat  /dev/sdb1  /media/pendrive Exemplo 2: montando um CD  mount  ­t  iso9660  /dev/scd0  /media/cdrom Em sistemas com interface gráfica todo o processo é feito  automaticamente. 39
  • 40. Sistemas de arquivos: montagem Na partida, o sistema monta as partições criadas pelo  usuário, seguindo informação do arquivo /etc/fstab. Pode­se ver, a qualquer momento, os sistemas de  arquivos montados através do comando df. O comando umount permite desmontar um sistema de  arquivo, desde que ele não esteja sendo usado por  nenhum processo.      umount  /dev/sdb1  (ou)     umount  /media/pendrive O comando lsof <arquivo> pode lhe ajudar a apontar  quem está usando o sistema de arquivos em questão. 40
  • 41. Sistemas de arquivos: particionamento e  verificação manual Comando para particionamento: cfdisk ou fdisk Comandos para formatação de uma partição: mkfs.* Comandos para verificação de integridade: fsck.* Exemplo:  cfdisk /dev/sda (suponha que sda7 vá ser criada neste passo)  mkfs.ext3 /dev/sda7  fsck.ext3 /dev/sda7  mkdir /mnt/pos (cria o diretório /mnt/pos)  mount /dev/sda7 /mnt/pos Falta adicionar uma linha ao fstab para que a modificação  seja mantida entre reboots. 41
  • 42. Sistemas de arquivos: /etc/fstab O fstab é um arquivo texto, com campos separados por  espaços ou tabs, com o seguinte formato: <SISARQ>  <MNT>  <TIPO>  <OPT>  <DUMP>  <PASS> SISARQ: Sistema de arquivos (dispositivo ou UUID) MNT: Ponto de montagem TIPO: Tipo do sistema de arquivos OPT: Opções de montagem (ro, rw, auto, defaults, ...) DUMP: Frequência de uso do dump nesta partição PASS: Ordem em que o fsck será usado para verificar erros 42
  • 43. Sistemas de arquivos: /etc/fstab Deixando a alteração permanente no fstab:# /etc/fstab: static file system information.## <file system> <mount point> <type> <options> <dump> <pass>proc /proc proc defaults 0 0# /dev/sda2UUID=d29466ec-4f0e-4a81-9754-ba23949f1982 / ext3 relatime,errors=remount-ro 0 1# /dev/sda1UUID=794d5282-e505-42b8-a699-c4d3a276abc5 /boot ext3 relatime 0 2# /dev/sda6UUID=7960bf08-9dd9-4201-8571-ea0536416e9b /home ext3 relatime 0 2# /dev/sda5UUID=2a495a8e-f986-4a3f-9d94-1c24fa2820c8 none swap sw 0 0## adicionando a nossa nova linha/dev/sda7 /mnt/pos ext3 defaults 0 3 43
  • 44. Pausa para o exercício Para o espaço não alocado deixado no  momento da instalação, faça o seguinte:  Edite o particionamento do disco e crie uma  nova partição do tipo xfs.  Formate­a para usar ext3.  Monte e desmonte a partição manualmente,  no ponto de montagem /mnt/teste.  Coloque uma entrada no /etc/fstab para  deixar automático o processo de montagem  da partição.  Reboot e veja se está tudo certo.  Obs: não esqueça de usar o sudo ! 44
  • 45. Linha de comando (shell) Para um administrador Linux, é praticamente impossível  não ter contato com a linha de comando. Um bom editor, um guia de referência e as páginas de  manual podem ajudar muito no início. Com o tempo você vai notar que é mais rápido digitando  alguns comandos do que dando cliques. A ausência de interface gráfica elimina bugs de segurança  potenciais. No entanto, caso se sinta mais confortável ou a linha de  comando seja muito improdutiva num primeiro instante,  instale uma GUI até se acostumar. 45
  • 46. Linha de comando (shell): dicas gerais O sistema é todo dependente da caixa (Teste <> teste) A barra de separação de diretórios é sempre para a direita: ”/” Arquivos que começam com ponto (”.”) são considerados ocultos por  padrão e não são mostrados a menos que opções adicionais sejam  dadas. Os diretórios ”.” e ”..” são como no DOS, indicando o diretório atual e o  imediatamente superior. Vários comandos numa mesma linha podem ser separados por ponto e  vírgula (”;”). Finalizar o comando com ”e” comercial (”&”) permite que o comando seja  executado em background, liberando o prompt. Extensões não são obrigatórias e o ponto é só mais um caractere. Asterisco (”*”) e interrogação (”?”) também são curingas, como no DOS.  Adicionalmente, {} e [] desempenham funções especiais. 46
  • 47. Linha de comando (shell): editores de texto Existem muitas opções. Escolha um mais simples e  comece a aprender alguns comandos do vi paralelamente. nano: default do Debian/Ubuntu. mcedit: uma boa relação para quem vem do Windows. vi/vim: Presente em todas as distribuições. Com o tempo  você passa a gostar dele (sintaxe colorida muito boa,  procuras e substituições facilitadas, edição poderosa). Outros: joe, pico, emacs ... 47
  • 48. Linha de comando (shell): help Com o tempo você também irá memorizar várias opções e  comandos. Até lá, use e abuse do manual: Obtendo detalhes de um comando: man <comando> Procurando nas páginas do manual: apropos <palavras chaves> Local padrão para documentação no Ubuntu/Debian: /usr/share/doc/<nome do aplicativo> Geralmente os comandos tem opção ­­help: <comando> ­­help 48
  • 49. Linha de comando (shell): variáveis de  ambiente Como em outros sistemas, existem variáveis de ambiente  num shell usadas pelo sistema operacional. Os comandos set ou env mostram as variáveis atuais. Algumas variáveis importantes:  PATH: path usada na busca de arquivos  PS1: definição do prompt  HOME: local da conta do usuário logado  SHELL: shell em uso pelo usuário  VISUAL: editor de textos default do usuário 49
  • 50. Linha de comando (shell): variáveis de  ambiente As principais variáveis são definidas no arquivo  /etc/profile, valendo para todos os usuários. Outras são  criadas no momento do login. Para se criar uma variável de ambiente, use o comando  export ou set (este último só deixa a variável válida para o  shell corrente):    export MYPATH=/mnt/pos No arquivo /home/<usuário>/.bashrc podem ser  adicionadas variáveis e outras configuração. Este arquivo  é carregado toda vez que o usuário se loga ao sistema. 50
  • 51. Linha de comando (shell): atalhos úteis CTRL+C: Finalizar a execução do comando e retorna ao  prompt do shell. CTRL+Z: Manda para segundo plano o comando em  execução, liberando a linha de comando. CTRL+R: Permite buscar nos últimos comandos digitados. CTRL+P e CTRL+N navegam nos últimos comandos. O comando history lista os últimos comandos dados.  Exclamação (”!”) seguido do número do comando permite  executá­lo novamente. O arquivo /home/<usuário>/.bash_history tem a lista dos  últimos comandos digitados. 51
  • 52. Linha de comando (shell): comandos básicos  para manipulação de arquivos cd: muda de diretório. pwd: imprime o diretório atual. mkdir: cria um novo diretório. rm: apaga arquivos e/ou diretórios. ls: lista o conteúdo de um diretório. cp: copia arquivos. mv: move arquivos. touch: cria um arquivo vazio. man: permite obter informações sobre um comando. 52
  • 53. Linha de comando (shell): comandos básicos  para manipulação de arquivos cat: imprime o conteúdo de um arquivo no terminal. tac: imprime o conteúdo de um arquivo mas em ordem  inversa. tail: mostra as últimas linhas de um arquivo. head: mostra as primeiras linhas de um arquivo. more: visualiza um arquivo na tela, passo a passo. less: uma melhoria do more, permitindo também voltar na  visualização. man: permite obter informações sobre um comando. 53
  • 54. Linha de comando (shell): comandos básicos  para procura grep: procura por padrões dentro de outros arquivos. find: procura por arquivos. whereis: mostra a localização do arquivo. tree: imprime a árvore de diretórios/arquivos. locate: localiza arquivos pelo nome. man: permite obter informações sobre um comando. 54
  • 55. Linha de comando (shell): comandos básicos  de sistema uptime: mostra há quanto tempo o sistema está rodando. free: mostra a memória livre. uname: mostra a versão do kernel em execução e outros  detalhes do sistema. reboot, halt, poweroff: delisgamento do sistema. shutdown: desligamento, mas com controles adicionais de  hora. dmesg: mostra as mensagens geradas pelo kernel. man: permite obter informações sobre um comando. 55
  • 56. Linha de comando (shell): comandos básicos  de sistema date: mostra a data atual. cal: imprime um calendário em mode texto. clear: limpa o terminal. reset: reseta o terminal atual (útil quando caracteres  estranhos começam a aparecer ”inexplicavelmente”). shutdown: desligamento, mas com controles adicionais de  hora. df: mostra o uso atual das partições do sistema. du: mostra o espaço usado por arquivos ou diretórios. man: permite obter informações sobre um comando. 56
  • 57. Linha de comando (shell): pipes e  redirecionamento O pipe (”|”) permite que a saída de um programa seja  usada como entrada para outro programa, encadeando o  processamento: cat /etc/X11/xorg.conf | less  less /etc/X11/xorg.conf locate bash | grep bin ls ­la | less 57
  • 58. Linha de comando (shell): pipes e  redirecionamento ”>”: redireciona a saída do programa para um arquivo ou  dispositivo. O arquivo será criado caso não exista. ls /usr ­la > /tmp/arquivos cat /etc/X11/xorg.conf > /dev/ttyS0 ”>>”: redireciona a saída do programa para um arquivo ou  dispositivo, mas adicionando ao arquivo caso ele já exista. ls /home/ ­la >> /tmp/arquivos  ”<”: redireciona a entrada do programa. less < /etc/X11/xorg.conf Existem outros usos e operadores, mas estes são  suficientes neste momento. 58
  • 59. Linha de comando (shell): links simbólicos (o  que todo atalho gostaria de ser) Mecanismo que permite a criação de referências a outros  arquivos ou diretórios. Bastante flexível e útil no  gerenciamento do sistema. ln <opções>  <destino_do_link>  <nome_do_link> Existem links simbólicos (”­s”) e hard links (”­d”). O  simbólico é apenas uma referência para o destino. Já o  hard é realmente idêntico ao destino. Hard links não podem ser usados com diretórios nem  podem ser feitos para outras partições. 59
  • 60. Linha de comando (shell): links simbólicos (o  que todo atalho gostaria de ser) Alguns detalhes de links simbólicos:  Apagar ou mover um link simbólico não apaga ou move o  destino, só o link.  Copiar ou visualizar, por exemplo, um link simbólico, copia ou  visualiza realmente o destino. Existem muitos usos para links simbólicos no sistema:  Na inicialização (níveis de inicialização e init.d).  Gerenciamento de versões de programas ou bibliotecas.  Compatibilização de distribuições. 60
  • 61. Pausa para o exercício Pratique um pouco os comandos vistos e  experimente os redirecionamentos e  links! 61
  • 62. Gerenciamento de software: A Gênese No início, criou Unix o tar.gz. E o autoconf era difícil e chato; e havia trevas sobre a  recompilação; e os arquivos se moviam por todo o disco. E disse Debian: que haja pacote; e houve pacote. E a comunidade viu que era bom o pacote e fez separação  entre distros com e sem pacotes. E chamou os pacotes de .deb e criou o dpkg. Foi a tarde e a  manhã de debug, o dia primeiro. E disse Debian: haja uma gerência dos pacotes com o apt e  haja separação em repositórios. E fez Debian os repositórios; e separou os .deb entre main,  contrib e non­free; e assim foi. E a comunidade viu que isto era bom e copiou sem dó. 62
  • 63. Gerenciamento de software: Ubuntu O Ubuntu se baseia na gerencia  de pacotes proveniente da  Debian. Arquivos Num nível mais baixo, o dpkg  (make) gerencia pacotes individuais,  sem tratar dependências,  Pacotes (dpkg) apenas instalação isolada. Repositório Num nível mais alto, o apt  (apt) permite tratar dependências,  atualizações, buscas e várias  outras operações de nível mais  elevado. 63
  • 64. Gerenciamento de software: Repositórios Os pacotes são agrupados em repositórios:  main: software livre oficialmente suportado pela  Canonical.  restricted: software com licenças que não são  consideradas abertas.  universe: software livre sem suporte pela  Canonical.  multiverse: software com licenças que não são  consideradas abertas e sem suporte pela  Canonical.   backports: bleeding­edge software, geralmente as  últimas versões ainda pouco testadas. 64
  • 65. Gerenciamento de software: Repositórios Os repositórios são listados em /etc/apt/sources.list,  contendo linhas como a seguir: deb http://br.archive.ubuntu.com/ubuntu/  hardy  main restricted deb­src http://br.archive.ubuntu.com/ubuntu/  hardy  main restricted Note que são especificados:  Pacotes binários (deb) ou fonte (deb­src).  Servidor (http...), também existem servidores que operam via ftp  e CDs pode ser usados com ”cdrom:”  O codename da versão atual.  Respositórios disponíveis neste servidor. 65
  • 66. Gerenciamento de software: aptitude e apt Para adiconar novos repositórios, edite o  /etc/apt/sources.list e atualize a base de dados do apt: sudo aptitude update ou sudo apt­get update Para instalar as versões mais novas de pacotes  disponíveis, use o comando upgrade (será pedido uma  confirmação antes): sudo aptitude safe­upgrade ou sudo apt­get upgrade 66
  • 67. Gerenciamento de software: aptitude e apt É possível inclusive atulizar toda a distribuição, mudando  de versão (da 7.10 para 8.04, por exemplo): sudo apt­get upgrade sudo apt­get dist­upgrade Buscas no repositório são possíveis: sudo aptitude seach <palavras chaves> ou sudo apt­cache search <palavras chaves> 67
  • 68. Gerenciamento de software: aptitude e apt Uma vez que se sabe o nome do pacote, a sua instalação  pode ser feita com: sudo aptitude install <nome_do_pacote> sudo apt­get install <nome_do_pacote> Já a remoção é feita com remove ou purge, sendo que o  purge também remove arquivos de configuração  associados: sudo aptitude remove  <nome_do_pacote> sudo aptitude purge  <nome_do_pacote> sudo apt­get remove <nome_do_pacote> sudo apt­get purge <nome_do_pacote> 68
  • 69. Gerenciamento de software: aptitude e apt É possível remover um pacote e suas dependências  (default para o aptitude): sudo apt­get autoremove <nome_do_pacote> A reinstalação de um pacote é outra ação bastante  explorada: sudo aptitude reinstall  <nome_do_pacote> sudo apt­get install ­­reinstall <nome_do_pacote> Finalmente, o indipensável: aptitude ­­help apt­get ­­help 69
  • 70. Gerenciamento de software: dpkg básico O dpkg é útil ao lidar com pacotes isolados.  Instalar: sudo dpkg ­i <pacote.deb>  Remover: sudo dpkg ­r <pacote.deb>  Purge: sudo dpkg ­P <pacote.deb>  Procurar por padrão: sudo dpkg ­l <padrão>  Listar arquivos num pacote: dpkg ­L <nome_do_pacote>  A que pacote pertence um arquivo: dpkg ­S <padrão>  E, o mais importante: dpkg ­­help 70
  • 71. Pausa para o exercício Pratique a instalação e remoção de  software ! 71
  • 72. Referências Guia Foca Linux:  http://focalinux.cipsga.org.br/gol.html Revista Linux Magazine: http://linuxmagazine.com.br Fórum Ubuntu: http://ubuntuforums.org/ 72
  • 73. Dúvidas, comentários, sugestões ? 73 Imagem: cena do filme Madagascar, da DreamWorks
  • 74. Direitos de cópiaCréditos ­ ShareAlike 2.0Você é livre para copiar, distribuir, apresentar e executar trabalhos fazer trabalhos derivados fazer uso comercial deste trabalhoSob as seguintes condições © Copyright 2008 Créditos. Você deve dar crédito ao autor original. Marcelo Barros Compartilhe do mesmo modo. Se você alterar, mudar,  ou realizar trabalhos usando este como base,você deve  marcelobarrosalmeida@gmail.com redistribuir o trabalhos resultante sob uma licença  Correções, sugestões e  idêntica a esta. traduções são bem vindas! Para qualquer reuso ou distribuição você deve deixar claro  os termos de licença deste trabalho. Qualquer  uma destas condições podem ser abandonadas  se você obtiver uma permissão do detentor dos direitos  autorais.Faça uso justo e o direitos dos outros não serão afetados de  forma alguma pelas restrições acima.Texto da licença:  http://creativecommons.org/licenses/by­sa/2.0/legalcode 74

×