SlideShare une entreprise Scribd logo
1  sur  74
Télécharger pour lire hors ligne
Pós­gradaduação em redes de computadores




Administração de redes 
     Unix/Linux

     Marcelo Barros de Almeida
  marcelobarrosalmeida@gmail.com
Aula 01: Sumário

   Apresentação
   Instalação
   Fundamentos
        Sistemas de arquivo
        Shell
        Gerenciamento de software
Pós­gradaduação em redes de computadores




              Apresentação
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
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
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
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
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
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
Á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
(Alguns) Sabores do Linux  para servidores

   Debian
   Redhat (versão aberta Fedora)
   Suse (versão aberta OpenSuse)
   Slackware
   Gentoo
   Ubuntu
   CentOS




                                                 11
(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
Pós­gradaduação em redes de computadores




                Instalação




                                           13
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
Pra apimentar a discussão ...




      Server OS Reliability Survey 2008, publicado pelo Yankee' Group. Amostra de 700 usuários espalhados pelo mundo.   15
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
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
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
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
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
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
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
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
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
LVM: alguns exemplos




           Figura: http://br.geocities.com/marcio_katan/tutorial_lvm_mandriva.html
                                                                                     25
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
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
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
Pós­gradaduação em redes de computadores




              Fundamentos




                                           29
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
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
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
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
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
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
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
Sistemas de arquivos: desempenho




        Linux Magazine Brasil, Ext 2/3, JFS, Reiser e XFS, quem ganha essa? Set/2004,
                                                                                        37
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
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
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
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
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
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/sda2
UUID=d29466ec-4f0e-4a81-9754-ba23949f1982 /     ext3 relatime,errors=remount-ro   0   1
# /dev/sda1
UUID=794d5282-e505-42b8-a699-c4d3a276abc5 /boot ext3 relatime                     0   2
# /dev/sda6
UUID=7960bf08-9dd9-4201-8571-ea0536416e9b /home ext3 relatime                     0   2
# /dev/sda5
UUID=2a495a8e-f986-4a3f-9d94-1c24fa2820c8 none  swap sw                           0   0
#
# adicionando a nossa nova linha
/dev/sda7                              /mnt/pos ext3 defaults                     0   3




                                                                                           43
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Pausa para o exercício

   Pratique um pouco os comandos vistos e 
    experimente os redirecionamentos e 
    links!




                                              61
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
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
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
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
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
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
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
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
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
Pausa para o exercício

   Pratique a instalação e remoção de 
    software !




                                          71
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
Dúvidas, comentários, sugestões ?




                                                                             73
                           Imagem: cena do filme Madagascar, da DreamWorks
Direitos de cópia


Créditos ­ ShareAlike 2.0
Você é livre para
    copiar, distribuir, apresentar e executar trabalhos
    fazer trabalhos derivados
    fazer uso comercial deste trabalho
Sob 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

Contenu connexe

Tendances

Linux Como Tudo Começou
Linux Como Tudo ComeçouLinux Como Tudo Começou
Linux Como Tudo Começouguestaa94fe
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linuxguest82cc1d
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisLuciano Crecente
 
Sistema Operativo Open Source
Sistema Operativo Open SourceSistema Operativo Open Source
Sistema Operativo Open SourceDiogo Silva
 
Slug 2009 06 SELinux For Sysadmins
Slug 2009 06 SELinux For SysadminsSlug 2009 06 SELinux For Sysadmins
Slug 2009 06 SELinux For SysadminsPaulWay
 
História do linux ppt
História do linux pptHistória do linux ppt
História do linux pptshade09
 
Windows server , curso completo
Windows server , curso completoWindows server , curso completo
Windows server , curso completoPessoal
 
Introdução aos Serviços de Rede
Introdução aos Serviços de RedeIntrodução aos Serviços de Rede
Introdução aos Serviços de RedeNatanael Simões
 
Linux history & features
Linux history & featuresLinux history & features
Linux history & featuresRohit Kumar
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
S.o. windows server2008
S.o. windows server2008S.o. windows server2008
S.o. windows server2008teacherpereira
 
Sistemas Operativos Servidores
Sistemas Operativos ServidoresSistemas Operativos Servidores
Sistemas Operativos ServidoresAlexandre Maia
 
SELinux for Everyday Users
SELinux for Everyday UsersSELinux for Everyday Users
SELinux for Everyday UsersPaulWay
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisLeandro Júnior
 
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Leinylson Fontinele
 

Tendances (20)

Linux Como Tudo Começou
Linux Como Tudo ComeçouLinux Como Tudo Começou
Linux Como Tudo Começou
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
 
Windows x Linux - O que preciso saber!
Windows x Linux - O que preciso saber!Windows x Linux - O que preciso saber!
Windows x Linux - O que preciso saber!
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais
 
Linux sunum
Linux sunumLinux sunum
Linux sunum
 
Sistema Operativo Open Source
Sistema Operativo Open SourceSistema Operativo Open Source
Sistema Operativo Open Source
 
Historia Sistema Operacional Linux
Historia Sistema Operacional LinuxHistoria Sistema Operacional Linux
Historia Sistema Operacional Linux
 
Slug 2009 06 SELinux For Sysadmins
Slug 2009 06 SELinux For SysadminsSlug 2009 06 SELinux For Sysadmins
Slug 2009 06 SELinux For Sysadmins
 
História do linux ppt
História do linux pptHistória do linux ppt
História do linux ppt
 
Windows server , curso completo
Windows server , curso completoWindows server , curso completo
Windows server , curso completo
 
Introdução aos Serviços de Rede
Introdução aos Serviços de RedeIntrodução aos Serviços de Rede
Introdução aos Serviços de Rede
 
Linux history & features
Linux history & featuresLinux history & features
Linux history & features
 
Introduction To SELinux
Introduction To SELinuxIntroduction To SELinux
Introduction To SELinux
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
S.o. windows server2008
S.o. windows server2008S.o. windows server2008
S.o. windows server2008
 
Sistemas Operativos Servidores
Sistemas Operativos ServidoresSistemas Operativos Servidores
Sistemas Operativos Servidores
 
SELinux for Everyday Users
SELinux for Everyday UsersSELinux for Everyday Users
SELinux for Everyday Users
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
 

En vedette

Treinamento de comandos Unix e Linux
Treinamento de comandos Unix e LinuxTreinamento de comandos Unix e Linux
Treinamento de comandos Unix e LinuxCid de Andrade
 
Redes windows e linux instalando o active directory
Redes windows e linux   instalando o active directoryRedes windows e linux   instalando o active directory
Redes windows e linux instalando o active directoryTalita Travassos
 
Active directory-conceitos-pratica
Active directory-conceitos-praticaActive directory-conceitos-pratica
Active directory-conceitos-praticaMatheus Carvalho
 
Workshop linux system administration ls
Workshop linux system administration lsWorkshop linux system administration ls
Workshop linux system administration lsLinux Solutions
 
Manutenção completa em pc
Manutenção completa em pcManutenção completa em pc
Manutenção completa em pcKaren Costa
 
Mapa Mental Comandos Unix E Linux
Mapa Mental Comandos Unix E LinuxMapa Mental Comandos Unix E Linux
Mapa Mental Comandos Unix E LinuxRichar Por
 
Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...
Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...
Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...Video Aulas Linux e Mikrotik
 
Controlador de Domínio Open Source
Controlador de Domínio Open SourceControlador de Domínio Open Source
Controlador de Domínio Open SourceRicardo Pinheiro
 
Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...
Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...
Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...Video Aulas Linux e Mikrotik
 
Alta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores LinuxAlta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores Linuxelliando dias
 
Mint Image Group
Mint Image Group Mint Image Group
Mint Image Group P2Mint
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxFrederico Madeira
 
Linux Mint 15
Linux Mint 15Linux Mint 15
Linux Mint 15jafelix22
 

En vedette (20)

Administração de Redes Linux - III
Administração de Redes Linux - IIIAdministração de Redes Linux - III
Administração de Redes Linux - III
 
Treinamento de comandos Unix e Linux
Treinamento de comandos Unix e LinuxTreinamento de comandos Unix e Linux
Treinamento de comandos Unix e Linux
 
GNU/Linux - uma alternativa
GNU/Linux - uma alternativaGNU/Linux - uma alternativa
GNU/Linux - uma alternativa
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 
Aula 06 comandos linux
Aula 06   comandos linuxAula 06   comandos linux
Aula 06 comandos linux
 
Redes windows e linux instalando o active directory
Redes windows e linux   instalando o active directoryRedes windows e linux   instalando o active directory
Redes windows e linux instalando o active directory
 
tcc
tcctcc
tcc
 
PHP e Redis
PHP e RedisPHP e Redis
PHP e Redis
 
Active directory-conceitos-pratica
Active directory-conceitos-praticaActive directory-conceitos-pratica
Active directory-conceitos-pratica
 
Workshop linux system administration ls
Workshop linux system administration lsWorkshop linux system administration ls
Workshop linux system administration ls
 
Manutenção completa em pc
Manutenção completa em pcManutenção completa em pc
Manutenção completa em pc
 
Mapa Mental Comandos Unix E Linux
Mapa Mental Comandos Unix E LinuxMapa Mental Comandos Unix E Linux
Mapa Mental Comandos Unix E Linux
 
Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...
Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...
Modelo de contrato_de_suporte_e_manutencao_de_redes_e_servidores_linux_para_e...
 
Controlador de Domínio Open Source
Controlador de Domínio Open SourceControlador de Domínio Open Source
Controlador de Domínio Open Source
 
Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...
Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...
Modelo de contrato_de_prestacao_de_servicos_de_suporte_e_manutencao_de_redes_...
 
Alta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores LinuxAlta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores Linux
 
Mint Image Group
Mint Image Group Mint Image Group
Mint Image Group
 
Lpi autodidata Flisol Florianopolis
Lpi autodidata Flisol FlorianopolisLpi autodidata Flisol Florianopolis
Lpi autodidata Flisol Florianopolis
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em Linux
 
Linux Mint 15
Linux Mint 15Linux Mint 15
Linux Mint 15
 

Similaire à Administração de Redes Linux - I

ADRL00 - Inicio Administração de Redes Linux Server
ADRL00 - Inicio Administração de Redes Linux ServerADRL00 - Inicio Administração de Redes Linux Server
ADRL00 - Inicio Administração de Redes Linux ServerSilvano Oliveira
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolarisguest830f1
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolarisCindy Dalfovo
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidorsimoesflavio
 
Mandriva - Sistema Operacional
Mandriva - Sistema OperacionalMandriva - Sistema Operacional
Mandriva - Sistema OperacionalAnderson Favaro
 
Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxFrederico Madeira
 
Tcvb2 diogo mendes_sistemas operativos servidor_v1
Tcvb2 diogo mendes_sistemas operativos servidor_v1Tcvb2 diogo mendes_sistemas operativos servidor_v1
Tcvb2 diogo mendes_sistemas operativos servidor_v1diogomendes99
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidorAndré bogas
 
Redes de computadores módulo 3
Redes de computadores módulo 3Redes de computadores módulo 3
Redes de computadores módulo 3ruitavares998
 
Sistemas Operacionais - Gnu/Linux
Sistemas Operacionais - Gnu/LinuxSistemas Operacionais - Gnu/Linux
Sistemas Operacionais - Gnu/LinuxLuiz Arthur
 
Apresentação Final
Apresentação FinalApresentação Final
Apresentação FinalElisa
 
Cent-OS - Sistema Operacional
Cent-OS - Sistema OperacionalCent-OS - Sistema Operacional
Cent-OS - Sistema OperacionalAnderson Favaro
 
(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhsAnderson Lago
 

Similaire à Administração de Redes Linux - I (20)

ADRL00 - Inicio Administração de Redes Linux Server
ADRL00 - Inicio Administração de Redes Linux ServerADRL00 - Inicio Administração de Redes Linux Server
ADRL00 - Inicio Administração de Redes Linux Server
 
apostila linux
apostila linuxapostila linux
apostila linux
 
Red hat enterprise
Red hat enterpriseRed hat enterprise
Red hat enterprise
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidor
 
Mandriva - Sistema Operacional
Mandriva - Sistema OperacionalMandriva - Sistema Operacional
Mandriva - Sistema Operacional
 
Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao Linux
 
Tcvb2 diogo mendes_sistemas operativos servidor_v1
Tcvb2 diogo mendes_sistemas operativos servidor_v1Tcvb2 diogo mendes_sistemas operativos servidor_v1
Tcvb2 diogo mendes_sistemas operativos servidor_v1
 
S.o iuras
S.o iurasS.o iuras
S.o iuras
 
Redes e Servidores
Redes e ServidoresRedes e Servidores
Redes e Servidores
 
Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidor
 
Redes de computadores módulo 3
Redes de computadores módulo 3Redes de computadores módulo 3
Redes de computadores módulo 3
 
Free bsd
Free bsdFree bsd
Free bsd
 
Sistemas Operacionais - Gnu/Linux
Sistemas Operacionais - Gnu/LinuxSistemas Operacionais - Gnu/Linux
Sistemas Operacionais - Gnu/Linux
 
Apresentação Final
Apresentação FinalApresentação Final
Apresentação Final
 
snto
sntosnto
snto
 
Cent-OS - Sistema Operacional
Cent-OS - Sistema OperacionalCent-OS - Sistema Operacional
Cent-OS - Sistema Operacional
 
(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs(01) intro+inicializacao+boot loader+fhs
(01) intro+inicializacao+boot loader+fhs
 
sistema operacional Slackware
sistema operacional Slackwaresistema operacional Slackware
sistema operacional Slackware
 

Plus de Marcelo Barros de Almeida

[9/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[9/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[9/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[9/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 
[8/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[8/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[8/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[8/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 
[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 
[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 
[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 
[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 
[3/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[3/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[3/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[3/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 
[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...Marcelo Barros de Almeida
 
Projeto de Hardware com Microcontroladores STM32
Projeto de Hardware com Microcontroladores STM32Projeto de Hardware com Microcontroladores STM32
Projeto de Hardware com Microcontroladores STM32Marcelo Barros de Almeida
 
Criando Placas Eletrônicas com KiCAD (Marcelo Barros)
Criando Placas Eletrônicas com KiCAD (Marcelo Barros)Criando Placas Eletrônicas com KiCAD (Marcelo Barros)
Criando Placas Eletrônicas com KiCAD (Marcelo Barros)Marcelo Barros de Almeida
 
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...
Fundamentos de Sistemas  Operacionais de Tempo Real - Criando seu próprio esc...Fundamentos de Sistemas  Operacionais de Tempo Real - Criando seu próprio esc...
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...Marcelo Barros de Almeida
 
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...
Fundamentos de Sistemas  Operacionais de Tempo Real - Criando seu próprio esc...Fundamentos de Sistemas  Operacionais de Tempo Real - Criando seu próprio esc...
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...Marcelo Barros de Almeida
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Marcelo Barros de Almeida
 
Sistemas embarcados: motivação e primeiros passos
Sistemas embarcados: motivação e primeiros passosSistemas embarcados: motivação e primeiros passos
Sistemas embarcados: motivação e primeiros passosMarcelo Barros de Almeida
 

Plus de Marcelo Barros de Almeida (20)

[9/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[9/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[9/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[9/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 
[8/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[8/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[8/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[8/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 
[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[7/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 
[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[6/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 
[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[5/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 
[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[4/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 
[3/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[3/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[3/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[3/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 
[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
[2/9] Sistemas embarcados de alto desempenho para tratamento e processamento ...
 
Projeto de Hardware com Microcontroladores STM32
Projeto de Hardware com Microcontroladores STM32Projeto de Hardware com Microcontroladores STM32
Projeto de Hardware com Microcontroladores STM32
 
Criando Placas Eletrônicas com KiCAD (Marcelo Barros)
Criando Placas Eletrônicas com KiCAD (Marcelo Barros)Criando Placas Eletrônicas com KiCAD (Marcelo Barros)
Criando Placas Eletrônicas com KiCAD (Marcelo Barros)
 
Agenda em bash e dialog
Agenda em bash e dialogAgenda em bash e dialog
Agenda em bash e dialog
 
Lista de exercícios em Bash (resolvida)
Lista de exercícios em Bash (resolvida) Lista de exercícios em Bash (resolvida)
Lista de exercícios em Bash (resolvida)
 
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...
Fundamentos de Sistemas  Operacionais de Tempo Real - Criando seu próprio esc...Fundamentos de Sistemas  Operacionais de Tempo Real - Criando seu próprio esc...
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...
 
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...
Fundamentos de Sistemas  Operacionais de Tempo Real - Criando seu próprio esc...Fundamentos de Sistemas  Operacionais de Tempo Real - Criando seu próprio esc...
Fundamentos de Sistemas Operacionais de Tempo Real - Criando seu próprio esc...
 
Treinamento Qt básico - aula III
Treinamento Qt básico - aula IIITreinamento Qt básico - aula III
Treinamento Qt básico - aula III
 
Treinamento Qt básico - aula II
Treinamento Qt básico - aula IITreinamento Qt básico - aula II
Treinamento Qt básico - aula II
 
Treinamento Qt básico - aula I
Treinamento Qt básico - aula ITreinamento Qt básico - aula I
Treinamento Qt básico - aula I
 
Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)Python para desenvolvedores - material apoio (parte I)
Python para desenvolvedores - material apoio (parte I)
 
Tutorial sobre iptables
Tutorial sobre iptablesTutorial sobre iptables
Tutorial sobre iptables
 
Sistemas embarcados: motivação e primeiros passos
Sistemas embarcados: motivação e primeiros passosSistemas embarcados: motivação e primeiros passos
Sistemas embarcados: motivação e primeiros passos
 

Administração de Redes Linux - I

  • 1. Pós­gradaduação em redes de computadores Administraçã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
  • 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
  • 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
  • 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/sda2 UUID=d29466ec-4f0e-4a81-9754-ba23949f1982 / ext3 relatime,errors=remount-ro 0 1 # /dev/sda1 UUID=794d5282-e505-42b8-a699-c4d3a276abc5 /boot ext3 relatime 0 2 # /dev/sda6 UUID=7960bf08-9dd9-4201-8571-ea0536416e9b /home ext3 relatime 0 2 # /dev/sda5 UUID=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ópia Créditos ­ ShareAlike 2.0 Você é livre para copiar, distribuir, apresentar e executar trabalhos fazer trabalhos derivados fazer uso comercial deste trabalho Sob 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