Você está na página 1de 29

1

Sistemas Operacionais

Luiz Arthur

O sistema de arquivos do Linux to robusto e flexvel que possibilita ao usurio criar e manter arquivos em diferentes parties, diferentes discos, diferentes dispositivos e at em computadores remotos. neste contexto que o Linux tem suporte a inmeros dispositivos como discos IDE, SCSI, disquetes, CD-ROM, DVD, CD-RW, Pen-Drivers, Jaz-Drivers, Memrias Flash, dentre outros. Cada um destes dispositivos pode ser formatado para o sistema de arquivos EXT2, padro Linux, ou outros formatos como: ReiserFS, FAT, FAT32, NTFS, EXT3, etc. Poucos sistemas operacionais oferecem esta liberdade. Antes de falar dos dispositivos preciso fazer uma pequena introduo nos tipos de discos mais comuns no mercado: Os padres IDE e SCSI. Os discos IDE (Integrated Device Eletronics) so os mais utilizados pelos usurios caseiros e oferecem uma relativa performance e baixo custo. As placas-me comuns possuem duas interfaces IDE chamadas de primria e secundria. E cada interface possibilita a conexo com dois discos. Dependendo de em qual interface o disco esta conectado, ele pode ser configurado como mestre primrio, escravo primrio, mestre secundrio e escravo secundrio. Os discos SCSI (Small Computer System Interface) oferecem uma performance melhor que os discos IDE. Geralmente so mais caros e utilizados em servidores de rede.

Sistemas Operacionais
Por padro, os discos so nomeados da seguinte forma: Nome Lgico do Dispositivo /dev/hda /dev/hdb /dev/hdc Dispositivo Fsico (disco)

Luiz Arthur

Disco IDE conectado na interface primria mestre Disco IDE conectado na interface primria escravo Disco IDE conectado na interface secundria mestre Disco IDE conectado na interface secundria escravo Disco SCSI conectado no primeiro canal Disco SCSI conectado no segundo canal Disco SCSI conectado no terceiro canal.

/dev/hdd

/dev/sda /dev/sdb /dev/sdc

O padro SCSI no tem limitao de quatro discos como o IDE, podendo chegar at pelo menos 15 discos.

Sistemas Operacionais

Luiz Arthur

Cada disco pode ter de uma a dezesseis parties. As parties funcionam como um continer para os sistemas de arquivos. No Windows cada partio pode ser representada por uma letra (como por exemplo C:). No Linux cada partio representada por um nmero inteiro. Por exemplo, a primeira partio de um disco IDE conectado na interface primria mestre vai ser nomeada como /dev/hda1. Se neste disco existir uma segunda partio o nome ser /dev/hda2 e assim por diante. Existem quatro tipos de parties possveis: Parties Primrias Cada disco pode conter no mximo quatro parties primrias. Estas parties contm necessariamente um sistema de arquivos e pelo menos uma deve ser criada. As parties primrias podem ser nomeadas como: /dev/hda1, /dev/hda2, /dev/hda3 e /dev/hda4. Uma destas parties primrias deve ser marcada como ativa para que a carga do sistema operacional (boot) seja possvel.

4 Parties Estendidas

Sistemas Operacionais

Luiz Arthur

As parties estendidas so uma variao das parties primrias, mas no podem conter um sistema de arquivos. Elas funcionam como um continer para as parties lgicas. Um disco somente pode ter uma partio estendida e que toma lugar de uma partio primria. Em uma configurao padro, pode-se ter o seguinte esquema de particionamento dos discos: /dev/hda1 (partio primria) /dev/hda2 (partio estendida) Parties Lgicas As parties lgicas existem em conjunto com uma partio estendida e pode-se ter de uma a doze parties deste tipo. Elas so nomeadas partir do nmero cinco at dezesseis. /dev/hda1 (partio primria) /dev/hda2 (partio estendida) /dev/hda5 (partio lgica) ... /dev/hda16 (partio lgica)

Sistemas Operacionais

Luiz Arthur

Podemos ter no mximo 15 parties com sistema de arquivos em um nico disco, sendo trs primrias e doze lgicas. Partio de Swap (Arquivo de Troca) Existe ainda outro tipo especial de partio no Linux chamado de partio de swap. Esta possibilita que o Linux tenha uma memria virtual em disco. Este tipo de memria usado como arquivo de troca de dados entre a memria fsica e o disco. Seu objetivo aumentar a performance do sistema. Este partio precisa de uma designao especial e uma formatao especial tambm. Uma vez definidos os tamanhos das parties, difcil aumentar ou diminuir sem a perda dos dados. Criando parties e sistema de arquivos Os programas fdisk e cfdisk so responsveis por criar as parties de disco. Existem outros utilitrios para particionar os discos para as interfaces grficas. fdisk uso: # fdisk [dispositivo]

Sistemas Operacionais

Luiz Arthur

O fdisk um utilitrio para criar, listar, alterar e apagar parties de disco. Ele muito importante robusto e possibilita criar uma lista grande de tipos de parties para o Linux e diferentes sistemas operacionais. O fdisk funciona em modo texto e com um menu pouco amigvel. O fdisk recebe como parmetro o dispositivo a ser trabalhado. # fdisk /dev/hda neste exemplo o fdisk vai poder particionar o disco primrio mestre IDE. As opes de menu mais freqentes so: a Marca ou desmarca a partio como ativa para o processo de carga do sistema (boot). Apaga uma partio. Aps selecionar est opo necessrio escolher o nmero da partio a ser apagada. Lista dos tipos de parties possveis. Mostra uma pequena ajuda.

l m

7 m p

Sistemas Operacionais
Adiciona uma nova partio no disco.

Luiz Arthur

Mostra a tabela de parties que existe na memria. Enquanto as alteraes na tabela de parties no for gravada em disco, nenhuma alterao feita. Sai do fdisk sem salvar as alteraes. Muda o tipo de partio indicando o tipo de sistema de arquivos que ela vai suportar. O sistema ext2 representado pelo nmero 83 e a partio de swap pelo nmero 82. A lista de tipos pode ser visto pela opo l. Gravar as alteraes efetuadas em discos.

q r

Para criar uma nova partio escolha a opo 'n' no fdisk depois escolha se a nova se a nova partio ser primria ou estendida. Se a partio for primria ou estendida, entre o nmero de partio de 1 4. Se a partio for lgica o fdisk se encarrega de numera-la. O tamanho da partio dever ser escolhido digitando o cilindro inicial e o cilindro final desejado ou pelo tamanho em Megabytes ou Gigabytes. Por exemplo, para criar uma partio de 1Gb , digite +1024M ou +1G. Todas as parties so criadas com o tipo 83 ext2. Para um outro tipo de partio, como a swap, crie a partio depois mude o seu tipo com a opo 'r'.

8 mkfs Uso:

Sistemas Operacionais

Luiz Arthur

# mkfs [-t tipo] [opes] dispositivo O comando mkfs formata a partio criada pelo fdisk com um sistema de arquivos. O tipo de sistema de arquivo definido pela opo -t que suporta os formatos: EXT2, EXT3, ReiserFS ou msdos. Os comandos mke2fs e mkdosfs so variaes do mkfs. As opes possveis do mkfs so: -c -L nome -n nome -q Verifica a existncia de bad blocks (defeitos no dispositivo). Configura o nome do dispositivo. Configura o nome do dispositivo par ao msdos. Faz com que o mkfs trabalhe com o mnimo de sada no vdeo possvel. Faz com que o mkfs trabalho com o mximo de sada no vdeo possvel.

-v

9 Exemplo:

Sistemas Operacionais

Luiz Arthur

# mkfs -t ext2 -L discoprincipal /dev/hda4 mkswap Uso: # mkswap partioswap O comando mkswap prepara o dispositivo para ser utilizado como rea de memria virtual (swap). Antes de formatar uma partio para swap, necessrio que ela seja do tipo 82 (Linux Swap). Exemplo: # mkswap /dev/hda6

10

Sistemas Operacionais

Luiz Arthur

Trabalhando com o Sistema de Arquivos Nesta sesso ser abordado como trabalhar com o sistema de arquivos, montar e desmontar dispositivos e fazer checagem de integridade. df Uso: # df [opes] [diretrios] O comando df mostra a capacidade utilizada de um sistema de arquivos exibindo informaes de espao e inodes. Como o nmero de inodes est diretamente ligado ao nmero de arquivos que um dispositivo pode armazenar, possvel que ele acabe e ainda tenha espao disponvel em disco. Isso raro, mas pode acontecer quando se tem muitos arquivos. O nmero de inodes definido na formatao do disco. As opes mais freqentes so: -h Mostra as informaes de forma mais amigvel (em megabytes e gigabytes). -i Mostra o nmero de inodes no disco ao invs do espao disponvel.

11 du Uso:

Sistemas Operacionais

Luiz Arthur

$ du [opes] [diretrios] O comando du do ingls disk usage vai fornecer uma lista detalhada sobre a utilizao do disco. muito til para determinar para onde foi o espao disponvel em disco. Se no for fornecido um diretrio como parmetro, ele usa o diretrio corrente como base de pesquisa. As opes mais freqentes so: -a Mostra todos os arquivos e no somente diretrios. -c Mostra um total no final da listagem. -h Mostra as informaes de forma mais amigvel. -s Mostra um sumrio do diretrio especificado e no o total de cada subdiretrio. -S Exclui os subdiretrios da contagem.

12 Exemplos: #du -h /home 2M /home/carla 4M /home/cristiane 5m /home/michel # du -sh /home 164M /home

Sistemas Operacionais

Luiz Arthur

Checagem dos sistemas de arquivos A checagem do sistema de arquivos permite verificar se toda a estrutura para armazenamento de arquivos, diretrios, permisses, conectividade e superfcie do disco esto funcionando corretamente. Caso algum problema exista, ele poder ser corrigido com o uso da ferramenta de checagem apropriada. O comando fsck checa e corrige erros no sistema de arquivos. Por padro, o fsck assume o sistema de arquivos ext2 e, aps fazer uma checagem no disco, pergunta ao usurio se ele deseja fazer as correes necessrias.

13

Sistemas Operacionais

Luiz Arthur

As ferramentas de checagem de sistemas de arquivos costumam ter seu nome iniciado por fsck e terminados com o nome do sistema de arquivos que verifica, separados por um ponto: fsck.ext2 Verifica o sistema de arquivos EXT2 ou EXT3. Pode tambm ser encontrado com o nome e2fsck. fsck.ext3 Um alias para fsck.ext3. fsck.reiserfsVerifica o sistema de arquivos ReiserFS. fsck.minix fsck.msdos Verifica o sistema de arquivos Minix. Verifica o sistema de arquivos Msdos. Pode tambm ser encontrado com o nome dosfsck.

Para verificar um sistema de arquivos necessrio que ele esteja desmontado caso contrrio poder ocorrer danos em sua estrutura. Para verificar o sistema de arquivos raz (que no pode ser desmontado enquanto o sistema estiver sendo executado) voc precisar inicializar atravs de um disquete e executar o fsck.ext2.

14 fsck.ext2

Sistemas Operacionais

Luiz Arthur

Este utilitrio permite verificar erros em sistemas de arquivos EXT2 e EXT3 (Linux Native). fsck.ext2 [opes] [dispositivo] Onde: dispositivo - o local que contm o sistema de arquivos EXT2/EXT3 que ser verificado (parties, disquetes, arquivos). opes: -c Faz o fsck.ext2 verificar se existem agrupamentos danificados na unidade de disco durante a checagem. -d Debug - Mostra detalhes de processamento do fsck.ext2. -f Fora a checagem mesmo se o sistema de arquivos aparenta estar em bom estado. Por padro, um sistema de arquivos que aparentar estar em bom estado no so verificados.

15

Sistemas Operacionais

Luiz Arthur

-F Grava os dados do cache no disco antes de iniciar. -l [arquivo] Inclui os blocos listados no [arquivo] como blocos defeituosos no sistema de arquivos. O formato deste arquivo o mesmo gerado pelo programa badblocks. -L [arquivo] Faz o mesmo que a opo -l, s que a lista de blocos defeituosos do dispositivo completamente limpa e depois a lista do [arquivo] adicionada. -n Faz uma verificao de somente leitura no sistema de arquivos. Com esta opo possvel verificar o sistema de arquivos montado. Ser assumido no para todas as perguntas e nenhuma modificao ser feita no sistema de arquivos. Caso a opo -c seja usada junto com -n, -l ou -L, o sistema de arquivos ser verificado e permitir somente a atualizao dos setores danificados no alterando qualquer outra rea. -p Corrige automaticamente o sistema de arquivos sem perguntar. recomendvel fazer isto manualmente para entender o que aconteceu, em caso de problemas com o sistema de arquivos. -v Ativa o modo verbose (mais mensagens so mostradas durante a execuo do programa). -y Assume sim para todas as questes.

16

Sistemas Operacionais

Luiz Arthur

Caso sejam encontrados arquivos problemticos e estes no possam ser recuperados, o fsck.ext2 perguntar se deseja salva-los no diretrio lost+found. Este diretrio encontrado em todas as parties ext2. No h risco de usar o fsck.ext3 em uma partio EXT2. Aps sua execuo mostrado detalhes sobre o sistema de arquivos verificado como quantidade de blocos livres/ocupados e taxa de fragmentao. Exemplos: fsck.ext2 /dev/hda2, fsck.ext2 -f /dev/hda2, fsck.ext2 -vrf /dev/hda1 reiserfsck Verifica um sistema de arquivos reiserfs em sistema de arquivos. reiserfsck [opes] [dispositivo] dispositivo - Dispositivo que contm o sistema de arquivos reiserfs que ser verificado.

17 opes:

Sistemas Operacionais

Luiz Arthur

-a Mostra detalhes sobre o sistema de arquivos e sai -j arquivo Especifica um arquivo de Journal alternativo usado pelo sistema de arquivos. No exibe mensagens sobre o status da checagem do sistema de arquivos. -S Constri a rvore de todos os blocos do dispositivo. -q quiet O reiserfsck possui outros modos de operao alm de checagem (o padro), para detalhes veja a pgina de manual do programa. Exemplos: #reiserfsck /dev/hda1, reiserfsck -S /tmp/arq-reiserfs

18 which

Sistemas Operacionais

Luiz Arthur

Mostra a localizao de um arquivo executvel no sistema. A pesquisa de arquivos executveis feita atravs do path do sistema. which [comando] Exemplos: which ls, which shutdown, which which O comando which especialmente til para testar diversas verses de um comando e para ter certeza de que est executando a verso correta.

19 find Uso:

Sistemas Operacionais

Luiz Arthur

$ find caminho expresso O comando find localiza a partir de um caminho ou diretrio recursivamente uma expresso diretamente no sistema de arquivos. O comando rico em expresses, como descrito a seguir: Para localizar arquivos pelo nome, utiliza-se a expreso -name: $ find / -name bash /bin/bash Para localizar os arquivos pelo nome desconsiderando maisculo e minsculas, utilizando a expresso -iname: $ find / -iname linux Para os links simblicos de um arquivo, utiliza-se a expresso -lname $ find / -lname apache /etc/init.d/apache /etc/rc.d/rc3.d/s19apache

20

Sistemas Operacionais

Luiz Arthur

Para localizar arquivos que foram alterados nos ltimos 30 dias, utiliza-se a expresso -ctime 30: $ find /home -ctime 30 /home/aula/texto1.txt /home/aula/texto2.txt Para localizar arquivos que foram acessados nos ltimos 10 dias, utiliza-se a expresso -used 10: $ find / -used 10 /etc/passwd Para localizar arquivos com pelo menos 30k, utiliza-se a expresso -size nk: $ find / -size 30k /home/aula/backup.tar.gz

21

Sistemas Operacionais

Luiz Arthur

Ento todas as opes so: -name [expresso] Procura pelo nome [expresso] nos nomes de arquivos e diretrios processados. -depth Processa os sub-diretrios primeiro antes de processar os arquivos do diretrio principal. -maxdepth [num] Faz a procura at [num] sub-diretrios dentro do diretrio que est sendo pesquisado. -mindepth [num] No faz nenhuma procura em diretrios menores que [num] nveis. -mount, -xdev No faz a pesquisa em sistemas de arquivos diferentes daquele de onde o comando find foi executado. -amin [num] Procura por arquivos que foram acessados [num] minutos atrs. Caso for antecedido por "-", procura por arquivos que foram acessados entre [num] minutos atrs at agora.

22

Sistemas Operacionais

Luiz Arthur

-atime [num] Procura por arquivos que foram acessados [num] dias atrs. Caso for antecedido por "-", procura por arquivos que foram acessados entre [num] dias atrs e a data atual. -gid [num] Procura por arquivos que possuam a identificao numrica do grupo igual a [num]. -group [nome] Procura por arquivos que possuam a identificao de nome do grupo igual a [nome]. -uid [num] Procura por arquivos que possuam a identificao numrica do usurio igual a [num]. -user [nome] Procura por arquivos que possuam a identificao de nome do usurio igual a [nome]. -inum [num] Procura por arquivos que esto localizados no inodo [num].

23

Sistemas Operacionais

Luiz Arthur

-links [num] Procura por arquivos que possuem [num] links como referncia. -mmin [num] Procura por arquivos que tiveram seu contedo modificado h [num] minutos. Caso for antecedido por "-", procura por arquivos que tiveram seu contedo modificado entre [num] minutos atrs at agora. -mtime [num] Procura por arquivos que tiveram seu contedo modificado h [num] dias. Caso for antecedido por "-", procura por arquivos que tiveram seu contedo modificado entre [num] dias atrs at agora. -ctime [num] Procura por arquivos que teve seu status modificado h [num] dias. Caso for antecedido por "-", procura por arquivos que tiveram seu contedo modificado entre [num] dias atrs at agora. -nouser Procura por arquivos que no correspondam a identificao do usurio atual. -nogroup Procura por arquivos que no correspondam a identificao do grupo do usurio atual.

24

Sistemas Operacionais

Luiz Arthur

-perm [modo] Procura por arquivos que possuam os modos de permisso [modo]. Os [modo] de permisso pode ser numrico (octal) ou literal. -used [num] O arquivo foi acessado [num] vezes antes de ter seu status modificado. -size [num] Procura por arquivos que tiverem o tamanho [num]. [num] pode ser antecedido de "+" ou "-" para especificar um arquivo maior ou menor que [num]. A opo -size pode ser seguida de: b - Especifica o tamanho em blocos de 512 bytes. o padro caso [num] no seja acompanhado de nenhuma letra. c - Especifica o tamanho em bytes. k - Especifica o tamanho em Kbytes.

25

Sistemas Operacionais

Luiz Arthur

-type [tipo] Procura por arquivos do [tipo] especificado. Os seguintes tipos so aceitos: b - bloco c - caracter d - diretrio p - pipe f - arquivo regular l - link simblico s - sockete A maior parte dos argumentos numricos podem ser precedidos por "+" ou "-". Para detalhes sobre outras opes e argumentos, consulte a pgina de manual.

26 locate

Sistemas Operacionais

Luiz Arthur

Localiza uma palavra na estrutura de arquivos/diretrios do sistema. til quando queremos localizar onde um comando ou programa se encontra (para copia-lo, curiosidade, etc). A pesquisa feita em um banco de dados construdo com o comando updatedb sendo feita a partir do diretrio raz / e sub-diretrios. Para fazer uma consulta com o locate usamos: locate [expresso] A expresso deve ser o nome de um arquivo diretrio ou ambos que sero procurados na estrutura de diretrios do sistema. Como a consulta por um programa costuma localizar tambm sua pgina de manual, recomendvel usar "pipes" para filtrar a sada do comando (para detalhes veja | (pipe). Por exemplo, para listar os diretrios que contm o nome "cp": locate cp. Agora mostrar somente arquivos binrios, usamos: locate cp|grep bin/ slocate Idem ao locate porm com alguns recursos a mais, com o slocate para se atualizar ou criar o banco de dados basta executar o comando: # slocate -u

27 apropos/whatis

Sistemas Operacionais

Luiz Arthur

Apropos procura por programas/comandos atravs da descrio. til quando precisamos fazer alguma coisa mas no sabemos qual comando usar. Ele faz sua pesquisa nas pginas de manual existentes no sistema e lista os comandos/programas que atendem a consulta. Para usar o comando apropos digite: # apropos [descrio] Digitando apropos copy, ser mostrado todos os comandos que tem a palavra copy em sua descrio (provavelmente os programas que copiam arquivos, mas podem ser mostrados outros tambm).

28 fim

Sistemas Operacionais

Luiz Arthur

29 fim

Sistemas Operacionais

Luiz Arthur