Administração de Redes Linux Unidade 1 - LINUX Breve Histórico O Linux é um sistema operacional moderno e gratuito, baseado nos padrões UNIX. Desenvolvido inicialmente em 1991 como um KERNEL PEQUENO E AUTOCONTIDO por Linus Torvalds, com o objetivo de ter compatibilidade com UNIX. Sua história tem sido de colaboração por muitos usuários do mundo inteiro, correspondendo quase exclusivamente à Internet. Tem sido projetado para ser executado de forma eficiente e confiável em hardware comum do tipo PC, mas também executa em diversas outras plataformas. O NÚCLEO do sistema operacional Linux é inteiramente original, mas pode executar grande parte do software UNIX gratuito existente, resultando em um sistema operacional inteiro compatível com UNIX, de código livre. Breve Histórico O Linux é um sistema operacional “Unix-like”, ou seja, tem comportamento similar ao do sistema operacional Unix (MULTITAREFA e MULTIUSUÁRIO). Distribuições LINUX Uma Distribuição Linux é composta por uma COLEÇÃO DE APLICATIVOS mais o KERNEL (núcleo) do sistema operacional. O KERNEL é o responsável por todas as rotinas internas (“invisíveis”, porém essenciais) do sistema operacional: Gerenciamento de processador Gerenciamento de memória Interface com o hardware Sistema de arquivos etc ... Sozinho o KERNEL não oferece uma interface ao usuário. Distribuições LINUX Para obter-se um ambiente prático para uso é preciso, além do KERNEL, uma série de aplicativos. Juntar tudo isso é trabalhoso e não é tarefa simples. Foram criados pacotes contendo o KERNEL e diversos aplicativos interessantes. Estes pacotes são conhecidos como DISTRIBUIÇÕES. Aplicativos interessantes? Interface de linha de comando (‘tela preta’) Ambiente gráfico (janelas) Aplicativos em geral (calculadora, editor de texto ...) Distribuições LINUX Especificidades de distribuição: Custo Gratuitas Comerciais Público alvo Usuários sem/pouco conhecimento Experts Hardware Servidores Dispositivos embarcados Especializadas Computação em grid Rede (firewall, IDS...) Distribuições LINUX As distribuições vêm acompanhadas de instaladores. Ferramenta para fazer a instalação do Linux no computador do usuário. Existem distribuições do tipo LIVE que rodam na memória RAM e não precisam ser instaladas mais limitadas. Mídia CD / DVD / Pen-drive Rede Em geral, as distribuições trazem só os programas compilados (binary code). Algumas também trazem os códigos-fonte. Quer fazer a sua distribuição? Procure Linux From Scratch - http://www.linuxfromscratch.org/ Distribuições LINUX Distribuições populares Slackware (1993) RedHat (comercial) FEDORA: Fork ‘comunitário’ patrocinado pela RedHat CentOS (gratuito): compatível com o RedHat Debian Ubuntu: gratuito, mantido pela Canonical que vende serviços de suporte. Kubuntu: versão com ambiente gráfico KDE. Lubuntu: versão ‘mais leve’. Distribuições LINUX Já existiu uma distribuição brasileira? SIM Conectiva Linux Versão 1.0 em 1997 Fork do RedHat Vários programas e manuais foram traduzidos para o português (total ou parcialmente). Última versão: 10 em 2004 Comprada pela MandrakeSoft em 2005 Mandriva Distribuições LINUX Linha do Tempo das Distribuições Linux Distribuição UBUNTU UBUNTU SERVER - para o SERVIDOR da rede. A distribuição do Sistema Operacional LINUX que será utilizada nesta disciplina é a UBUNTU SERVER em sua versão 14.04. Não traz ambiente gráfico (pode ser instalado depois). UBUNTU DESKTOP - para o CLIENTE da rede. Também será utilizada a UBUNTU DESKTOP também em sua versão 14.04. Traz ambiente gráfico na instalação padrão. http://www.ubuntu.com/ Superusuário A maioria dos sistemas operacionais possui um usuário especial, pré-definido, com poderes especiais de administração. Windows administrator / administrador Unix root Atenção: O usuário root PODE TUDO! O Linux NÃO vai impedir o root de realizar uma operação desastrosa. Em geral, nem vai alertá-lo. Por isso, muitas distribuições vêm preparadas para evitar o uso do root por padrão. Falaremos mais sobre isso depois. Estrutura Geral de Pastas O Windows possui diversas raízes, identificadas por letras: Estrutura Geral de Pastas Historicamente, as unidades se referiam a dispositivos físicos distintos. Legado do tempo do MS-DOS A: para a 1ª unidade de disco flexível B: para a 2ª unidade de disco flexível C: para a 1ª unidade de disco rígido Estrutura Geral de Pastas LINUX Estrutura única de pastas. Uma única raiz. Todos os dispositivos, internos ou externos, fixos ou removíveis, são montados em algum ponto abaixo dessa raiz única. Estrutura Geral de Pastas Filesystem - Win x Linux Regras para nomes de arquivos e diretórios Caracteres maiúsculos e minúsculos Windows Case Preserve O arquivo é salvo respeitando caracteres maiúsculos e minúsculos, mas NÃO há distinção para se referir ao arquivo. Nome salvo: Arquivo Pode ser referenciado como: Documento, DOCUMENTO, documento, documENTo. LINUX Case Sensitive As letras maiúsculas e minúsculas fazem toda a diferença no nome de um arquivo. Ex: Documento, documento, DOCUMENTO são três arquivos distintos. Filesystem - Win x Linux Caminho completo Windows separador \ Linux separador / Exemplos WINDOWS C:\WINDOWS\TEMP\Arquivo.txt LINUX /tmp/Arquivo.txt Repare que no Windows deve ser indicada a unidade raiz onde está o arquivo ( C: ). Estrutura Geral de Pastas Estrutura de Pastas: LINUX vs. WINDOWS /boot /bin /dev /etc /home /lib /media /mnt /opt /sbin /srv /sys /tmp /usr /var Estrutura Geral de Pastas Estrutura de Pastas: PRINCIPAIS PASTAS E SEUS SIGNIFICADOS / Pasta Raiz /usr Programas de Usuário /bin Executáveis Binários /home Pasta Pessoal /sbin Sistema Binário /boot Arquivos de Inicialização /etc Arquivos de Configuração /lib Bibliotecas do Sistema /dev Arquivos de Dispositivos /opt Aplicações Opcionais /proc Informação de Processo /mnt Pasta de Montagem /var Arquivos Variáveis /media Dispositivos Removíveis /tmp Arquivos Temporários /srv Serviço de Dados Estrutura Geral de Pastas Estrutura de Pastas: PRINCIPAIS PASTAS E SEUS SIGNIFICADOS / pasta raiz, tal como “C:\”; /bin contém executáveis usados por todos os usuários; /sbin contém executáveis tipicamente usados pelo administrador; /etc contém arquivos de configuração e scripts shell; /dev contém arquivos que “representam” dispositivos; /proc contém informações sobre os processos do sistema; /var contém arquivos que são esperados “crescer”, Ex.: arquivo de log em “/var/log”; fila de impressão “/var/spool/”; /tmp contém arquivos temporários criados pelo sistema e usuários; Estrutura Geral de Pastas Estrutura de Pastas: PRINCIPAIS PASTAS E SEUS SIGNIFICADOS /usr contém binários, bibliotecas, documentação e códigofonte para os programas; /home pasta para todos os usuários (arquivos pessoais); /boot contém arquivos utilizados durante o boot; /lib contém arquivos de biblioteca que suporta os binários localizado em /bin e /sbin; /opt contém aplicativos adicionais de fornecedores individuais. Ex.: add-ons / plugins de navegadores; /mnt pasta de montagem temporária; /media pasta de montagem de dispositivos removíveis; /srv contém dados do servidor de serviços específicos. Estrutura Geral de Pastas Como acessar um disco externo? Ele deve ser montado na árvore de diretórios. O diretório /mount ou /mnt é comumente usado para esta finalidade. Qualquer diretório pode ser usado, mas (atenção) se ele contiver arquivos, esses ‘desaparecerão’ enquanto a unidade estiver montada. Portanto, não monte unidades externas em diretórios críticos ao sistema (/etc, /bin, /sbin). Estrutura Geral de Pastas Como acessar um disco externo? /boot /bin /dev O diretório /media será a raiz do disco montado. /etc /home /lib /media /mnt /opt /sbin /srv /sys /tmp /usr Somente uma unidade pode ser montada, por vez, no mesmo diretório. /var Estrutura Geral de Pastas Como acessar um disco externo? / root ... /media/dvd /media ... /media/pendrive /media/hd_externo Várias unidades podem ser montadas simultaneamente, mas em diretórios diferentes. Particionamento O que é Particionamento? Particionamento é a criação de “divisões lógicas”, chamada de PARTIÇÕES, em uma unidade física (normalmente um disco rígido). É DIVIDIR LOGICAMENTE um dispositivo de armazenamento. Isso permite que cada PARTIÇÃO (“divisão”) seja utilizada como se esta fosse um disco rígido independente. Um uso comum do particionamento é permitir a instalação de mais de um Sistema Operacional no mesmo computador (Ex.: LINUX e WINDOWS). Particionamento Por exemplo: a maioria dos sistemas Linux necessitam de pelo menos duas partições: raiz, representada por uma barra, “/”: Nela são armazenados todos os arquivos, tanto do sistema quanto dos usuários; swap: também chamado de espaço de troca, é a memória virtual do sistema: Quando o sistema usa toda a memória RAM e ainda precisa de mais um pouco, ele pode mover dados da RAM para a partição swap, e assim manter vários programas abertos. Equivalente no Windows pagefile.sys . Essas partições (ESPAÇOS DO DISCO) destinam-se a receber um SISTEMA DE ARQUIVOS (?) ou, em um caso particular, outras partições. Particionamento HD de 80 Gb Particionamento Tipos de partições Existem três tipos possíveis de partições: Partições Primárias Partição Estendida Partições Lógicas Particionamento Partições Primárias: Este tipo de partição contém um Sistema de Arquivos (?). Um disco pode conter no MÍNIMO 1 e no MÁXIMO 4 Partições Primárias. Somente UMA Partição Primária estará apta a INICIALIZAR O SISTEMA e esta partição recebe o nome de Partição Ativa. Particionamento Partição Estendida: Só pode haver 1 PARTIÇÃO ESTENDIDA em cada disco. Não podem ser utilizadas, diretamente, para alocação de dados, pois é um “tipo especial” de partição primária que NÃO contém um Sistema de Arquivos (?). Ao invés disso, ela contém Partições Lógicas. Não podem ser utilizadas para se inicializar o computador, portanto não podem conter os arquivos de inicialização de um sistema operacional. Particionamento Partições Lógicas: Também chamadas de Unidades Lógicas, as Partições Lógicas RESIDEM DENTRO da Partição Estendida. Podem haver de 1 a 12 partições lógicas em um disco. As partições lógicas são numeradas de 5 até 16. Este tipo de partição contém um Sistema de Arquivos (?) A tabela onde são armazenadas as informações sobre as partições fica no primeiro setor do disco e chama-se MBR (Master Boot Record). Particionamento Como fazer REFERÊNCIA aos discos (HDs) no Linux: IDE: /dev/hdxy SCSI/SATA ou USB (Dispositivos Seriais): /dev/sdxy x letra que indica a “posição” de instalação do HD IDE ou ordem do SCSI/SATA na placa mãe: sda: HD SCSI/SATA no slot Primary Master; sdb: HD SCSI/SATA no slot Primary Slave; sdc: HD SCSI/SATA no slot Secondary Master; sdd: HD SCSI/SATA no slot Secondary Slave. y indica o número da partição: Ex.: sda1 primeira partição do HD SCSI/SATA instalado no slot Primary Master. EXEMPLO: Em um disco SCSI/SATA contendo 2 partições primárias, a partição estendida e 3 partições lógicas, o esquema seria o seguinte: /dev/sda1 (Primária) /dev/sda1 /dev/sda2 (Primária) /dev/sda2 /dev/sda3 (Estendida) /dev/sda5 (Lógica) /dev/sda5 /dev/sda6 (Lógica) /dev/sda7 (Lógica) /dev/sda6 swap /dev/sda7 swap /dev/sda3 Particionamento Sistemas de Arquivos Um SISTEMA DE ARQUIVOS é um conjunto de rotinas e estruturas lógicas que permite ao S.O. controlar uma unidade de armazenamento de dados possibilitando salvar arquivos de uma forma organizada. O NTFS (New Technology File System) é o Sistema de Arquivos padrão do Windows, enquanto o Linux suporta diferentes e inúmeros Sistemas de Arquivos. Ex.: ext2, ext3, ext4, ReiserFS, nfs, xfs e entre outros. Para verificar quais os sistemas de arquivos que a Distribuição Linux utilizada suporta, basta verificar o conteúdo do “arquivo” /proc/filesystems. Particionamento Exemplos de Sistemas de Arquivos: Particionamento Principais Sistemas de Arquivos no Linux: ext2 - Extended File System - é um sistema de arquivos antigo e considerado o sistema de arquivos original do Linux. ext3 - é a versão melhorada do ext2 com recurso de Journaling** ** é um recurso que permite recuperar um sistema após um desastre no disco (similar “scandisk”). ext4 - é a versão melhorada do ext3 com características tais como: Suporte a grandes capacidades (arquivos de até 16 Terabytes); Retrocompatibilidade com ext3 e ext2. Particionamento Processo de Dual-Boot Dois sistemas operacionais no mesmo disco. Qual será iniciado? Ao iniciar, um computador executa o código instalado no primeiro setor do disco. Área conhecida como MBR (Master Boot Record). Para permitir a escolha coloca-se no MBR um gerenciador de boot, que exibe ao usuário um menu com as opções. Então o gerenciador inicia a execução do sistema escolhido na partição onde está armazenado. Particionamento Processo de Dual-Boot MBR Partição #1 Linux instalado 30 GB Partição #2 Swap (Linux) - 5 GB Partição #3 Windows XP instalado 45 GB Imagem do gerenciador de boot GRUB Particionamento Ferramenta de Particionamento: fdisk: é a ferramenta mais básica de particionamento. é uma ferramenta de linha de comando. cfdisk: é um front-end para o fdisk, baseado em curses (interface texto com menus navegáveis). Particionamento fdisk Ferramenta de Particionamento: fdisk -l exibe as partições de um disco rígido. Ex.: “sudo fdisk -l” para listar as tabelas de partições para todos dispositivos. Particionamento cfdisk Ferramenta de Particionamento: Prof. Gustavo Dias - Admin. de Redes Linux - Unidade 1 Particionamento Partição criada, posso usá-la? Ainda não! O espaço já está alocado, mas é preciso criar a estrutura para armazenar os diretórios e arquivos Sistema de Arquivos. O que fazer: FORMATAR. Comando: mkfs (make filesystem) O nome pode variar conforme a versão do programa ou distribuição. Em geral já existem comandos que se referem a um tipo específico de sistema de arquivos. Ex: mkfs.ext2, mkfs.ext3 ... Particionamento Formatando a partição Particionamento Comandos úteis para interação via terminal: mount monta um sistema de arquivos tornando-o disponível para as operações de E/S em arquivos, ou exibe uma lista dos sistemas de arquivos atualmente montados (“mapeados”). Ex.: “sudo mount -t ext4 /dev/sda1 /mnt” umount desmonta um sistema de arquivos previamente montado que não esteja em uso. Ex.: “sudo umount /mnt” Particionamento Comandos úteis para interação via terminal: df mostra o espaço em disco e o sistema de arquivos usado por todas as partições. Opção -h em megabytes. Ex.: “df” ou “df -h”