Prof.: ADEMIR JUSTINO Site: www.ademirjustino.com.br E-mail: [email protected] Visão Geral do LINUX O Linux possui várias características que diferenciam dos outros sistemas operacionais e que o aproximam do Unix, sendo um dos motivos da sua escolha em várias aplicações nas quais são necessárias estabilidade e segurança. Kernel É o núcleo do sistema operacional, a parte mais próxima do nível físico (hardware), composta de chamadas ao sistema, de acesso aos dispositivos de entrada e saída e de gerência dos recursos da máquina. Shell Shell é o nome genérico de uma classe de programas que funcionam como interpretador de comandos e linguagem de programação script (interpretada) no Unix. Os Shell mais populares são bash, csh, tcsh, ksh e zsh. O Shell é a interface entre o usuário e o Kernel. O usuário pode escolher qual dos Shells vai utilizar. O Shell padrão do Linux é o bash. Veja figura 1.1. Shell Kernel Hardware Fig. 1.1 Ambiente gráfico no Linux Os sistemas Unix mais antigos são baseados somente em caracteres, mas hoje praticamente qualquer sistema Unix, incluindo o Linux, dispõe do X Window System (Sistema de janelas X), cuja versão Atual é a X11R6.4. O X Window System define um ambiente gráfico básico do tipo cliente-servidor. Gerenciadores de Janelas Um gerenciador de janelas consiste em um software, rodando sob o X Window System, que é responsável pelas funções de ajuste de tamanho de uma janela, minimização, maximização etc. Existem vários gerenciadores de janelas para o Unix, como KDE, GNOME, XFCE, Window Maker, AfterStep e outros. A utilização do ambiente gráfico aumenta a produtividade do Prof.: ADEMIR JUSTINO Site: www.ademirjustino.com.br E-mail: [email protected] usuário, permitindo acesso e visualização de várias aplicações simultaneamente de uma forma amigável. Sistema de arquivos do LINUX O Linux organiza suas informações em arquivos. Esses arquivos podem conter textos, informações de programação, scripts de Shell ou qualquer outro tipo de informação. No MS-DOS, os dispositivos de armazenamento como drives, HDs e CD-ROM são representados por letras, por exemplo: A:, B:, C:, D:. No Linux, eles são representados por diretórios cuja posição na hierarquia de diretórios é definida no momento de montagem, por exemplo: /mnt/floppy, /mnt/CD-ROM. No MS-DOS, os nomes de arquivos estão no formato chamado 8.3, por exemplo: arquivo.txt. No Linux, podemos utilizar nomes de arquivos com até 255 caracteres e mais de um ponto, por exemplo: arquivo.src.tar.gz. O Linux, como qualquer sistema operacional Unix, diferencia letras maiúscula, minúsculas, portanto, relatório, RELATÓRIO, Relatório são arquivos diferentes. Não há extensões compulsórias como .COM e .EXE para programas, .BAT para arquivos de lote, .BAK para backup ou outras. Arquivos executáveis são marcados com um caractere “*” no final, arquivos de backup são marcados com “~” no final, arquivos de diretórios são marcados com “/” no final, arquivos do tipo link simbólico (esse tipo não existe no MS-DOS) são marcados com “@” no final, arquivos do tipo socket (esse tipo não existe no MS-DOS) são marcados com “=” no final, arquivos do tipo pipe (esse tipo não existe no MS-DOS) são marcados com “|” no final e arquivos/diretórios ocultos começam com “.”. Tipos de arquivos do LINUX No Linux, um arquivo pode se subdividir em um dos seguintes tipos: Arquivos comuns Arquivos de texto ASCII; Arquivos de dados não ASCII; Arquivos de texto de comando, também conhecidos como Shell scripts; Arquivos binários executáveis, criados quando programas são compilados. Diretórios Os diretórios são arquivos que contêm os nomes de arquivos que estão armazenados ou organizados como um grupo. O agrupamento é arbitrário; você pode escolher a combinação desejada. Links Um link é um arquivo que faz uma referência a outro arquivo ou diretório dentro do sistema de arquivos. Isso permite a um arquivo ou diretório estar em dois ou mais lugares ao mesmo tempo, na sua localização original e no lugar referenciado pelo arquivo de link. Prof.: ADEMIR JUSTINO Site: www.ademirjustino.com.br E-mail: [email protected] Os arquivos de links podem ser de dois tipos: diretos (hard links) ou simbólicos (soft links). Os links diretos criam novos nomes para um arquivo, associando dois ou mais nomes de arquivo a um mesmo inode, e não podem ser visualizados. Os links simbólicos são arquivos que fazem referência ao arquivo original, contendo o caminho completo da árvore de diretórios até este e podem ser visualizados com o comando ls –F ou ls –l. Ambos os tipos de links são criados pelo comando ln. Device File (arquivos de dispositivos) São arquivos utilizados para representar dispositivos de hardware do computador. No Unix e no Linux tudo é um arquivo, um HD, um CD-ROM ou qualquer drive, até mesmo o Kernel do Sistema Operacional em si, por exemplo: /dev/hda, /dev/hdc, /dev/fd0, /dev/lp1. Sockets São arquivos utilizados para comunicação entre processos, até mesmo para processos rodando em diferentes máquinas conectadas a uma rede de computadores. Pipes São arquivos também utilizados para a intercomunicação entre processos e residem também sob o diretório /dev. Mapeamento de arquivos para discos Existem vários sistemas de arquivos Unix (Minix, ext2, ext3, JFS, XFS, ReiserFS, UFS, FFS, entre outros). O ext2 (sistema de arquivos estendido 2) é um sistema de arquivos padrão utilizado pelo Linux. O Linux é capaz de utilizar vários sistemas de arquivos além do EXT2, EXT3 (ext2 melhorado com recuperação rápida de dados em caso de perda de energia-journalling), MSDOS, VFAT, NTFS e o ISO9660 (para CD-ROM). Bloco de BOOT Superbloco Tabela de INODES Blocos de dados Fig. 1.2 O bloco 0 é o bloco que contém o boot do sistema operacional; O SuperBloco, contém informações sobre o sistema de arquivos, a eventual destruição do superbloco torna ilegível todos os arquivos do sistema; Tabela do INODES, são os elementos essenciais do sistema de arquivos do Linux. Quando você cria um arquivo, um inode é alocado para ele. Cada inode tem 64 bytes e contém as seguintes informações sobre um arquivo: UID (identificação do usuário dono do arquivo) e GID (identificação do grupo dono do arquivo); Tipo do arquivo (arquivo comum, diretório, link, dispositivo etc., ou 0, se o inode não estiver sendo utilizado); As permissões do arquivo; Prof.: ADEMIR JUSTINO Site: www.ademirjustino.com.br E-mail: [email protected] Data e hora da criação, acesso e última modificação do arquivo; Data e hora da modificação do inode; Número de links para o arquivo; Tamanho do arquivo; Localização dos blocos onde está armazenado o arquivo. Bloco de dados, todos os arquivos e diretórios são armazenados aqui. Estrutura de diretórios no LINUX Porque estudar primeiro a organização dos arquivos? Conhecendo os arquivos, fica mais fácil entender o que as aplicações e ferramentas devem fazer e o que já existe à disposição destes programas. Os diretórios mais importantes do LINUX: / /boot /proc /dev /tmp /etc /etc/X11 /etc/rc.d /lib /lib/modules /mnt /mnt/floppy /mnt/cdrom /opt /root /home /home/maria /bin /sbin O diretório Raiz; Kernel do Sistema; Sistema de arquivos virtual de informações do Kernel e processos; Arquivos de dispositivos de hardware; Arquivos temporários; Arquivos de configuração do sistema; Configuração do X window System; Scripts de inicialização do sistema; Bibliotecas compartilhadas essenciais e módulos do Kernel; Módulos do Kernel; Ponto de montagem temporária de sistemas de arquvos; Ponto de montagem do disquete; Ponto de montagem do CD-ROM; Pacotes de software opcionais; Diretório do superusuário root Diretório dos usuários Diretório do usuário maria; Comandos essenciais do sistema; Comandos essenciais de administração do sistema; /usr /usr/bin /usr/sbin /usr/games /usr/include /usr/lib /usr/src /usr/X11R6 /usr/X11R6/bin /usr/X11R6/lib /usr/X11R6/include /usr/local /usr/local/bin /usr/local/sbin Hierarquia secundária; Comando não essenciais do sistema; Comandos não essenciais de administração do sistema; Jogos e programas educacionais; Arquivos de cabeçalho incluídos por programas C; Bibliotecas compartilhadas; Código-Fonte; X Window versão 11 lançamento 6; Programas do X Window; Bibliotecas compartilhadas do X Window; Arquivos de cabeçalho incluídos por programas C; Hierarquia local; Comando locais do sistema; Comandos locais de administração do sistema; Prof.: ADEMIR JUSTINO Site: www.ademirjustino.com.br E-mail: [email protected] /usr/local/games /usr/local/lib /usr/local/share /usr/local/src /usr/share /usr/share/terminfo /usr/share/zoneinfo /usr/share/dict /usr/share/doc /usr/share/games /usr/share/info /usr/share/locale /usr/share/man /usr/share/nls /usr/share/misc Jogos locais; Bibliotecas locais; Hierarquia local independente da arquitetura; Código-Fonte local; Dados independentes da arquitetura; Diretórios do banco de dados terminfo; Informação de fuso horário; Listas de palavras; Documentação do sistema; Dados estáticos para /usr/games; Diretório de informação primária do sistema GNU; Informação regional; Manuais on-line; Suporte de linguagem nativa; Dados independentes da arquitetura de hardware; /var /var/cache /var/games /var/lock /var/log /var/run /var/tmp /var/yp /var/spool /var/spool/cron /var/spool/at /var/spool/lpd Dados variáveis; Cache de dados das aplicações; Dados variáveis dos jogos; Arquivos de travamento (lock); Arquivos de log; Dados variáveis run-time; Arquivos temporários; NIS; Dados de spool das aplicações; Spool do cron; Spool do at; Spool das filas de impressão. “Fim “ Digitação: ADEMIR JUSTINO Fonte de Pesquisa: LINUX “Guia do Administrador do Sistema” Autor: Rubem E. Ferreira Editora: NOVATEC Goiana-PE 25/01/2009