of 94 /94
IBM TREINAMENTO LINUX BASICO Treinamento Básico de LINUX Material Desenvolvido por Edvaldo de Oliveira Mat.105473 1

Linux Basico - Edvaldo Oliveira

Embed Size (px)

DESCRIPTION

Introdução a utilizaçao de Linux, comandos e gerenciamento de arquivos.

Text of Linux Basico - Edvaldo Oliveira

  • 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