Author
willy-veras-bz
View
38
Download
16
Embed Size (px)
DESCRIPTION
Introdução a utilizaçao de Linux, comandos e gerenciamento de arquivos.
IBM TREINAMENTO LINUX BASICO
Treinamento Bsico de LINUX
Material Desenvolvido por
Edvaldo de Oliveira Mat.105473
1
IBM TREINAMENTO LINUX BASICO
Indce
O sistema operacional 03
Shell 04
Diretorios 06
Entendendo e usando permisses no Linux 07
Comandos Linux 15
Administrao de Usurios 22
passwd 33
shadow 34
vi 35
tar 38
gzip 41
tar+gzip 42
tar+bzip2 43
crontab 45
Gerenciamento de Pacotes 49
rpm 51
fdisk 56
Sistemas de Arquivos 68
Montar Dispositivos 78
Processos 82
2
IBM TREINAMENTO LINUX BASICO
O sistema operacional
O kernel o sistema operacional, responsvel pelo gerenciamento dos recursos disponveis e pelo acesso ao hardware. O kernel contm mdulos para cada
componente do hardware com o qual ele faz a interface. So esses mdulos que
proporcionam a funcionalidade do acesso do programa CPU, memria, discos, rede,
etc. medida que novos dispositivos de hardware so instalados no sistema, novos
mdulos podem ser incorporados ao kernel.
A maior parte do kernel programada em linguagem C, sendo que a parte dependente de hardware desenvolvida em Assembler.
Sistema hierrquico de arquivos
A informao armazenada em disco atravs de arquivos. Para o Unix tudo
um arquivo (dados, textos, dispositivos, perifricos).
Para que os arquivos sejam organizados de maneira lgica, tanto em nvel de sistema
operacional quando em nvel de usurio, existem os diretrios, que so as pastas onde
os arquivos ficam depositados. Em um sistema Unix os diretrios podem ser usados
tanto para o armazenamento de arquivos quanto para o armazenamento de outros
diretrios, que podero ter arquivos e/ou diretrios, e assim por diante.
Multitarefa
Em um sistema Unix, vrias tarefas podem ser executadas ao mesmo tempo,
dando a impresso que de um nico terminal os programas esto sendo executados
simultaneamente. Isso significa que um usurio pode editar um texto, enquanto um
processo que trata arquivo de dados pode ser
3
IBM TREINAMENTO LINUX BASICO
executado, como tambm pode-se executar um comando para localizar um
determinado arquivo em qualquer lugar do disco, tudo isso dando a impresso ao
usurio que os processos esto sendo executados ao mesmo tempo.
Multiusurio
Permite que mais de um usurio tenha acesso ao mesmo sistema. Vrios
terminais e teclados podem ser conectados ao mesmo computador. Esta a extenso
natural da capacidade de multitarefa.
Assim, um programa pode ser executado por mais de um usurio, incluindo o mesmo
usurio, que poder ter mais de uma sesso de terminal no mesmo sistema.
O shell
O shell um interpretador interativo de comandos. Isto significa que os
comandos so digitados no prompt de comandos do shell e trabalhados medida que
so emitidos.
Observe que o shell separado do kernel. Se voc no gostar de interface provida pelo
shell fornecido, pode ser substituda por uma que mais lhe agrade.
Os shells mais comuns que acompanham o ambiente Unix so:
- Bourne shell (/usr/bin/sh ou /usr/oldbin/sh):Prov um interpretador de comandos do sistema Unix e suporte a uma interface
programvel para o desenvolvimento de programas (Shell-Scripts).
- C shell (/usr/bin/csh): considerado um aperfeioamento do Bourne shell porque oferece recursos
interativos como histrico de comandos (os comandos entrados anteriormente podem
ser recuperados, editados e re-executados) e o uso de alias, o que permite o uso de
nomes alternativos para os comandos existentes.
4
IBM TREINAMENTO LINUX BASICO
- Korn shell (/usr/bin/ksh):Pode ser considerado um Bourne shell aperfeioado, pois suporta a interface
simples programvel do Bourne shell, alm dos recursos interativos do C shell. O
cdigo foi otimizado para oferecer um shell mais rpido e eficiente. Atualmente, o
shell mais comumente usado nos ambientes Unix. No AIX, o shell padro.
- POSIX shell (/usr/bin/posix/sh):Possui as mesmas caractersticas do Korn shell, porm obedece as normas do
POSIX na interface de programao. semelhante ao Korn shell em muitos
aspectos(histrico de comandos, uso de alias e controle de tarefas). Nem todas as
implementaes Unix o possuem.
- Korn Shell 1993 (/usr/bin/ksh93):O sistema operacional AIX fornece uma verso avanada do Korn shell, o KSH-
93. Ela , na maioria de suas funcionalidades, compatvel com a verso atual do KSH-
1988. Inclui algumas caractersticas adicionais que no esto disponveis no Korn shell
padro.
Alguns scripts se comportaro de modo diferente sob ksh93, pois sob ele a manipulao variveis um pouco diferente do Korn shell padro.
Diretrios
5
IBM TREINAMENTO LINUX BASICO
Os diretrios que guardam os arquivos de sistema do Linux, em sua maioria, so
padronizados. Alguns diretrios importantes so:
/ O diretrio "root" (raiz).
/bin Arquivos binrios de comandos essenciais do sistema.
/boot Arquivos de boot (inicializao; boot-loader; Grub); kernel do Linux.
/dev Dispositivos (devices) de entrada/sada: floppy, hardisk, cdrom, modem .
/etc Arquivos de configurao (scripts) e inicializao.
/home Diretrio local (home) de usurios.
/lib Bibliotecas e mdulos(drives): compartilhadas com freqncia.
/mnt Diretrio de montagem de dispositivos, sistemas de arquivos e partio.
/opt Para instalao de programas no oficiais da distribuio.
/proc Diretrio virtual (RAM) onde rodam os processos ativos.
/root Diretrio local do superusurio (root).
/sbin Arquivos de sistema essenciais (binrios do superusurio).
/tmp Arquivos temporrios gerados por alguns utilitrios.
/usr Arquivos de usurios nativos da distribuio.
/usr/local Para instalao de programas no oficiais da distribuio.
/usr/src Arquivos fontes do sistema necessrios para compilar o kernel.
/var Arquivos de log e outros arquivos variveis.
Alguns diretrios possuem notaes especiais, algo que poderamos chamar de
"atalho" para o acesso. Veja abaixo a lista dessas notaes:
~: ao referir-se ao diretrio ~ (til), o sistema entende como o diretrio pessoal do
usurio, ou seja, /home/[usurio], onde [usurio] o nome de login do usurio atual.
Dessa forma, se voc estiver logado como davidson, o diretrio ~/img ser interpretado
como /home/davidson/img;
6
IBM TREINAMENTO LINUX BASICO
-: o kernel Linux armazena um histrico dos diretrios que acessamos. O - (hfen)
refere-se ao ltimo diretrio acessado.
.: o smbolo . (ponto) refere-se ao diretrio atual, ou seja, aquele em que estamos
trabalhando;
..: o .. (ponto ponto) refere-se ao diretrio acima do qual estamos. Por exemplo,
considerando o diretrio /home/davidson/, o diretrio acima de davidson/ /home/, e o
diretrio acima de /home/ /.
Entendendo e usando permisses no Linux
Introduo
As permisses so um dos aspectos mais importantes do Linux (na verdade, de
todos os sistemas baseados em Unix). Elas so usadas para vrios fins, mas servem
principalmente para proteger o sistema e os arquivos dos usurios. Manipular as
permisses algo muito interessante, tanto quanto complexo. Mas tal complexidade
no deve ser interpretada como dificuldade e sim como grande variedade de
configuraes, o que permite criar vrios tipos de proteo de arquivos e diretrios.
Como voc deve saber, somente o super-usurio (root) tem aes irrestritas no
sistema, justamente por ser o usurio responsvel pela configurao, administrao e
manuteno do Linux. Cabe a ele por exemplo, determinar o que cada usurio pode
executar, criar, modificar, etc. Naturalmente, a forma usada para determinar o que o
usurio pode fazer a determinao de permisses. Este artigo visa explicar as
configuraes de permisses de arquivos e diretrios, assim como modific-las.
drwx------ ... 2 wester ............. 512 Jan ... 29 23:30 .. Arquivos/-rw-rw-r-- ... 1 wester ....... 280232 Dec .. 16 22:41... notas.txt
7
IBM TREINAMENTO LINUX BASICO
As linhas acima representam um comando digitado (ls -l) para listar um diretrio
e suas permisses. O primeiro item que aparece na linha (drwx----- e -rw-rw-r-) a
forma usada para mostrar as permisses que o diretrio Arquivos e o arquivo notas.txt
tm. esse item, que recebe o nome de string, que vamos estudar. Um ponto
interessante de citar que o Linux trata todos os diretrios como arquivo tambm,
portanto, as permisses se aplicam de igual forma para ambos. Tais permisses
podem ser divididas em quatro partes para indicar: tipo, proprietrio, grupo e outras
permisses. O primeiro caractere da string indica o tipo de arquivo: se for "d"
representa um diretrio, se for "-" equivale a um arquivo. Entretanto, outros caracteres
podem aparecer, j que existem outros tipos de arquivo no Linux, conforme mostra a
tabela abaixo:
d => diretriob => arquivo de blococ => arquivo especial de caracterep => canals => socket- => arquivo normal
Repare agora que no restante da string temos 9 caracteres. Voc j sabe o que
significa o primeiro. Os demais so em 3 grupos de 3, cada um representado o
proprietrio, o grupo e todos os demais respectivamente. Pegando a linha 2 do
exemplo (-rw-rw-r-) e dividindo a string em 3 partes, ficaria assim:
-rw => indicao de permisses do proprietrio-rw => permisses do grupo que o usurio pertence-r- => permisses para os demais usurios
Vamos entender agora o que significa esses caracteres (r, w, x, -). Existem 3
tipos bsicos de permisses: leitura, gravao e execuo. Leitura permite aos
8
IBM TREINAMENTO LINUX BASICO
usurios ler o contedo do arquivo mas no altera-lo. Gravao permite que os
usurios alterem o arquivo. Execuo, como o nome diz, permite que o usurio execute
o arquivo, no caso de ser executvel. Mas acontece que as permisses no funcionam
isoladamente, ou seja, ou o usurio tem permisso de leitura ou de gravao ou de
execuo. As permisses funcionam em conjunto. Isso quer dizer que cada
arquivo/diretrio tem as 3 permisses, cabendo ao dono determinar qual dessas
permisses habilitada para os usurios ou no. Pode ser que uma determinada
quantidade de usurios tenha permisso para alterar um arquivo, mas outros no. Da
a necessidade de se usar grupos. Neste caso, a permisso de gravao desse arquivo
ser dada ao grupo e todo usurio membro dele poder alterar o arquivo.
necessrio ter um certo cuidado com as permisses. Por exemplo, do que
adianta o usurio ter permisso de gravao se ele no tem permisso de leitura
habilitada? Ele poder ler o arquivo para poder modifica-lo? No! De certo, isso tem
utilidade em arquivos de log. Fazendo associao com as letras r, w, x e o caractere -,
vamos entender cada uma:
r => significa permisso de leitura (read);w => significa permisso de gravao (write);x => significa permisso de execuo (execution);- => significa permisso desabilitada.
A ordem em que as permisses devem aparecer rwx. Sendo assim, vamos
entender as strings do nosso exemplo, dividindo-a em 4 partes:
Linha 1:
drwx------ ... 2 wester ............... 512 Jan ... 29 23:30 .. Arquivos/
9
IBM TREINAMENTO LINUX BASICO
um diretrio (d);
o proprietrio pode altera-lo, grava-lo e executa-lo (rwx);
o grupo no pode altera-lo, grava-lo e nem executa-lo (---);
os demais usurios no podem altera-lo, grava-lo e nem executa-lo (---).
Linha 2:
-rw-rw-r-- ... 1 wester .......... 280232 Dec .. 16 22:41... notas.txt
um arquivo (-);
o proprietrio pode altera-lo, grava-lo, mas no executvel. Como este arquivo no
executvel, a permisso de execuo aparece desabilitada (rw-);
o grupo tem permisses idnticas ao proprietrio (rw-);
o usurio somente tem permisso de ler o arquivo, no pode altera-lo (r--)
A tabela abaixo mostra as permisses mais comuns:
--- => nenhuma permisso;r-- => permisso de leitura;r-x => leitura e execuo;rw- => leitura e gravao;rwx => leitura, gravao e execuo.
Configurando permisses com chmod
Acima, voc dever tido pelo menos uma noo do que so permisses e sua
importncia no Linux. Chegou a hora de aprender a configurar permisses e isso feito
atravs do comando chmod (de change mode). Um detalhe interessante deste
comando que voc pode configurar permisses de duas maneiras: simbolicamente e
numericamente. Primeiramente veremos o mtodo simblico.
10
IBM TREINAMENTO LINUX BASICO
Para ter uma viso mais clara da forma simblica com o chmod, imagine que
tais smbolos se encontram em duas listas, e a combinao deles gera a permisso:
Lista 1Smbolo
u => usuriog => grupoO (letra o maiscula) => outroa => totos
Lista 2Smbolo
r => leituraw => gravaox => execuo
Para poder combinar os smbolos destas duas listas, usam-se os operadores:
+ (sinal de adio) => adicionar permisso- (sinal de subtrao) => remover permisso= (sinal de igualdade) => definir permisso
Para mostrar como essa combinao feita, vamos supor que voc deseje
adicionar permisso de gravao no arquivo teste.old para um usurio. Ento o
comando a ser digitado ser:
chmod u+w teste.old
O "u" indica que a permisso ser dada a um usurio, o sinal de adio (+)
indica que est sendo adicionada a permisso e "w" indica que a permisso que est
sendo dada de gravao.
11
IBM TREINAMENTO LINUX BASICO
Caso voc queira dar permisses de leitura e execuo ao seu grupo, o comando ser:
chmod g+rw teste.old
Agora, vamos supor que o arquivo teste.old dever estar com todas as
permisses disponveis para o grupo. Podemos usar ento:
chmod g=rwx teste.old
Dica: crie arquivos e diretrios e teste a combinao de permisses com chmod. Isso
lhe ajudar muito no entendimento deste conceito.
Usando chmod com o mtodo numrico
Usar o chmod com valores numricos algo bastante prtico. Em vez de usar
letras como smbolos para cada permisso, usam-se nmeros. Se determinada
permisso habilitada, atribui-se valor 1, caso contrrio, atribui-se valor 0. Sendo
assim, a string de permisses r-xr----- na forma numrica fica 101100000. Essa
combinao de 1 e 0 um nmero binrio. Mas temos ainda que acrescentar a forma
decimal (ou seja, nmeros de 0 a 9). Para isso, observe a tabela abaixo:
Permisso Binrio Decimal
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
12
IBM TREINAMENTO LINUX BASICO
rw- 110 6
rwx 111 7
Se voc no conhece o sistema binrio deve estar se perguntando o que esse
"monte" de 0 e 1 tem a ver com os nmeros de 0 a 7. Como o sistema binrio somente
trabalha com os nmeros 0 e 1 (decimal trabalha com os nmeros de 0 a 9, ou seja,
o sistema de numerao que utilizamos no nosso dia-a-dia), ele precisa de uma
seqncia para representar os valores. Sendo assim, na tabela acima, a coluna Binrio
mostra como so os valores binrios dos nmeros de 0 a 7 do sistema decimal.
Chegou a hora ento de relacionar a explicao do pargrafo acima com a
coluna Permisso. Para exemplificar, vamos utilizar a permisso rw-, cujo valor em
binrio 110, que por sua vez, em decimal corresponde ao nmero 6. Ento, em vez
de usar rw- ou 110 para criar a permisso, simplesmente usa-se o nmero 6. Repare
ento que com o mtodo numrico, usamos somente um dgito para representar uma
permisso, ao invs de trs. Com isso a string de permisses r--r--r-- pode ser
representa por 444, pois r-- em decimal igual a quatro. Observe o exemplo abaixo:
chmod 600 notas.txt
Acima, esto sendo dadas as permisses rw------- ao arquivo notas.txt, pois 6
equivale a rw- e 0 equivale a ---. Como zero aparece duas vezes, forma-se ento o
valor 600. Faa o comando acima com um arquivo de teste e depois digite ls- l notas.txt
e veja o que aparece (notas.txt deve ser substitudo pelo arquivo que voc est usando
para teste). A tabela abaixo mostra as configuraes de permisses mais usadas:
--------- 000
r-------- 400
13
IBM TREINAMENTO LINUX BASICO
r--r--r-- 444
rw------- 600
rw-r--r-- 644
rw-rw-r-- 666
rwx------ 700
rwxr-x--- 750
rwxr-xr-x 755
rwxrwxrwx 777
As trs ltimas permisses da tabela so freqentemente usadas para
programas e diretrios.
Como voc viu, bem mais prtico utilizar o chmod com mtodo numrico. Mas voc
pode ter ficado confuso com todo esse esquema de permisso. No entanto, talvez isso no tenha
sido por causa da minha possvel ineficincia ao explicar permisses nesta coluna. A questo
que nos sistemas baseados em Unix, permisses so um dos aspectos mais complexos existentes.
Tal complexidade equivalente eficincia do uso de permisses. Por isso, a melhor maneira de
entender as permisses treinando. Sendo assim, ao trabalho! Treine, crie permisses e veja seus
resultados. Bom aprendizado!
Comandos
Introduo
O Linux (na verdade, GNU/Linux), assim como qualquer sistema operacional moderno,
perfeitamente capaz de oferecer interao com o usurio por meio de grficos,
fazendo com que seja possvel utilizar a maioria de seus recursos atravs do mouse.
14
IBM TREINAMENTO LINUX BASICO
Porm, em dado momento, o modo grfico pode no estar disponvel, restando apenas
o modo texto (para a insero de comandos). Alm disso, determinadas tarefas s
podem ser executadas por comandos digitados. Para no ficar perdido em qualquer
dessas situaes, necessrio conhecer alguns comandos do Linux. isso que essa
matria apresenta a seguir.
Onde e como digitar os comandos?
Se o Linux que voc utiliza entra direto no modo grfico ao ser inicializado (que o que
acontece na grande maioria das distribuies atuais), possvel inserir comandos no
sistema atravs de uma aplicao de terminal. Esse recurso facilmente localizvel em
qualquer distribuio.
Os comandos no Linux possuem argumentos que so separados pelo sufixo
exemplo:
ls la
O comando LS mas pode-se atribuir variavies para esse comando que no caso o -la
A tabela abaixo lista alguns dos principais comandos do Linux, suas finalidades,
sintaxes e parmetros: 2
Comando Finalidade Sintaxe Parmetros
ls Lista o contedo de um
diretrio.
ls -lar --color
diretrio
-l: lista longa
-a: lista arquivos ocultos
-r: lista recursivamente
--color: ativa cores
cd Troca de diretrio. cd diretrio
rm Remove arquivos e
diretrios.
rm -irf arquivo -i: apaga confirmando
-r: apaga recursivamente
-f: apaga foradamente
cp Copia arquivos. cp fonte destino
mkdir Cria um diretrio. mkdir diretrio
15
file:///C:/Documents%20and%20Settings/Administrator/Desktop//E:/Download/Docs/Linux/linux.html#bibl2
IBM TREINAMENTO LINUX BASICO
rmdir Apaga um diretrio. rmdir diretrio
touch Cria um arquivo vazio. touch arquivo
more Exibe contedo do
arquivo.
more arquivo
clear Limpa a tela. clear
su Muda de login. su [-] login
find Procura arquivos em
diretrios.
find caminho expr. --name: procura pelo nome
ps Mostra os processos
rodando na mquina.
ps - aux
grep Procura padres em um
arquivo.
grep expr. arquivo -a: todos os processos
-x: mostra processos que
no foram iniciados no
console
-u: nome do usurio e hora
de incio
df Mostra espao em disco
livre.
df partio
du Mostra uso de disco. du -s arquivo -s: mostra apenas o total
pwd Mostra o nome do
diretrio corrente.
pwd
finger Mostra informaes sobre
um usurio.
finger usurio
passwd Definir senha. passwd
16
IBM TREINAMENTO LINUX BASICO
logout Sair do sistema. logout
halt Desliga o sistema. halt
Outros comandos:
Desligar o PC:shutdown h now
init 0
halt
Reiniciar o PC:reboot
shutdown r now
init 6
Listar processos:ps aux
Matar processo:kill 9
Ex: kill -9 756
killall
Ex: killall smbd
Descompactar arquivo .tar.gz:tar xzvf .tar.gz
Ex: tar xzvf amsn-092.tar.gz
17
IBM TREINAMENTO LINUX BASICO
Visualizar dispositivos PCIs:lspci
Limpar a tela:clear
Visualizar calendrio:cal
Ver data atual e hora:Date
Acessar um diretrio:cd /diretrio
Ex: cd /etc
Voltar ao diretrio anterior:cd
Criar um diretrio:mkdir
Ex: mkdir guampa
Remover um diretrio:rmdir
rm r
Ex: rm r guampa
18
IBM TREINAMENTO LINUX BASICO
Criar um arquivo novo:touch
Ex: touch texto
Remover um arquivo:rm
Ex: rm texto
Renomear um arquivo ou muda-lo de lugar:mv
mv // /
Ex: mv /home/texto /mnt/floppy
Mudar o grupo do arquivo ou diretrio:chgrp
Ex: chgrp amigos texto
Mudar a permisso do arquivo ou diretrio:chmod
*nnn so os nmeros referentes s permisses do arquivo
ou diretrio. 4=leitura; 2=escrita; 1=execuo.
Ex: chmod 740 texto
Listar o contedo de um diretrio:ls
Ex: ls /root
19
IBM TREINAMENTO LINUX BASICO
Mudar o dono de um arquivo ou diretrio:chown
Ex: chown Juliana texto
Copiar arquivo:cp
cp /home/texto /mnt/floppy
Mostrar diretrio atual:pwd
Visualizar um arquivo no terminal:cat
Ex: cat texto
Mostrar o cabealho do arquivo:head
Ex: head texto
Mostrar o final do arquivo:tail f
Ex: tail f texto
Criar atalho para um arquivoln s
Ex: ln s /etc/samba/smb.conf atalho_smb.conf
Procurar uma palavra em um arquivo:grep
20
IBM TREINAMENTO LINUX BASICO
Ex: grep root passwd
Procurar um arquivo:find -name
Ex: find /etc name passwd
(esta forma procura por um arquivo especfico)
find / -exec grep root {} ls \;
(esta forma procura por um arquivo contendo uma palavra especfica)
Administrao de Usurios:
Gerenciamento
Como qualquer sistema operacional multitarefa e multiusurio, o administrador
do sistema tem como grande desafio o gerenciamento de usurios e grupos. Por este
motivo importante estarmos preparados para administr-los diretamente sem a
utilizao de ferramentas que facilitem isso (ex.: webmin), usando apenas os
comandos bsicos do sistema operacional, isso ir proporcionar a administrao em
qualquer distribuio.
Comandos:
useradd: Comando utilizado para criao de um usurio.
userdel: Comando utilizado para remoo de um usurio.
usermod: Comando usado para modificar os dados de um usurio.
passwd: Comando usado para definir e ou modificar a senha de um usurio.
groupadd: Comando usado para criar um grupo.
21
IBM TREINAMENTO LINUX BASICO
Criando um usurio
Para que seja possvel logar no sistema o usurio dever ter um username
(login) e uma senha (password). Para que isso seja possvel usaremos os comandos
"useradd" e "passwd". Abaixo explicarei como a sintaxe dos comandos e suas
opes:
Comando useradd
Sintaxe: useradd [opes]
Opes:
-d - Caminho do diretrio home do usurio.
-g - Especifica o grupo do usurio.
-c - Inclui um comentrio referente ao usurio, tais como nome, setor, etc
-s - Especifica o shell de comando que o usurio ir utilizar.
-m - Cria o diretrio home do usurio e copia os arquivos de /etc/skel/ para o
home criado (diretrio onde se encontram os arquivos default do usurio, futuramente
iremos falar sobre ele). Em algumas distribuies no h necessidade de incluirmos
essa opo para a criao do home, mas para evitarmos no o criarmos bom
acostumarmos a coloc-la na criao do usurio.
-p - Essa opo serve para especificarmos uma senha j criptografada para o
usurio.
Ex.:
# useradd -g admin -s /bin/bash -d /home/sup1 -c "Usurio Administrativo de Suporte 1"
-m sup1 22
IBM TREINAMENTO LINUX BASICO
No exemplo acima criamos o usurio sup1, que tem como grupo admin, usando
o shell /bin/bash, o home criado foi o /home/sup1 e tem o comentrio "Usurio
Administrativo de Suporte 1".
Comando passwd
Sintaxe: passwd [opes]
Opes:
-d - Permite o usurio acessar (logar) o sistema sem senha.
-l - Bloqueia/trava a conta do usurio. O usurio no consegue logar.
-u - Desbloqueia/destrava a contado usurio (bloqueado pela opo "-l").
-S - Mostra o status da senha do usurio.
Exemplo 1:
# passwd sup1
Chaging password for user sup1
New password: [digitar a senha]
Retype new password: [repetir a senha]
Exemplo 2: Nesse exemplo iremos travar a conta do usurio sup1.
# passwd -l sup1
Exemplo 3: Vamos agora destravar a conta do usurio sup1:
# passwd -u sup1
23
IBM TREINAMENTO LINUX BASICO
Comando userdel
Sintaxe: userdel [opes]
Opes:
-r - Ao usarmos essa opo o diretrio HOME e Mailbox do usurio ser
removido. importante ter certeza ao fazer isso, pois muitas vezes melhor remover
apenas o usurio ou at mesmo suspend-lo mantendo seus arquivos para auditoria.
Exemplo 1: Remover o usurio sem excluir seus arquivos.
# userdel sup1
Exemplo 2: Remover o usurio e seus arquivos
# userdel -r sup1
Comando groupadd
Sintaxe: groupadd [opes]
Opo:
-g - Ao usarmos esta opo, podemos especificar o GID do grupo que estamos
criando.
Exemplo 1: Criando um grupo chamado "administracao".
# groupadd administracao
Exemplo 2: Criando um grupo chamado oragroup e especificando o GID 1521.
# groupadd -g 1521 oragroup
Comando groupmod
Sintaxe: groupmod [opes] 24
IBM TREINAMENTO LINUX BASICO
Opo:
-g - Ao usarmos esta opo, podemos modificar o GID do grupo.
-n - Para trocarmos o nome do grupo.
Exemplo 1: Modificando o GID do grupo "administracao".
# groupmod -g 666 administracao
Exemplo 2: Modificando o nome do grupo oragroup.
# groupadd -n oracle oragroup
Gerenciando grupos e senhas
Comandos:
gpasswd
Com esse comando podemos criar senhas para administradores de grupo que
tero poder de incluir e remover, alm de modificar a senha de um grupo.
grpconv
Atravs desse comando criado o arquivo gshadow utilizando o arquivo group
para isso.
grpunconv
Esse comando recria um arquivo group utilizando os arquivos group e gshadow
e aps isso ele remove os dois arquivos.
pwconv
25
IBM TREINAMENTO LINUX BASICO
Utilizando o arquivo passwd ele cria o arquivo shadow, hoje em dia esse
comando pouco utilizado, pois os novos sistemas j trabalham diretamente com
senhas criptografadas j localizadas no shadow.
pwunconv
Recria o arquivo passwd utilizando os arquivos passwd e shadow e depois os
removendo.
chage
Usado para modificar parmetros de expirao de senha dos usurios. Pode ser
executado pelo superusurio seguido do nome do usurio a que iremos modificar os
parmetros. Nesse caso s teremos que ir respondendo o que nos perguntado. Outra
coisa que temos que ter em mente que esse comando funciona apenas se
estivermos usando o esquema de senhas criptografadas (/etc/shadow).
Parmetros:
* Minimum Password Age: onde informamos o mnimo de dias que o usurio deve
esperar para poder modificar sua senha novamente.
* Maximum Password Age: Onde informamos a quantidade de dias mximo que o
usurio pode ficar sem modificar sua senha. Caso o usurio ultrapasse o perodo
mximo para a troca, ele s conseguir logar aps sua a troca.
* Last Password Change: a data em que a senha teve sua ltima alterao.
* Password Expiration Warning: onde informamos a quantidade de dias antes da
expirao da senha que o usurio comear a receber o alerta para a troca da senha.
* Password Inactive: Aqui indicamos a quantidade de dias que o usurio ter para
trocar sua senha. Depois de sua expirao o login do usurio ficar bloqueado. Se o
26
IBM TREINAMENTO LINUX BASICO
usurio no modificar sua senha dentro desse perodo, apenas o superusurio poder
reativar e trocar a senha do usurio.
* Account Expiration Date: Esta opo exatamente onde colocamos a data de
expirao da conta do usurio.
Sintaxe: chage [opes] username
Opes:
* -m - Minimum Password Age, onde "n" a quantidade mnima de dias para a
troca da senha.
* -M - Mximo Password Age, onde "n" a quantidade mxima de dias para a
troca da senha.
* -d - Last Password Change, onde "data" a data da ltima troca da senha.
* -W - Password Expiration Warning, onde "n" a quantidade de dias antes da
expirao da senha, em que o usurio ir comear a receber o aviso para a troca da
senha.
* -I - Password Inactive, onde "n" tem que ser ao menos a quantidade de dias de
senha expirada +1, isso significa se a senha esta expirada a 10 dias, temos que no
mnimo colocar n=11, para a conta seja reativada e o usurio possa trocar da senha.
* -E - Account Expiration Date, onde "data" a data de expirao da senha.
Exemplo 1: Configurando os parmetros para expirao da senha do usurio bola.
# chage bola
Chaging the aging information for bola
Enter the new value, or press Enter for the default
27
IBM TREINAMENTO LINUX BASICO
Minimum Password Age [1]: 4
Maximum Password Age [1]: 30
Last Password Change (YYYY-MM-DD) [2005-11-17]:
Password Expiration Warning [1]: 8
Password Inactive [0]: 5
Account Expiration Date (YYYY-MM-DD) [2005-11-20]: 2010-05-16
Exemplo 2: Modificar o "Minimum Password Age" do usurio bola.
# chage -m 6
Exemplo 3: Modificar o "Maximum Password Age" do usurio bola.
# chage -M 35
Exemplo 4: Modificar o "Last Password Change" do usurio bola.
# chage -d 2010-04-17
Exemplo 5: Modificar o "Password Expiration Warning" do usurio bola.
# chage -W 10
Exemplo 6: Modificar o "Password Inactive" do usurio bola.
# chage -I 20
Concluso
Gostaria de fechar este artigo dando algumas dicas referentes a importncia do
planejamento no gerenciamento do usurio. Sem um bom planejamento a gerncia de
28
IBM TREINAMENTO LINUX BASICO
usurios pode se tornar muito complicada, ainda mais se tivermos muitas opes.
Contudo alguns pontos so comuns: Quantos usurios temos? Daqui a uns 6 meses,
quantos usurios teremos? Todos os usurios precisam de shell de comando?
Bom, pense/planeje o mximo possvel para que possa minimizar surpresas.
Lembre-se que como todo administrador, teremos surpresas. Por isso quanto mais bem
planejado, diminumos as chances de surpresas.
Alterando informaes dos usurios
Se voc pode criar e apagar contas de usurios, pode tambm alter-las. Isso
feito facilmente com o comando usermod, cujo funcionamento semelhante ao comando adduser:
usermod opes usurio
Eis algumas de suas opes:
usermod -d diretrio usurio: altera o diretrio "home" do usurio. Adicione -m no final para mover o contedo da pasta anterior para a nova. Por exemplo:
usermod -d /financeiro -m peterpan
usermod -e data usurio: define a data de expirao da conta do usurio. Em geral, a data fornecida no esquema ano/ms/dia (aaaa-mm-dd). Por exemplo:
usermod -e 2008-10-28 galadriel
usermod -l novo_nome usurio: altera o nome do login do usurio. No exemplo abaixo, o usurio peterparker teve seu nome alterado para spiderman:
29
IBM TREINAMENTO LINUX BASICO
usermod -l spiderman peterparker
usermod -g grupo nmero usurio: altera o GID do grupo principal do usurio. Por exemplo:
usermod -g 42 galadriel
usermod -s shell usurio: altera o shell do usurio;
usermod -u nmero usurio: altera o UID da conta do usurio.
Comandos adicionais
O GNU/Linux ainda conta com vrios outros comandos que lhe ajudam a
gerenciar e obter informaes de usurios e grupos. Veja alguns:
logname: mostra o nome do seu usurio;
users: mostra os usurios que esto conectados ao sistema no momento;
id: mostra dados da identificao do usurio. Eis algumas opes:
id usurio: exibe os grupos (e seus respectivos GIDs) dos quais o usurio faz parte;
id -g usurio: mostra o GID do grupo do usurio;
id -G usurio: exibe o GID de todos os grupos do usurio (nome que a letra G fica em caixa alta);
id -u usurio: indica o UID do usurio.
30
IBM TREINAMENTO LINUX BASICO
finger usurio: mostra informaes detalhadas do usurio. Se o comando for digitado isoladamente (ou seja, somente finger), o sistema exibe todos os usurios que esto conectados no sistema operacional no momento;
chfn usurio: comando para mudar as informaes adicionais do usurio (nome completo, telefone, etc).
last: o comando last bastante interessante e til, pois mostra os ltimos usurios que estiveram logados no sistema, os terminais usados por eles para se conectar, o
hostname (quando a conexo feita remotamente), as datas e os horrios de utilizao
do computador, assim como o tempo de permanncia no sistema. Esses dados
geralmente so obtidos do arquivo de logs /var/log/wtmp. O last tambm possui opes. Veja algumas:
last -n nmero: mostra apenas as ltimas linhas do log. Para definir a quantidade de linhas, substitua nmero pelo valor desejado. Por exemplo:
last -n 10
last -x: mostra os dados de desligamento do sistema, assim como informaes do nvel de execuo;
last -R: faz com que o comando no exiba os hostnames (note que a letra R fica em caixa alta);
last -a: faz com que os hostnames sejam exibidos apenas na ltima coluna.
Passwd
. passwd neste arquivo que ficam os usurios cadastrados no sistema. Cada linha
corresponde a um usurio e o caracter ":" separa os campos . Analisando o31
IBM TREINAMENTO LINUX BASICO
exemplo abaixo:
vinic:x:1001:0:Vinicius Schmidt,,,:/home/vinic:/bin/bashLogin : Senha : Id : Gid : Nome e Dados : Diretrio : Shell
Login: vinic a identificao do usurio que tambm pode ser usado para identificao
do email.
Senha: xEsse "x" informa que a senha est em outro arquivo mais seguro.
Id: 1001 o cdigo nico para o Linux identificar cada usurio. Nunca devese ter
dois usurios com o mesmo cdigo.
Gid: 0 o cdigo do grupo primrio que o usurio pertence.
Nome e Dados: Vinicius Schmidt,,,Este campo usado para armazenar informaes sobre o usurio como
nome, telefone, sala, etc.. Esses dados so separados por "," e devem
obedecer um padro.
Diretrio: /home/vinicEste campo informa qual o directrio home, do usurio.
Shell: /bin/bash a shell default do usurio. Para usurios que no precisam de shell deve
se colocar "/dev/null".
32
IBM TREINAMENTO LINUX BASICO
. shadowEste o arquivo mais visado pelos "intrusos", pois nele que ficam gravadas
todas as senhas de acesso ao sistema.
A senha fica necessariamente criptografada dificultando a sua descoberta por
pessoas no autorizadas, porem para quem sabe como quebrar essa
criptografia no difcil fazlo. Por isso a necessidade de senhas
complexas.
Abaixo uma linha do arquivo shadow, e a senha criptografada em destaque:
vinic:$1$04Jd3syi$iadsszEgE53un1Muk.:11046:0:99999:7:::
VI (Editor)
Funes de procura
/ => comea a procura pelo incio do arquivo do termo "expresso" ? => comea a procura pelo final do arquivo do termo "expresso" n => procura a prxima palavra N => inverte o sentido da procura
Movimentao e insero de texto
:3,9d => apaga as linhas de 3 a 9 :4,7m 11 => move as linhas de 4 a 7 para a linha 11 :2,6t 11 => copia as linhas de 2 a 6 para a linha 11 :2,7w => escreve as linhas de 2 a 7 para o arquivo "file" :r => l o arquivo 'file' e insere seu contedo no documento atual.
33
http://www.vivaolinux.com.br/artigo/Guia-rapido-VIhttp://www.vivaolinux.com.br/artigo/Guia-rapido-VIhttp://www.vivaolinux.com.br/artigo/Guia-rapido-VI
IBM TREINAMENTO LINUX BASICO
Adicionar/apendar texto
a => apendar texto depois do cursor A => apendar texto no final da linha i => inserir texto antes do cursor I => inserir texto no comeo da linha
Mudar texto
cw => muda uma palavra 3cw => muda 3 palavras C => muda uma linha r => sobrescreve um caractere R => sobrescreve a linha inteira :%s///g => muda todas as ocorrncias da expresso "old" para a
expresso "new"
Cancelar uma funo
u => desfazer a ltima operao . => repete a ltima operao
Salvar arquivos e sair
:w => salvar da memria (buffer) para o disco (arquivo) :q => sair do editor :wq => salvar e sair do editor :x => salvar e sair do editor :e! => reeditar, desprezando as mudanas ZZ => salvar e sair do editor
Movimentao de tela/linha34
IBM TREINAMENTO LINUX BASICO
0 => vai direto para o comeo da linha ) ou $ => vai direto para o final da linha g (Linux) => vai para a primeira linha do arquivo G => vai para a ltima linha do arquivo 5G => vai para a linha 5
Copiar e inserir textos
yy => copia um linha 5yy => copia 5 linhas p => cola abaixo do cursor P => cola acima do cursor
Adicionar novas linhas
o => abre uma nova linha para edio abaixo do cursor O => abre uma nova linha para edio acima do cursor
Apagar texto
x => apaga um caractere dw => apaga uma palavra dd => apaga uma linha 5dd => apaga 5 linhas dG => apaga do cursor at o final do arquivo
Configuraes da sesso
:set nu => mostra o nmero de linhas :set nonu => desliga o comando acima :set all => mostra todas as configuraes :set list => mostra os caracteres ocultos
35
IBM TREINAMENTO LINUX BASICO
Rolagem do texto
CTRL+f => rola uma tela para baixo CTRL+b => rola uma tela atrs CTRL+d => rola meia-tela (1/2) para baixo CTRL+u => rola meia-tela (1/2) atrs
Compactao e descompactao de arquivos com Tar e gzip
Introduo
O Tar e o gzip so duas ferramentas utilizadas em sistemas operacionais
baseados no Unix, como o GNU/Linux, para o "empacotamento" e para a compresso
de arquivos, respectivamente. Embora seja perfeitamente possvel usar qualquer
desses programas de forma individual, a utilizao de ambos ao mesmo tempo muito
comum e til. Sendo assim, que tal aprender a compactar e a descompactar arquivos
utilizando Tar e gzip e, conseqentemente, entender o funcionando dos famosos
arquivos de extenso tar.gz? isso que voc ver neste artigo. De quebra, voc ainda
saber como trabalhar com o compactador bzip2.
Comando Tar
Backup (cpia de segurana) de arquivos uma necessidade antiga. H vrias
formas de se fazer isso, mas nos sistemas operacionais baseados no Unix, uma das
maneiras mais tradicionais corresponde utilizao da ferramenta Tar, sigla de Tape
Archive. O que o Tar faz muito simples de entender: ele "empacota" vrios arquivos
em um s, isto , faz com que um nico arquivo contenha vrios outros. Assim,
possvel, por exemplo, armazenar em nico arquivo as cpias de documentos
existentes na pasta de um usurio.
36
IBM TREINAMENTO LINUX BASICO
O arquivo resultante de um empacotamento feito com Tar tem, como de se
esperar, a extenso .tar (por exemplo, infowester.tar), embora sua utilizao no seja
obrigatria (mas recomendada para fins de organizao). Quando for necessrio
extrair o contedo existente dentro de um arquivo .tar, naturalmente, basta acionar o
programa Tar. Os procedimentos para empacotamento e extrao de arquivos so
executados atravs de comandos e parmetros inseridos em terminais (shell). Quando
um usurio domina essas instrues, consegue executar tais tarefas de forma gil. Isso
se deve principalmente ao fato do Tar manter as propriedades dos arquivos e a
estruturas de diretrios originais, facilitando a localizao e a utilizao de cada item
aps a extrao.
A sintaxe do Tar a seguinte:
tar [parmetros] [nome_do_arquivo_tar] [arquivos_de_origem]
Na linha acima, tar o comando. Em parmetros, possvel utilizar vrias
opes. Eis as principais:
-c - cria um novo arquivo tar;
-t - exibe o contedo de um arquivo tar;
-p - mantm as permisses originais do(s) arquivo(s);
-r - adiciona arquivos a um arquivo tar existente;
-f - permite especificar o arquivo tar a ser utilizado;
-v - exibe detalhes da operao;
-w - pede confirmao antes de cada ao no comando;
-x - extrai arquivos de um arquivo tar existente;
-z - comprime o arquivo tar resultante com o gzip (visto mais frente);
-C - especifica o diretrio dos arquivos a serem armazenados (note que, neste caso, a
letra maiscula).
37
IBM TREINAMENTO LINUX BASICO
O campo nome_do_arquivo_tar especifica qual o nome que o arquivo .tar ter, e
o campo arquivos_de_origem define o diretrio ou os arquivos que se tornaro um .tar.
Vamos ver alguns exemplos para facilitar a compreenso:
tar -cf lendas.tar saci.txt curupira.txt
O comando acima cria o arquivo lendas.tar, que contm os arquivos saci.txt e
curupira.txt. Aqui, voc deve ter reparado que possvel combinar parmetros. Neste
exemplo, isso ocorreu com -c e -f. No exemplo abaixo, o diretrio hardware tem todo o
seu contedo compactado no arquivo backup.tar, s que os detalhes so exibidos
graas opo -v:
tar -cvf backup.tar hardware
O exemplo a seguir lista o contedo do arquivo backup.tar:
tar -tf backup.tar
Por sua vez, o comando abaixo faz com que todos os arquivos de backup.tar
sejam extrados (neste ponto, voc certamente j sabe as funes dos parmetros x, v
e f no comando):
tar -xvf backup.tar
J no comando a seguir, apenas o arquivo saci.txt extrado:
tar -xvf lendas.tar saci.txt
Uma coisa interessante que, se a opo -v for usada duas vezes, detalhes
como permisses e data do(s) arquivo(s) apareo:
tar -xvvf lendas.tar saci.txt
38
IBM TREINAMENTO LINUX BASICO
Comando gzip
A ferramenta Tar, por si somente, serve apenas para juntar vrios arquivos em
um s. No entanto, o programa no capaz de diminuir o tamanho do arquivo
resultante, isto , de compact-lo. neste ponto que entra em cena o gzip (GNU zip)
ou outro compactador de sua preferncia. Se utilizado isoladamente, o gzip faz uso da
seguinte sintaxe:
gzip [parmetros] [nome_do_arquivo]
Entre os parmetros disponveis, tem-se:
-c - extrai um arquivo para a sada padro;
-d - descompacta um arquivo comprimido;
-l - lista o contedo de um arquivo compactado;
-v - exibe detalhes sobre o procedimento;
-r - compacta pastas;
-t testa a integridade de um arquivo compactado.
Ainda no que se refere s opes de parmetros, possvel utilizar uma
numerao de 1 a 9 para indicar o nvel de compactao. Quanto maior o nmero,
maior ser a compactao do arquivo.
Eis alguns exemplos para facilitar a compreenso do comando gzip:
gzip lista.odt
O comando acima compacta o arquivo lista.odt. Note que os arquivos
compactados com gzip recebem a extenso .gz.
gzip -d listaodt.gz
39
IBM TREINAMENTO LINUX BASICO
O comando acima descompacta o arquivo infowester.odt.gz.
gzip -1 colorado.ods
O procedimento acima faz com que o arquivo colorado.ods seja compactado
considerando o nvel mais baixo de compreenso.
Usando Tar e gzip
O uso conjunto dos comandos Tar e gzip um belo exemplo de coerncia da
frase "a unio faz a fora". Muitas vezes, necessrio juntar arquivos e, ao mesmo,
fazer com que o arquivo resultante, alm de conter todos os outros, tambm seja
compactado. a que entra em cena a capacidade de juntar arquivos do Tar com a
capacidade de compactao do gzip. Para utilizar ambos ao mesmo tempo, o
procedimento muito simples: basta aplicar o comando tar com o parmetro -z. O
arquivo resultante desse procedimento receber a extenso .tar.gz.
Neste ponto, vemos um comando bastante usado na instalao de programas e
bibliotecas:
tar -zxvf nome_do_arquivo.tar.gz
Se voc estiver lendo este artigo deste o comeo, certamente j sabe o que o
comando acima faz, mesmo assim, vamos explicar para no restar dvidas: a letra z
deve ser usada porque o arquivo foi compactado com gzip; a letra x indica que o
comando deve extrair o arquivo (portanto, a referida instruo serve para extrair e
descompactar o arquivo tar.gz); a letra v exibe os detalhes do procedimento; por fim, a
letra f especifica qual arquivo ser usado nesta atividade.
Suponha, agora, que voc queira deixar em um nico pacote os arquivos
marvin.png, zaphod.txt e trillian.odt. O arquivo resultante ter o nome guia.tar.gz. Eis o
comando que utilizaremos para este exemplo:40
IBM TREINAMENTO LINUX BASICO
tar -zcvf guia.tar.gz marvin.png zaphod.txt trillian.odt
Note que o comando muito parecido com o procedimento de descompactao
do exemplo anterior, com a diferena de que o parmetro c foi utilizado no lugar de x,
pois o objetivo aqui criar um arquivo novo, e no fazer a extrao de um j existente.
Para extrair o contedo desse arquivo, basta executar o comando abaixo (tambm
exibido na figura acima):
tar -zxvf guia.tar.gz
Se voc quiser extrair apenas um dos arquivos contidos no arquivo compactado,
basta indic-lo no final do comando. Por exemplo, suponha que voc queira extrair o
arquivo marvin.png de guia.tar.gz. Eis o que voc deve digitar:
tar -zxvf guia.tar.gz marvin.png
Usando Tar e bzip2
A combinao Tar e gzip muito utilizada, mas no a nica. Tambm
possvel utilizar o algoritmo de compresso bzip2, cuja extenso .bz2. H quem
prefira esta opo pela caracterstica do bzip2 de gerar arquivos menores que o gzip,
embora o programa o faa de maneira mais lenta que este ltimo.
Para utilizar Tar com bzip2, basta utilizar o parmetro -j. Por exemplo:
tar -jcvf frases.tar.bz2 confucio.html nietzsche.html
Para extrair o contedo arquivo, o comando :
tar -jxvf frases.tar.bz2
Caso queira utilizar o bzip2 isoladamente, a sintaxe :
41
IBM TREINAMENTO LINUX BASICO
bzip2 [parmetros] [nome_do_arquivo]
Os parmetros so praticamente os mesmos do gzip, por isso no sero
mostrados aqui. Eis um comando de exemplo:
bzip2 -d vivaldi.htm.bz2
Esse comando descompacta o arquivo vivaldi.htm.
Finalizando
Atualmente, possvel encontrar interfaces grficas que permitem manipular as
opes provenientes dos programa Tar, gzip, bzip2 e suas possveis combinaes de
maneira simples, apenas com o uso do mouse. No entanto, entender como utilizar
esses comandos essencial para quando somente a linha de comando estiver
disponvel e, claro, importante tambm para que voc possa compreender
perfeitamente o que est sendo feito. por isso que este artigo foi escrito.
Caso voc queira mais detalhes sobre esses programas, digite em um terminal
os comandos man tar, man gzip ou man bzip2. Se preferir, visite os sites que serviram
de referncia para este artigo:
- www.gnu.org/software/tar;
- www.gzip.org;
- focalinux.cipsga.org.br;
- en.wikipedia.org/wiki/Tar_(file_format);
- en.wikipedia.org/wiki/Bzip2;
- bzip.org.
Usando cron e crontab para agendar tarefas
Introduo42
http://bzip.org/http://en.wikipedia.org/wiki/Bzip2http://en.wikipedia.org/wiki/Tar_(file_format)http://focalinux.cipsga.org.br/http://www.gzip.org/http://www.gnu.org/software/tar
IBM TREINAMENTO LINUX BASICO
Suponha que voc seja dono de um servio de hospedagem de sites e
diariamente precisa disponibilizar, numa pasta acessvel por FTP, o arquivo de log de
acessos de um cliente. trabalhoso fazer isso manualmente e na pior das hipteses,
voc pode esquecer. Felizmente, o Linux conta com o servio cron, que permite a
realizao de tarefas programadas em dias e horrios determinados por voc. O
objetivo deste artigo mostrar como fazer isso.
O que cron
O cron pode ser interpretado como um servio do Linux que carregado durante
o processo de boot do sistema. Trata-se de uma ferramenta que permite programar a
execuo de comandos e processos de maneira repetitiva ou apenas uma nica vez.
No caso citado da introduo, voc poderia usar o cron para que o arquivo de
log de um cliente fosse disponibilizado todos os dias s 15 horas, por exemplo. Isso
possvel porque o daemon (uma espcie de programa que executa tarefas em segundo
plano) do cron executa os comandos nas datas e horrios especificados. A cada
minuto, o cron acionado para verificar se h tarefas a serem realizadas.
Para executar as tarefas, o cron usa uma espcie de tabela conhecida como
crontab. O arquivo crontab geralmente fica localizado no diretrio /etc, mas tambm
pode estar em um diretrio que cria um crontab para cada usurio do sistema
(geralmente em /var/spool/cron/), tudo depende das configuraes do sistema
operacional utilizado.
Como usar o cron
O primeiro passo abrir o crontab. Para isso, voc pode usar editores de textos
como vi, emacs ou nano. Tambm possvel digitar o comando crontab -e para editar
43
IBM TREINAMENTO LINUX BASICO
o arquivo exclusivo de seu usurio. Neste caso, a edio feita como se voc
estivesse usando o vi.
O crontab tem o seguinte formato:
[minutos] [horas] [dias do ms] [ms] [dias da semana] [usurio] [comando]
O preenchimento de cada campo feito da seguinte maneira:
- Minutos: informe nmeros de 0 a 59;
- Horas: informe nmeros de 0 a 23;
- Dias do ms: informe nmeros de 0 a 31;
- Ms: informe nmeros de 1 a 12;
- Dias da semana: informe nmeros de 0 a 7;
- Usurio: o usurio que vai executar o comando (no necessrio especific-lo se o
arquivo do prprio usurio for usado);
- Comando: a tarefa que deve ser executada.
Repare que a ordem desses valores indica o nome correspondente do campo.
Por exemplo, no campo ms, 1 a 12 quer dizer de "janeiro a dezembro". No caso de
dias da semana, 0 a 6 quer dizer de "domingo a sbado". Note que o nmero 7
tambm pode ser usado. Neste caso, assim como o nmero 0, o 7 equivale ao dia de
"domingo".
No lugar desses valores, voc pode informar * (asterisco) para especificar uma
execuo constante. Por exemplo, se o campo dias do ms conter *, o comando
relacionado ser executado todos os dias.44
IBM TREINAMENTO LINUX BASICO
Voc tambm pode informar intervalos no preenchimento, separando os
nmeros de incio e fim atravs de - (hfen). Por exemplo, se no campo horas for
informando 2-5, o comando relacionado ser executado s 2, 3, 4 e 5 horas. E se o
comando tiver que ser executado s 2 horas, entre 15 e 18 horas e s 22 horas? Basta
informar 2,15-18,22. Nestes casos, voc separa os parmetros por vrgula.
Vamos a um exemplo:
#tarefa info
30 22 3,14 * * echo "No entre em pnico" > /home/alecrim/info.txt
Neste exemplo, a frase "No entre em pnico" inserida no arquivo info.txt,
dentro do diretrio /home/alecrim/, s 22 horas e 30 minutos, nos dias 3 e 14, em todos
os meses e em todos os dias da semana. Repare na linha "#tarefa info". Trata-se de
um comentrio. Digite # e tudo o que for digitado na linha no ser considerado pelo
cron. um recurso til para inserir descries quando se tem vrias tarefas a serem
executadas.
Comandos do crontab
Para acessar o crontab, basta digitar esse nome em um terminal seguido de um
parmetro. Eis a lista de parmetros disponveis:
crontab -e: conforme j informado, serve para editar o arquivo atual do crontab e criar
um, caso no exista;
crontab -l: este comando mostra o contedo atual do crontab;
crontab -r: remove o arquivo atual do crontab.
45
IBM TREINAMENTO LINUX BASICO
Como exemplo, analise a imagem abaixo:
Ela mostra que o comando crontab -e foi dado para edio (que ocorreu em
outro programa). Como no havia nenhum arquivo de crontab para isso, o comando
serviu para criar um. Quando esse procedimento foi finalizado, foi dado o comando
crontab -l para a visualizao de seu contedo. Em seguida, foi dado o comando
crontab -r para eliminar esse arquivo. Por fim, foi dado o comando crontab -l
novamente para comprovar a eliminao.
Finalizando
Os recursos do cron no se limitam aos mostrados anteriormente. Voc pode ainda
agendar tarefas mais complexas e poupar muito trabalho nessas execues
automticas. possvel, por exemplo, configurar o cron para emitir-lhe um aviso de
quando uma tarefa for executada. A dica para lidar com o cron test-lo. Experimente-
o bastante. Mesmo que voc seja apenas um usurio domstico, certamente
encontrar alguma utilidade para o cron.
Gerenciadores de pacotes - Guia de Consulta Rpida
O gerenciamento de pacotes provavelmente a caracterstica que mais diferencia as distribuies Linux. Embora a tendncia em boa parte dos grandes projetos seja oferecer uma interface grfica na qual os usurios possam selecionar um pacote e instal-lo com um clique do mouse (como no Synaptic do Debian ou no Drakrpm do Mandriva), esses programas costumam ser apenas interfaces grficas para os utilitrios de baixo nvel que gerenciam as tarefas associadas instalao de pacotes nos sistemas Linux. Ainda que muitos usurios do Linux sintam-se bem mais vontade instalando pacotes com essas ferramentas grficas intuitivas, no d para negar que o gerenciamento de pacotes pela linha de comando oferece dois excelentes recursos que no esto disponveis em nenhum utilitrio grfico para gerenciamento de pacotes: poder e velocidade.
46
IBM TREINAMENTO LINUX BASICO
Gerenciamento de Pacotes - Consulta Rpida
Tarefaa ser executada
yum / rpmCentOS / Fedora
apt / dpkgDebian / Ubuntu
Gerenciando o softwareInstalar software usando repositrios yum install pacote apt-get install pacote
Instalar software usando arquivo de pacoteyum localinstall pacote.rpmrpm -ivh pacote.rpm
dpkg -i pacote.deb
Atualizar um softwareyum update pacoterpm -Uvh pacote.rpm
apt-get install pacote
Remover um software yum erase pacote apt-get remove pacote
Atualizando o sistemaAtualizar lista de pacotes yum check-update apt-get update
Atualizar o sistema yum update apt-get upgrade
Procurando por pacotesProcurar pelo nome do pacote yum list pacote apt-cache search pacote
Procurar por padro yum search padro apt-cache search padro
Procurar pelo nome do arquivo yum provides arquivo apt-file search caminho
Listar todos os pacotes instalados rpm -qa dpkg -l
Configurando o acesso a repositrios de softwareListar repositrios yum repolist cat /etc/apt/sources.list
Adicionar repositrio (adicionar (editar /etc/apt/sources.list)
47
IBM TREINAMENTO LINUX BASICO
Gerenciamento de Pacotes - Consulta Rpida
Tarefaa ser executada
yum / rpmCentOS / Fedora
apt / dpkgDebian / Ubuntu
/etc/yum.repos.d/)
Remover repositrio(remover de /etc/yum.repos.d/)
(editar /etc/apt/sources.list)
Comandos diversosVerificar se um pacote est instalado rpm -q pacote dpkg -s pacote
Listar arquivos de um pacote instalado rpm -ql pacote dpkg -L pacote
Listar arquivos de um arquivo de pacote rpm -qpl pacote.rpm dpkg -c pacote.deb
Obter informaes de um arquivo de pacote
rpm -qpi pacote.rpm dpkg -I pacote.deb
Descobrir a que pacote pertence um arquivo
rpm -qf arquivo dpkg -S arqiivo
RPM
O que o RPM?
O RPM um sistema de instalao de programas criado pela Red Hat.
O que um pacote RPM?
Um pacote RPM nada mais do que os arquivos do programa, scripts e regras
para sua instalao.
48
IBM TREINAMENTO LINUX BASICO
Como instalar pacotes RPM?
Para instalar um pacote RPM use o comando:
rpm -i nome_do_pacote.rpm
Voc tem um pacote instalado, mas acaba de pegar uma verso mais nova do
programa. O que fazer? Desinstalar o pacote antigo e instalar o novo? No! No
preciso que se faa isso! Voc pode atualizar para uma verso mais recente de um
pacote j instalado com o comando:
rpm -U nome_do_pacote.rpm
Tudo bem, aprendemos instalar e atualizar um pacote, mas tem aquele
programa instalado em meu PC que eu nunca uso, como fao para remov-lo?
Bem, para remover um pacote j instalado use o comando:
rpm -e nome_do_pacote
OBS: Veja que agora no colocamos a extenso rpm. No necessrio que se
coloque a extenso!
Para ver a lista de pacotes instalados em seu sistema use o comando:
rpm -qa
Agora vamos verificar se algum pacote j est instalado em nosso sistema.
Para isso utilize o comando:
49
IBM TREINAMENTO LINUX BASICO
rpm -qa | grep nome_do_pacote
OBS: O nome do pacote no precisa ser digitado inteiramente!
Exemplo: Para sabermos quais pacotes que possuem "gnome" no seu nome
esto instalados em nosso sistema utilizamos o comando:
rpm -qa | grep gnome
Agora veja que existem vrios pacotes com o nome gnome-yyyy, onde yyyy o
complemento do nome do pacote, e outros que tm um prefixo (ex.: libgnome-xxx,
onde o xxx a verso do pacote).
Para vermos quais arquivos um certo pacote prov utilizamos o comando:
rpm -qlp nome_do_pacote.rpm
Se voc quiser obter informaes sobre um pacote instalado no sistema utilize
o comando:
rpm -qi nome_do_pacote
OBS: Note que mais uma vez no necessrio usar a extenso rpm.
Agora voc quer obter informaes de um pacote no instalado, utilize o
comando:
rpm -qip nome_do_pacote.rpm
50
IBM TREINAMENTO LINUX BASICO
Se no caso acima as informaes mostradas ainda no so suficientes para o
que queremos, podemos obter mais informaes sobre um pacote ainda no instalado
com o comando:
less nome_do_pacote.rpm
Digamos agora que voc tem um pacote instalado, mas por algum motivo
qualquer ele no est funcionando normalmente.
Existem outras maneiras de resolver este problemas, mas se voc tentou de
tudo e ainda no conseguiu resolv-lo, pode reinstalar o pacote. Mas ao tentar o
comando "rpm -U nome_do_pacote" ou "rpm -i nome_do_pacote" voc recebe a
mensagem de que o pacote j est instalado, basta usar com o parmetro
--replacepkgs assim:
rpm -i --replacepkgs nome_do_pacote.rpm
ou
rpm -U --replacepkgs nome_do_pacote.rpm
Para instalar um pacote sem que seja verificado se o seu disco possui espao
suficiente para o pacote use o comando:
rpm -i --ignoresize nome_do_pacote.rpm
Ateno: Esta opo no recomendada visto que se no existir espao
suficiente para a instalao o pacote pode e/ou ser instalado com problemas!
Para instalar um pacote sem instalar a sua documentao utilize o comando:
51
IBM TREINAMENTO LINUX BASICO
rpm -i --excludedocs nome_do_pacote.rpm
OBS: Apenas os arquivos marcados como documentao no sero
instalados!
Para instalar um pacote sem a verificao das dependncias utilize o comando:
rpm -i --nodeps nome_do_pacote.rpm
Ateno: Esta opo no recomendada visto que provavelmente o programa
apresentar erros uma vez que as dependncias no forem atendidas!
Caso voc queira instalar uma verso mais antiga de um pacote j instalado
utilize o comando:
rpm -U --oldpackage nome_do_pacote.rpm
Caso voc queira apenas testar se um pacote vai ser instalado corretamente
(se todas as dependncias sero atendidas, se no causa nenhum conflito) em seu
sistemas utilize o comando:
rpm -i --test nome_do_pacote.rpm
Algumas vezes quando instalamos e desinstalarmos pacotes pode ocorrer da
nossa base de dados do rpm ficar corrompida!
Se ao tentar instalar, atualizar ou remover um pacote voc comear a receber
mensagens de erro do tipo "Segmentation fault ou (null)-(null)" voc deve atualizar sua
52
IBM TREINAMENTO LINUX BASICO
base de dados do rpm com o comando:
rpm --rebuilddb
Ou ento voc pode construir uma nova com o comando: rpm --initdb
Para maiores informaes sobre o rpm use o comando:
# man rpm
Fdisk
Criando parties com o fdisk do linux
Este texto foi projetado para iniciantes do linux que no conhecem o fdisk do
linux, que indispensvel, pois ele usado em todas as distribuies (tem distribuies
que tem um programa de parties visual, mas sempre tem a opo do fdisk).
O fdisk uma ferramenta tima para parties ele consegue criar mais de 60
tipos de parties fora as do linux (native linux e linux swap), ele s no permite mudar
o espao de uma partio como no fips ou Partition magic.
Nesse tutorial vo ser usados exemplos somente para as parties do linux.
Vamos supor que eu tenho um HD de 3.2G, e j tenhamos uma partio do
windows (fat 32) com 1.2G.
Se voc der somente fdisk, ele vai por default na /dev/hda1 (primary master),
se caso voc tenha outro HD no /dev/hdb por exemplo, e quiser particion-lo, de um
fdisk /dev/hdb.
53
IBM TREINAMENTO LINUX BASICO
OBS: o fdisk s pode ser usado pelo root.
Execute o fdisk ir aparecer assim :
[[email protected] /root]# fdisk
Using /dev/hda as default device!
Command (m for help):
De o comando 'm' e teremos a seguinte tela:
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id 54
IBM TREINAMENTO LINUX BASICO
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help):
Para visualizar as parties do HD digite 'p'.
Command (m for help): p
Disk /dev/hda: 128 heads, 63 sectors, 781 cylinders
Units = cylinders of 8064 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 305 1229759+ b Win95 FAT32
Command (m for help):
Device = o partio no caso /dev/hda1
Boot = a partio ativa
Start = o cilindro em que a partio comea
End = o cilindro em que a partio termina
Blocks = sera o espao que a partio esta ocupando
Id = numero das lista de partioes do fdisk 'b'= fat32 (mais a frente voc entender
este)
55
IBM TREINAMENTO LINUX BASICO
System = o tipo da partio
Neste exemplo iremos adicionar uma Native Linux e uma Linux Swap.
Para adicionar uma nova partio digite 'n', que ficara:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
Aqui voc digite 'p', que ficaria :
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4):
Agora escolha o numero da partio:
1 =/dev/hda1, 2 =/dev/hda2, 3 =/dev/hda3, 4=/dev/hda4, se voc quiser ter ainda mais
parties voc ter que fazer uma partio extendida, isso ser explicado mais a frente.
Ento digite 2, porque 1 j existe, que a partio do windows, facar assim:
56
IBM TREINAMENTO LINUX BASICO
Partition number (1-4): 2
First cylinder (306-781, default 306):
Aqui voc ter que digitar o cilindro de inicio, precione [enter], pois voc pode
ver que o cilindro de inicio no defautl j o "306" (veja acima quando demos o
comando 'p' que o END da fat32 era 305, ento o cilindro de inicio dessa ser 306, e
ficar assim:
First cylinder (306-781, default 306):
Using default value 306
Last cylinder or +size or +sizeM or +sizeK (306-781, default 781):
Aqui voc pode por o valor do espao na partio por diferentes tipos:
+size = valor em bytes
+sizeM = valor em MegaBytes
+sizeK = valor em kbytes
Ou por cilindros, vamos adicionar por MegaByte, digite +1780M que ficar:
First cylinder (306-781, default 306):
Using default value 306
Last cylinder or +size or +sizeM or +sizeK (306-781, default 781): +1780M
Command (m for help):
Agora ns precisamos especificar de qual tipo a partio, ento digite 't', que ficara :
Command (m for help): t 57
IBM TREINAMENTO LINUX BASICO
Partition number (1-4):
Coloque o nmero da partio, no caso 2:
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes):
Digite 'l', aparecer os tipos de parties que o fdisk do linux pode fazer:
Hex code (type L to list codes): l
0 Empty 16 Hidden FAT16 61 SpeedStor a6 OpenBSD
1 FAT12 17 Hidden HPFS/NTFS 63 GNU HURD or Sys a7 NeXTSTEP
2 XENIX root 18 AST Windows swa 64 Novell Netware b7 BSDI fs
3 XENIX usr 24 NEC DOS 65 Novell Netware b8 BSDI swap
4 FAT16
IBM TREINAMENTO LINUX BASICO
b Win95 FAT32 50 OnTrack DM 85 Linux extended e4 SpeedStor
c Win95 FAT32 (LB 51 OnTrack DM6 Aux 86 NTFS volume set eb BeOS fs
e Win95 FAT16 (LB 52 CP/M 87 NTFS volume set f1 SpeedStor
f Win95 Ext'd (LB 53 OnTrack DM6 Aux 93 Amoeba f4 SpeedStor
10 OPUS 54 OnTrackDM6 94 Amoeba BBT f2 DOS secondary
11 Hidden FAT12 55 EZ-Drive a0 IBM Thinkpad hi fe LANstep
12 Compaq diagnost 56 Golden Bow a5 BSD/386 ff BBT
14 Hidden FAT16
IBM TREINAMENTO LINUX BASICO
Agora iremos fazer a swap com o restante do espao que sobrou:
Digite 'n' para fazer a partio:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
Digite 'p' e depois ponha o nmero da partio , no caso 3 (/dev/hda3):
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (759-781, default 759):
Digite [enter], pois o default j ta em 759:
First cylinder (759-781, default 759):
Using default value 759
Last cylinder or +size or +sizeM or +sizeK (759-781, default 781):
Como vamos usar o restinho do espao no HD para fazer a swap, nem digite
+sizeM, pois voc pode ver que o ltimo cilidro do HD 781 j esta no default, se voc
digitar [enter] o fdisk ir fazer a swap com o resto de espao que sobrou no HD (o que
no nosso caso a swap ficar com uns 120mb +-).60
IBM TREINAMENTO LINUX BASICO
Agora voc digite 't' para especificar o tipo da partio, ponha o numero da
partio (no caso 3) e depois 'l' para visualizar os tipos:
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): l
0 Empty 16 Hidden FAT16 61 SpeedStor a6 OpenBSD
1 FAT12 17 Hidden HPFS/NTFS 63 GNU HURD or Sys a7 NeXTSTEP
2 XENIX root 18 AST Windows swa 64 Novell Netware b7 BSDI fs
3 XENIX usr 24 NEC DOS 65 Novell Netware b8 BSDI swap
4 FAT16
IBM TREINAMENTO LINUX BASICO
f Win95 Ext'd (LB 53 OnTrack DM6 Aux 93 Amoeba f4 SpeedStor
10 OPUS 54 OnTrackDM6 94 Amoeba BBT f2 DOS secondary
11 Hidden FAT12 55 EZ-Drive a0 IBM Thinkpad hi fe LANstep
12 Compaq diagnost 56 Golden Bow a5 BSD/386 ff BBT
14 Hidden FAT16
IBM TREINAMENTO LINUX BASICO
Se voc quiser mudar a partio ativa digite 'a' depois o numero da partio,
como a do windows q esta ativa primeiro voc vai ter que digitar 'a' e depois 1, assim
ela serah desativada, depois digite 'a' e 2, para por a Native Linux, digite 'p' para ver
como ficou:
Command (m for help): p
Disk /dev/hda: 128 heads, 63 sectors, 781 cylinders
Units = cylinders of 8064 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 305 1229759+ b Win95 FAT32
/dev/hda2 * 306 758 1826496 83 Linux
/dev/hda3 759 781 92736 82 Linux swap
OBS: O "*" funciona como um "boto power". Estava a fat32 no boot, vc teve
que digitar 'a' e 1 para desativar (como se tivesse desligado o boto) e depois 'a' e 2
para adicionar a native Linux (como voc tivesse ligado o outro boto) se vc no
fizesse o 'a' e 1, e fizesse s o 'a' 2 ficaria assim:
Command (m for help): p
Disk /dev/hda: 128 heads, 63 sectors, 781 cylinders
Units = cylinders of 8064 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 305 1229759+ b Win95 FAT32
/dev/hda2 * 306 758 1826496 83 Linux 63
IBM TREINAMENTO LINUX BASICO
/dev/hda3 759 781 92736 82 Linux swap
Command (m for help):
Isto est errado, por isso que voc deve fazer como expliquei acima.
Para fazer mais que quatro parties com o fdisk voc vai ter que fazer
partio 4 (/dev/hda4) extensivel e dela fazer as outras, o procedimento quase igual
suponhamos que voc tenha mais espao no HD e j tenha 3 parties ento, digite 'n'
depois 'e', assim:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 4
First cylinder (781-915, default 915):
A partir da voc j conhece , ponha o cilindro inicial, o espao ,no tipo voc vai ter que
por 85 (85 Linux extended) olhe na lista, e pronto para fazer as outras o processo o
mesmo da Native Linux e Swap que expliquei acima.
Para sair e salvar as alteraes digite 'w', e para sair e no salvar nada digite 'q'.
Sistemas de arquivos
A lista de sistemas de arquivos suportados pelo Linux muito grande mas, neste
artigo, discutirei somente os mais comuns.
64
IBM TREINAMENTO LINUX BASICO
Atualmente, uma importante caracterstica dos atuais sistemas de arquivos o
"journaling". Sistemas de arquivos que possuem essa caracterstica so preferidos em
detrimento aos que no possuem.
Journaling um recurso que permite recuperar um sistema aps um desastre no disco
(ex.: quando um disco est sujo) em uma velocidade muito maior que nos sistemas de
arquivos sem journaling.
Segue abaixo uma breve descrio sobre os sistemas de arquivos mais comuns
disponveis para o Linux:
Ext2
O sistema de arquivos ext2 conhecido como "Second Extended FileSystem". Foi
desenvolvido para ser mais "eficiente" que o sistema de arquivos "Minix", seu
antecessor.
O Minix era muito utilizado nas primeiras verses do Linux, e foi utilizado por
muitos anos.
O sistema de arquivos ext2 no possui journaling e foi substitudo pelo ext3.
Ext3
65
IBM TREINAMENTO LINUX BASICO
O sistema de arquivos ext3 uma verso do ext2 com suporte a journaling. Portanto, o
ext3 tem as mesmas caractersticas do ext2, mas com suporte journaling.
Essa caracterstica foi uma evoluo e tornou o ext3 um sistema de arquivos muito
estvel e robusto.
Como no ext3 s foi adicionado o suporte a journaling, podemos converter um sistema
de arquivos ext2 para ext3, adicionado suporte a journaling, e tambm podemos
converter um sistema de arquivos ext3 para ext2, removendo o suporte a journaling.
ReiserFS
O sistema de arquivos ReiserFS foi criado recentemente. Mas atualmente quase todas
as distribuies Linux o suportam.
Sua performance muito boa, principalmente para um nmero muito grande de
arquivos pequenos.
ReiserFS tambm possui suporte a journaling.
XFS
O sistema de arquivos XFS tambm possui suporte a journaling. Foi desenvolvido
originalmente pela Silicon Graphics e posteriormente disponibilizado o cdigo fonte. O
66
IBM TREINAMENTO LINUX BASICO
XFS considerado um dos melhores sistemas de arquivos para banco de dados, pois
muito rpido na gravao.
XFS utiliza muitos recursos de cache com memria RAM, e para utilizar XFS
recomendado utilizar sistemas que possuem redundncia de energia.
SWAP
SWAP um espao reservado para troca de dados com a memria RAM.
Em alguns lugares ele no mencionado como um Sistema de Arquivos, mas resolvi
descrever aqui pois faz parte deste artigo.
VFAT
O sistema de arquivos VFAT tambm conhecido como FAT32 (M$ Windows).
O sistema de arquivos VFAT no possui suporte a journaling. utilizado normalmente
para transferir dados entre sistemas M$ Windows e o Linux instalados no mesmo disco,
pois pode ser lido e escrito por ambos os sistemas operacionais.
O sistema de arquivos VFAT est longe de ser um sistema de arquivos utilizado para
Sistemas Linux, exceto para compartilhamento/compatibilidade entre o M$ Windows e
Linux.
Se voc utilizar VFAT no Linux, esteja certo de perder alguns atributos, tais como: 67
IBM TREINAMENTO LINUX BASICO
permisso de execuo, links simblicos, entre outras coisas.
Ambos os sistemas de arquivos ext3 e ReiserFS so maduros o bastante para serem
utilizados como padro no Linux. Esses dois so os mais utilizados pelas distribuies
Linux.
Criando sistemas de arquivos
Para criar sistemas de arquivos utilizamos o comando mkfs (abreviao de: fazer
sistema de arquivos) e o comando mkswap para fazer espaos para troca de dados
com a memria RAM.
O comando mkfs um "atalho" para vrios outros comandos para criao dos mais
diversos e comuns sistemas de arquivos.
Para saber quais sistemas de arquivos atualmente suportado pelo seu Linux, digite o
comando abaixo:
$ ls /sbin/mk*
/sbin/mkdosfs /sbin/mkfs.ext2 /sbin/mkfs.msdos /sbin/mkfs.xfs
/sbin/mke2fs /sbin/mkfs.ext3 /sbin/mkfs.reiser4 /sbin/mkreiser4
/sbin/mkfs /sbin/mkfs.jfs /sbin/mkfs.reiserfs /sbin/mkreiserfs
/sbin/mkfs.cramfs /sbin/mkfs.minix /sbin/mkfs.vfat /sbin/mkswap
No exemplo acima, esto os sistemas de arquivos suportados pelo meu sistema,
Kubuntu 6.06 LTS Dapper Drake, kernel 2.6.15-23-38.
Existem mais de uma forma/comando para criar um sistema de arquivos.
68
IBM TREINAMENTO LINUX BASICO
Por exemplo, para criar um sistema de arquivos ext3, na partio /dev/hda4, podemos
utilizar um dos seguintes comandos abaixo:
# mkfs.ext3 /dev/hda4
ou
# mkfs -t ext3 /dev/hda4
ou
# mke2fs -j /dev/hda4
Enfim, a sintaxe para o comando mkfs :
# mkfs [opes] dispositivo [blocos]
Onde:
opes:
o -t [tipo]: especifica o tipo de sistema de arquivos a ser criado. O padro ext2;
o -c: checa o dispositivo a procura de blocos defeituosos durante a criao do sistema de arquivos.
dispositivo: o arquivo especial correspondente ao dispositivo;
blocos: quantidade de blocos a ser utilizada pelo sistema de arquivos.
Para mais informaes, consulte o manual do comando mkfs.
Agora vamos prtica
Aviso: lembre-se que, quando voc utiliza o comando mkfs e seus derivados, voc est
"formatando" a partio passada como parmetro. Ento, no utilize o mkfs em
parties que contenham dados importantes. Voc estar apagando os dados da
69
IBM TREINAMENTO LINUX BASICO
partio.
Abaixo mostrarei alguns exemplos, lembre-se de substituir o nome da partio.
Criando um sistema de arquivos Ext3 na partio /dev/hda4:
# mkfs -t ext3 /dev/hda4
mke2fs 1.38 (30-Jun-2005)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1026144 inodes, 2050295 blocks
102514 blocks (5.00%) reserved for the super user
First data block=0
63 block groups
32768 blocks per group, 32768 fragments per group
16288 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Vamos agora criar um sistema de arquivos ReiserFS na partio /dev/hda3:
70
http://www.vivaolinux.com.br/linux/
IBM TREINAMENTO LINUX BASICO
# mkfs -t reiserfs /dev/hda3
mkfs.reiserfs 3.6.19 (2003 www.namesys.com)
A pair of credits:
Many persons came to www.namesys.com/support.html, and got a question answered
for $25, or just gave us a small donation there.
Oleg Drokin was the debugger for V3 during most of the time that V4 was under
development, and was quite skilled and fast at it. He wrote the large write
optimization of V3.
Guessing about desired format.. Kernel 2.6.15-23-386 is running.
Format 3.6 with standard journal
Count of blocks on the device: 2050288
Number of blocks consumed by mkreiserfs formatting process: 8274
Blocksize: 4096
Hash function used to sort names: "r5"
Journal Size 8193 blocks (first block 18)
Journal Max transaction length 1024
inode generation number: 0
UUID: da877e16-506d-4687-845a-0bf5eeed7862
ATTENTION: YOU SHOULD REBOOT AFTER FDISK!
ALL DATA WILL BE LOST ON '/dev/hda3'!
Continue (y/n):y
Initializing journal - 0%....20%....40%....60%....80%....100%
Syncing..ok
Tell your friends to use a kernel based on 2.4.18 or later, and especially not a
71
IBM TREINAMENTO LINUX BASICO
kernel based on 2.4.9, when you use reiserFS. Have fun.
ReiserFS is successfully created on /dev/hda3.
Vamos agora criar um sistema de arquivos VFAT na partio /dev/hda5:
# mkfs -t vfat /dev/hda5
mkfs.vfat 2.11 (12 Mar 2005)
Todas os sistemas de arquivos acima podem ser montados com a ferramenta "mount"
e includa no arquivo /etc/fstab.
Exemplo:
# mount -t vfat /dev/hda5 /mnt/win
Criando um espao para troca de dados com a memria RAM (SWAP):
Para criar um sistema de arquivos tipo SWAP iremos utilizar a ferramenta mkswap.
necessrio a partio ser do tipo "swap", cdigo 82.
# mkswap /dev/hda6
Configurando rea de troca verso 1, tamanho = 8422617 kB
sem rtulo, UUID=3f8c0bcc-5409-4951-8939-cba0d1e8da71
necessrio ativar a partio de troca com o comando abaixo:
# swapon /dev/hda6
Para desativar utilize o comando:
# swapoff /dev/hda6
72