Anda di halaman 1dari 131

2A.

PARTE:

CONHECIMENTOS GERAIS
Copyright (c) 2002-2005 Ednei Pacheco de Melo. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, version 1.1 or any later version published by the Free Software Foundation; a copy of the license is included in the section entitled GNU Free Documentation License.

NDICE
ABERTURA....................... ........................................9 I. SISTEMA DE ARQUIVOS....................... ....................10
Introduo........................................................................... .........10 . A FHS............................................................................ ................10 . Sobre o FSSTND.................................................................................10 . A estrutura do diretrio raz.........................................................10 /bin Binrios essenciais.................................................. ..................11 . /boot Inicializao do sistema........................................... ...............11 . /dev - Dispositivos...............................................................................11 . /etc Configurao.............................................................................11 . /home Dados pessoais................................................ ......................12 . /lib Bibliotecas essenciais.................................................................12 . /media e /mnt Pontos de montagens........................................... .....12 . /opt Compatibilidade entre aplicativos.............................................13 /proc e /sys Informaes e processos do kernel...............................13 /root Administrador do sistema........................................................14 /sbin Binrios essenciais para administrao do sistema................14 /tmp Arquivos temporrios......................................... .....................14 . /usr Aplicativos e utilitrios gerais...................................................14 /var Variveis............................................................................. ........15 Concluso.................................................................. ....................16

II. DEVICE (DISPOSITIVOS)........................................17


Introduo........................................................................... .........17 . Tipos de devices............................................................................17 Principais devices.........................................................................18 Unidades externas e de armazenamento........................................ ....18 .
Discos rgidos IDE & CD-ROMs......................................... .......................18 Unidades SCSI..................................................................................... .....18 Disquetes............................................................................................. .....19

Sistema de udio.................................................................................19 . Fax-modem (portas seriais)............................................ ....................20 . Console terminal.................................................................................20 .


Impressora (porta paralela).................................................... ..................20

Outros devices importantes................................................... .............21 .

Criando devices.............................................................................21 MAKEDEV & mknod...........................................................................21 . Concluso.................................................................... ..................22

III. LINHA

DE COMANDO...........................................23

Introduo........................................................................... .........23 . O BASH....................................................................... ...................23 Informaes e mtodos essenciais...............................................24

Complemento da tecla <TAB>........................................ ...................24 . Expresses..........................................................................................24 . Cores personalizadas..........................................................................25 . Nomenclatura diferenciada............................................ ....................26 . Uma simbologia especial.................................................. ..................26 .

Equivalncias entre o BASH e MS-DOS........................................26 Estrutura de diretrios.......................................................................27 . Acesso s unidades do sistema...........................................................27 . Especificaes do diretrio.................................................................. 8 2 Exibio de caminho...........................................................................29 . Case sensitive............................................................................. ..........29 Observaes..................................................................................29 Concluso.................................................................... ..................30

IV. MANIPULAO

DE ARQUIVOS E DIRETRIOS...............31

Introduo........................................................................... .........31 . Operaes e atividades bsicas....................................................31 Listagem e navegao.........................................................................31 .


ls.............................................................................................................. .31 cd....................................................................................... ......................33

Visualizao....................................................................................... ...34
type................................................................................. .........................34 less........................................................................................... ................34 file......................................................................................... ...................35 pwd................................................................................. .........................35 more.......................................................................................... ...............36 du.............................................................................................. ...............38 mkdir........................................................................................... .............39 dd.............................................................................................. ...............39 cp..................................................................................... ........................39 mv............................................................................................................. 40 ln............................................................................................. .................40 mcedit.................................................................................................... ...41 rmdir.................................................................................. ......................42 rm...................................................................................................... .......42

Manipulao........................................................................... ..............39

Editorao............................................................................ ................41 Excluso..............................................................................................42 .

Permisses e atributos de arquivos e diretrios.........................43 Permisses de acesso..........................................................................43 .


chmod.................................................................................................. .....44 chown........................................................................................... ............47 chgrp........................................................................................... .............47 umask........................................................................................... ............47

Grupos e categorias............................................................................47 .

Cpias de segurana e compactao...........................................48 Arquivamento............................................................................. ..........48


tar........................................................................................................ .....49 gzip / gunzip...................................................................... .......................50

Compactao.............................................................................. ..........50

bzip2 / bunzip2..................................................................................... .....51 zip / unzip......................................................................... ........................52

Utilitrios............................................................................................52 .
split......................................................................................................... ..52 cat.................................................................................... ........................53

Concluso.................................................................... ..................53

V. UNIDADES,

PARTIES E FORMATOS..........................54

Introduo........................................................................... .........54 . Os sistemas de arquivos...............................................................54 Tipos de parties e sistemas de arquivos..........................................54


swap.......................................................................................... ...............54 ext2......................................................................................................... ..54 ext3......................................................................................................... ..55 ReiserFS........................................................................................ ...........55 ISO9660.......................................................................... .........................55 msdos e vfat........................................................................................ ......56

Diferenas entre os sistemas de arquivos ReiserFS e Ext3................56 As unidades e as parties...........................................................57 Operaes e atividades afins........................................................57 Geral......................................................................................... ............57
Trabalhando com parties e unidades.......................................... ...........57 Definio de sistema de arquivos...................................................... ........59
mount / umount........................................................................... .................57 sync.................................................................................................. ............59 mkfs......................................................................................................... .....59 mkreiserfs................................................................................ ....................60 mkswap / swapon..................................................................... ....................60 df................................................................................................. .................61 badblocks........................................................................................... ..........62 fsck....................................................................................................... ........62 reiserfs........................................................................................ .................63 dd................................................................................................ .................64

Verificando as parties e unidades do sistema...................... ..................61

Transferindo dados........................................................................ ...........64 Utilizao............................................................................................. .....64 Formatao............................................................................................. ..64

Disquetes................................................................................. .............64
Formatao de baixo nvel................................................................. ..........64 Sistema de arquivos......................................................................... ............65 Superformat................................................................................ .................65

Discos de inicializao............................................................. .................66 Sobre o pacote mtools.......................................................................... .....66 mkisofs.............................................................................. .......................67 cdrecord........................................................................................ ...........68

CD-R/CD-RW................................................................................... ......67

Concluso.................................................................... ..................71

VI. CONTAS

DE USURIOS E GRUPOS DE ACESSO...............72

Introduo........................................................................... .........72 . Consideraes bsicas..................................................................72 Contas de acesso.......................................................................... ........72

Root - o administrador de sistema.............................................. ...............72 Conta de usurio.................................................................................... ...73

Grupos de acesso...............................................................................73 . ID.......................................................................................... ................73 Permisses..........................................................................................74 . Senha............................................................................................ ........74

Comandos e parmetros gerais....................................................74 Adio de contas de usurio e grupos............................................. ...74 .


adduser............................................................................... .....................74 groupadd........................................................................................ ..........76 login / logout / exit................................................................. ...................77 id............................................................................................. .................77 users / groups................................................................................. ..........77 passwd........................................................................... ..........................78 finger................................................................................................ ........79 who....................................................................................................... ....79 whoami....................................................................................... ..............80 uptime.............................................................................. ........................80 userdel................................................................................ .....................80 groupdel........................................................................................ ...........81 su............................................................................................................. .81

Administrao de contas.....................................................................77 .

Eliminando usurios e grupos...................................... .......................80 Obtendo os privilgios de outros usurios..........................................81

Os arquivos de configurao........................................................82 /etc/passwd..................................................................................... ......82 /etc/shadow.........................................................................................82 . /etc/groups..........................................................................................83 . Problemas mais freqentemente..................................................84 Concluso.................................................................... ..................84

VII. PROCESSOS

EM EXECUO...................................85

Introduo........................................................................... .........85 . Viso geral.................................................................................... 85 . O que um processo?.........................................................................85 . PID.......................................................................................... ..............85 2o. plano (background).......................................................................85 . Gerenciando processos.................................................................86 Visualizao................................................................................... .......86
ps........................................................................................................... ...86 top......................................................................................... ...................87 Colocando em segundo plano............................................. ......................88 Control-z.............................................................................. ................88 bg............................................................................................ .................89 jobs.................................................................................................. .........89 fg................................................................................................. .............89 kill....................................................................................... .....................89 killall............................................................................... .........................89

Segundo plano............................................................................... .......88

Excluso................................................................................................ 89

Sobre o diretrio /proc.................................................................90 Concluso.................................................................... ..................90

VIII. GERENCIADORES

DE INICIALIZAO.......................91

Introduo........................................................................... .........91 . O LILO.......................................................................................... .91 . A configurao....................................................................................92 .


Seo global.............................................................................. ...............92 Seo de parties............................................................................... .....94
Framebuffer.................................................................................. ...............94

Liloconfig........................................................................................ ......96 Operaes mais freqentes.................................................................96 .


Selecionar o sistema GNU/Linux como padro..................................... .....96 Mudar a resoluo do framebuffer...................................... .....................97 Adicionar mais uma entrada no LILO.............................................. ..........97 Adio de senha.................................................................................... ....98 Parmetros especiais durante a inicializao............................. ...............98

Atualizando as alteraes desejadas...................................................99 Disco de recuperao com o lilo.conf........................................... ......99 . Problemas mais freqentes.................................................................99 .

Observaes finais......................................................................100 Concluso.................................................................. ..................101

IX. INICIALIZAO................................................102 .
Introduo......................................................................... .........102 . Mtodo de inicializao..............................................................102 Tipos de mtodos..............................................................................102 .
System V............................................................................................ .....102 Estilo BSD............................................................................................. ..102

Scripts de inicializao...............................................................102 O diretrio /etc/rc.d/.........................................................................103 .


Inicializao.................................................................................... ........103 Suporte geral..................................................................................... .....104 Suporte rede............................................................................. ...........104 Configuraes locais....................................................................... ........105 Carregamento de mdulos............................................................. .........105 Compatibilidade.............................................................................. ........106

A seqencia de scripts na inicializao.............................................106 Nveis de execuo do Slackware...............................................106 Os nveis de execuo.................................................. .....................107 .


Nvel 1 Manuteno do sistema................................................ ............107 Nvel 3 e 4 Modo multi-usurio.......................................................... ...107 Nvel 6 Reinicializao do sistema........................................... .............108 Demais nveis de execuo............................................ .........................108

Diferenas entre o padro Slackware e os demais............................108 /etc/inittab.........................................................................................108 .

Operaes e ajustes afins...........................................................110 Ativar / desativar scripts de inicializao..........................................110


Mtodo manual............................................................................ ...........110

Mtodo automatizado........................................................................... ...110

Melhorando a compatiblidade com o System V.............................111

Concluso.................................................................. ..................112

X. GERENCIAMENTO

BSICO DE PROGRAMAS..................113

Introduo......................................................................... .........113 . Ferramentas & mtodos..............................................................113 Slackware Package Tools..................................................................113 .


Instalao............................................................................ ...................113 Atualizao........................................................................... ..................114 Remoo....................................................................................... ..........114 Instalao............................................................................ ...................114 Atualizao........................................................................... ..................114 Remoo....................................................................................... ..........115 A configurao.................................................................................... ....115 A compilao.................................................................. ........................115 A instalao..................................................................... .......................115 A desinstalao............................................................................ ...........116

Red Hat Package Management.........................................................114 .

Compilao do cdigo-fonte....................................... ......................115 .

Outros utilitrios...............................................................................116 .

Concluso................................................................ ....................116

XI. VARIVEIS

DE SISTEMA......................................117

Introduo......................................................................... .........117 . As variveis.......................................................................... .......117 . Path / RootPath.................................................................................117 . Home............................................................................. .....................118 OsType................................................................................. ...............118 Shell......................................................................................... ...........118 Term..................................................................................................118 . User................................................................................ ....................119 Comandos para manipulao.....................................................119 echo............................................................................. .......................119 set................................................................................... ....................119 export................................................................................................120 . Internacionalizao..................................................................... 120 Arquivos de configurao...........................................................121 /etc/profile........................................................................... ...............121
O diretrio /etc/profile.d/................................................ ........................123

~/.bashrc............................................................................ ................123

Concluso.................................................................. ..................124

XII. COMANDOS

E FUNES GERAIS...........................125

Introduo......................................................................... .........125 . Comandos gerais..................................................................... ....125 Administrao do sistema.................................................................125 .


Arch / uname.................................................................. ........................125

dmesg............................................................................................ .........125 halt.................................................................................... .....................126 shutdown................................................................................. ...............126

Ajuda................................................................................................ ...126
man........................................................................................................ .126 info.................................................................................. .......................127 --help.............................................................................. ........................128 clear................................................................................... ....................129 cal......................................................................................................... ..129 free.............................................................................................. ...........130

Diversos................................................................................. .............129

Concluso.................................................................. ..................130

ENCERRAMENTO....................................................131

ABERTURA
Chegamos agora mais uma nova etapa desta edio do livro. Trata-se da obteno de conhecimento tcnico e aprendizado das operaes bsicas e essenciais, necessrias para a boa manuteno dos sistemas GNU/Linux. Como qualquer outro sistema operacional, o kernel do Linux possui agregado diversas ferramentas, utilitrios e aplicaes especficas que visam prover aos usurios e administradores uma gama de recursos bsicos para a boa administrao do sistema em si e seus respectivos dados. Atividades simples, bsicas e triviais, como copiar arquivos, definir permisses de acesso, acessar unidades, monitorar processos, entre outras (at mesmo mais complexas), so de extrema importncia para a garantia de uma boa estabilidade e tima performance do computador em geral. Nesta parte estaro descritas todas as instrues de carter indispensvel, de forma simples, prtica e organizada, com o intuito de facilitar ao mximo a obteno dos conhecimentos mnimos necessrios para este propsito. A leitura dos prximos captulos desta parte de carter INDISPENSVEL para os usurios iniciantes e que pela 1a. vez esto tendo contato com os sistemas GNU/Linux, alm de ser de grande importncia para os usurios de nvel mdio, pois iro proporcionar todos os conhecimentos necessrios para a obteno de um bom aproveitamento das instrues contidas nas partes subseqentes. J queles usurios que possuem uma certa experincia ou que so especialistas no ramo, podem tranqilamente seguir adiante para a prxima parte (ou ainda outras posteriores, dependendo de suas habilidades), ficando esta deciso seu critrio. Porm deixaremos bem claro que a nossa satisfao ser enorme caso os mesmos realizassem uma breve leitura destes captulos, com o intuito de analisar os pontos negativos e positivos deste material, para que resultem em crticas e sugestes de alta qualidade para a melhoria da obra. Para queles que recentemente vieram de outras distribuies (ou esto pensando com seriedade em adotar o Slackware), sugerimos a leitura dos captulos Inicializao e Gerenciamento de programas (bsico). Neles estaro descritas as particularidades da distribuio-base do livro, alm de outras instrues necessrias para a boa manuteno do sistema. Enfim, no tendo nada mais tratar, tenham uma boa leitura! &;-D

9/131

I. SISTEMA
INTRODUO

DE ARQUIVOS

Como qualquer outro sistema operacional, os sistemas GNU/Linux realizam a manipulao de diversos dados e informaes, possuindo para isto uma estrutura de arquivos e diretrios bem definida e padronizada. Para cada tipo de arquivo e de acordo com suas funcionalidades e importncia, existe um local especfico para seu armazenamento. Alm do diretrio principal do sistema, representado por / <BARRA_COMUM> , existe uma srie outros diretrios especificados pela padronizao. Neste captulo, iremos conhecer a estruturao dos dados e diretrios dos sistemas GNU/Linux, como tambm as suas particularidades e algumas recomendaes necessrias para a sua boa manuteno.

A FHS
<http://www.pathname.com/fhs/>. A norma FHS Filesystem Hierarchy Standard um conjunto de requerimentos tcnicos que visam estabelecer normas e padres para a estrutura do sistema de arquivos Unix, derivados e clones. ela quem define quais so os diretrios que devero existir, a localizao dos arquivos de configurao, etc., com o intuito de promover a padronizao e compatibilidade dos sistemas GNU/Linux e suas aplicaes. Para informaes adicionais, consultem a 9a. Parte Documentaes: -> Normas tcnicas e de padronizao.

SOBRE

FSSTND

O FSSTND Linux Filesystem Structure foi concebido anteriormente e com os mesmos propsitos da FHS, porm devido sua pouca rigidez sobre diversos aspectos, muitas distribuies definiam por si prpria a localizao de diversos arquivos de sistema. Os arquivos de inicializao e configurao do sistema eram os que mais situavam-se fora de uma padronizao especfica, mesmo que estas distribuies tomassem como base os mtodos de inicializao SystemV e BSD.

ESTRUTURA DO DIRETRIO RAZ

Os diretrios que compe a estrutura do diretrio raz conforme as normas da FHS so: /bin, /boot, /dev, /etc, /home, /lib, /media, /mnt, /opt, /proc, /root, /sbin, /tmp, /usr e /var. Segue abaixo a descrio detalhada sobre a estrutura e seus respectivos diretrios, alm de algumas dicas, conselhos e recomendaes teis para a sua utilizao.

10/131

/BIN BINRIOS ESSENCIAIS


O diretrio /bin contm todos (ou a maioria) os arquivos binrios com os comandos essenciais dos usurios, tais como os programas da linha de comando, entre outros. Os arquivos contidos neste diretrio geralmente no so modificados aps a instalao, porm quando de novas atualizaes do sistemas, podero ser alterados.

/BOOT INICIALIZAO

DO SISTEMA

O diretrio /boot contm todos os arquivos necessrios (estticos) para a inicializao do sistema (boot loader), exceto os arquivos de configurao (/etc) e o gerenciador de inicializao (LILO). Em distribuies que utilizam o gerenciador GRUB, este encontra-se armazenado em um subdiretrio dentro deste diretrio chamado /boot/grub.

/DEV - DISPOSITIVOS
Todo e qualquer dispositivo, tais como portas seriais, discos rgidos, scanners, mouse, modens, etc., em sistemas baseados em UNIX so tratados como arquivos denominados device node nodo de dispositivo ou simplesmente device. Para ter acesso s funcionalidades de qualquer dispositivo, deveremos recorrer aos seus respectivos devices. E onde se encontram estes arquivos? O diretrio /dev contm todos os arquivos de dispositivos (device) necessrios para cada dispositivo em que o kernel do Linux suporta. Neste diretrio tambm temos um script chamado MAKEDEV , o qual nos possibilita a criao de novos dispositivos de maneira fcil e prtica, conforme nossas necessidades.

/ETC CONFIGURAO
O diretrio /etc contm todos os arquivos diversos de configurao local do computador utilizado, desde os arquivos de configuraes diversas tais como a tabela para montagem de parties, o gerenciador de inicializao LILO, scripts, etc. Alm deste diretrio, existem outros diretrios em sua estrutura especificados pela FHS.

/etc /etc/X11 Arquivos de configurao local para o servidor X. /etc/rc.d Arquivos de configurao e scripts para a inicializao.
Para obterem maiores informaes, consultem a 9. Parte: Documentaes -> Normas tcnicas e de padronizao.

11/131

/HOME DADOS

PESSOAIS

Em virtude dos sistemas Unix-likes terem sidos concebidos para serem sistemas multi-usurios, o diretrio /home designado exclusivamente para o armazenamento dos arquivos pessoais das contas de usurio do sistema, incluindo personalizaes especficas de sua conta no sistema. Para cada conta de usurio criado, acrescentado neste diretrio um subdiretrio que utiliza a mesma nomenclatura definida para ser o apelido. Por exemplo, para conta do usurio darkstar, teremos um diretrio /home/darkstar/ para o armazenamento de todos os arquivos e configuraes pessoais desta conta.

/LIB BIBLIOTECAS

ESSENCIAIS

O diretrio /lib contm bibliotecas compartilhadas necessrias para a execuo dos arquivos contidos nos diretrios /bin e /sbin. Ainda neste diretrio so encontrados os mdulos do kernel, essenciais para as funcionalidades bsicas do sistema. Estes mdulos so armazenados numa estrutura especificada em /lib/modules-[VERSO]. As bibliotecas necessrias para as aplicaes hospedadas em /usr no pertencem /lib.

/MEDIA E /MNT PONTOS

DE MONTAGENS

Os diretrios /media e /mnt foram definidos para serem utilizados exclusivamente para a montagem de unidades. A diferena entre os dois est justamente no tipo de unidade a ser desmontada.
$ l /mnt/ total 14 -rw-r--r-- 1 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 12 darkstar drwxr-xr-x 2 root dr-x------ 1 root drwxr-xr-x 2 root $ _ root 376 2006-09-26 root 48 2006-09-25 root 48 2002-03-16 root 48 2006-09-25 root 48 2006-10-11 root 48 2002-03-16 root 48 2002-03-16 root 48 2006-10-21 root 48 2006-09-25 users 472 2006-11-05 root 48 2006-09-25 root 4096 2006-11-03 root 48 2006-09-25 00:09 22:02 04:34 22:02 21:39 04:34 04:34 23:21 22:02 01:47 22:03 20:55 22:02 README cdrecorder cdrom dvd flash floppy hd iso memory pkg tmp win zip

Listagem da estrutura de diretrios do ponto de montagem /mnt.

O /media dever ser utilizado exclusivamente para a montagem de mdias removveis, como CD-ROMs, disquetes e memrias eletrncias em geral.1 J
1 Em algumas distribuies, a montagem de determinadas unidades disquetes e CD/DVD-ROMs so feitas diretamente num diretrio situados na raz /floppy e /cdrom, respectivamente.

12/131

no /mnt se concentrar a montagem de volumes de uso provisrio, como uma HD, por exemplo.

/OPT COMPATIBILIDADE

ENTRE APLICATIVOS

O diretrio /opt, apesar de no pertencer norma FHS, foi mantido em virtude da necessidade de manter a compatibilidade com antigos programas que ainda so muito utilizados atualmente. Em uma consulta que realizamos na pgina eletrnica da Slackware LinuxBR, obtivemos outras informaes muito interessantes sobre este diretrio:

Pacotes de software opcional. A idia atrs do /opt que cada pacote de software seja instalado para /opt/<software package>, o que facilita para uma desinstalao subseqente. Slackware distribui algumas coisas no /opt (como o KDE em /opt/kde), mas voc livre para colocar o que quiser no /opt. -> [Estrutura de diretrios do Slackware LinuxBR, por r_linux & mistif].
Conforme a informao acima, o KDE encontra-se instalado neste diretrio, em /opt/kde/. J o GNOME, encontra-se em /usr/share/gnome/2. Por ltimo, a verso atual do OpenOffice.org, que tambm instalada em /opt.

/PROC

/SYS INFORMAES

E PROCESSOS DO KERNEL

O diretrio /proc contm um sistema de arquivo virtual, com informaes gerais do sistema e processo do kernel. Na verdade, o seu contedo no faz parte dos arquivos de sistema; ele apenas um sistema de arquivo virtual para que os administradores do sistema tenham acesso s informaes do processamento do kernel em forma de arquivos para consulta, onde inclusive podemos realizar passagem de informaes ao kernel por eles atravs de parmetros especficos. J o /sys ainda est para ser definido, embora seja utilizado pelo kernel Linux 2.6 em substituio ao /proc. Para obterem maiores informaes, consultem a 4a. Parte Ajustes & Configuraes: -> A importncia das estruturas em /etc e /proc.

partir do Slackware 10.2, no so mais disponibilizados os pacotes do GNOME no FTP oficial da distribuio. Para t-lo instalado no sistema, deveremos recorrer a projetos externos, como o Dropline GNOME , GNOME.SlackBuild e GWARE.

13/131

/ROOT ADMINISTRADOR

DO SISTEMA

O diretrio /root definido para ser utilizado exclusivamente no armazenamento de dados e arquivos pessoais do superusurio o root. Ele mantido na raz principal e no situado em /home, em decorrncia de uma possibilidade de pane geral do sistema, caso este esteja separado em uma partio. Ao iniciarmos sistema como superusurio para realizar alguma tarefa de manuteno especfica, ficaramos preso necessidade de ter seus arquivos pessoais disponveis, e como provavelmente esta partio no se encontrar (pelo fato de utilizar o nvel de manuteno), teremos complicaes para realizarmos a autenticao do superusurio. No recomendado o uso deste diretrio para qualquer finalidades que no seja para a administrao e/ou manuteno do sistema, em especial atividades comuns usurios tais como leitura do correio eletrnico, armazenamento de dados diversos, etc. Para estas atividades, o administrador dever ter ou criar para si uma conta de usurio comum.

/SBIN BINRIOS

ESSENCIAIS PARA ADMINISTRAO DO SISTEMA

O diretrio /sbin somente armazena arquivos binrios essenciais para a administrao do sistema, onde os mesmos so utilizado somente pelo superusurio ou durante a inicializao do sistema. Todos os executveis necessrios para diversas outras atividades pertinentes estaro disponveis, como as operaes com pacotes, mdulos, processos, configuraes, parties, etc.

/TMP ARQUIVOS

TEMPORRIOS

O diretrio /tmp armazena arquivos temporrios gerados pelo sistema. Todos os usurios tm permisso de leitura e escrita nele. Geralmente este diretrio limpo a cada inicializao ou a intervalos relativamente freqentes. Por este motivo, deveremos evitar a guarda de arquivos por um determinado tempo neste diretrio, mesmo que eles sejam inteis. &;-D

/USR APLICATIVOS

E UTILITRIOS GERAIS

O diretrio /usr a segunda maior hierarquia de diretrios do sistema. Todos os aplicativos e utilitrios do sistema encontram-se aqui. Seria como uma espcie de pasta Arquivos de Programas do Windows, s que bem mais estruturada. Sua composio contm a seguinte estrutura:

/usr /usr/X11R6 /usr/bin /usr/dict


Sistema X Windows, verso 11, release 6. A maioria dos comandos de usurio. Listas de palavras.

14/131

/usr /usr/doc /usr/etc /usr/games /usr/lib /usr/local /usr/man /usr/sbir /usr/share /usr/src
Documentao miscelnea. Configurao do sistema. Jogos e arquivos educacionais. Bibliotecas principais dos programas. Hierarquia local, utilizado para programas que no pertencem ao sistema (distribuio). Manual digital dos principais comandos. Arquivos de administrao do sistema no vitais. Informao independente da arquitetura. Armazenamento de cdigo fonte de diversas aplicaes inerentes da distribuio (inclusive do prprio kernel).

/usr/include Arquivos header (cabealhos) includos por programas C.

Os atalhos que compe a estrutura do diretrio /usr so:

Atalho... /usr/spool /usr/tmp

... para: /var/spool /var/tmp

/usr/spool/locks /var/lock
Estes so necessrios apenas por questo de compatibilidade.

/VAR VARIVEIS
O diretrio /var contm informaes variveis, como arquivos e diretrios em fila de execuo, arquivos temporrios transitrios, etc. Segue abaixo sua composio:

/var /var/adm
Informaes administrativa do sistema (obsoleto). Atalho simblico at /var/log. Informao do estado das aplicaes. Informao varivel do software de /usr/local. Arquivos DNS, somente rede. Arquivos base de dados NIS. Arquivos relevantes a processos execuo do sistema. 15/131

/var/catman Pginas do manual formatadas localmente. /var/lib /var/local /var/named /var/nis /var/run

/var /var/spool /var/tmp


Diretrios de trabalhos em fila para realizar-se depois. Arquivos temporrios, utilizado para manter o /tmp pequeno.

Em virtude da existncia de antigos programas ainda em vigor, devero existir alguns subdiretrios para a compatibilidade com os mesmos em /var. Os diretrios que compe esta estrutura so: /var/backups, /var/cron, /var/lib, /var/local, /var/msgs e /var/preserve.

CONCLUSO
O conhecimento das caractersticas e particularidades do sistema de arquivos de um sistema operacional fator de suma importncia para a sua administrao. Saber as funcionalidades de determinados arquivos e diretrios, localizao dos arquivos de configurao, permisses de acesso, tudo isso influencia no momento de uma necessidade de interveno. Por mais diferentes que sejam as distribuies, todas elas possuem basicamente a mesma estrutura do sistema de dados. Graas isto, as administraes e intervenes necessrias no sistema de dados podero ser realizadas em quaisquer sistema GNU/Linux sem maiores transtornos. Eis um dos motivo da importncia de se utilizar os recursos da linha de comando para interagirmos na manuteno do sistema! &;-D

16/131

II. DEVICE (DISPOSITIVOS)


INTRODUO
Os device drivers dispositivos so arquivos especiais utilizados pelo sistema para obter acesso aos recursos presentes no computador. Todos os perifricos e recursos do sistema so acessados pelo kernel atravs de devices. Se quer formatar um disquete, ser necessrio a utilizao de um desses arquivos; para acessar a Internet, ser necessrio outro. Utilizar um terminal, mais outro. E assim por diante. Neste captulo iremos conhecer os principais device drivers chamaremos apenas de devices para facilitar a pronncia e suas particularidades.

TIPOS

DE DEVICES

Nos sistemas GNU/Linux encontramos tradicionalmente duas categorias: os devices do tipo caracter e os devices do tipo de bloco. Os devices do tipo caracter so aqueles em que a transferncia de dados so realizadas de modo serial, ou seja, um caracter por vez.
$ ls -l /dev/lp* crw-rw---1 root crw-rw---1 root crw-rw---1 root $ _ lp lp lp 6, 6, 6, 0 1995-04-27 20:17 /dev/lp0 1 1995-04-27 20:17 /dev/lp1 2 1995-04-27 20:17 /dev/lp2

Exemplos de devices do tipo caracter.

Dentre os principais exemplos esto as portas paralelas (impressora), portas seriais (modens), devices de udio, terminais, teclado, mouse, etc. J nos devices do tipo bloco diferenciam-se do tipo caracter no que concerne a transferncia de dados pois como o prprio nome diz feita por blocos, oferecendo grande quantidade de dados por vez.
$ ls -l /dev/sb* brw-rw---- 1 root brw-rw---- 1 root brw-rw---- 1 root brw-rw---- 1 root brw-rw---- 1 root $ _ cdrom cdrom cdrom cdrom cdrom 25, 25, 25, 25, 25, 0 0 1 2 3 1994-07-18 1994-07-18 1994-07-18 1994-07-18 1994-07-18 13:07 13:07 13:07 13:07 13:07 sbpcd sbpcd0 sbpcd1 sbpcd2 sbpcd3

Exemplos de devices do tipo bloco.

J nesta categoria esto em geral os devices de armazenamento tais como disquetes, discos rgidos, CD-ROMs, dispositivos USB (memria eletrnica), entre outros, devido ao modo de transferncia de dados.

17/131

PRINCIPAIS

DEVICES

Existe uma imensa quantidade de devices especficos; porm nesta literatura, somente conheceremos os mais utilizados pelos usurios comuns. Estes por sua vez subdividem-se em diversas categorias e encontram-se armazenados no diretrio /dev.

UNIDADES EXTERNAS
DISCOS
RGIDOS

E DE ARMAZENAMENTO

IDE & CD-ROMS

Todos os discos rgidos conectados controladora IDE utilizam os seguintes devices para serem acessados pelo sistema:

Discos rgidos IDE & CD-ROMs hda hdb 1a. unidade na controladora primria mestre. 2a. unidade na controladora primria escravo. hda1, hda2... Parties da 1a. unidade na controladora primria. hdb1, hdb2... Parties da 2a. unidade na controladora primria escravo. hdc 1a. unidade na controladora secundria mestre. hdc1, hdc2... Parties da 1a. unidade na controladora secundria mestre. hdd 2a. unidade na controladora secundria escravo. hdd1, hdd2... Parties da 2a. unidade na controladora secundria escravo.
Quanto aos CD-ROMs, na verdade no existem devices para acesso as unidades leitoras de CD-ROMs atuais, e sim apenas atalhos simblicos indicando em qual os devices reais estes se encontram. Este procedimento necessrio face utilizao dos devices para as diferentes localizaes (primrio, secundrio, mestre, escravo, etc.) e antigos drivers de CD-ROMs que no utilizavam a controladoras IDE para serem conectados ao sistema. Para acess-los, deveremos utilizar o atalho simblico /dev/cdrom.

UNIDADES SCSI
Sem grandes mistrios, estes so os devices para as unidades SCSI. No kernel 2.4, os gravadores de CD-R/W e DVD-R/W so acessados atravs de emulao SCSI. Por este motivo, eles devem utilizar estes devices. Normalmente seguem a seguinte nomenclatura:

18/131

Unidades SCSI sda 1a. unidade nominal (disco rgido, CD-R/RW, memria eletrnica, etc.).
Indicativo de unidade, utilizado especificamente pelo Zipdrive.

sda1, 2, 3. Indicativo de particionamento das unidades emuladas. sda4

sdb, sdc... Unidades seqenciais.


Em tratando-se de disco rgido, segue-se o mesmo padro das unidades IDE, somente atentando-se para alterar o caracter h para o caracter s.

DISQUETES
Os disquetes so acessados atravs dos devices /dev/fd[X].

Disquetes fd0 fd0d360 fd0h720 1a. unidade de disquete em DOS corresponde A:. 1a. unid. de disquete, formato baixa densidade, cap. 360 KB corresponde aos disquetes de 5.1/4 DD. 1a. unid. de disquete, formato alta densidade, cap. 720 KB corresponde aos disquetes de 5.1/4 HD.

fd0u1200 1a. unid. de disquete, formato alta densidade, cap. 1200 KB corresponde aos disquetes de 5.1/4, HD. fd0u1440 1a. unid. de disquete, formato alta densidade, cap. 1440 KB corresponde aos disquetes de 3.1/2, HD. fd1... 2a. unidade de disquete em DOS corresponde B:.

De acordo com as necessidades, existiro circunstncias em que iremos referir-se um dos devices especficos. Por exemplo, para formatao, iremos defin-lo como /dev/fd[X][D], onde [X] indica o device da unidade em questo e [D] a densidade da mesma.

SISTEMA DE

UDIO

Em vista dos diferentes recursos de udio presentes na maioria das placas de som do mercado, os sistemas GNU/Linux no utilizam somente um, e sim um conjunto de devices para o acesso estes. Segue abaixo uma simples listagem padro para uma melhor compreenso.

Sistema de udio (antigo sistema OSS) audio dsp


Funes de udio (sintetizador wave-table). Voz digitalizada. 19/131

Sistema de udio (antigo sistema OSS) midi mixer


Funes de instrumentao (MIDI). Ajustes e configuraes (mixagem).

sequencer Sequenciador.
Todos estes devices pertencem ao grupo audio, onde devemos inclu-lo nas configuraes das contas de usurio para que as propriedades de udio estejam presentes. Para obterem maiores informaes de como proceder, consultem na 4a. Parte: Ajustes & Configuraes -> udio Placa de som.

FAX-MODEM (PORTAS

SERIAIS)

As tradicionais placas de fax-modem conhecidas popularmente como hardmodens so referidas no sistema atravs dos devices /dev/ttyS[X].

Portas seriais ttyS0 Porta serial 1 equivale COM1. ttyS1 Porta serial 2 equivale COM2. ttyS2 Porta serial 3 equivale COM3. ttyS3 Porta serial 4 equivale COM4.
J no caso dos softmodens, a maior parte destes perifricos utilizam um device especial, criado pelos drivers para a sua instalao. Para obterem maiores informaes sobre estes perifricos, consultem na 4a. Parte: Ajustes & Configuraes -> Modem placas de fax-modem.

CONSOLE

TERMINAL

Um terminal uma interface entre o usurio e o sistema. Ao serem inicializados, utiliza o device /dev/tty[X].

Console terminal ttyX


Um terminal propriamente dito.

ttypX Terminais SSH/Telnet.


Somente teremos disponibilidade diversos terminais desde que o kernel tenha o suporte terminais virtuais. Felizmente todos os kernels so prcompilados com esta opo habilitada.

IMPRESSORA (PORTA

PARALELA)

As impressoras pelo fato de serem instaladas nas portas paralelas, so referenciadas pelo sistema utilizando estes devices.

20/131

Impressoras lp0, lp1... Portas paralela LPT1.


Em se tratando de impressoras que utilizam o barramente USB, estes devices ficam localizados em /dev/usb, onde so mantidos as mesmas definies de nomenclatura.

OUTROS

DEVICES IMPORTANTES

Dentre outros devices importantes, destacam-se o /dev/dri/card[X], os quais as aceleradoras grficas utilizam para realizar as atividades de renderizao grfica atravs da extenso DRI do servidor grfico.

CRIANDO

DEVICES
MKNOD

MAKEDEV &

O MAKEDEV apenas um simples script que atua como intermedirio com o objetivo de facilitar o usurio criar os devices do sistema. O utilitrio responsvel mesmo pela criao de tais devices o mknod. Para criar devices com o MAKEDEV , utilizamos a sintaxe...
# MAKEDEV /dev/[DEVICE]

Simples, prtico e extremamente fcil, dispensando comentrios adicionais. J com o mknod, poderemos lanar esta sintaxe:
# mknod [PARMETROS] [DEVICE] [MAJOR] [MINOR]

Onde:

mknod [DEVICE] O device o qual se deseja criar. [MAJOR] [MINOR] -b -c -m[NNN]


Identifica o gerenciador de perifricos. Identifica o perifrico dentro de um conjunto de perifricos do mesmo gerenciador. Para criar devices do tipo bloco. Para criar devices do tipo caracter. Permisses de acesso (veja chmod em Manipulao de arquivos e diretrios).

Uma utilizao bsica do comando para criar um device ttyS0:


# mknod -m 766 /dev/ttyS0 c 4 64

Ambos podem (e devem) ser utilizados para restaurar quaisquer devices que tenham sido manipulados errneamente (modificados, apagados, etc.). 21/131

Conforme visto a simplicidade acima, dem preferncia ao uso do script MAKEDEV , pois o mesmo tornar esta atividade mais simples e produtiva.

CONCLUSO
Acreditamos que um simples passeio pelos devices mais utilizados pelo sistema possa deixar os usurios mais familiarizados com a administrao e manuteno do sistema operacional em geral. Lembrem-se: os sistemas Unix em geral referem-se quaisquer devices de sistema como arquivos. Quaisquer interveno necessria, sempre tenha conscincia de que poder intervir nos arquivos da estrutura /dev. &;-D

22/131

III. LINHA
INTRODUO

DE COMANDO

A disponibilidade de diversos utilitrios grficos e em modo texto, facilitam muito a administrao de sistemas GNU/Linux. Porm, de acordo com as necessidades, facilidades de uso e recursos, existiro diversas circunstncias em que sero necessrios o uso de recursos baseados na linha de comando.3 Neste captulo, iremos conhecer alguns recursos e funcionalidades do BASH, o interpretador de comando dos sistemas GNU/Linux.

O BASH
<http://www.gnu.org/software/bash/>. O interpretador de comando um programa especial que permite a interao do usurio com o sistema operacional atravs da utilizao de comandos especiais, que por sua vez so inseridos com interao direta com o teclado. nele ele que coordenamos muitas das atividades pertinentes ao kernel, como a manipulao de arquivos, gerenciamento de processos, entre outros. Nos sistemas GNU/Linux, o BASH o seu interpretador de comandos oficial requerimento do padro LSB tornando ainda mais importante conhecer suas caractersticas e funcionalidades bsicas.

Terminal virtual (Konsole) do KDE. 3 Infelizmente muitos usurios tm conceitos errneos sobre o uso da linha de comando. J escutamos diversos comentrios especficos e sem fundamentos, tais como isso coisa do passado..., voltar aos tempos do DOS..., ningum mais usa isto..., pra qu mexer nessa !%#&*..., etc., mas em sistemas GNU/Linux ela essencial e indispensvel para o bom funcionamento do sistema.

23/131

primeira vista, o BASH lembra-se muito o MS-DOS, por ele disponibilizar uma tela de texto preta e uma linha de comando. Mas na verdade, esta ferramenta possui vastos recursos dos quais poderemos tirar grande proveito, conforme nossas necessidades. Neste livro o utilizaremos apenas as instrues bsicas e essenciais necessrias para garantirmos a boa manuteno de um sistema para o uso em desktops.

INFORMAES

E MTODOS ESSENCIAIS

So inmeros os recursos disponibilizados pelos interpretadores da linha de comando, onde por isto nos omitiremos de instrues detalhadas e desnecessrias. Seguem abaixo apenas algumas informaes e mtodos bsicos e essenciais para obtermos um excelente rendimento nas intervenes que iremos realizar mais frente.

COMPLEMENTO

DA TECLA

<TAB>

Em muitas circunstncias teremos a necessidade de digitar toda a nomenclatura de um comando, arquivo ou diretrio na linha de comando. Ao invs de teclarmos cada caracter, poderemos apenas digitar as iniciais e complementar com a tecla <TAB>, onde o sistema se encarregar de localizar tal nomenclatura e preencher com os dados restantes. Por exemplo, ao digitarmos...
# rpm -ivh quake-1<TAB>

... o resultado final ser...


# rpm -ivh quake-1.1-6cl.i386.rpm _

Simples e prtico, evitando o inconveniente de ter que redigitar toda a nomenclatura caso ocorram simples erros de digitao e sintaxe. &;-D

EXPRESSES
Expresses so conjuntos de smbolos e caracteres que visam especificar uma determinada informao ou o conjunto delas. Estes so conhecidos popularmente como curingas, que podem representar um valor, uma expresso, um conjunto destes e at mesmo um comando. Porm, ao contrrio do que muitos pensam, existem diferenas entre eles: os smbolos especiais possuem funes especficas; j os caracteres coringas representam e/ou substituem outros caracteres e/ou conjunto de letras. Descreveremos os principais caracteres utilizados em sistemas GNU/Linux e suas principais funcionalidades.

Expresses * Asterisco
Popularmente representa tudo. Qualquer campo ou instruo que estiver sendo representado por um asterisco, indicar todos os possveis caracteres.

24/131

Expresses . ? Ponto
Representa entrada de diretrios. Dois pontos - .. representa o diretrio-pai (diretrio anterior).

Interrogao Similar ao caracter *, porm somente representa os caracteres que se situarem na posio onde este se encontra. Pipes
Processa a sada de um comando para que seja usado como dados ou parmetros em outro comando. Dois II servem para executar 2 comandos seqenciais, independente de haver erro no 1o. comando. Tambm utilizado para representar a expresso lgica OR (ou).

& E-comercial

Execuo de aplicaes em 2o. plano (background). Duas && servem para executar 2 comandos seqenciais, desde que o primeiro no retorne nenhum erro. Tambm utilizado para representar a expresso lgica AND (e).

Para obterem maiores informaes, consultem o seu manual eletrnico...


$ man bash

CORES

PERSONALIZADAS

Outra ponto ser observado so as cores dos arquivos e diretrios serem exibidos em modo texto, pois os sistemas GNU/Linux utilizam como padro o interpretador de comandos BASH, que graas ele possuem padronizados a seguinte configurao de cores:

Cores & Significado Amarelo Azul Cinza Magenta Verde Vermelho


Dispositivos do sistema (device). Diretrios (seguidos pelo caracter /). Arquivos diversos (texto, documentos, etc.) ou desconhecidos. Arquivos de imagens bitmaps (JPEG, GIF, PNG, etc.). Arquivos executveis (arquivos de lote e binrios).4 Arquivos compactados (inclusive pacotes de instalao). arquivos, ter cores atributos seja uma

Azul ciano Atalhos simblicos (links).

Vale lembrar que, dependendo tanto dos atributos especficos dos quanto das configuraes utilizadas no terminal, muitos podero diferentes dos padres acima citados. o caso de arquivos com para execuo (flag x), que aparecem com a cor verde no vdeo,
4

Estes indicam arquivos com permisses para execuo, ainda que sejam um texto, uma imagem, um pacote compactado e outros quaisquer.

25/131

imagem, um arquivo compactado, etc.

NOMENCLATURA

DIFERENCIADA

Da mesma forma que os arquivos e diretrios apresentam um sistema de cores para a sua identificao, os mesmos possuem sinais especiais para informar determinados atributos:

Sinal / Significado / Exemplo . * @


Arquivo oculto. Atalho.
.Confidencial

Arquivo executvel. Programa*


Programa@ -> Programa-1.0.2

Lembre-se que de acordo com o interpretador de comando utilizado, podero ser ou no exibidos tais atributos.

UMA

SIMBOLOGIA ESPECIAL

Para evitarmos a alocao de espaos com informaes desnecessrias, utilizaremos neste livro a seqncia de caracteres -//- para simbolizar os resultados obtidos com o uso dos comandos mencionados. Por exemplo, na necessidade de exibir um longo texto ou uma longa lista de arquivos, estes sero resumidos da seguinte forma:
# less COPYING GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -//-

Onde -//- representar o restante do contedo de texto. J para a listagem de grandes estruturas composta de diretrios e/ou arquivos:
# cd /usr/doc/ # ls -l -//-

Onde -//- representar a estrutura arquivos e/ou diretrios no visveis.

EQUIVALNCIAS

ENTRE O

BASH

MS-DOS

Apesar de se encontrar praticamente em desuso por usurios do Windows, muitos usurios sentem-se confortveis ao realizar diversas intervenes com a utilizao da linha de comando do MS-DOS, especialmente quando no h possibilidade de inicializar o Windows para estes eventos. J em sistemas GNU/Linux, a linha de comando no s se encontra presente, como tambm fundamental para a manuteno geral do sistema e ainda 26/131

possui uma eficincia muito superior que encontramos no velho MS-DOS.

ESTRUTURA DE

DIRETRIOS

A principal diferena entre os sistemas GNU/Linux e o MS-DOS encontra-se na estrutura de diretrios do sistema. Enquanto o MS-DOS suporta somente a formato de nomes 8.3 (at a verso 6.22) e dispe somente de permisses de acesso para somente leitura e ocultao (atributos)...
C:\>dir O volume na unidade C DARKSTAR O nmero de srie do volume 0816-A972 Pasta de C:\ 12/05/2004 24/05/2004 12/05/2004 12/05/2004 12/05/2004 20:03 <DIR> WINDOWS 23:23 <DIR> Documents and Settings 20:18 <DIR> Arquivos de programas 20:19 0 CONFIG.SYS 20:19 0 AUTOEXEC.BAT 2 arquivo(s) 0 bytes 3 pasta(s) 3.165.028.352 bytes disponveis

C:\>_

... o BASH suporta nomes com at 255 caracteres, alm do simples e eficiente sistema permisses de acesso de leitura, escrita e execuo.
$ ls -l total 82 drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x dr-xr-xr-x drwx--x--drwxr-xr-x drwxrwxrwt drwxr-xr-x drwxr-xr-x $ _ 2 2 15 45 5 4 6 4 73 25 2 31 21 17 root root root root root root root root root root root root root root bin root root root root root root root root root bin root root root 2304 336 61072 4520 128 2520 144 96 0 1064 5456 1352 592 456 Jun Set Set Set Ago Jun Jun Ago Set Set Jun Set Mar Mar 28 5 6 6 20 28 28 23 6 5 1 6 6 2 17:09 22:14 09:58 10:36 23:11 17:08 17:16 18:48 06:57 13:55 2002 10:09 2003 2003 bin/ boot/ dev/ etc/ home/ lib/ mnt/ opt/ proc/ root/ sbin/ tmp/ usr/ var/

Alm destes, existem outros recursos presentes em sua linha de comando.

ACESSO

S UNIDADES DO SISTEMA

O MS-DOS atribui letras para a unidade de armazenamento de dados (A:\ , C:\, D:\, etc.); j os sistemas GNU/Linux possui apenas um nico diretrio raiz, do qual as demais unidades encontram-se previamente montadas em seus respectivos subdiretrios. Ainda no MS-DOS, para ter acesso s demais unidades do sistema, bastaria apenas indic-las na linha de comando acrescido de <DOIS_PONTOS> (:): 27/131

C:\> A:\> D:\> C:\>

A: D: C: _

No BASH, para ter acesso s demais unidades do sistema, basta montar os dispositivos e acess-los atravs do ponto de montagem, situados no diretrio /mnt/<UNIDADE> conforme a norma FHS. O ponto de montagem /mnt possui basicamente a seguinte estrutura:
$ cd /mnt/ $ ls -l total 2 drwxr-xr-x drwxr-xr-x drwxr-xr-x $ _

2 root 2 root 2 root

root root root

48 Mar 16 48 Mar 16 48 Mar 16

2002 cdrom/ 2002 floppy/ 2002 hd/

Por padro existe apenas estes diretrios, porm caso necessitem trabalhar com outros dispositivos do sistema, basta cri-los conforme a necessidade. Lembrem-se de que precisaro estar com os poderes de superusurio.
$ su Password: # mkdir flash # mkdir zip # mkdir tape # ls -l total 3 drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x # _

2 2 2 2 2 2

root root root root root root

root root root root root root

48 48 48 48 48 48

Mar 16 2002 cdrom Mar 16 2002 floppy Mar 16 2002 hd Set 7 17:01 flash Set 7 17:01 tape Set 7 17:01 zip

Aps a montagem das parties e/ou unidades, seus respectivos acessos so realizados normalmente, como se fossem simples subdiretrios.

ESPECIFICAES

DO DIRETRIO

Nos sistemas GNU/Linux, a especificao dos caminhos de diretrios feita de forma similar ao MS-DOS, porm outra diferena simples est no uso da <BARRA> / ao invs da <BARRA_INVERTIDA> \ para a navegao entre os diretrios.

MS-DOS
C:\> cd <UNIDADE>\<DIRETRIO>

BASH
$ cd /<DIRETRIO>

Em ambos, para navegar at o diretrio raiz:

MS-DOS
C:\WINDOWS> cd \ $ cd /

BASH

28/131

EXIBIO

DE CAMINHO

Em ambos os interpretadores e de acordo com a distribuio utilizada o prompt da linha de comando indicam em que diretrio estamos...

MS-DOS
C:\WINDOWS> _

BASH
darkstar@darkstar:/usr/doc$ _

... tendo o BASH a vantagem de informar a conta autenticada no momento.

CASE

SENSITIVE

O sistemas de nomenclatura dos arquivos e diretrios do GNU/Linux case sensitive, ou seja, o tratamento de caracteres maisculos e minsculos diferente em comparao ao MS-DOS, onde neste tanto faz utilizar caracteres maisculos quanto minsculos.

MS-DOS
C:\> CD WINDOWS C:\WINDOWS\> CD .. C:\> cd windows C:\WINDOWS\> _

BASH
darkstar@darkstar:/$ cd /usr darkstar@darkstar:/usr$ CD .. -bash: CD: command not found darkstar@darkstar:/usr$ _

J no BASH, o sistema no reconhecer o comando utilizado caso utilizem caracteres maisculos ao invs de maisculos, e vice-versa.

OBSERVAES
Apesar da aparncia pobre e espartana da linha de comando, deveremos nos aperfeioar na utilizao de comandos bsicos. As aplicaes disponibilizadas em interfaces grficas geralmente tem a simpatia dos usurios menos habituados linha de comando, graas facilidades condicionadas, como a intuitividade e o apelo visual, tornando bem mais atrativo e agradvel realizar as operaes necessrias no sistema, porm existiro circunstncias especficas e variadas em que a utilizao de uma linha de comando ser praticamente insubstituvel. E mesmo apesar do vastos recursos disponibilizados nas atuais aplicaes grficas, em muitos aspectos teremos maior eficincia, prtica e agilidade em realizar as operaes necessrias na linha de comando. Para reforar, uma das principais vantagens na utilizao da linha de comando a possibilidade de evitar a perda de tempo na realizao de tarefas, pois ao invs de gastar bons segundos na navegao nos menus com rpidos comandos, poderemos realizar a maioria das atividades mais corriqueiras existentes. E se estivermos em uma interface grfica? Para isto, poderemos utilizar os terminais disponibilizados em nosso ambiente grfico preferido, como exemplo, o Konsole do KDE, entre outros. Enfim, a escolha fica critrio do usurio, visto que estaro disponveis todas as funcionalidades bsicas necessrias. 29/131

CONCLUSO
Apesar da existncia de diversas diferenas em comparao linha de comando do MS-DOS, o objetivo o BASH o mesmo: fornecer ao usurio um conjunto de recursos que podero ser habilitados pela linha de comando. Porm so inmeras as diferenas e caractersticas, alm da disponibilidade de recursos extras que o tornam muito superior ao MS-DOS e quaisquer outros aplicativos grficos existentes. &;-D

30/131

IV. MANIPULAO
INTRODUO

DE ARQUIVOS E DIRETRIOS

Nas mais variadas circunstncias, a manipulao direta de arquivos e diretrios sero necessrios para a realizao de diversas intervenes com as mais variadas finalidades. A checagem de contedo, a organizao de documentos, a edio direta, a definio de permisses, etc., so simples e bons exemplos de operaes realizadas em imensas possibilidades. Neste captulo, apresentaremos as principais operaes de manipulao, que por sua vez se encontram subdividas por categorias, onde suas respectivas instrues esto estruturadas de forma simples e organizada para uma melhor compreenso.

OPERAES

E ATIVIDADES BSICAS

Entende-se como atividades bsicas a listagem, visualizao, edio e manipulao, dos arquivos e diretrios gerais que compe o sistema, alm de dados e informaes adicionais.

LISTAGEM E
LS

NAVEGAO

Lista os arquivos e diretrios do diretrio corrente ou especificado. Bastante similar ao comando dir/w do DOS. Sintaxe:
ls [PARMETROS] [ARQUIVOS/DIRETRIOS]

Onde:

ls -a Exibe todos os arquivos e diretrios ocultos, similar ao comando dir /a do DOS. Em muitos casos observaremos a existncia do caracter . antes de muitos arquivos e diretrios que at antes no constavam no diretrio com o simples uso do comando ls. Na verdade eles existiam, porm estavam somente ocultos. -R Exibe todos os arquivos de diretrios e diretrios de forma recursiva, ou seja, alm dos diretrios existentes, mostra tambm todos os subdiretrios e arquivos contidos nos diretrios exibidos. Similar parmetro /s no DOS. Ao clicarem na barra de rolagem, poderemos observar todo o contedo do diretrio analisado, sendo somente limitado aqueles no permitidos pelos seus respectivos atributos.

31/131

ls -i
Utilizado para verificar somente o espao ocupado em i-node (blocos) pelos arquivos e diretrios. Observem atentamente que, de acordo com o sistema de arquivo utilizado, esta informao refere-se apenas quantidade de blocos utilizados pelos arquivos, e no o seu tamanho ocupado. Estamos utilizando o sistema de arquivos ReiserFS, porm se optarem por outro sistema muito provavelmente o ext3 , os valores exibidos sero diferentes, mesmo que seus contedos sejam exatamente os mesmos. Exibe a listagem de arquivos e diretrios em uma nica coluna, contendo ainda informaes complementares como as permisses referentes de cada tem e seu respectivo espao ocupado. Equivalente ao simples comando dir no DOS.

-l

-1 Utilizado apenas para exibir a listagem de arquivos e diretrios em uma nica coluna, similar ao comando dir/b no DOS.
Observem que os parmetros exemplificados podem ser utilizados combinados, conforme s nossas necessidades. Experimentem utilizar estes parmetros combinado com outros parmetros e verifiquem sua sada:
$ ls -li total 83 11 drwxr-xr-x 20 drwxr-xr-x 9 drwxr-xr-x 12 drwxr-xr-x 2 drwxr-xr-x 15 drwxr-xr-x 16 drwxr-xr-x 11750 drwxr-xr-x 1 dr-xr-xr-x 7 drwx--x--22 drwxr-xr-x 2 drwxrwxrwt 2 drwxr-xr-x 2 drwxr-xr-x $ _ 2 2 16 47 5 4 5 4 86 11 2 19 19 17 root root root root root root root root root root root root root root bin root root root root root root root root root bin root root root 2416 336 62352 4808 96 2592 120 96 0 656 5704 648 544 456 2004-01-31 2004-01-31 2004-01-31 2004-01-31 2004-01-31 2004-01-31 2004-01-31 2002-12-13 2004-01-31 2004-01-31 2003-09-01 2004-01-31 2004-01-05 2003-08-15 07:43 07:55 12:09 15:06 10:27 07:42 10:08 19:01 10:09 14:31 19:29 15:17 18:32 00:17 bin/ boot/ dev/ etc/ home/ lib/ mnt/ opt/ proc/ root/ sbin/ tmp/ usr/ var/

Alm do comando ls, podemos tambm utilizar os comandos dir...


$ dir bin/ boot/ $ _ dev/ etc/ home/ lib/ mnt/ opt/ proc/ root/ sbin/ tmp/ usr/ var/

... e vdir, que correspondem respectivamente ls e ls -l.


$ vdir total 83 drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x 2 2 16 47 5 root root root root root bin root root root root 2416 336 62352 4808 96 2004-01-31 2004-01-31 2004-01-31 2004-01-31 2004-01-31 07:43 07:55 12:09 15:06 10:27 bin/ boot/ dev/ etc/ home/

32/131

drwxr-xr-x drwxr-xr-x drwxr-xr-x dr-xr-xr-x drwx--x--drwxr-xr-x drwxrwxrwt drwxr-xr-x drwxr-xr-x $ _

4 5 4 93 11 2 19 19 17

root root root root root root root root root

root root root root root bin root root root

2592 120 96 0 656 5704 648 544 456

2004-01-31 2004-01-31 2002-12-13 2004-01-31 2004-01-31 2003-09-01 2004-01-31 2004-01-05 2003-08-15

07:42 10:08 19:01 10:09 14:31 19:29 15:17 18:32 00:17

lib/ mnt/ opt/ proc/ root/ sbin/ tmp/ usr/ var/

Os comandos ls -l e vdir so os mais indicados para verificar todos as informaes disponveis sobre a estrutura de arquivos e diretrios consultados, mas para evitar digitar esta seqncia de caracteres, utilizem o apelido l, habilitando-o com o comando...
$ alias l=ls -l

Aps isto, bastar digitar o novo apelido...


$ l total 83 drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x dr-xr-xr-x drwx--x--drwxr-xr-x drwxrwxrwt drwxr-xr-x drwxr-xr-x $ _ 2 2 16 47 5 4 5 4 86 11 2 19 19 17 root root root root root root root root root root root root root root bin root root root root root root root root root bin root root root 2416 336 62352 4808 96 2592 120 96 0 656 5704 648 544 456 2004-01-31 2004-01-31 2004-01-31 2004-01-31 2004-01-31 2004-01-31 2004-01-31 2002-12-13 2004-01-31 2004-01-31 2003-09-01 2004-01-31 2004-01-05 2003-08-15 07:43 07:55 12:09 15:06 10:27 07:42 10:08 19:01 10:09 14:31 19:29 15:17 18:32 00:17 bin/ boot/ dev/ etc/ home/ lib/ mnt/ opt/ proc/ root/ sbin/ tmp/ usr/ var/

... ao invs da referida e desconfortvel quantidade de parmetros acima expostos para obtermos os mesmos resultados.
CD

O comando cd utilizado para navegar entre os diretrios desejados. Sintaxe:


$ cd [NOME_DO_DIRETRIO]

Exemplo:
darkstar@darkstar:~$ cd /usr darkstar@darkstar:/usr$ ls -l -//darkstar@darkstar:/usr$ cd lib darkstar@darkstar:/usr/lib$ ls -l -//darkstar@darkstar:/usr/lib$ cd X11 darkstar@darkstar:/usr/lib/X11$ _

33/131

Obsevem que, para entrarmos no subdiretrio lib e X11, no foram especificados os caminhos completos, pois estes pertencem ao diretrio do qual se encontra localizado no momento (referncia local). Como podem ver, seu uso bastante simples, no existindo qualquer grau de dificuldade. Ainda assim podemos utilizar outros recursos, tais como:
darkstar@darkstar:/usr/lib/X11$ cd .. darkstar@darkstar:/usr/lib$ cd / darkstar@darkstar:/$ _

bem mais simples que digitar o caminho completo para acessar o diretrio anterior. Observem ainda que podemos desfazer a ao anterior, ou seja, retornar para o diretrio onde estvamos anteriormente com o uso do parmetro - (hfen).
darkstar@darkstar:/usr/lib$ cd / darkstar@darkstar:/$ cd /usr/lib darkstar@darkstar:/usr/lib$ _

Para retornarem ao diretrio $HOME especfico do usurio (neste caso, /home/darkstar/), utilizem o parmetro ~ (til) ou ainda apenas cd...
darkstar@darkstar:/usr/lib$ cd ~ darkstar@darkstar~$ _

...ao invs de utilizar o comando e definir todo o caminho /home/darkstar/.

VISUALIZAO
TYPE

Permite visualizar o contedo de arquivos-textos. Sintaxe:


$ type [ARQUIVO]

As mesmas regras do MS-DOS tambm so aplicadas aqui: os arquivos textos sero exibidos normalmente, ao contrrio dos arquivos binrios.
LESS

Possui a mesma finalidade que o comando type visualizao de contedos , porm possibilita realizar a paginao como a utilizao das teclas <SETA_ACIMA>, <SETA_ABAIXO>, <PGINA_ACIMA> e <PGINA_ABAIXO> para rolar o texto ser visualizado. Sintaxe:
$ less [PARMETROS] [ARQUIVO]

O recurso de paginao muito til para visualizar o contedo de arquivos com grande quantidade de textos. Existem diversos parmetros, mas caso queiram realizar uma consulta mais refinada, experimentem digitar...

34/131

$ less -help -//-

... e analisem os resultados exibidos.


FILE

A principal finalidade do comando file exibir informaes sobre o tipo de arquivo desejado. Muito importante para circunstncias em que no sabemos suas origens ou do que se tratam. Sintaxe:
$ file [ARQUIVO]

Observem atentamente os exemplos abaixo para uma melhor compreenso.


$ file fotografia fotografia: JPEG image data, JFIF standard 1.01, resolution (DPI), 72 x 72 $ _

O comando file detectou que o arquivo fotografia trata-se de uma imagem gravada no formato JPEG, fornecendo ainda outras informaes adicionais.
$ file tutorial tutorial: HTML document text $ _

Novamente o comando file detectou a existncia do arquivo-texto tutorial informando ainda que trata-se de um documento HTML, como tambm poderia ser um uma especificao dentro dos padres XML. Logo abaixo, segue o resultado de um arquivo escrito com as especificaes do XHTML.
$ file index.html index.html: XML 1.0 document text $ _

Simples e prtico, no? &;-D


PWD

Este comando apenas mostra em qual diretrio a linha de comando est situado. Basta apenas digitarmos...
$ pwd /home/darkstar $ _

... para obtermos as informaes desejadas. Na linha de comando do Slackware, este comando desnecessrio, pois o prprio sinal de prontido j exibe a sua localizao.
darkstar@darkstar:/usr/local$ _

Porm existiro circunstncias em que este, ao invs de exibir o caminho o qual se encontra, exibir apenas o sinal ~. Isto significa que nos encontramos no diretrio raiz do usurio autenticado.
darkstar@darkstar:~$ pwd

35/131

/home/darkstar darkstar@darkstar:~$ _
MORE

O comando more nada mais do que um filtro paginador das informaes exibidas no vdeo. Serve para realizar pausa de informaes exibidas seqencialmente na tela, como por exemplo, a listagem de um diretrio que possui uma imensa quantidade de tens ou a exibio de contedo de arquivos-textos pausadamente. Sintaxe:
$ [COMANDO] [PARMETROS] | more

Ou...
$ more [ARQUIVO_TEXTO]

Existem diversas situaes em que o uso deste comando ser de bastante utilidade, mas basicamente o utilizaremos apenas para realizar uma listagem pausada. Vejam o exemplo seguir:
$ ls -l /usr/share/ | more total 520 drwxr-xr-x 7 root root drwxr-xr-x 2 root root drwxr-xr-x 5 root root -rw-r--r-1 root root drwxr-xr-x 2 root root drwxr-xr-x 8 root root drwxr-xr-x 8 root root drwxr-xr-x 2 root root drwxr-xr-x 2 root root drwxr-xr-x 4 root root drwxr-xr-x 2 root root drwxr-xr-x 2 root root drwxr-xr-x 6 root root drwxr-xr-x 2 root root drwxr-xr-x 2 root root drwxr-xr-x 7 root root drwxr-xr-x 4 root root drwxr-xr-x 2 root root drwxr-xr-x 2 root root drwxr-xr-x 2 root root drwxr-xr-x 2 root root --Mais-296 48 264 600 176 1600 216 2208 968 160 536 2320 168 1112 216 224 648 608 88 112 200 2004-05-07 2004-08-07 2004-08-07 2004-04-23 2003-02-11 2003-02-11 2002-02-24 2004-09-19 2004-05-21 2004-05-29 2004-06-07 2004-10-22 2003-01-07 2003-01-13 2003-08-29 2004-02-15 2004-05-21 2003-07-28 2004-05-13 2002-10-15 2004-05-16 22:32 20:16 20:16 18:59 22:41 22:41 17:38 21:07 03:38 17:06 19:36 20:42 20:15 22:27 03:17 23:44 03:38 18:30 17:27 22:19 20:47 AbiSuite-2.0 ImageMagick ImageMagick-6.0.4 Ssh.bin WINGs WindowMaker a2ps aclocal aclocal-1.8 alsa application-registry applications apsfilter aspell aumix autoconf automake-1.8 awk battstat_applet bison blackjack

O diretrio /usr/share possui uma infinidade de diretrio em sua estrutura. Uma simples listagem iria exibir todo o seu contedo, porm no realizaria uma pausa para a verificao, de forma que apenas conseguiramos ver as informaes da sada de vdeo do final da operao. Para continuar com a exibio dos dados, basta apenas pressionar <BARRA_DE_ESPAO>:
drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x 2 3 2 5 root root root root root root root root 200 224 72 128 2004-05-16 2004-05-07 2004-06-08 2004-05-13 20:47 16:02 16:57 03:47 blackjack bug-buddy cdrdao control-center

36/131

drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x lrwxrwxrwx drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x --Mais--

7 8 2 3 4 2 3 1 2 7 4 4 3 4 4 4 2 3 3

root root root root root root root root root root root root root root root root root root root

root root root root root root root root root root root root root root root root root root root

176 232 88 72 544 72 72 6 3120 888 104 936 104 96 496 136 48 72 104

2004-06-19 2004-09-19 2004-06-06 2004-06-09 2004-11-15 2003-03-13 2004-05-02 2004-11-01 2004-06-19 2004-02-22 2003-05-23 2002-02-26 2004-05-07 2004-02-21 2004-06-19 2004-06-19 2004-06-19 2004-05-07 2004-11-01

21:09 20:50 22:48 15:28 10:24 22:00 19:22 16:27 20:52 03:25 02:28 02:05 16:40 23:24 17:27 18:50 19:52 17:22 16:40

control-center-2.0 cups curl cvs d4x dict distcc doc -> ../doc eazel-engine elvis-2.2_0 emacs enscript eog epic epiphany epiphany-extensions faces file-roller fonts

Ao pressionarmos <ENTER>, apenas ser exibida a linha seguinte:


drwxr-xr-x drwxr-xr-x drwxr-xr-x --Mais-3 root root 3 root root 2 root root 72 2004-05-07 17:22 file-roller 104 2004-11-01 16:40 fonts 2272 2004-06-19 02:08 galeon

J na leitura de um arquivo texto, o comando more se comportaria da mesma forma:


$ more /mnt/cdrom/COPYRIGHT.TXT The Linux(R) kernel is Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 Linus Torvalds (others hold copyrights on some of the drivers, filesystems, and other parts of the kernel) and is licensed under the terms of the GNU General Public License. LINUX is a registered trademark of Linus Torvalds. (see COPYING in /usr/src/linux) --------------Many other software packages included in Slackware are licensed under the GNU General Public License, which is included in the file COPYING. ---------------This product includes software developed by the University of California, Berkeley and its contributors: Copyright (c) 1980,1983,1986,1988,1990,1991 The Regents of the University of California. All rights reserved. --Mais--(8%)

Observem a existncia dos caracteres --Mais--, indicando a existncia de

37/131

mais informaes aps as exibidas, diferenciando-se apenas a presena de um valor percentual na exibio do contedo de arquivos-textos, indicando a proporo das informaes j visualizadas durante todo o processo. Reforando novamente, ao teclarmos <ENTER> teremos acesso linha seguinte das informaes serem exibidas na tela, similar utilizao da tecla <SETA_ABAIXO>; j teclando <BARRA_DE_ESPAO>, as informaes posteriores ocultas preenchero toda a rea da tela, similar utilizao da tecla <PGINA_ABAIXO>. Para realizarmos uma pausa durante a listagem de arquivos e diretrios, o comando more auxilia bastante; porm para a exibio do contedo de arquivos-textos, o comando less proporciona melhor conforto, pois diferente deste ltimo, o comando more no permite que se possa retornar as informaes passadas com as teclas <SETA_ACIMA> e <PGINA_ACIMA>.
DU

Mostra o espao ocupado por um arquivo ou conjunto de arquivos. Sintaxe:


$ du [PARMETROS] [ARQUIVO/DIRETRIO]

Onde:

du -a
Mostra no s apenas o tamanho dos diretrios, como tambm dos arquivos encontrados.

-b, -k, -m Mostra o tamanho dos arquivos e diretrios em bytes, KB e MB respectivamente (valor padro: byte). -c
Acrescenta uma linha mostrando o tamanho total de todos os arquivos e diretrios.

Existem diversos outros parmetros teis de acordo com as circunstncias, mas para ns, simples usurios, nos interessa apenas conhecer sua simples e direta utilizao, que por sua vez mostrar apenas o tamanho do arquivo e diretrios neles aplicados:
$ du texto.txt 104 texto.txt $ _

Neste caso, o arquivo texto.txt possui apenas 104 KB. J neste outro...
$ du Prova 3o. Bimestre/ 149 Prova 3o. Bimestre/Portugus 245 Prova 3o. Bimestre/Matemtica 394 Prova 3o. Bimestre/ $ _

... o comando mostra os tamanhos de cada subdiretrios, alm do total do

38/131

diretrio principal consultado, contando com o espao ocupado de todos os subdiretrios.

MANIPULAO
MKDIR

Este comando utilizado unicamente para criar diretrios.


$ mkdir [PARMETROS] [NOME_DO_DIRETRIO]

Exemplo:
$ mkdir /home/darkstar/teste $ ls -l /home/darkstar/ total 3 drwx-----3 darkstar users drwxr-xr-x 26 darkstar users drwxr-xr-x 3 darkstar users drwxr-xr-x 2 darkstar users drwxr-xr-x 5 darkstar users $ _

128 1008 320 48 256

Ago Ago Jul Ago Ago

16 9 11 16 16

00:25 22:12 18:54 20:25 20:16

Desktop/ docs/ OpenOffice.org1.0.0/ teste/ z/

Para criar um conjunto de diretrios e respectivos diretamente com um nico comando, utilize o parmetro -p.
$ mkdir -p /[DIRETRIO]/[SUBDIRETRIO]/

subdiretrios

Exemplo:
$ mkdir -p teste/subteste/ $ _
DD

Abreviatura de direct copy, o comando dd possui a finalidade de copiar e transferir dados utilizando as especificaes de bloco de entrada e sada, alm de inmeras outras finalidades. Basicamente utilizado para realizar cpia de arquivos e transferncia de dados conforme sua estrutura. Sua sintaxe bsica :
$ dd if=[ARQUIVO/DADOS] of=[ARQUIVO/DADOS]

Onde estes dados sero formatados de acordo com as definies dos parmetros de entrada (if) e sada (of). Observe este simples exemplo para a cpia de um arquivo:
$ dd if=/dev/hda9 of=/mnt/flash

Este comando copiar todo o contedo da partio hda9 (o diretrio /home) para um dispositivo de memria eletrnica (Pendrive).
CP

Realiza a cpia de arquivos e/ou o contedo de um diretrio. Sintaxe:


$ cp [PARMETROS] [ORIGEM] [DESTINO]

39/131

Sua utilizao to simples quanto o tradicional comando copy do MS-DOS, tendo apenas o diferencial de possuir diversos parmetros, como segue:

cp -f Sobrescreve o arquivo, caso j exista no local de destino. -p Preserva os atributos de permisses e grupos de acesso originais do arquivo copiado. -r Realiza a cpia de diretrios (recursivo).
Segue um simples exemplo para sua utilizao:
$ cp /home/darkstar/docs/texto.txt /mnt/floppy

O exemplo acima copia o arquivo texto.txt para o ponto de montagem /mnt/floppy (um disquete que dever estar previamente montado).
MV

Abreviatura de move, movimenta o(s) arquivo(s) desejado(s) para o local desejado ou renomeia o arquivo ou diretrio desejado.
$ mv [PARMETROS] [ORIGEM] [DESTINO]

Exemplo:
$ mv /home/darkstar/teste/* /home/darkstar/

O comando mv tambm pode ser utilizado para renomear diretrios...


$ mv /home/darkstar/teste/ /home/darkstar/ok

... e arquivos...
$ mv /home/darkstar/rasura /home/darkstar/texto.txt
LN

Cria atalhos para apontar determinados arquivos ou diretrios do sistema. Possuem funcionalidades similares aos tradicionais atalhos do Windows (.lnk), porm bem mais poderosos. Sintaxe:
$ ln [PARMETROS] [ORIGEM] [DESTINO]

Onde:

ln -s Atalho simblico. -d Atalho fsico (somente disponvel para o superusurio).


A diferena entre atalhos simblicos para atalhos fsicos (ou hardlinks) est na manipulao direta do mesmo. O atalho simblico apenas fornece um caminho apontado por ele; j o atalho fsico faz uma referncia direta, 40/131

sendo perfeitamente idntico ao arquivo original em tamanho e permisses de acesso. Sua nica limitao est no fato de no fazer referncias diretrios ou arquivos de outras parties. Uma das principais vantagens da utilizao do atalho a possibilidade de fazer referncias determinados arquivos, ao invs de realizar outras intervenes mais elaboradas. Por exemplo, na necessidade de dispor do navegador firefox para todos os usurios, basta simplesmente...
# ln -s /usr/local/firefox/firefox /usr/bin/firefox

... ao invs de atualizar a varivel $PATH para o caminho do Firefox.

EDITORAO
Muitas das vezes, os arquivos que manipulamos em sistemas GNU/Linux so textos, que por sua vez so passveis de intervenes especiais, em que a edio direta a principal delas. Nos sistemas GNU/Linux, alm dos tradicionais editores de textos em modo grfico, existem ferramentas interessantes como o MCedit.
MCEDIT

Componente indispensvel das ferramentas GNU Midnight Commander, o MCedit um excelente editor de textos ASCII, com uma aparncia muito similar ao j conhecido Edit, do MS-DOS.

Dentre seus comandos, para acionar o menu principal, basta teclarmos <F9>; para que o programaseja encerrado, basta pressionarem <F10>. Para os iniciantes, recomendamos a utilizao deste editor de textos. Mas como estamos num mundo livre, fica a livre-escolha! &;-D

41/131

EXCLUSO
RMDIR

Remover um diretrio j existente.


$ rmdir [PARMETROS] [NOME_DO_DIRETRIO]

Exemplo:
$ rmdir /home/darkstar/teste/ $ _

Porm este comando no pode remover nenhum diretrio que no esteja vazio. Veja o exemplo abaixo:
$ rmdir /home/darkstar/teste/ rmdir: `/home/darkstar/teste': Diretrio no vazio $ _

Para estas circunstncias, o comando rm possui o parmetro -r (recursivo), que apaga todos os diretrios e seus respectivos arquivos. Veja seguir.
RM

Remove um arquivo j existente.


$ rmdir [PARMETROS] [NOME_DO_ARQUIVO]

Exemplo:
$ rm /home/darkstar/texto.txt

Podemos utilizar o parmetro -i, o qual solicita a interao do usurio para a excluso dos arquivos solicitados.
$ rm -i *.txt rm: remove arquivo comum `texto1.txt'? s rm: remove arquivo comum `texto2.txt'? n rm: remove arquivo comum `texto3.txt'? s $ _

Ao teclarmos <N> no ato da verificao, observem que o arquivo-texto texto2.txt foi mantido.
$ ls -l total 4 -rw-r--r-$ _ 1 darkstar users 9 2003-12-26 19:47 texto2.txt

Ao estudarmos o comando rmdir, vimos que ele no pode remover diretrios que possuem contedo. Para esta situao, podemos utilizar o comando rm junto com o parmetro -r para resolver este problema.
$ rmdir teste/ rmdir: `teste/': Diretrio no vazio $ rm -r teste/ $ _

42/131

PERMISSES

E ATRIBUTOS DE ARQUIVOS E DIRETRIOS

Alm da manipulao bsica dos arquivos em sistemas GNU/Linux, poderemos tambm definir as permisses e atributos especficos deste elementos de acordo com as nossas necessidades.

PERMISSES

DE ACESSO

Ao listarmos o contedo de um determinado diretrio com o comando ls -l, poderemos observar a existncia de vrias colunas contendo informaes referentes a: tipo e permisso de acesso, nmero de atalhos, proprietrio, grupo, tamanho e nome, respectivamente.
lrwxrwxrwx drwxr-xr-x lrwxrwxrwx lrwxrwxrwx lrwxrwxrwx drwxr-xr-x 1 17 1 1 1 4 darkstar darkstar darkstar darkstar darkstar darkstar users 11 2005-02-18 22:03 cdrom -> /mnt/cdrom/ users 464 2005-03-10 23:57 docs users 11 2005-02-18 22:03 flash -> /mnt/flash/ users 12 2005-02-18 22:03 floppy -> /mnt/floppy/ users 9 2005-02-18 22:03 pkg -> /mnt/pkg/ users 208 2005-03-12 21:17 z

No modo texto, existem 10 seqncias de caracteres chamados flag.


lrwxrwxrwx drwxr-xr-x lrwxrwxrwx lrwxrwxrwx lrwxrwxrwx drwxr-xr-x 1 17 1 1 1 4 darkstar darkstar darkstar darkstar darkstar darkstar users users users users users users

O primeiro caracter indica o tipo do elemento:

Tipo de elemento d Diretrio. l


Atalho (link).

c Dispositivo tipo character. b Dispositivo tipo bloco.


Aos demais caracteres da coluna de permisses de acesso refere-se s flags de permisses definidas para os arquivos e/ou diretrios presentes. No modo grfico, a 1a. coluna omitida, visto que os recursos visuais facilitam a exibio do tipo do item.

43/131

Diretrio raz do sistema atravs do Konqueror, onde so exibidos suas respectivas permisses de acesso, definies de usurio e grupo.

Estas 9 seqncias de letras subdividem-se nos seguintes grupos:

Categoria & Especificao Dono 1a. a 3a. letras da seqncia, refere-se s permisses de acesso do dono do arquivo em questo neste caso, darkstar.

Grupo 4a. a 6a. letras da seqncia, refere-se s permisses de acesso do grupo o qual o dono do arquivo pertence neste caso, users. Todos 7a. a 9a. letras da seqncia, refere-se s permisses de acesso dadas queles que no sejam donos e nem pertencem ao grupo de acesso do qual o arquivo pertence.
CHMOD

Em modo texto, poderemos utilizar o comando chmod para alterar as permisses de acesso destes elementos de acordo com sua necessidade. Sintaxes:
# chmod [ugoa] {+-} [rwx] [ARQUIVO_OU_DIRETRIO]

...ou...
# chmod [NNN] [ARQUIVO_OU_DIRETRIO]

Onde:

Categoria [ugoa] Caracter u g users Definio de categoria (ajusta as flags...)


... apenas para usurio (dono) do arquivo.

group ... apenas para o grupo o qual o usurio se encontra.

44/131

Caracter o a other all

Definio de categoria (ajusta as flags...)


... para outros que no pertenam ao grupo do usurio. ... para todos.

Sinais de atribuio {+-} Sinal + flags [rwx] flags r x read w write Arquivo
Leitura. Escrita.

Significado / Funo
Habilita os parmetros indicados. Desabilita os parmetros indicados.

Diretrio
Acesso ao dados de seu contedo Gravao de dados em seu contedo.

execute Execuo. Visualizao de dados contedo de seu contedo.

nnn valor numrico [NNN] Categoria (Equivale de...)

1o. nmero ... 2a. a 4a. seqncia de letras (dono). 2o. nmero ... de 5a. a 7a. seqncia de letras (grupo). 3o. nmero ... de 8a. a 10a. seqncia de letras (outros).
O valor de [NNN] ser especificado na 2a. sintaxe varia de 0 7, e seu significado corresponde ao seguinte:

N Funcionalidade bsica (permisso...) 0 1 2 4


Nenhum. ... apenas para executar. ... apenas para gravar. ... apenas para ler.

Outro recurso interessante da atribuio dos valores numricos a sua combinao para a definio de mltiplas flags. Observe a tabela abaixo:

N Combinao 3 5 6 1+2 1+4 2+4

Funcionalidade combinada
Permisso para executar (1) e gravar (2). Permisso para executar (1) e ler (4). Permisso para gravar (2) e ler (4). 45/131

N Combinao 7 1+2+4

Funcionalidade combinada
Permisso para executar (1), gravar (2) e ler (4).

No geral fica assim:

N 0 1 2 3 4 5 6 7 Exemplos prticos

Funcionalidades totais
sem permisso. Permisso apenas para executar. Permisso apenas para gravar. Permisso para gravar e executar. Permisso apenas para ler. Permisso para executar e ler. Permisso para gravar e ler. Permisso para executar, gravar e ler.

Realizaremos alguns simples exemplos da utilizao de cada sintaxe para que possamos facilitar a compreenso de seu funcionamento. Exemplo 1:
$ chmod u-x [ARQ/DIR]

Desabilita a execuo do arquivo ou a visualizao do contedo do diretrio especificado apenas para o usurio. Habilita a leitura do arquivo ou o acesso ao diretrio especificado apenas para o grupo do qual o usurio se situa. Desabilita a escrita do arquivo ou a gravao de arquivos no diretrio especificado somente para outros que no seja o usurio, nem pertenam ao grupo deste. Desabilita a execuo do arquivo ou a visualizao do contedo do diretrio especificado para todos os usurios.

$ chmod g+r [ARQ/DIR]

$ chmod o-w [ARQ/DIR]

$ chmod a+x [ARQ/DIR]

Exemplo 2:
$ chmod 754 [ARQ/DIR]

Permisso para executar, gravar e ler pelo usurio (7); ler e executar pelo grupo o qual pertena o usurio (5); apenas leitura para outros que no pertenam ao grupo (4).

Parece um pouco complicado, mas com a prtica aos poucos ns iremos nos 46/131

familiarizando. &;-D

GRUPOS

E CATEGORIAS

Alm das flags de permisses de acesso, os sistemas GNU/Linux possuem tambm definies de usurios e grupos para cada arquivo e/ou diretrio criado no sistema. Somente o superusurio que tem permisses para realizar as alteraes de usurios e grupos.
CHOWN

O comando chown utilizado para mudar dono e grupo de um arquivo ou diretrio. Sua sintaxe bsica :
# chown [USURIO].[GRUPO] [ARQUIVO_OU_DIRETRIO]

Onde [USURIO].[GRUPO] so as especificaes do novo usurio e grupo para o arquivo e/ou diretrio desejado. Segue um simples exemplo:
# chown darkstar.users /home/darkstar/texto.txt

... ou...
# chown root.root /usr

Para definir os mesmos valores nos arquivos e diretrios de um determinado diretrio, deveremos ento utilizar o parmetro -R (recursivo).
# chown -R root.root /usr
CHGRP

Possui a mesma finalidade que o comando chown, porm apenas atua na modificao do grupo. Sintaxe bsica:
# chgrp [GRUPO] [ARQUIVO_OU_DIRETRIO]

Exemplo:
# chgrp root /usr

Da mesma maneira, podemos definir recursivamente com o parmetro -R.


# chgrp -R root /usr
UMASK

contedo

do

diretrio

Define as permisses padres que os arquivos e diretrios devero ter no momento em que sero criados.
# umask [NNN]

Apesar de atribuir as permisses de acesso utilizando a mesma metodologia do comando chmod, o comando umask utiliza valores diferenciados para os nmeros os quais utiliza. Segue sua tabela de permisses de acesso, equivalente ao chmod, porm com valores invertidos, conforme vemos: 47/131

N 6 5 4 3 2 1 0

Valor (permisso...)
sem permisso. Permisso apenas para executar. Permisso apenas para gravar. Permisso para gravar e executar. Permisso apenas para ler. Permisso para executar e ler. Completo leitura / execuo / escrita.

Por padro, o valor das permisses praticadas pelo umask 022, que corresponde ao 644 utilizado pelo chmod, ou seja, apesar de serem as mesmas definies de permisses de acesso, os valores numricos so exatamente opostos. Para alterar o valor umask, basta utilizar o comando...
$ umask [VALOR]

Onde [VALOR] dever ser o novo perfil de valores das permisses serem adotadas. Para torn-lo padro todos usurios, basta editar o arquivo /etc/profile e alterar suas definies...
# Default umask. A umask of 022 prevents new files from being created group # and world writable. umask 022

... para...
umask [VALOR]

Uma questo importante est no uso da permisso para execuo. Mesmo que na criao da grande maioria dos arquivos no necessitem, os diretrios precisam dela para que possamos acess-los.

CPIAS

DE SEGURANA E COMPACTAO

A cpia de segurana uma das operaes de vital importncia para a boa manuteno dos dados e informaes contidas em uma unidade de armazenamento. Basicamente dividida em 2 etapas: arquivamento e compactao.

ARQUIVAMENTO
O ato de arquivar consiste basicamente em reunir um conjunto de arquivos, diretrios ou ainda, uma estrutura de arquivos e diretrios, em apenas um nico arquivo. Para esta operao, temos um timo utilitrio de linha de comando, chamado TAR.

48/131

TAR

O TAR Type ARchive , conforme acima explicado, um eficiente arquivador de dados. Sua sintaxe bsica :
$ tar [PARMETROS] [ARQUIVO_OU_DIRETRIO_OU_ESTRUTURA]

Pelo fato de possuir vastos recursos, existe uma imensidade de parmetros relacionados. Descreveremos aqui apenas os mais utilizados.

Gerais -v -f
Modo verbose exibe o andamento da operao no vdeo. Tratamento de arquivo, device ARQ.

-w Solicita a confirmao para cada operao realizar. -M Criao / listagem / extrao de mltiplos volumes
Alm dos parmetros gerais, encontram-se tambm outros arquivamento propriamente dito. Segue tabela abaixo: para o

Arquivamento -c Criao de um novo arquivo, o destino. -r Acrescenta arquivos um pacote j criado.


Com o TAR podemos tambm visualizar o contedo de pacotes gerados, alm de realizar alguns processos de comparao.

Verificao -t
Lista o contedo de um arquivo gerado.

-d Compara o arquivo gerado com os arquivos atuais.


Ainda poderemos utilizar parmetros especficos para compactar ou descompactar os pacotes.

Compresso / Descompresso -j Compresso / descompresso com Bzip2. -z Compresso / descompresso com Gzip.
Por ltimo, tambm existem alguns parmetros extras para facilitar as atividades de extrao dos pacotes criados, tendo destaque a descompactao e extrao simultnea.

Extrao -x Extrao de dados arquivados. -p Mantm as permisses originais dos dados arquivados.

49/131

Exemplos bsicos
$ tar -cvf BACKUP.tar *

Sero empacotados todos os arquivos e subdiretrios do diretrio corrente no arquivo BACKUP.tar.


$ tar -rf TEXTO.txt BACKUP.tar

Ser anexo o arquivo TEXTO.txt ao pacote BACKUP.tar.


$ tar -xvf BACKUP.tar

Ser desempacotado o pacote BACKUP.tar.gz.


$ tar -xvzf BACKUP.tar.gz

Ser descompactado e desempacotado o pacote BACKUP.tar.gz.

Observaes
Apesar de ser apenas um empacotador, o TAR tambm pode gerar pacotes compactados com o auxlio dos compactadores gzip e bzip2, com a utilizao dos parmetros z (z) e j (jota), respectivamente. J os utilitrios de compactao descritos apenas geram um nico arquivo por vez, sendo necessrio a utilizao dos empacotadores para criar um nico arquivo compactado com uma estrutura de arquivos e diretrios, quando necessrio. Por ltimo, em algumas circunstncias sero necessrias ferramentas como cat e split para o manuseio de arquivos e pacotes com grandes e/ou diversos volumes.

COMPACTAO
A compactao de arquivos nos sistemas GNU/Linux feita tradicionalmente atravs dos seus prprios utilitrios de linha de comando disponveis na distribuio, no necessitando de quaisquer outro para as funcionalidades bsicas. Os arquivos ou estrutura de arquivos e diretrios tambm podem ser manipulados por outros utilitrios grficos, conforme o interesse do usurio. Existem diversos compactadores para o sistema, mas os principais utilizados so gzip, bzip2 e em alguns casos zip.
GZIP

GUNZIP

Atualmente o compactador mais utilizado entre os disponveis. Sintaxe:


$ gzip [PARMETROS] [ARQUIVO_ORIGEM]

Onde:

gzip -c -d
Mantm o arquivo original (no apaga). Descompacta o arquivo (o mesmo que utilizar apenas gunzip).

50/131

gzip -l -v
Listagem de contedo do arquivo compactado. Exibe informaes do processo.

- (1 at 9) Variao da taxa de compresso, onde 1 = compresso rpida (baixa) e 9 = compresso lenta (alta).
Para simplesmente compactar um arquivo...
$ gzip [ARQUIVO]

Para compactar um arquivo com alta taxa de compresso...


$ gzip -9 [ARQUIVO]

Para descompactar um arquivo comprimido.


$ gzip -d [ARQUIVO]

... ou...
$ gunzip [ARQUIVO]
BZIP2

BUNZIP2

O 2o. compactador mais utilizado pelos linuxistas. Alm de sua vasta utilizao, possui uma boa vantagem em comparao gzip: consegue obter taxas maiores de compresso, chegando reduzir o arquivo em at 20% mais. Em contrapartida, exige uma maior demanda de processamento, onde a sua utilizao em computadores de pouco desempenho ou em arquivos de grandes volumes faz sentir uma grande perda de tempo. Sintaxe:
$ bzip2 [PARMETROS] [ARQUIVO]

Onde:

bzip2 -d Descompacta o arquivo (o mesmo que utilizar apenas bunzip2). -f


Fora o modo sobre-escrita (cria um pacote e grava em cima de um j existente).

-s Reduz o consumo de memria durante a compactao (ideal para mquinas com pouca memria). -v Modo verbose exibe o andamento da operao no vdeo.
Para realizar a compactao de um arquivo, basta...
$ bzip2 [ARQUIVO]

Para descompactar...
$ bunzip2 [ARQUIVO].bz2

51/131

ZIP

UNZIP

Os comandos zip e unzip so respectivamente compactador e descompactador de volumes .zip criados pelos utilitrios *Zip dos sistemas MS/DOS e Windows. Sintaxe:
$ zip [PARMETROS] [DESTINO] [ORIGEM]

Onde:

zip / unzip -e -r
Modo seguro permite a utilizao de senha de proteo, esta solicitada no ato da compactao / descompactao.

Recursive Compacta arquivos e diretrios.

- (1 at 9) Variao da taxa de compresso, onde 1 = compresso rpida (baixa) e 9 = compresso lenta (alta).
Para realizar uma simples compactao, basta utilizar.
$ zip BACKUP.tar NOVO-BACKUP.zip

... ou...
$ zip -r SOURCE PROGRAMA.zip

Para descompactar um arquivo para um diretrio especfico...


$ unzip -d /tmp BACKUP.zip

UTILITRIOS
SPLIT

Divide um arquivo em vrias partes. Sintaxe:


$ split [PARMETROS] [TAMANHO][UNIDADE_DE_MEDIDA] [ARQUIVO]

Onde:

split -b Define a unidade de medida: byte (b), KB (kb) e MB (mb).


Exemplo:
$ split -b 1440kb BACKUP.tar.gz

Sero gerados diverso arquivos com o tamanho especificado com a nomenclatura xaa, xab, xac, etc., bastando apenas grav-los em disquetes para o seu transporte. Para reuni-los novamente em um s (concaten-los), utilize o comando cat.

52/131

CAT

O comando cat possui diversas opes e funcionalidades, como poderemos ver ao checar sua documentao. Mas para operaes bsicas, ele bastante utilizado em operaes de visualizao e concatenao. Sintaxe:
$ cat [OPTION] [ARQUIVO]

Visualizao de contedo
Para realizar uma visualizao do arquivo texto.txt, basta utilizar...
$ cat texto.txt -//-

... onde o contedo do arquivo mencionado ser impresso no vdeo.

Concatenao
Alm das funes de visualizao propriamente dita, o comando cat tambm realiza a concatenao (unio) de arquivos em um s. Basta utilizar a sintaxe...
$ cat [ARQUIVO_TEXTO_1] [ARQUIVO_TEXTO_2] > [ARQUIVO_TEXTO_FINAL]

... para que sejam unidos os arquivos desejados em apenas um s. Um detalhe importante que dever ser observado est na ordem dos arquivos serem concatenados. Segue um exemplo simples e prtico:
$ cat texto.txt mais_info.txt > texto1.txt

Para mesclar arquivos gerados pelo split (veja seo anterior)...


$ cat x* > [ARQUIVO_ORIGINAL]

Uma recomendao dada utilizao deste comando refere-se ao arquivo destino. No devemos utilizar o mesmo arquivo para receber o contedo dos arquivos mesclados, podendo ter o risco de ocorrncias imprevisveis, onde a perda dos dados certamente indesejada.

CONCLUSO
Existe uma infinidade de possveis operaes onde necessria a manipulao direta de arquivos e diretrios. As operaes descritas neste captulo so apenas as mais comuns, necessrias para a grande maioria dos usurios em desktops. Caso queiram se aprofundar, consultem as pginas de manual disponveis na distribuio. Novamente reforando: outra recomendao bastante interessante para esta atividade est no uso do gerenciador de arquivos Konqueror, que prov excelentes recursos para estas atividades. &;-D

53/131

V. UNIDADES,
INTRODUO

PARTIES E FORMATOS

Como ns j sabemos, todos os sistemas operacionais alocam suas informaes em sistemas de armazenamento de dados de vrios tipos (unidades), que podem ser subdivididos em vrias partes (parties) e utilizarem um mtodo de escrita especfico (sistema de arquivos). Neste captulo iremos conhecer as particularidades das distribuies GNU/Linux quanto este aspectos, alm de obter instrues para a manipulao atravs das ferramentas disponveis na linha de comando.

OS

SISTEMAS DE ARQUIVOS

Sistemas de arquivos so mtodos de representao para a organizao dos arquivos (dados) em um determinado meio de armazenamento. Ao realizarmos a formatao de uma unidade qualquer (seja disco rgido, disquete, zips, etc.), estaremos condicionando a sua estrutura para que esteja pronto para receber dados.

TIPOS

DE PARTIES E SISTEMAS DE ARQUIVOS

Os sistemas GNU/Linux suportam uma infinidade de tipos de sistemas de arquivos, onde as mais importantes so:
SWAP

A partio swap um espao do disco rgido reservado para o uso do sistema operacional como complemento da memria RAM. Quando a memria principal do sistema operacional est completamente cheia e existe a necessidade de executar alguma tarefa que exija mais consumo de memria, as informaes que esto contida na memria principal so gravadas nesta partio em separado enquanto o sistema carrega para a memria principal as informaes requeridas por esta tarefa. Assim que encerrada, a memria principal esvaziada e novamente recarregada com as informaes contidas na partio swap.
EXT2

O sistema de arquivos ext2 o padro dos sistemas GNU/Linux. Possui muitas similaridades em comparao aos sistema VFAT utilizado no Windows, como o suporte a nomenclatura de arquivos com 256 caracteres e tamanho de clusters fixo em 4 KB, alm da limitar o tamanho de arquivos para 2 GB. Porm um dos principais diferenciais a possibilidade de atribuio de permisses especiais aos arquivos criados neste sistema. Somente iremos operar nestes arquivos de acordo com os atributos 54/131

definidos pelo usurio que o criou (dono) ou o administrador. Estes atributos so a leitura, a escrita e a gravao.
EXT3

Na verdade, o ext3 no difere muito do sistema de arquivos ext2, porm apresenta o recurso journaling, que caracteriza-se por manter arquivadas no disco rgido uma imagem do estado do sistema de arquivos atualizada constantemente um arquivo na raz da partio chamado .journal. Com isto, toda vez que houver algum erro no sistema que necessite da reinicializao, o estado do sistema de arquivos automaticamente restaurado baseando-se apenas nas informaes registradas neste arquivo. Na prtica, isto substitui a necessidade da utilizao do fsck, em que ao realizar a checagem da integridade do sistema de arquivos, consome muito tempo e indisponibiliza o sistema por longos intervalos. Atualmente o sistema de arquivo ext3 est sendo gradativamente substitudo pelo ReiserFS em virtude de suas qualidades, em especial o conceito Alta disponibildade, extremamente importante em servidores e sistemas que necessitam ter o menor tempo de parada (fora do ar) possvel.

REISERFS
<http://www.namesys.com/>. Criado pela empresa Namesys, o sistema de arquivos ReiserFS foi desenvolvido visando adequar-se ao conceito Alta disponibilidade. Por exemplo, quando ocorre uma queda no sistema resultante de falhas em arquivos ou falta de energia, ao reiniciarmos as parties ext2 e ext3, teremos uma verificao de sua integridade feita automaticamente pelo programa e2fsck. Mas dependendo do tamanho e da quantidade de parties, este processo requer um tempo considervel vrios minutos, algo bastante indesejado em circunstncias em que existe a necessidade de alta disponibilidade das mquinas. No sistema de arquivos ReiserFS, ao invs de realizar a checagem total, ele apenas consulta o arquivo journal, onde o mesmo apenas informa as definies prvias para a restaurao. Dentre outras caractersticas importante do ReiserFS est nos seus pequenos clusters, que possuem tamanho mximo de 512 bytes, ideal para a utilizao em armazenamento de inmeros arquivos de pequeno volume, o que acarreta menor perda de espao. Alm disso, no h a limitao de 2 GB para arquivos que ultrapassem este tamanho.5

ISO9660
O sistema de arquivos ISO9660 somente utilizado para os CD-ROMs,
5 Isto torna este sistema de arquivos uma excelente opo para trabalharmos com gerao de imagens e gravao de DVD-R/W, o que no quer dizer que no seja possvel realizar estas atividades nos sistemas ext2 e ext3.

55/131

devido natureza de seu armazenamento de dados permanente, impossibilitando o sistema operacional de definir um sistema de arquivos. A imagem ISO nada mais um arquivo especial que contm as informaes sobre todos os arquivos que sero gravados em uma mdia de CD-R/RW, utilizando-se o formato ISO9660.
MSDOS E VFAT

Os tradicionais formatos de sistema de arquivos do MS-DOS e Windows. Apesar de no serem utilizados pelos sistemas GNU/Linux e em virtude de sua popularizao, estes sistemas de arquivos so plenamente bem suportados por praticamente todas as distribuies existentes. Na utilizao de disquetes como transporte de dados, recomendvel a utilizao destas formataes para que os mesmos possam ser lidos em outros computadores providos do sistema operacional Windows. Em especial, o sistema vfat, que possibilita visualizar os arquivos com nomes longos (mais de 8.3 caracteres), o qual recomendada a sua utilizao no acesso estes dispositivos.

DIFERENAS

ENTRE OS SISTEMAS DE ARQUIVOS

REISERFS

EXT3

J que este sistema se comporta da mesma maneira que o ext3, por que ento o ReiserFS est substitundo o sistema de arquivos ext3? A principal diferena est exatamente no recurso journaling do sistema de arquivos ReiserFS funciona de forma diferente do sistema ext3: O ReiserFs apenas armazena informaes sobre o espao dos arquivos e permisses, ao passo que o Ext3 alm de executar estas funes ainda salvaguarda o prprio contedo dos arquivos afetados durante uma queda do sistema. A grande vantagem do sistema ReiserFS est na facilidade de recuperar a consistncia do sistema de arquivos em um tempo mnimo (dcimos de segundos). Praticamente torna-se inexistente a possibilidade de uma pane em alguma pasta ou at mesmo nas parties do disco rgido. Em contrapartida, caso o sistema esteja sofrendo gravaes de dados no exato momento da queda, estas arquivos infelizmente no podero ser recuperados, pois seu contedo estar truncado ou incompleto. J o sistema Ext3 apresenta caractersticas quase que opostas ao ReiserFS: pelo fato de realizar a manuteno dos dados gravados no exato momento da queda do sistema, as possibilidades de recuperao destes arquivos so infinitamente maiores. Em contrapartida, praticamente certo a degradao de desempenho face s constantes gravaes em seu log de sistema. Alm disso, existe a possibilidade do prprio journal se corromper durante a queda do sistema, que com isto acarreta na necessidade da utilizao do demorado processo de recuperao com o fsck.

56/131

AS

UNIDADES E AS PARTIES

As unidades, so como o prprio nome diz, dispositivos fsicos especiais utilizados para o armazenamento de dados. J as parties so divises criadas no disco rgido que so utilizadas para diversas finalidades. Entre elas, a mais importante a organizao e otimizao dos dados nela arquivados e conseqentemente do sistema como um todo. Um disco rgido poder ter diferentes tipos de parties e com isto poderemos at mesmo alocar diferentes sistemas operacionais em uma nica unidade, conforme veremos mais adiante. Existem diversos tipos de unidades, das quais as principais so os disquetes, os discos rgidos e a unidade de CD-ROM. Alm destas, existem outras menos comuns, como o Zip-drive, a memria eletrnica, o gravador de CD-R/RW, entre muitos outros. Todas elas so suportadas e acessveis pelos sistemas GNU/Linux, mas isto no momento no o mais importante. O que deveremos realmente dar importncia o sistema de arquivos.

OPERAES
GERAL
TRABALHANDO

E ATIVIDADES AFINS

COM PARTIES E UNIDADES

Existem uma infinidade de operaes que podero ser realizadas, mas antes de mais nada, ser necessrio obter acesso estas para realizar as operaes mais cotidianas, no mesmo?
MOUNT

UMOUNT

Os comandos mount e umount so utilizados respectivamente para montar (ter acesso) e desmontar (retirar acesso) parties e unidades. Sua sintaxe bsica a seguinte:
$ mount [PARMETROS] [DEVICE] [PONTO_DE_MONTAGEM]

Onde:

mount / umount Parmetros Device


Opes diversas de utilizao. Dispositivos que se deseja montar.

Ponto de montagem Diretrio de acesso destes dispositivos.


Dentre os principais parmetros existentes, destaca-se:

mount / umount -a Auto. Montagem automtica.


57/131

mount / umount -F Force. Montagem de modo forado. -r -t Read only. Permisso somente para leitura. Type. Pr-define o sistema de arquivos o qual a partio se encontra para ser montado. Dentre os tipos suportados, segue: ext2, ext3, iso9660, msdos / umsdos, reiserfs e vfat. Verbose. Exibe informaes adicionais do processo.

-v

-w Write. Permisso para escrita.


Segue alguns exemplos para melhor ilustrar:
$ mount /dev/hda5 /mnt/hd $ mount -t vfat /dev/hda1 /mnt/win

Para obter maiores informaes, consulte a ajuda ou o manual eletrnico do comando mencionado.

Disquetes
Os disquetes so acessados tradicionalmente utilizando seus respectivos devices, conforme tabela abaixo:

DOS / GNU/Linux A: B:
$ mount /dev/fd0 /mnt/floppy

/dev/fd0 /dev/fd1

Para acess-los, bastar utilizar a seguinte sintaxe: Onde /mnt/floppy poder ser omitida caso a unidade esteja especificado em /etc/fstab. Tanto para os disquetes como quaisquer outras unidades que utilizam o sistema VFAT, deveremos incrementar este comando o seguinte parmetro:
$ mount -t vfat /dev/fd0 /mnt/floppy

Ser desnecessria a utilizao do parmetro -t vfat se ele estiver previamente especificado em /etc/fstab.

CD-ROM/RW
Estas unidades so acessados com a utilizao do comando...
$ mount /dev/cdrom /mnt/cdrom

Onde /mnt/cdrom poder ser omitida caso a unidade esteja especificado em /etc/fstab. Caso contrrio...
$ mount -t iso9660 /dev/cdrom /mnt/cdrom

Da mesma forma que no disquete, ser desnecessria a utilizao do 58/131

parmetro -t iso9660 se ele estiver previamente especificado em /etc/fstab. Lembre-se de que /dev/cdrom apenas um atalho apontado para o verdadeiro dispositivo do CD-ROM/RW, onde provavelmente sero /dev/hdb ou /dev/hdc, de acordo com as configuraes da mquina em uso.

Memria eletrnica
Para montar uma unidade de memria eletrnica, deveremos recorrer ao device responsvel pela emulao SCSI.
$ mount /dev/sda1 /mnt/[PONTO_DE_MONTAGEM]

Onde [PONTO_DE_MONTAGEM] ser o diretrio ser criado para aquele dispositivo (p. ex.: /mnt/flash).

Zip-drive
O mesmo ocorre com unidades de zip-drive, porm o acesso esta ser realizado somente com a utilizao do device sda4, ao invs do sda1.
$ mount /dev/sda4 /mnt/[DIRETRIO_CRIADO_PARA_O_DISPOSITIVO]

Desmontagem
Para desmontar quaisquer dessas unidades, deveremos apenas utilizar...
$ umount /dev/[UNIDADE]

... ou...
$ umount [PONTO_DE_MONTAGEM]

Um detalhe importante que o comando umount checa se os dados serem gravados nas unidades ser desmontadas foram realizados, para depois efetivar a desmontagem prpriamente dita dos dispositivos.
SYNC

Realiza toda a transferncia de dados da cache do sistema (arquivos e diretrios) para a unidade montada (disquete, memria eletrnica, CDROM, etc.), para que possamos desmontar a unidade imediatamente.
$ sync

muito til em circunstncias em que no sabemos porque o dispositivo no desmonta, mesmo que todas as operaes estejam concludas.

DEFINIO

DE SISTEMA DE ARQUIVOS

Os respectivos utilitrios que utilizaremos em linha de comando para estas atividades so mkfs, mkreiserfs e mkswap.
MKFS

O mkfs o utilitrio usado para criar um sistema de arquivos.

59/131

Sintaxe:
# mkfs.ext2 [PARMETROS] /dev/[PARTI0]

Onde:

mkfs -b -c
Definio do tamanho do bloco (cluster). Checagem de blocos danificados.

-L [NOME] Label Define um nome para o sistema de arquivos.


O mkfs possui extenses, das quais cada uma possui a finalidade de criar um sistema de arquivos especficos:

mkfs mkfs.ext2 mkfs.ext3 Extend 2. Extend 3.

mkfs.msdos MS -DOS.
Estas opes podero ser omitidas, desde que utilizemos o parmetro -t, acompanhado do sistema que se queira criar (msdos, ext2, ext3, etc.).
# mkfs -t [SIST._ARQUIVOS] [PARMETROS] /dev/[PARTI0]

Observem tambm que o mkfs no suporta o sistema de arquivos ReiserFS, sendo necessrio ento utilizar outra ferramenta, o mkreiserfs.
MKREISERFS

Conforme dito na seo anterior, o utilitrio mkreiserfs utilizado para definir um sistema de arquivos ReiserFS em uma partio. Sintaxe:
# mkreiserfs [PARMETROS] /dev/[PARTI0]

Onde:

mkreiserfs -b
Definio do tamanho do bloco (cluster).

-L [NOME] Label Define um nome para o sistema de arquivos. -s [VALOR] Define o tamanho do arquivo de journal em blocos.
MKSWAP

SWAPON

Formata uma partio swap para ser utilizada no sistema. Sua utilizao simples, bastando digitar na linha de comando...
# mkswap /dev/[PARTIO]

60/131

Para ativ-la ao sistema, deveremos utilizar...


# swapon /dev/[PARTIO]

VERIFICANDO

AS PARTIES E UNIDADES DO SISTEMA

Existem diversas ferramentas para a checagem das parties e unidades do sistema, dentre as quais, as principais usadas so:
DF

Verifica o espao ocupado das unidades montadas. Sintaxe:


$ df [PARMETROS]

Onde:

df -h Exibe as dimenses em MB (hm) e GB (h). -T Exibe o sistema de arquivos utilizado.


Ao utilizar somente o df, teremos apenas esta simples avaliao:
# df Filesystem /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 /dev/hda9 /dev/hda10 # _ 1k-blocks 2104408 7341440 2104408 1052184 1052184 24879804 Used Available Use% Mounted on 339684 1764724 17% / 1841004 5500436 26% /usr 51984 2052424 3% /var 39240 1012944 4% /tmp 177076 875108 17% /home 282344 24597460 2% /usr/pkg

Definindo o parmetro -T, veremos o sistema de arquivos utilizado...


# df -T Filesystem Type /dev/hda5 reiserfs /dev/hda6 reiserfs /dev/hda7 reiserfs /dev/hda8 reiserfs /dev/hda9 reiserfs /dev/hda10 reiserfs # _ 1k-blocks 2104408 7341440 2104408 1052184 1052184 24879804 Used Available Use% Mounted on 339808 1764600 17% / 1841004 5500436 26% /usr 51984 2052424 3% /var 39240 1012944 4% /tmp 177076 875108 17% /home 282344 24597460 2% /usr/pkg

Com a utilizao do parmetro -h, teremos as informaes desejadas em GB.


# df -h Filesystem /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 /dev/hda9 Size 2.0G 7.0G 2.0G 1.0G 1.0G Used Avail Use% Mounted on 332M 1.6G 17% / 1.8G 5.2G 26% /usr 51M 1.9G 3% /var 39M 989M 4% /tmp 173M 854M 17% /home

61/131

/dev/hda10 # _

23G

276M

22G

2% /usr/pkg

Os parmetros tambm podem ser utilizados combinados (p. ex. -Th).


BADBLOCKS

Utilizado para checar blocos defeituosos na unidade de disco rgido. Sintaxe:


# badblocks [PARMETRO] /dev/[PARTIO]

Onde:

badblocks -b Define o tamanho do bloco ser checado. -v Modo verbose mostra as operaes em andamento.
Para realizarem uma checagem bsica, utilizem...
# badblocks -b 4096 /dev/[PARTIO]

Normalmente os tamanhos de blocos utilizados pelos atuais sistemas de arquivos so de 4.096 bytes.
FSCK

Realiza uma checagem da unidade em questo, procurando por reas e blocos danificados que porventura possam existir na unidade de disco rgido. Sintaxe:
# fsck.[FS] [PARMETRO] /dev/[PARTIO]

Onde:

fsck [FS] Filesystem sistema de arquivos propriamente dito (ext2, ext3, xiafs, minix, etc.). -a
Modo automtico realiza as operaes sem realizar qualquer pergunta (inverso de -r PERIGOSO!). Para sistemas de arquivos ext2, dever ser utilizado o parmetro -p para obter a mesma funcionalidade, visto que -a somente encontrase por questes de compatibilidade.

-c -f -r

Verifica os blocos defeituosos e atualiza a tabela da unidade, marcando-os como invlidos.

Force realiza a checagem em modo forado.


Modo interativo realiza algumas perguntas antes de efetuar as

62/131

fsck
operaes (inverso de -a).

-t -v -y

Define o sistema de arquivos utilizado. Modo verbose visualizar as operaes em execuo. Confirmao para aceitar todos as perguntas realizadas no modo interativo.

Para uma simples e bsica checagem em uma partio ext3:


# fsck.ext3 /dev/[PARTIO]

Para uma partio ext2 tambm poderemos utilizar...


# e2fsck /dev/[PARTIO]

Onde e2fsck um apelido para fsck.ext2. Em um disquete formatado para DOS basta utilizar...
# fsck -t msdos /dev/fd0

importante observar que as unidades avaliadas devero estar desmontadas. Alm disso, o fsck somente funciona em sistemas de arquivos ext2 e ext3, no sendo til em parties ReiserFS e VFAT.
REISERFS

Tambm realiza uma checagem da unidade em questo, procurando por reas e blocos danificados que porventura possam existir na unidade de disco rgido; sendo que esta ferramenta foi desenvolvida para ser utilizada unicamente em sistemas de arquivos ReiserFS. Sintaxe:
# reiserfs [PARMETRO] /dev/[PARTIO]

Exemplo:

reiserfs -a Exibe detalhes sobre o sistema de arquivos. -j


Especifica um arquivo journaling alternativo para ser utilizado.

-q No exibe nenhuma mensagem de status.


Para uma simples e bsica checagem, utilizem...
# reiserfs /dev/[PARTIO]

Lembrem-se: as parties devem estar previamente desmontadas.

63/131

TRANSFERINDO
DD

DADOS

Alm da cpia direta de arquivos e dados, o comando dd tambm poder ser utilizado para criar cpias de dados das parties desejadas. Para obterem maiores informaes, consultem nesta parte o captulo Manipulao de arquivos de diretrios.

DISQUETES
Em virtude da imensa utilizao desta unidades de armazenamento, resolvemos descrever um conjunto de instrues para facilitar ao mximo sua utilizao em sistemas GNU/Linux.

UTILIZAO
No MS-DOS, o processo de utilizao de disquetes algo relativamente simples, onde basta apenas inserir a mdia no drive leitor e acessar diretamente o dispositivo. Em sistemas GNU/Linux, este dispositivo dever ser antes montado como qualquer outro, porm lembre-se que as unidades so referenciadas de forma diferente. Para obterem acesso a estes dispositivos, consultem neste captulo a seo Unidades e as parties -> Trabalhando com parties e unidades.

FORMATAO
Diferente dos sistemas da Microsft, onde seus sistemas operacionais realizam uma nica operao formatao para preparar os disquetes para o uso, nos sistemas GNU/Linux, por padro estes processos se dividem em 2 fases distintas: Formatao de baixo nvel; Criao do sistema de arquivos.

Para trabalhar com disquetes, teremos em mos alguns utilitrios especficos para esta finalidade, os quais iremos conhecer agora.

FORMATAO

DE BAIXO NVEL

Na formatao de baixo nvel sero recriados todos o setores e trilhas para posteriormente ser definido um sistema de arquivo. Este processo de suma importncia, pois s assim teremos certeza de que armazenaremos nossos dados em uma unidade isenta de defeitos, pois a mdia de armazenamento magntica muito sensvel.
# fdformat /dev/fd0H1440

Observe que para realizar a formatao de um disquete, o mesmo no 64/131

poder estar montado previamente no sistema.

SISTEMA

DE ARQUIVOS

Aps a baixa formatao, teremos ento a possibilidade de definir o sistema de arquivos que desejarmos, diferente dos utilitrios do MS-DOS que nos permite apenas a utilizao de um nico sistema de arquivos. Dentre os formatos suportados, destacam-se:

Sistema de arquivos msdos Utilizado pelo MS-DOS/Windows, da Microsft. ext2


Utilizado pelos sistemas GNU/Linux.

Para criar um sistema de arquivos com as opes desejadas, basta utilizar o comando mkfs e definir o formato desejado:
$ mkfs.msdos /dev/fd0

... ou...
$ mkfs -t ext2 /dev/fd0

SUPERFORMAT
Outro bom utilitrio para esta atividade o Superformat, que por sua vez j realiza a formatao e define o sistema de arquivos da unidade em questo. Sintaxe:
$ superformat [PARMETROS] /dev/[UNIDADE]

Segue um exemplo simples e bsico:


$ superformat /dev/fd0 Measuring drive 0's raw capacity warmup cycle: 7 200150 200148

No ir demorar para que todo o processo seja concludo.


Measuring drive 0's raw capacity In order to avoid this time consuming measurement in the future, add the following line to /etc/driveprm: drive0: deviation=720 CAUTION: The line is drive and controller specific, so it should be removed before installing a new drive 0 or floppy controller. Verifying cylinder 79, head 1 mformat -s18 -t80 -h2 -S2 -M512 $ _ a:

Este comando utiliza apenas seus parmetros padres. Para obterem maiores informaes, consultem o seu manual eletrnico.

65/131

DISCOS

DE INICIALIZAO

Para criarmos discos de inicializao utilizarmos o comando mkbootdisk. Sintaxe:

no

Slackware, basta apenas

# mkbootdisk --device /dev/[DISQUETE] [KERNEL]

Onde:

mkbootdisk --device
Define o device da unidade (p. ex.: /dev/fd0, /dev/fd1, etc.).

[KERNEL] Define a verso do kernel atual do sistema (p. ex.: 2.4.18).

SOBRE

O PACOTE MTOOLS

Face dificuldade de adaptao de diversos usurios que antes utilizavam a linha de comando do MS-DOS, foi desenvolvido um pacote chamado mtools, que tem como objetivo simular os comandos mais usados pelo MS-DOS no GNU/Linux. Os nomes dos comandos do pacote mtools e suas sintaxes so idnticos aos comandos tradicionais do MS-DOS, onde, como diferencial, os comandos pertencentes ao pacote mtools possuem como prefixo o caracter <M> antes para ser executado. Por exemplo, o dir do MS-DOS equivale ao comando mdir; mcopy equivale ao copy, e assim por diante. Para aqueles que conhecem o MS-DOS, possivelmente estaro sentindo uma certa dificuldade em utilizar a linha de comando, pois provavelmente devero conhecer seus parmetros e sintaxes (eis o motivo de no estarem descritos aqui); caso no o conheam, no h necessidade de estudar estes comandos, pois diversos pacotes e utilitrios disponveis na linha de comando do GNU/Linux satisfazem plenamente nossas necessidades.

MTools mattrib mcd mcopy mdel mdeltree mdir mformat minfo


Ajusta e modifica os atributos de arquivos, como leitura, gravao e ocultao. Navega entre os diretrios do sistema. Copiar arquivos e diretrios. Remover arquivos. Remover diretrios e respectivos subdiretrios. Listar o contedo do diretrio. Formatar o disquete. Imprime os parmetros dos sistema de arquivos MS-DOS.

66/131

MTools mlabel mmd mmount mmove mpartition mrd mren mtype mshowfat mzip
Renomeia o volume do disquete. Cria diretrios. Monta a unidade de disquete (anlogo ao mount /dev/fd0). Movimenta arquivos e diretrios. Particiona uma unidade para ser usado no MS-DOS. Remove diretrios. Renomeia arquivos. Exibe o contedo de um arquivo. Exibe quantos blocos foram alocados por um arquivo. Compacta no formato zip os arquivos e/ou diretrios desejados.

mbadblocks Verifica a existncia de blocos defeituosos.

mkmanifest Cria uma lista de arquivos com seus nomes equivalentes no formato DOS 8.3. mcheck
Realiza a checagem de integridade (similar chkdsk).

Para obterem maiores informaes, digitem na linha de comando:


$ man [COMANDO_PERTENCENTE_AO_PACOTE_MTOOLS]

CD-R/CD-RW
Os seguintes utilitrios so essenciais para a manipulao da unidade de CD-R/CD-RW do sistema:
MKISOFS

O mkisofs abreviao de mk (make = fazer) iso (imagem ISO) e fs (filesystem = sistema de arquivos) permite construir imagens ISO partir de dados disponveis de uma unidade. Sintaxe:
$ mkisofs [PARMETROS] -o [IMAGEM].iso [DIRETRIO_ORIGEM]

Onde:

mkisofs -C Para criao de imagens com mltiplas sesses. -J


Habilita as extenses Joilet, requerimento indispensvel para manter compatibilidade com os demais sistemas operacionais (como o

67/131

mkisofs Windows, por exemplo). -l


Habilita o suporte nomes longos de at 31 caracteres. O padro ISO9660 suporta apenas o formato 8.3, que por sua vez compatvel com o MS-DOS. Dever ser usado com precaues, conforme a documentao do programa.

-L Permite a gravao de arquivos ocultos os que iniciam com a utilizao do ponto (.). -o Especifica o nome da imagem ser gerada. -r Abreviao de Rock Ridge, um protocolo que possibilita evitarmos a truncagem dos nomes de arquivos longos para a gravao do CDR/RW. -v Modo verbose mostra todo o processo em execuo. -V Define o label nome do volume.
Como exemplo, criaremos uma imagem simples apenas com uma pequena estrutura de diretrios para teste.
$ mkisofs -J -r -o TESTE.iso /home/darkstar/teste Total translation table size: 0 Total rockridge attributes bytes: 1693 Total directory bytes: 0 Path table size(bytes): 10 Max brk space used 8284 464 extents written (0 Mb) $ _

Estes so os mnimos comandos necessrios para se criar uma imagem para serem gravadas posteriormente em CD-ROM.
CDRECORD

O cdrecord o utilitrio padro dos sistemas GNU/Linux para realizar as atividades de gravao de CD-R/RW. Atualmente suporta apenas interfaces SCSI, e eis o motivo pelo qual necessitamos habilitar a emulao SCSI para acessarmos nossas unidades na controladora IDE. Sintaxe geral:
$ cdrecord [PARMETROS]

Sintaxe para gravao:


$ cdrecord -fs=[BUFFER]M speed=[VELOCIDADE] dev=[LOCALIZAO] [ESPECIFICAO] [IMAGEM].iso

Onde:

68/131

cdrecord -blank=[TIPO] Apaga os dados armazenados em uma mdia CD-RW. Os subparmetros (tipos) especficos deste so: all -> Apaga tudo; help -> Ajuda; session -> Uma sesso (para CDR/RW multisesso); track -> faixa de udio. -dev[N,N,N.] -dummy -eject [ESPECIFIC.] -data, -audio
Localizao da unidade SCSI em questo (veja -scanbus). Realiza apenas um teste ao invs de realizar a gravao. Ejeta o disco no final da operao. Define qual tipo de imagem ser criado: -data (para dados), -audio (para CDs de udio).

-fs=[BUFFER] Especifica o tamanho do buffer de memria para a gravao. Quando omitido, o valor padro 4 MB. -multi -scanbus
Utiliza o recurso de multi-sesso. Exibe os dados da unidade do sistema.

-speed=[VEL.] A velocidade de gravao (a mxima dever ser a suportada pelo aparelho e mdia). -v
Exibe mensagens sobre o andamento do processo. Lembrem-se de que dependendo da verso utilizada o cdrecord apenas grava em unidades SCSI (os quais as unidades IDE so emuladas pelo kernel atravs do mdulo ide-scsi). Nas verses atuais esta restrio j no existe.

Exemplos
Segue um simples exemplo para:

Exemplos Dados (ISO) udio


$ cdrecord -v -fs=8M speed=16 dev=0,0,0 -data backup.iso $ cdrecord -v -fs=8M speed=16 dev=0,0,0 -audio [FAIXA1], [FAIXA2], [FAIXA3], [...] -audio [FAIXA1], [FAIXA2], [FAIXA3], [...]

Dados + udio $ cdrecord -v -fs=8M speed=16 dev=0,0,0 -data backup.iso


Lembrem-se de que, apesar de improvvel, de acordo com o equipamento o device correspondente ao do usurio poder ser diferente ao acima especificado (dev=0,0,0). Para descobrir o dev correspondente, utilize:
$ cdrecord -scanbus Cdrecord 2.00.3 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jrg Schilling Linux sg driver version: 3.1.25 Using libscg version 'schily-0.7' scsibus0: 0,0,0 0) 'HL-DT-ST' 'CD-RW GCE-8525B ' '1.03' Removable CD-ROM 0,1,0 1) *

69/131

$ _

0,2,0 0,3,0 0,4,0 0,5,0 0,6,0 0,7,0

2) 3) 4) 5) 6) 7)

* * * * * *

J as faixas de udio devero ser arquivos nos formatos de .wav e/ou .cdr.

Outros recursos
Um recurso interessante do cdrecord est na possibilidade de se descobrir todos os dados de uma determinada mdia de CD-R/RW. Para isto, basta inseri-lo na bandeja e (sem montar a unidade) digitar o seguinte comando:
# cdrecord -atip dev=0,0,0

A linha que nos importa ser a seguinte:


Manufacturer: CMC Magnetics Corporation

Alm do fabricante, observe que tambm so exibidas outras informaes gerais, tanto da unidade gravadora quanto da mdia utilizada.
$ cdrecord -atip dev=0,0,0 Cdrecord 2.00.3 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jrg Schilling scsidev: '0,0,0' scsibus: 0 target: 0 lun: 0 Linux sg driver version: 3.1.25 Using libscg version 'schily-0.7' Device type : Removable CD-ROM Version : 0 Response Format: 2 Capabilities : Vendor_info : 'HL-DT-ST' Identifikation : 'CD-RW GCE-8525B ' Revision : '1.03' Device seems to be: Generic mmc CD-RW. Using generic SCSI-3/mmc CD-R driver (mmc_cdr). Driver flags : MMC-2 SWABAUDIO BURNFREE Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R cdrecord: Input/output error. test unit ready: scsi sendcmd: no error CDB: 00 00 00 00 00 00 status: 0x2 (CHECK CONDITION) Sense Bytes: 70 00 02 00 00 00 00 0A 00 00 00 00 3A 01 00 00 Sense Key: 0x2 Not Ready, Segment 0 Sense Code: 0x3A Qual 0x01 (medium not present - tray closed) Fru 0x0 Sense flags: Blk 0 (not valid) cmd finished after 0.000s timeout 40s cdrecord: No disk / Wrong disk! bash-2.05b$ cdrecord -atip dev=0,0,0 Cdrecord 2.00.3 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jrg Schilling scsidev: '0,0,0' scsibus: 0 target: 0 lun: 0 Linux sg driver version: 3.1.25 Using libscg version 'schily-0.7' Device type : Removable CD-ROM Version : 0 Response Format: 2

70/131

Capabilities : Vendor_info : 'HL-DT-ST' Identifikation : 'CD-RW GCE-8525B ' Revision : '1.03' Device seems to be: Generic mmc CD-RW. Using generic SCSI-3/mmc CD-R driver (mmc_cdr). Driver flags : MMC-2 SWABAUDIO BURNFREE Supported modes: ATIP info from disk: Indicated writing power: 5 Is not unrestricted Is not erasable Disk sub type: Medium Type A, high Beta category (A+) (3) ATIP start of lead in: -11634 (97:26/66) ATIP start of lead out: 359846 (79:59/71) Disk type: Short strategy type (Phthalocyanine or similar) Manuf. index: 3 Manufacturer: CMC Magnetics Corporation $ _

CONCLUSO
A necessidade de ter conhecimentos mais aprofundados para a manipulao de unidades, parties e sistemas de arquivos em sistemas GNU/Linux em comparao ao Windows pode tornar sua utilizao cansativa nestas atividades (em alguns casos, complicados), porm sero vitais para realizar atividades de manuteno em situaes que no tenhamos disponveis ambientes grficos e suas respectivas ferramentas. Para aqueles que no simpatizam muito com a utilizao da linha de comando, recomendamos realizarem uma boa pesquisa sobre as distribuies existentes para esta finalidade. Por exemplo, apesar de no focar unicamente esta rea, o Kurumim possui bons utilitrios disponveis no CD-ROM, bastando apenas coloc-lo na unidade, reiniciar o sistema partir do drive de CD-ROM e aguardar o carregamento KDE. &;-D

71/131

VI. CONTAS
INTRODUO

DE USURIOS E GRUPOS DE ACESSO

O conhecimento em administrao de contas usurios, grupos de acesso e edio de arquivos de configurao pertinentes de extrema importncia para assegurar a boa coexistncia entre diferentes utilizadores de um nico sistema GNU/Linux. E justamente isto o que propomos aos leitores um estudo mais aprofundado deste captulo.

CONSIDERAES
CONTAS DE

BSICAS

ACESSO

Conforme j dito anteriormente, os sistemas GNU/Linux so ambientes multi-usurios. Apesar disto e de acordo com sua categoria nem todos possuem um mesmo perfil, necessidades e/ou responsabilidades. Para isto existem as contas de autenticao ou contas de acesso. Por mais diferentes que tais perfis sejam, estes se enquadram em duas classes distintas: Superusurio tambm conhecido como administrador do sistema , e usurio comum ou simplesmente usurios.

ROOT -

O ADMINISTRADOR DE SISTEMA

Conforme j comentado diversas vezes, o root o administrador do sistema muitas vezes tambm chamado de superusurio. De acordo com a distribuio utilizada, existir um momento na instalao do sistema em que ser solicitado a senha para acesso do superusurio.
Changing password for root Enter the new password (minimum of 5, maximum of 127 characters) Please use a combination of upper and lower case letters and numbers. New password: _

Somente o root possui acesso total ao sistema instalado. ele quem define as permisses gerais para acesso aos recursos e dados gerais do sistema para o usurio. Em algumas circunstncias (de acordo com a distribuio utilizada), a sua nica limitao existente est no acesso Internet. Por tratar-se de um usurios com acesso total ao sistema, muitas distribuies definiram as permisses de acesso referentes Internet somente disponveis para os usurios, que por sua vez, caso sejam acessados involuntariamente por invasores da rede, estes no tero as permisses necessrias para ocasionar males ao sistema. Porm em algumas distribuies como o Slackware, por ser destinada usurios de mdio e alto nvel tcnico, esta limitao no existe, deixando a responsabilidade cargo dos administradores do sistema. Aps autenticado, o smbolo de indicador na linha de comando : 72/131

Login: root Passwd: # _

CONTA

DE USURIO

A conta de usurio ou conta comum , diferente do superusurio, pois possui apenas permisses bsicas para a realizao de atividades gerais no sistema e algumas configuraes locais, onde no possvel a realizao de intervenes de encargo do superusurio, como a instalao / atribuio de permisso / configurao / remoo de programas, arquivos e dispositivos do sistema, entre outros. Porm, de acordo com as definies do superusurio, as configuraes gerais de permisso do usurio podero ser editadas para que possam atender a determinadas circunstncias. Por exemplo, podemos atribuir grupos para que estes tenham permisso para acessar a Internet, ao sistema de impresso, etc. Aps autenticado, o smbolo de indicador na linha de comando :
Login: darkstar Passwd: $ _

GRUPOS

DE ACESSO

Grupos de acesso so definies especiais de permisses para serem utilizadas quando houver a necessidade de disponibilizar o acesso um sistema de dados (arquivos e diretrios) ou um determinado servio para uma categoria distinta. Por exemplo, num escritrio de recursos humanos, onde as planilhas de contabilidade somente podero ser acessadas pelos profissionais de contabilidade, podero ser definidos um grupo contabilidade para estes, onde tambm o grupo e as permisses de acesso para cada arquivo dever estar previamente definido.

ID
O ID um nmero de identificao para qualquer um dos elemento do sistema usurio e grupo. Este por sua vez se subdivide em:

ID GID Define-se GID a numerao de ID especfica para os grupos de acesso do sistema. Todos os IDs de contas de grupos de acesso pertencem ao intervalo de 1 499. UID Define-se UID a numerao de ID especfica para as contas de usurio do sistema. exceo do superusurio (UID = 0), todos os IDs de contas de usurio iniciam partir de 500.

73/131

PERMISSES
Cada arquivo, diretrio e/ou dispositivo do sistema e respectivos recursos, so regidos por um sistema de grupos e permisses de acesso que definem qual o sistema de acesso, tipo de acesso e limitaes estas itens. Para evitar extender este assunto, consultem nesta parte o captulo Manipulao de arquivos e diretrios para obterem maiores informaes.

SENHA
Sem maiores dvidas, os usurios dos sistemas GNU/Linux somente podero ter acesso as suas contas de acesso e tudo o que nela estiver aps definirem uma senha de autenticao. Durante a criao de uma nova conta de acesso, ser solicitado ao usurio a definio de uma senha, o qual bastar o usurio utilizar um conjunto de caracteres.

COMANDOS
ADIO
ADDUSER

E PARMETROS GERAIS

DE CONTAS DE USURIO E GRUPOS

O comando adduser utilizado para criar contas de usurios e somente utilizado pelo administrador do sistema. Sintaxe:
# adduser [APELIDO]

...ou simplesmente...
# adduser

Exemplificaremos detalhadamente o processo de criao da conta de um usurio. Para comear, digite apenas o comando com administrador do sistema, onde ser solicitado um apelido (nick) para o usurio.
Login name for new user []: darkstar Login name for new user []: _

- User 'Darkstar' contains illegal characters (uppercase); please choose another

Observe que o comando no aceita o uso de caracteres iniciais maisculas (caixa alta), solicitando novamente a incluso do apelido desejado.
Login name for new user []: darkstar User ID ('UID') [ defaults to next available ]: _

Nesta seo dever ser definido o UID do usurio. Apenas teclem <ENTER> para que o sistema possa definir uma UID disponvel.
Initial group [ users ]: _

Aqui dever ser definido o grupo padro do usurio ou o grupo inicial, conforme a descrio acima. Digitem o grupo desejado ou apenas teclem 74/131

<ENTER> para defini-lo no grupo padro do sistema (users).


Additional groups (comma separated) []: _

Nesta prxima etapa, o comando solicita a informao de outros grupos para a conta ser criada. O usurio ter acesso recursos de acordo com os grupos inclusos para este. Para obterem maiores informaes, consultem a seo Consideraes bsicas -> Grupos de acesso. Aps definir os grupos de acesso, teclem <ENTER>.
Home directory [ /home/darkstar ] _

O sistema definir o diretrio do usurio utilizando o prprio nome da conta. Caso haja necessidade de definir outro caminho, digitem-no na linha de comando ou simplesmente teclem <ENTER> para manter o padro.
Shell [ /bin/bash ] _

Definio padro do interpretador da linha de comando o Bash, indicado acima na opo Shell. Caso queiram utilizar outro que no seja o Bash, basta especific-lo aqui. Por exemplo, para o interpretador Ash, /bin/ash; para o Csh, /bin/csh. Prefiram manter o interpretador padro, apenas teclando <ENTER>.
Expiry date (YYYY-MM-DD) []: _

A data de validade poder ser definida nesta seo, bastando apenas digitla no formato ANO-MS-DIA. Caso queiram que esta no tenha prazo de expirao definido, apenas teclem <ENTER>.
New account will be created as follows: --------------------------------------Login name.......: darkstar UID..............: [ Next available ] Initial group....: users Additional groups: [ None ] Home directory...: /home/darkstar Shell............: /bin/bash Expiry date......: [ Never ] This is it... if you want to bail out, hit Control-C. ENTER to go ahead and make the account. Otherwise, press

Enfim, tendo a conta criada, ser mostrado conforme acima todos os dados digitados pelo superusurio para a criao da nova conta. Logo em seguida, ser solicitado pelo sistema os dados adicionais para a nova conta criada. Tecle <ENTER> e iniciaremos o cadastro das informaes adicionais.
Creating new account... Changing the user information for darkstar Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []:

75/131

Other []:

Preencha os dados solicitados como nome completo, endereo, telefone do trabalho, telefone do lar, alm de outras informaes que considerarem necessrias, se assim desejarem (estas informaes so opcionais). Por ltimo, dever ser definido a senha de acesso.
Changing password for darkstar Enter the new password (minimum of 5, maximum of 127 characters) Please use a combination of upper and lower case letters and numbers. New password: _

Ao utilizarem um conjunto de caracteres curtos com 5 ou menos o comando rejeitar a cadeia definida devido sua poltica de segurana para a definio de senhas, onde h o requerimento mnimo de 6 caracteres.
Bad password: too short. Warning: weak password (enter it again to use it anyway). New password: _

Novamente defina uma nova senha de acesso respeitando esta poltica. Se a cadeia de caracteres estiver de acordo como o exigido, o comando solicitar para que seja repetida a seqencia utilizada para confirmar. Este procedimento ideal para aquelas circunstncias em que digitamos algum nmero ou caracter diferente do desejado, possibilitando com isto corrigir a senha definida.
New password: Re-enter new password:

No final da operao, sero exibidas as seguintes mensagens:


Password changed. Account setup complete. # _
GROUPADD

Adiciona grupos ao sistema operacional. Sintaxe:


# groupadd [PARMETROS] [GRUPO]

Onde:

groupadd -g Define manualmente um ID especfico para o grupo. -r Adiciona uma conta do sistema. -f
Modo forado mantm um grupo j existente no sistema.

Basta digitarem...
# groupadd suporte

76/131

... para que seja criado um novo grupo chamado suporte.

ADMINISTRAO
LOGIN

DE CONTAS
EXIT

LOGOUT

Toda vez que o sistema inicializado, voc dever notar a existncia de uma linha de comando com a seguinte mensagem:
login: _

Sua finalidade a autenticao do usurio: para que possamos acessar o sistema e usufruir de seus recursos, teremos que nos tornar autnticos.
login: darkstar Password: [SENHA] $ _

E como fazer para nos deslogarmos? Para isto, existe o comando logout.
$ logout

Outra forma de finalizar uma seo utilizando o comando exit:


$ exit

Na utilizao destes comandos nas interfaces grficas, como o Konsole ou o XTerm, estes apenas tm suas caixas de dilogos finalizadas.
ID

O comando id utilizado basicamente para obter informaes dos IDs dos usurios autenticados no sistema, como o seu prprio e tambm o dos grupos os quais este se encontra. Para a sua utilizao, basta apenas digitar o comando com as contas desejadas autenticadas. Observe nos exemplos abaixo que as informaes so exibidas em duas categorias: UID (ID do usurio) e gid (ID do grupo). Superusurio:
# id uid=0(root) gid=0(root) grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy) # _

Usurio comum:
$ id uid=1000(darkstar) gid=100(users) grupos=100(users),14(uucp) $ _
USERS

GROUPS

Exibem respectivamente os usurios autenticados naquele momento e seus respectivos grupos de acesso.

77/131

Conta

users
root $ _

groups
$ groups root bin daemon sys adm disk wheel floppy $ _

Superusurio $ users Usurio

$ users $ groups darkstar users disk floppy uucp audio video cdrom $ _ $ _

PASSWD

O comando passwd utilizado para especificar uma nova senha ou alterar a senha atual de conta de usurio. Basta digitarem...
# passwd [USURIO]

... ou apenas...
$ passwd

... para alterarmos a senha do usurio desejado. Segue um exemplo simples para a alterao de uma senha feita pelo administrador, para melhor entendimento.
# passwd darkstar Changing password for darkstar Old password: _

Observem que o comando no aceita de forma alguma a utilizao de novas senhas que no possuam um mnimo de 5 caracteres.
Enter the new password (minimum of 5, maximum of 127 characters) Please use a combination of upper and lower case letters and numbers. New password: passwd: all authentication tokens update sucessfully # _

Ao tentar utilizarmos uma senha fora dos requerimentos necessrios...


New password: [SENHA] Bad password: no change. Try again.

Dentro de uma seo de usurio, bastar utilizarem apenas...


$ passwd

... e o sistema solicitar que o mesmo atualize a senha desta conta.


$ passwd Changing password for darkstar Old password: [SENHA ANTIGA] Enter the new password (minimum of 5, maximum of 127 characters) Please use a combination of upper and lower case letters and numbers. New password: [SENHA NOVA] passwd: all authentication tokens update sucessfully $ _

78/131

FINGER

Exibe informaes gerais de autenticao das contas do sistema. Sintaxe:


$ finger [PARMETROS] [USURIO]

Onde:

finger -s Informaes adicionais (nome completo, telefone, etc., ou seja, todas as informaes solicitadas no ato da criao da conta). -l Exibe as informaes em diversas linhas (multi-line).
A conta darkstar esta conectada no momento da utilizao deste comando...
$ finger darkstar Login: darkstar Name: (null) Directory: /home/darkstar Shell: /bin/bash On since Tue Apr 6 09:27 (UTC) on :0 (messages off) On since Tue Apr 6 09:27 (UTC) on pts/0 2 hours 25 minutes idle On since Tue Apr 6 09:42 (UTC) on pts/2 (messages off) No mail. No Plan. $ _

Ainda autenticado como darkstar...


$ finger root Login: root Name: (null) Directory: /root Shell: /bin/bash Last login Fri Apr 2 18:00 (UTC) on tty1 Mail last read Tue Mar 30 23:23 2004 (UTC) No Plan. $ _

Observem que, pelo fato do superusurio no estar autenticado, o comando apenas exibe a ltima vez em que este autenticou-se no sistema.
WHO

Mostra quais so os usurios que se encontram autenticados no momento. Sintaxe:


$ who [PARMETROS]

Segue um simples exemplo, com o usurio darkstar:


$ who darkstar darkstar darkstar darkstar $ _ :0 pts/0 pts/1 pts/2 Apr Apr Apr Apr 6 6 6 6 09:27 09:27 12:24 09:42

Existem diversos parmetros dos quais para ns, simples usurios, no teremos maiores necessidades de uso. Consultem o manual eletrnico para 79/131

obterem maiores detalhes, se desejarem.


WHOAMI

Mostra qual o usurio est autenticado no sistema no momento. Sintaxe:


$ whoami

Segue um simples exemplo, com o usurio darkstar:


$ whoami darkstar $ _
UPTIME

Exibe o tempo de autenticao do usurio no sistema. Sintaxe:


$ uptime

Ao digitar o comando acima descrito...


$ uptime 12:29:37 $ _ up 3:13, 3 users, load average: 0.03, 0.05, 0.00

ELIMINANDO
USERDEL

USURIOS E GRUPOS

Elimina a conta de usurio do sistema. Sintaxe:


# userdel [PARMETROS] [USURIO]

Onde:

userdel -r Elimina todos os dados gravados em seu diretrio pessoal (/home/[USURIO]).


Segue um exemplo simples e prtico:
# userdel darkstar

Caso no sejam mais necessrios os dados arquivados em seu diretrio pessoal, utilizem o parmetro -r desta forma:
# userdel -r darkstar

80/131

GROUPDEL

Elimina o grupo de acesso do sistema. Sintaxe:


# groupdel [GRUPO]

Uma dica importante encontrada na documentao eletrnica do comando est na restrio da remoo de um grupo primrio de um grupo existente, onde a prvia remoo dos usurios faz-se necessria.

OBTENDO

OS PRIVILGIOS DE OUTROS USURIOS

Apesar da pouca utilizao das acessibilidades dos demais usurios e especialmente o superusurio , existiro circunstncias em que haver a necessidade da obteno de especficas permisses, os quais podero estar disponveis com a utilizao dos seguintes comandos:
SU

Apesar possurem plenos poderes, os superusurios somente devem utilizar sua senha de acesso apenas para a administrao do sistema, onde sua utilizao para tarefas triviais de usurios, alm de desnecessria, poder acarretar riscos integridade do sistema. Na maioria das vezes estes necessitam apenas de uma simples conta de acesso para fazer uso dos recursos do sistema em si, porm podero surgir algumas circunstncias em que ser necessrio realizar intervenes ao sistema. Mas como fazer isto, sem ter que estar autenticando-se todo momento? Para obtermos os privilgios de administrador do sistema, sem ter que nos deslogarmos, deveremos utilizar o comando su. Sua sintaxe simples e bsica, onde bastar apenas digitar na linha de comando...
$ su Password: [SENHA DO SUPERUSURIO] # _

E fornecer a senha de superusurio para ter as permisses de acesso desejadas. Note que indicador tambm mudou ($ -> #). A utilidade deste comando basicamente esta: ter acesso aos poderes de superusurio apenas para realizar intervenes bsicas e rpidas, retornando logo em seguida s suas atividades comuns. Dentre algumas limitaes deste recurso est a impossibilidade de executar algumas aplicaes que faam a utilizao das bibliotecas grficas estes sequer se encontraro disponveis, ao digitar as 1as. Iniciais do executvel e teclar <TAB>. Por exemplo, ao utilizar o comando su para obter os privilgios de superusurio e tentar executar...
# kppp bash: kppp: command not found # _

81/131

... o interpretador retorna uma mensagem de que no se encontra o programa desejado, mesmo estando ciente de que se encontra instalado no sistema e que o superusurio tem plenos poderes para a sua execuo. Dependendo destas limitaes, talvez ser at mesmo necessrio autenticar-se novamente ao sistema como superusurio e iniciar o ambiente grfico para realizarmos as atividades administrativas desejadas. Para retornar ao estado anterior, bastar apenas digitarmos...
# exit $ _

OS

ARQUIVOS DE CONFIGURAO

/ETC/PASSWD
Em /etc/passwd esto as definies gerais de usurios cadastrados no sistema. Ao ser adicionado um novo usurio, todas as informaes geradas so gravadas neste arquivo, como o apelido, o UID, diretrio padro e interpretador de comandos. Porm as senhas so armazenadas de forma criptografadas em outro arquivo, o /etc/shadow.
root:x:0:0::/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/log: lp:x:4:7:lp:/var/spool/lpd: sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/: news:x:9:13:news:/usr/lib/news: uucp:x:10:14:uucp:/var/spool/uucppublic: operator:x:11:0:operator:/root:/bin/bash games:x:12:100:games:/usr/games: ftp:x:14:50::/home/ftp: smmsp:x:25:25:smmsp:/var/spool/clientmqueue: mysql:x:27:27:MySQL:/var/lib/mysql:/bin/bash rpc:x:32:32:RPC portmap user:/:/bin/false sshd:x:33:33:sshd:/: gdm:x:42:42:GDM:/var/state/gdm:/bin/bash pop:x:90:90:POP:/: nobody:x:99:99:nobody:/: darkstar:x:1000:100::/home/darkstar:/bin/bash

/ETC/SHADOW
No arquivo /etc/shadow que so armazenadas todas as senhas de usurio no sistema, porm utilizando o recurso de criptografia.
root:$1$dju/fKjR$RfpzV1OHJySdQgAaR2Q921:12517:0::::: bin:*:9797:0::::: daemon:*:9797:0::::: adm:*:9797:0:::::

82/131

lp:*:9797:0::::: sync:*:9797:0::::: shutdown:*:9797:0::::: halt:*:9797:0::::: mail:*:9797:0::::: news:*:9797:0::::: uucp:*:9797:0::::: operator:*:9797:0::::: games:*:9797:0::::: ftp:*:9797:0::::: smmsp:*:9797:0::::: mysql:*:9797:0::::: rpc:*:9797:0::::: sshd:*:9797:0::::: gdm:*:9797:0::::: pop:*:9797:0::::: nobody:*:9797:0::::: darkstar:$1$9xI0RViR$6ZdNL8e.wTN99xkKEqfJx1:12517:0:99999:7:::

/ETC/GROUPS
No arquivo /etc/groups esto todas as definies de grupos de autenticao. Todos os grupos padres do sistema, mais os grupos especficos das aplicaes e ainda os grupos criados pelo administrador possuem suas especificaes aqui descritas.
root::0:root bin::1:root,bin,daemon daemon::2:root,bin,daemon sys::3:root,bin,adm,darkstar adm::4:root,adm,daemon tty::5: disk::6:root,adm lp::7:lp mem::8: kmem::9: wheel::10:root floppy::11:root mail::12:mail news::13:news uucp::14:uucp,darkstar man::15: games::20: slocate::21: utmp::22: smmsp::25:smmsp mysql::27: rpc::32: sshd::33:sshd gdm::42: shadow::43: ftp::50: pop::90:pop nobody::98:nobody nogroup::99: users::100:darkstar console::101:

83/131

PROBLEMAS

MAIS FREQENTEMENTE

Perdi a senha de usurio. O qu fazer?


Editem o arquivo de configurao /etc/shadow correspondente ao apelido do usurio em questo: e procure a linha

darkstar:$1$xRKiwuNz$rfBSEiom7PIEtCgVql69G1:12312:0:99999:7:::

Observe realado na cor vermelha a existncia de um conjunto de caracteres entre os dois primeiros limitadores :. Deveremos apenas apagar estes dados, salvar o arquivo de configurao e reiniciar a autenticao. Digitem normalmente o apelido e, ao ser solicitado a senha, apenas tecle <ENTER>. Pronto! Estaremos novamente autenticado. Em seguida, utilizem o comando passwd e mudem a senha normalmente. Se preferirem, faam antes uma cpia de segurana do arquivo de configurao para garantir que no sejam feitas alteraes descuidadas ou involuntrias. E se for a senha do superusurio? O procedimento para a recuperao da senha do superusurio o mesmo, onde dever ser procurado o usurio root para editar o arquivo de configurao. Porm, teremos a necessidade de utilizarmos disquete de recuperao criado durante a instalao do Slackware para inicializar o sistema, j que sem a senha do superusurio, no h como nos autenticar. Caso no possuam o disquete de inicializao, consultem nesta parte o captulo Unidades, parties e sistemas de arquivos, para obterem informaes adicionais de como proceder para desenvolver um novo disquete e de preferncia antes da ocorrncia do problema... &;-D

CONCLUSO
Apesar da existncia de diversos comandos e recursos para a administrao de contas, grupos e outras propriedades de um sistema multi-usurio, o bom conhecimento das atividades de gerenciamento de usurios muito importante, visto que alm de manter todo o sistema de dados em segurana, no teremos ocorrncias e inconvenientes desagradveis como a perda de privacidade ou reclamaes deste tipo do prprio usurio ou de outras pessoas que fizeram uso da mquina. Alm disso, nos dar liberdade de personalizarmos o sistema de acordo com nossas preferncias. &;-D

84/131

VII. PROCESSOS
INTRODUO

EM EXECUO

Conforme enfatizamos diversas vezes, o kernel o principal responsvel pelo gerenciamento das atividades do sistema, que por sua vez so caracterizadas como processo. Pelo fato do sistema operacional ser multitarefa, existem diversos processos em andamento. Neste captulo iremos conhecer como os sistemas GNU/Linux (mais precisamente o kernel) administram os processos em execuo, bem como todas as instrues e comandos para um bom gerenciamento destes.

VISO
O

GERAL

QUE UM PROCESSO?

O processo qualquer atividade executada pelo sistema que envolve uma rotina de instrues com seus respectivos dados e informaes. Um processo poder ser um programa em execuo, um comando sendo acionado, uma chamada do sistema, etc. Existem 3 tipos de processos distintos:

Tipos de processos Interativos So processos executados partir e controlados por um terminal. Ex.: Comandos gerais da linha de comando. Lotes
So todos os processos agendados pelo usurio e/ou o sistema. Ex.: Programao de tarefas e atividades com o cron.

Servidores So processos executados na inicializao do sistema e que necessitam estar em execuo permanente para a utilizao de seus servios por outros processos que o necessitem. Ex.: O banco de dados MySQL e o servidor Apache.

PID
O PID nada mais que uma identificao numrica de um determinado processo existente, que por sua vez, quando criado, passa ser identificado e manipulado por este nmero. J o PPID de um processo nada mais que a informao do processo-pai que o gerou. Seria anlogo como a aplicao que executou outra aplicao.

2O.

PLANO

(BACKGROUND)

Muitas vezes, ao executarmos um aplicativo na linha de comando, esta fica indisponvel at o encerramento do mesmo. Apesar da disponibilidade de 85/131

vrios terminais virtuais, seria deselegante toda vez que executarmos um programa, abrir um terminal que dever ficar aberto at o encerramento deste, poluindo e dificultando o gerenciamento das janelas abertas em seu ambiente grfico preferido.

Observem que, quando o GIMP executado, o sinal de prontido fica indisponvel.

Para isto temos o recurso background, ou seja, a possibilidade de executar um determinado programa ou atividade na linha de comando e ainda mant-la disponvel conforme nossas necessidades. O processo gerado para a execuo do programa fica em segundo plano, o qual poder ser manipulado atravs de outros comandos pela prpria linha de comando, desta vez liberada para outras atividades.

GERENCIANDO
VISUALIZAO
PS

PROCESSOS

Os principais comandos para o gerenciamento de processos so:

Exibe os processos os quais esto sendo rodados no sistema. Sintaxe:


$ ps [PARMETROS]

Onde:

ps -A -a
Exibe todos os processos. Exibe os processos somente da seo corrente.

-p [N] Verifica a existncia de um determinado processo, onde [N] o nmero do processo. -u


Mostra os processos iniciados pelo usurio.

86/131

Experimentem os seguintes comandos e analisem os resultados obtidos de acordo com a tabela apresentada:
$ $ $ $ $ $ ps ps ps ps ps _ -a -A -p [NMERO DE UM PROCESSO PR-VISUALIZADO COM OS COMANDOS ANTERIORES] -u

Para obterem maiores detalhes, consultem a sua documentao eletrnica.


TOP

Exibe todos os processos em execuo, alm de outros fatores importantes, como a utilizao geral da CPU e ocupao da memria. Sintaxe:
$ top [PARMETROS]

O top possui vrios parmetros disponvel, mas para utilizarmos suas funcionalidades bsicas, apenas digitem na linha de comando...
$ top

..., onde em poucos instantes...


top - 18:40:14 up 37 min, 1 user, load average: 0.07, 0.03, 0.00 Tasks: 46 total, 2 running, 44 sleeping, 0 stopped, 0 zombie Cpu(s): 0.7% user, 0.3% system, 0.0% nice, 99.0% idle Mem: 515444k total, 295952k used, 219492k free, 40912k buffers Swap: 506008k total, 0k used, 506008k free, 170472k cached PID 159 538 551 1 2 3 4 5 6 10 11 35 81 84 124 134 136 140 USER root darkstar darkstar root root root root root root root root root root root root root daemon root PR NI VIRT 16 0 79428 12 0 15948 12 0 988 8 0 236 9 0 0 19 19 0 9 0 0 9 0 0 9 0 0 -1 -20 0 9 0 0 9 0 0 9 0 592 9 0 444 9 0 520 9 0 528 9 0 616 9 0 500 RES SHR S %CPU %MEM 12m 2244 S 0.3 2.6 15m 13m R 0.3 3.1 988 800 R 0.3 0.2 236 208 S 0.0 0.0 0 0 S 0.0 0.0 0 0 S 0.0 0.0 0 0 S 0.0 0.0 0 0 S 0.0 0.0 0 0 S 0.0 0.0 0 0 S 0.0 0.0 0 0 S 0.0 0.0 0 0 S 0.0 0.0 592 512 S 0.0 0.1 444 388 S 0.0 0.1 520 464 S 0.0 0.1 528 464 S 0.0 0.1 616 548 S 0.0 0.1 500 448 S 0.0 0.1 TIME+ 0:33.61 0:00.45 0:00.08 0:04.77 0:00.02 0:00.00 0:00.00 0:00.00 0:00.10 0:00.00 0:00.00 0:00.00 0:00.02 0:00.01 0:00.00 0:00.00 0:00.00 0:00.00 COMMAND X kdeinit top init keventd ksoftirqd_CPU0 kswapd bdflush kupdated mdrecoveryd kreiserfsd kapmd syslogd klogd inetd crond atd apmd

Bastam analisar as informaes gerais disponveis na sada do monitor. O comando tambm possui umas teclas especiais para funcionalidades especficas, as quais seguem:

87/131

Teclas & Funes <ESPAO> <H> ou <?> <I> <K> <Q>


Atualiza a tela. Ajuda eletrnica. Ignora processos zumbis (ociosos).

<CTRL>+<L> Atualiza a tela, porm apagando o contedo anterior.

Kill finaliza um determinado processo, onde o usurio ser questionado qual o nmero referente. Quit encerra o programa.

Para sairmos desta tela, bastar apenas pressionarmos a tecla <Q>.

SEGUNDO

PLANO
EM SEGUNDO PLANO

COLOCANDO

Para colocarmos qualquer processo em segundo plano na linha de comando, bastar utilizarmos o caracter & (e-comercial) no final do comando invocado.
$ gimp & [1] 1212 $ _

O programa ser executado normalmente, porm com a prontido da linha de comando. Mas se ns esquecermos este detalhe desejarmos coloc-lo em segundo plano?

CONTROL-Z
Conforme sabemos, a linha de comando ficar indisponvel toda vez que necessitarmos executar outro programa (e conseqentemente gerar um novo processo).
$ gimp _

Para que possamos retornar linha de comando, bastar pressionar <CTRL> + <Z>, do qual retornaremos imediatamente ao sinal de prontido.
$ gimp [1]+ $ _ Stopped gimp

Porm o aplicativo simplesmente ficar inoperante. Como fazer para reverter este quadro?

88/131

BG

Para tornar o aplicativo novamente disponvel, deveremos utilizar o comando bg BackGround , onde sua finalidade colocar qualquer programa interrompido em segundo plano. Digitem na linha de comando...
$ bg [1]+ gimp & $ _

... para dar continuidade s atividades relacionadas ao aplicativo em execuo (no exemplo mencionado, Gimp).
JOBS

Apenas exibe os programas que se encontram em segundo plano:


$ jobs [1]+ Running $ _
FG

gimp &

Retorna qualquer processo parado ou em segundo plano para o primeiro.


$ fg 1 gimp _

EXCLUSO
KILL

Elimina um processo existente no sistema atravs do PID. Sintaxe:


$ kill [PARMETROS] [PROCESSO]

Exemplo: Caso desejarmos derrubar um determinado processo...


$ ps -p 1084 PID TTY 1084 ttyS4 $ _ TIME CMD 00:00:00 pppd

... basta utilizar o comando kill e fornecer o nmero do processo do programa ou atividade que desejamos encerrar...
$ kill 1084
KILLALL

Elimina um processo existente no sistema atravs do nome. Sintaxe:

89/131

$ killall [PARMETROS] [PROCESSO]

Exemplo: de forma similar ao comando kill, caso desejarmos derrubar um determinado processo...
$ ps -p 1084 PID TTY 1084 ttyS4 $ _ TIME CMD 00:00:00 pppd

... basta utilizar o comando killall e fornecer o nome do processo do programa ou atividade que desejamos encerrar...
$ killall pppd

SOBRE

O DIRETRIO

/PROC

Na 4a. Parte: Ajustes & Configuraes -> Importncia das estruturas em /etc e /proc -> temos uma descrio abreviada dos subdiretrios numricos existentes em sua estrutura. Cada um deste diretrio e todos os arquivos virtuais gravados em seu interior referem-se PID dos processos em execuo no sistema.

CONCLUSO
Na grande maioria das circunstncias em especial para os usurios menos habituados sequer nos importaremos com os processos em execuo e suas atividades relacionadas. Face isto, apenas dispomos por incluir os comandos e parmetros mais essenciais desta atividade. Mas, se ainda assim quiserem obter mais conforto, experimentem utilizar os utilitrios disponveis dos principais ambientes grficos existentes. &;-D

90/131

VIII. GERENCIADORES
INTRODUO

DE INICIALIZAO

Quando se utiliza um computador com mais de um sistema operacional, ser necessrio definir por qual sistema utilizar. Quanto se trata de diferentes sistemas instalados em diferentes unidades de disco rgido, bastaria inverter no setup da BIOS a ordem de inicializao. Mas mesmo assim seria um desconforto muito grande, pois toda vez que for necessrio inicializar o outro sistema, teramos que editar as configuraes do setup para inverter a ordem de inicializao. E para sistemas instalados em um mesmo disco rgido, divididos em diferentes parties, como fazer? Para a soluo destes problemas, existem os gerenciadores de inicializao, que so programas desenvolvidos para o gerenciamento da inicializao de mquinas que possuem mais de um sistema operacional instalados. Neste captulo iremos realizar um estudo aprofundado do gerenciador de inicializao padro do Slackware o LILO , onde iremos conhecer suas particularidades, mtodos de instalao, configurao e ajustes adicionais necessrios para o seu bom funcionamento.

O LILO
<http://lilo.go.dyndns.org/>. O LILO LInux LOader um dos gerenciadores mais antigos existentes em sistemas GNU/Linux. Ele o principal responsvel pelo carregamento dos sistemas operacionais instalados, onde fornece ao usurio um simples menu de opes, bastando apenas ao usurio selecionar o sistema desejado. Ele fica residente no setor MBR do disco rgido.

Slackware 10.0.
Welcome to the LILO Boot Loader! Please enter the name of the partition you would like to boot at the prompt below. The choices are:

91/131

DOS Linux

- DOS or Windows (FAT/FAT32 partition) - Linux (Linux native partition)

O LILO adicionado ao sistema por padro durante a instalao do Slackware, onde ser necessrio apenas definir o perfil de configurao e o local onde dever ser gravado. Para obterem maiores informaes, consultem a 3a. Parte: A Instalao -> Instalao do Slackware.

CONFIGURAO

Os parmetros de configurao do LILO se encontram armazenados no arquivo /etc/lilo.conf, o qual poder ser alterado de acordo com as necessidades do usurio. Neste arquivo existem duas sees distintas para a configurao: a seo global e a seo de parties. Segue abaixo o contedo destas sees e as respectivas utilidades para cada parmetro.

SEO

GLOBAL

A seo global responsvel pelo funcionamento geral do LILO. nela onde estaro todos os parmetros pertinentes.
# LILO configuration file # generated by 'liloconfig' # # Start LILO global section boot = /dev/hda message = /boot/boot_message.txt prompt timeout = 1200 # Override dangerous defaults that rewrite the partition table: change-rules reset -//-

Constam os seguintes parmetros passveis de edio:

boot = /dev/[DISCO_RGIDO]
Informa qual unidade do disco rgido dever inicializar.

Message = /boot/[MENSAGEM_TEXTO]
Exibe um conjunto de instrues e informaes bsicas sobre os sistemas disponveis (neste caso, Windows e GNU/Linux). Observem que o parmetro message aponta o arquivo-texto boot_message.txt, situado no diretrio /boot. Este arquivo texto contm informaes que sero exibidas na tela durante a inicializao do LILO, podendo simplesmente ser editado de acordo com as necessidades do usurio, para melhor compreenso e ajustes.
Welcome to the LILO Boot Loader! Please enter the name of the partition you would like to boot at the prompt below. The choices are:

92/131

DOS Linux

- DOS or Windows (FAT/FAT32 partition) - Linux (Linux native partition)

sempre bom alter-lo, colocando instrues bsicas sobre os sistemas disponveis ou personalizando-o de acordo com suas preferncias. Segue um pequeno exemplo:
Bem vindo ao gerenciador de inicializao LILO! Por favor selecione o nome da partio que voc gostaria de inicializar neste prompt: Suas opes so: DOS Linux - MS-DOS ou Windows (Partio FAT/FAT32) - Slackware GNU/Linux

Aps isto, deveremos atualizar as informaes na MBR, digitando...


# lilo Added DOS * Added Linux

Para usurios iniciantes ou leigos, a traduo do texto para o portugus sempre bem vinda...

default
Especifica o sistema ser carregado por disponibilidade), quando houver mais de um. padro (por ordem de

prompt
Indica a inicializao automtica da linha de comando do LILO. Caso esta opo no esteja habilitada e esta linha de comando no esteja presente, bastar utilizar a seqncia <CTRL> + <ALT> ou <CTRL> + <SHIFT> para ativ-lo.

timeout = [TEMPO_DE_ESPERA]
Tempo o qual o gerenciador permanece aguardando uma resposta via teclado para a seleo dos sistemas. Caso no sejam selecionados, o gerenciador automaticamente carrega o sistema padro da mquina.

password = [SENHA]
Define uma senha para o acesso s opes de inicializao do sistema. Observe que esta senha no poder ser criptografada, o que acarretar em sua visualizao por qualquer usurio do sistema no ser que sejam redefinidos os atributos de permisso para o arquivo /etc/lilo.conf. Para isto, basta apenas digitar...
# chmod 700 /etc/lilo.conf

single-key
Possibilita a utilizao de uma nica tecla para a inicializao do sistema, ao invs de digitar todo o nome exibido. Este parmetro dever ser 93/131

configurado junto com a opo alias, disponvel na seo de parties.

FRAMEBUFFER
Ainda dentro da seo global, existe um outro trecho para caso voc no tenha definido a forma de exibio das fontes no modo texto durante a instalao do Slackware e desejar utilizar o recurso grfico framebuffer. Conforme ser enfatizado durante a 3a. Parte: A Instalao -> Instalao do Slackware, o framebuffer um recurso especial em que o kernel acessa diretamente a memria de vdeo e conseqentemente utilizando seus recursos, como a resoluo grfica. Mas como fazer para habilitar/desabilitar este recurso, alm de alterar as resolues presentes?
-//# Normal VGA console vga = normal # VESA framebuffer console # vga=791 # VESA framebuffer console # vga=790 # VESA framebuffer console # vga=773 # VESA framebuffer console # vga=788 # VESA framebuffer console # vga=787 # VESA framebuffer console # vga=771 # VESA framebuffer console # vga=785 # VESA framebuffer console # vga=784 # VESA framebuffer console # vga=769 # End LILO global section -//-

@ 1024x768x64k @ 1024x768x32k @ 1024x768x256 @ 800x600x64k @ 800x600x32k @ 800x600x256 @ 640x480x64k @ 640x480x32k @ 640x480x256

Observe que a opo padro utilizada pelo gerenciador de inicializao vga = normal. Caso queira habilitar o framebuffer, bastar apenas selecionar a opo de resoluo e profundidade de cor e desmarcar o comentrio ao lado. Na prxima inicializao, este recurso estar em vigor.

SEO

DE PARTIES

A seo de parties contm descritas as opes para de inicializao dos sistemas operacionais j instalados no micro. Em uma unidade de disco rgido, onde existem duas parties para o Windows e GNU/Linux, a estrutura da seo de parties seria a seguinte:
-//# DOS bootable partition config begins other = /dev/hda1 label = DOS table = /dev/hda1

94/131

# DOS bootable partition config ends # Linux bootable partition config begins image = /boot/vmlinuz root = /dev/hda6 label = Linux read-only # Linux bootable partition config ends -//-

Observe que, por sua vez, esta seo subdivide-se em mais duas distintas: uma especial para a inicializao de outros sistemas (DOS), e outra para a inicializao de sistemas GNU/Linux (Linux). Ademais, segue as definies de cada parmetro desta seo:

image = /[IMAGEM_COMPACTADA]
Inicializa a imagem compactada do kernel utilizado. Este geralmente se encontra armazenado no diretrio /boot, porm voc poder utilizar outros locais conforme desejar. Por exemplo, sempre mantenho a seguinte opo:
image = /usr/src/linux/arch/i386/boot/bzImage root = /dev/hda6 label = Experimental read-only # Linux bootable partition config ends

muito til para experimentar novos kernels, sem ter que ficar remexendo no sistema toda vez para realizamos uma nova compilao.

root = /dev/[PARTIO_GNU/LINUX]
Informa onde se encontra a partio de sistemas GNU/Linux instalada. Atentem-se para que diferentes sistemas (kernels) possam estar localizadas em uma mesma partio, como recomendvel ser feito no caso da compilao de um kernel experimental.

label = [NOME_DO_SISTEMA]
Exibe o nome do sistema instalado. Ao utilizarmos diferentes distribuies, deveremos atribuir sua nomenclaturas no label correspondente.

read-only
Pelo fato da necessidade de checagem do sistema de arquivos antes de inicializado, esta partio dever ser montada antes como somente leitura para depois ser montada normalmente.

other = /dev/[PARTIO_COM_OUTROS_SISTEMAS]
Indica a partio onde se encontram outros sistemas operacionais para serem inicializados.

table = /dev/[DISCO_RGIDO]
Informa em qual disco rgido se encontra algum outro sistema operacional 95/131

instalado.

alias = [CARACTER]
Utilizado em conjunto com a opo single-key da seo global, atribui um nico caracter para selecionar o sistema operacional desejado (esta opo dever estar dentro das definies dos sistemas listados, da mesma forma que label).

LILOCONFIG
O liloconfig um utilitrio especialmente desenvolvido para definir as configuraes bsicas deste gerenciador de inicializao da mquina. Para execut-lo, basta digitar...
# liloconfig

... onde ser apresentada uma tela com as instrues de como proceder passo-a-passo. Para alternarem entre as opes disponveis no menu, utilizem a tecla <SETA_ACIMA> e <SETA_ABAIXO> para selecionar as opes do menu; <TAB> para posicionar o curso nas opes Aceitar ou Cancelar, onde <SETA_ESQ.> e <SETA_DIR.> alterna entre eles; e <ENTER> para definir as opes desejadas.

O LILO tambm automaticamente instalado e definido durante a instalao do Slackware. Ao ser executado, deveremos definir qual o tipo de instalao. Selecionem simple para uma instalao bsica. Estas e outras informaes esto disponveis na 3a. Parte: A instalao -> Instalando o Slackware, na seo Configure -> LILO.

OPERAES

MAIS FREQENTES

Existe algumas operaes ocasionalmente necessrias para a manuteno da inicializao do sistema, que dentre as quais, segue:

boa

SELECIONAR

O SISTEMA

GNU/LINUX

COMO PADRO

Aps a inicializao do LILO, o sistema aguardar o usurio selecionar qual o sistema operacional ser carregado, quando coexistirem o Windows e o GNU/Linux. Por padro o Windows carregado quando no feita a 96/131

escolha pelo usurio, e o tempo de espera consumido. Mas podemos alterar a opo padro para que ela seja um sistema GNU/Linux. Para isto, acrescentem o parmetro...
# LILO configuration file # generated by 'liloconfig' # # Start LILO global section append="hdd=ide-scsi" boot = /dev/hda message = /boot/boot_message.txt prompt default=[LABEL] timeout = 1200 -//-

..., onde [LABEL] ser o nome (rtulo) dado ao sistema descrito na seo de parties. O modo padro Linux. Em seguida, rodem o lilo novamente. Ser exibida a seguinte mensagem.
# lilo Added Windows Added Linux * # _

Significa que a operao foi realizada com sucesso.

MUDAR

A RESOLUO DO FRAMEBUFFER

Podemos definir a resoluo de vdeo manualmente, editando diretamente o arquivo /etc/lilo.conf na seo global. Vamos supor que desejssemos utilizar a resoluo de 1024x768x32k?
# VESA framebuffer console @ 1024x768x32k # vga=790

Ou ento 800x600x32k:
# VESA framebuffer console @ 800x600x32k # vga=787

Basta apenas remarcar (ou apagar) o padro atual ( vga = normal) e desmarcar a opo desejada (vga = [DESEJADO]). Lembre-se que sua placa de vdeo dever suportar este recurso, e o monitor, a resoluo desejada. Aps isto, salve o arquivo e digite na linha de comando...
# lilo

... para gravar um nova definio do LILO no setor MBR do disco rgido com as alteraes realizadas.

ADICIONAR

MAIS UMA ENTRADA NO

LILO

Se fosse instalado mais um sistema operacional alm do Windows e o GNU/Linux padro, e o quisesse incluir no gerenciador, bastaria incluir as informaes necessrias dentro desta seo. Vamos supor que voc resolveu instalar uma outra verso de sistema GNU/Linux em um outro 97/131

disco rgido, de um micro qualquer que estava encostado no canto. As instrues necessrias seria estas:
image = /[IMAGEM_DO_KERNEL] root = /dev/[DISCO_RGIDO] label = [NOME_DO_SISTEMA] read-only

Ou se fosse um outro sistema no GNU/Linux:


other = /dev/hdb1 label = [SISTEMA_OPERACIONAL_DESCONHECIDO] table = /dev/hdb

Ao executar o LILO para atualizar as alteraes na MBR, ser exibido o novo nome (label) do sistema operacional disponibilizado:
# lilo Added DOS * Added Linux Added [NOVO_SISTEMA] # _

ADIO

DE SENHA

Sabendo-se da possibilidade de ter acesso ao sistema com a simples utilizao do comando linux single na linha de comando do LILO, a nica forma de proteger-se deste inconveniente atribuir uma senha de acesso. Para isto, insira a seguinte linha no arquivo /etc/lilo.conf:
-//# Start LILO global section boot = /dev/hda message = /boot/boot_message.txt password = [SENHA] prompt timeout = 1200 # Override dangerous defaults that rewrite the partition table: -//-

Onde no lugar de [SENHA] dever ser digitada a senha desejada. Lembrese de que estes parmetros devero estar situados antes da linha prompt.

PARMETROS
boot: _

ESPECIAIS DURANTE A INICIALIZAO

Voc pode utilizar alguns parmetros especiais na linha de comando. Quando se desejava utilizar qualquer um dos sistemas operacionais, bastava teclar <TAB> e digitar o nome exibido do sistema operacional referente. Porm, com a utilizao dos parmetros...

Parmetros especiais single user Em monousurio (sem senha), para a manuteno do sistema.
... sero aplicadas as definies descritas. 98/131

ATUALIZANDO AS

ALTERAES DESEJADAS

Para atualizar qualquer modificao realizada no arquivo /etc/lilo.conf, basta apenas executarmos o LILO e verificar a sada de vdeo:
# lilo Added DOS * Added Linux # _

Pronto! O LILO j atualizou as configuraes desejadas e na prxima inicializao estaro habilitadas as alteraes realizadas. Caso ocorra alguma anomalia, reeditem novamente o arquivo de configurao e corrijam as linhas alteradas.

DISCO

DE RECUPERAO COM O LILO.CONF

Outra necessidade eventual est na utilizao de um disco de recuperao que suporte o LILO, caso este no possa selecionar o sistema ser inicializado. Para isto, digitem na linha de comando...
# lilo -b /dev/[DEVICE_DISQUETE]

Segue um exemplo prtico, utilizando a 1a. unidade do sistema:


# lilo -b /dev/fd0

PROBLEMAS

MAIS FREQENTES

Ao invs do sistema inicializar, exibido LI, LI- ou 01 01 01...


Isto pode ocorrer com o posterior travamento do sistema devido possivelmente s seguintes circunstncias: A no gravao e/ou atualizao do LILO na MBR; Substituio da posio das unidades de disco rgido aps a instalao neste caso os devices dos discos rgidos no correspondero s definies gravadas pelo LILO. Partio de inicializao aps cilindro 1024 isto ocorre nas verses anteriores 21.4.3 do LILO. Em virtude da disponibilidade de verses atualizadas, no existem maiores preocupaes quanto esta ocorrncia. Antivrus da BIOS ativado No somente nos sistemas GNU/Linux, como no prprio Windows a manuteno de um programa antivrus da BIOS acarreta diversos problemas, em especial durante a instalao de programas. recomendvel desativ-lo.

Estas so as principais causas do travamento na inicializao do LILO. Podero existir quaisquer outras, mas as solues podero ser especficas, de acordo com a mquina utilizada. Para estas e outras circunstncias, recomendamos elaborarem durante ou logo aps a instalao do Slackware

99/131

um disquete de inicializao.

O sistema no reconhece mais que 64 MB de memria...


Isto ocorre apenas nas verses do kernel anteriores 2.4. Editem o arquivo /etc/lilo.conf e adicione na seo global a seguinte linha ao arquivo:
append="mem=[QUANTIDADE DE MEMRIA EM MB]M"

Salvem o arquivo e atualize o LILO...


# lilo

Basta reiniciar o sistema e as alteraes entraro em vigor.

Remoo das definies do LILO no setor MBR


Basicamente existem duas formas de remover as definies do LILO com a utilizao das linhas de comando:

Sistema Bash

Comando
# /sbin/lilo -U

MS-DOS C:\> FDISK /MBR


Geralmente a remoo do LILO na MBR se faz quando h necessidade da desinstalao dos sistemas GNU/Linux ou utilizao de discos rgidos os quais possuem ou tiveram um sistema GNU/Linux instalado.

Recuperar a senha do superusurio


Em algumas circunstncias podero ocorrer a perda (esquecimento, erro de digitao) da senha do superusurio para a administrao do sistema. Caso isto ocorra, simplesmente digitem na linha de comando do LILO...
LILO: linux single init=/dev/bash.

...ou apenas...
LILO: linux single

O sistema ser executado em modo monousurio, o qual com a utilizao do comando passwd, poderemos alterar a senha original para um termo conhecido. Lembrem-se que este recurso somente funcionar caso no tenhamos definido a opo password na configurao do LILO. Neste caso deveremos ter em mos a senha de acesso do LILO para que possamos iniciar o sistema em modo monousurio.

OBSERVAES

FINAIS

Apesar de simples e com uma aparncia arcaica (como muitos dizem por a), o LILO disponibiliza as principais funcionalidades para o gerenciamento de mltiplos sistemas operacionais do computador. Pode no ser to flexvel ou possuir maiores vantagens que a utilizao de outros bons gerenciadores como o GRUB, por exemplo porm devido s suas 100/131

caractersticas nicas, seu uso e manuteno simples e fcil. O gerenciador ainda pode ter sua tela de apresentao personalizvel, porm este no o escopo deste livro, o qual com ele nos comprometemos a fornecer informaes indispensveis para o seu bom funcionamento. Mas no se preocupem. Existem inmeros artigos na Internet disponveis para esta finalidade. &;-D

CONCLUSO
Independente da escolha do gerenciador de inicializao, estejam certo de que temos disposio excelentes programas para esta finalidade. Cada um possui caractersticas e particularidades inerentes dos quais sero fatores preponderantes de preferncia aos usurios do sistema. O Slackware prima pelo uso do LILO pelo fato do mesmo apresentar maior simplicidade, mas nada que impea a utilizao do GRUB, uma excelente alternativa. &;-D

101/131

IX. INICIALIZAO
INTRODUO
Diferente do MS-DOS e Windows os sistemas GNU/Linux lidam de forma diferente com o processo de inicializao do computador. Neste captulo, iremos conhecer quais so e como funciona o processo de inicializao dos sistemas GNU/Linux, bem como suas caractersticas e particularidades, tendo um enfoque especial ao mtodo de inicializao do Slackware.

MTODO

DE INICIALIZAO

Os mtodos de inicializao padro dos sistemas Unix, clones e variantes so respectivamente o System V e o estilo BSD.

TIPOS

DE MTODOS

SYSTEM V
O System V (AT&T) o mtodo mais utilizado pelas distribuies atuais. Consiste em utilizar dezenas de scripts para cada servio ser inicializado, todos armazenados em um diretrio especfico de acordo o nvel de execuo utilizado. Alm disso, operar em vrios modos existentes, todos numerados de 0 a 6.

ESTILO BSD
O estilo BSD (Berkeley Software Distribution) atualmente adotado pelas distribuies Slackware, Debian e SuSe. Diferente do outro sistema de inicializao, o estilo BSD utiliza apenas alguns scripts so carregados durante o processo de inicializao, estes considerados mais rpidos e eficientes, alm de uma maior simplicidade quando de sua manuteno. Alm disso, opera em apenas 2 modos: o single-user (S para manuteno) e o multi-user (M uso para produo). Os scripts de inicializao do Slackware obedece este estilo, que por sua vez simples e extremamente rpido, enquanto que as demais distribuies se baseiam na utilizao do mtodo de inicializao System V. Apesar disto, os nveis de execuo so conforme o mtodo System V.

SCRIPTS

DE INICIALIZAO

Os scripts de inicializao so arquivos de lote que armazenam as definies necessrias para a habilitao dos principais servios necessrios para o sistema, conforme especificado pelo seu nvel de execuo o runlevel. 102/131

Quando o sistema inicializa, o kernel carregado para a memria do sistema, aps a inicializao dos dispositivos, este roda o init, o primeiro processo de execuo do sistema PID 1. Aps ser carregado, o kernel executa o runlevel especificado pelo arquivo de configurao /etc/inittab. Ainda neste mesmo arquivo de definies, especifica-se os scripts necessrios para a execuo do runlevel desejado.

DIRETRIO

/ETC/RC.D/

Conforme dito anteriormente, todos estes scripts de inicializao so mantidos em /etc/rc.d/. Para cada um servio ou categoria de servios, haver um script especfico para a sua habilitao, alm de parmetros para ajuste e configurao do mesmo que garantem o bom funcionamento nas mquinas os quais se encontram instalados.
# ls /etc/rc.d/ $ ls rc.0@ rc.bind rc.4* rc.cups rc.6* rc.dnsmasq rc.K* rc.font.new* rc.wireless.conf rc.M* rc.gpm* rc.S* rc.hotplug* rc.acpid* rc.httpd rc.alsa* rc.inet1* rc.atalk rc.inet1.conf # _ rc.inet2* rc.inetd* rc.ip_forward rc.keymap* rc.local* rc.modules@ rc.modules-2.4.33.3* rc.mysqld rc.nfsd* rc.pcmcia rc.rpc rc.samba rc.saslauthd rc.scanluns* rc.sendmail rc.serial rc.sshd rc.syslog* rc.sysvinit* rc.udev* rc.wireless* rc.yp*

Subdividiremos por categoria e descreveremos breves comentrios sobre os mesmos, para que possamos ter uma melhor compreenso.

INICIALIZAO
Como o prprio nome diz, os scripts de inicializao so os responsveis pela inicializao tanto da mquina em si quanto dos nveis de execuo que so definidos pela sua configurao e at mesmo no ato de seu desligamento.

Inicializao rc.S rc.K


Inicializao (start) do Slackware. Responsvel pelo nvel de execuo (runlevel) 1, necessrio para a manuteno do sistema single user.

rc.M Utilizado nos demais nveis de execuo, ou seja, para modo multiusurio (2, 3 e 5). rc.4 rc.0
Necessrio especialmente para carregar em modo grfico (atravs dos gerenciadores KDM, GDM e XDM). Atalho simblico para rc.6.

103/131

Inicializao rc.6
Reinicializao da mquina (liga) e encerramento (desliga). Todos estes scripts so executados pelo Bash e podem ser editados manualmente, porm recomenda-se a realizao prvia de cpias de segurana para nos resguardarmos de algum imprevisto qualquer.

SUPORTE

GERAL

Alm destes scripts, existem vrios outros de extrema importncia, que so utilizados pelos scripts acima descritos, cada um com as mais variadas finalidades. Segue abaixo sua descrio:

Suporte geral rc.acpid rc.alsa rc.cups


Gerenciador de recursos de energia do sistema.

Drivers ALSA (Advanced Linux Sound Architecture).


Servidor de impresso CUPS (Common Unix Printers Services) Configurao e carregamento do gpm (suporte a mouse). Ativao do mapa de teclado do sistema. Banco de dados MySQL. Suporte a dispositivos PCMCIA (utilizados em notebooks). Suporte ao subsistema de deteco de hardware. Configurao das portas seriais da mquina. Gerador de LOGs do sistema. Sistema dinmico de configurao para suporte aos dispositivos do sistema (devices). Suporte dispositivos Wireless.

rc.font.new Carregamento das fontes de console a serem utilizadas. rc.gpm rc.keymap rc.mysqld rc.pcmcia rc.hotplug rc.serial rc.syslog rc.udev rc.wireless

rc.scanluns Deteco de dispositivos SCSI, USB e FireWire.

SUPORTE

REDE

Alm destes, ainda existem outros scripts utilizados exclusivamente para o suporte rede, segue:

Suporte rede rc.atalk rc.bind


Uso do protocolo AppleTalk. Servidor BIND. 104/131

Suporte rede rc.dnsmasq rc.httpd rc.inetd rc.inet1 rc.inet2 rc.nfsd rc.rpc rc.samba rc.saslauthd rc.sendmail rc.sshd rc.yp
Um pequeno servidor DNS. Servidor WEB Apache. Servidor BSD para Internet. Carregamento de vrios servios relacionados redes como o IP, Gateway, rpc.portmap, nfsd, lpd, smb, etc. Suporte ao sist. de arquivos NFS (Networks File System). Protocolo SMB (Samba). Sistema de autenticao Cyrus SASL. Servidor SMTP SendMail (para envio de mensagens). Servidor OpenSSH (para conexo remota segura). Servidor NIS (Networks Information Service).
LOCAIS

rc.ip_forward Definies para o uso de roteador (IPTABLES).

CONFIGURAES

O script rc.local foi designado para o carregamento das configuraes particulares da mquina local, sendo o ltimo ser executado.

Configuraes locais rc.local Necessrio para o carregamento de servios, aplicaes e parmetros especficos da mquina local.
Observem que este script no possui nenhuma definio de comandos e opes para a inicializao de servios e aplicaes, ficando totalmente cargo do administrador definir quais destes que devero ser carregados.
#!/bin/sh # # /etc/rc.d/rc.local: Local system initialization script. # # Put any local setup commands in here:

Aplicaes como o MySQL (quando instalado manualmente) e o HDParm so bons exemplos de programas os quais necessitam ter comandos definidos para sua habilitao.

CARREGAMENTO

DE MDULOS

Para o carregamento de mdulos, existe um script definido unicamente para esta funo: o rc.modules.

105/131

Carregamento de mdulos rc.modules Carregamento de diversos mdulos inerentes do sistema.


Este script possui aproximadamente 700 linhas, em que seu contedo por sua vez so subdivididos em diversas sees para facilitar a organizao. Uma observao interessante est no fato da incluso de instrues para a habilitao de mdulos particulares do sistema, como o suporte uma placa de fax-modem (especialmente softmodem) ou qualquer outro perifrico no suportado oficialmente pela distribuio. Alguns instruem em colocar estas definies em rc.modules; outros em rc.local. Independente do arquivo utilizado, inclua as instrues sempre no final do arquivo, para que possamos localiz-la de forma padronizada e com maiores facilidades.

COMPATIBILIDADE
A grande maioria das distribuies GNU/Linux optam por utilizar o mtodo de inicializao System V, que por sua vez as aplicaes disponveis para o sistema esto condicionadas utilizar as definies gerais deste mtodo.

Compatibilidade rc.sysvinit Compatibilidade com o mtodo System V.


O Slackware, por no utilizar este mtodo de inicializao, e por necessitar obter compatibilidade com tais programas, definiu o script rc.sysvinit.

SEQENCIA DE SCRIPTS NA INICIALIZAO

O primeiro script ser executado o rc.S, que roda apenas uma nica vez durante a inicializao do sistema. Aps o rc.S, vem o rc.M, responsvel pela utilizao do sistema no modo multi-usurio, desde que o nvel de execuo esteja pr-configurado em /etc/inittab para isto. O script rc.K somente executado quando houver a necessidade de manuteno do sistema. Por entrar no modo monousurio, todos recursos multi-usurios so desabilitados, como tambm qualquer servio (processos) para que possamos intervir no sistema.

NVEIS

DE EXECUO DO

SLACKWARE

Runlevels nveis de execuo so estgios de execuo especficos que visam habilitar e/ou desabilitar um conjunto de servios especficos para cada necessidade da mquina em uso. Por exemplo, em uma necessidade de uso comum, de manuteno, para propsitos especficos do sistema, enfim, existir um nvel de execuo apropriado para cada um. Os nveis de execuo podero ser diferentes de acordo com a distribuio utilizada.

106/131

OS

NVEIS DE EXECUO

Segue abaixo os nveis de execuo do Slackware:

Nveis de execuo Runlevel 0 Atalho simblico para rc.6. Runlevel 1 Modo single user, necessrio para a manuteno do sistema. Runlevel 2 Sem uso. Runlevel 3 Modo multi-usurio, autenticao em modo texto (console). Runlevel 4 Modo multi-usurio, autenticao em modo grfico. Runlevel 5 Sem uso. Runlevel 6 Reinicializao e desligamento do sistema System Halt e Reboot, respectivamente.

NVEL 1 MANUTENO

DO SISTEMA

O nvel 1 somente executado quando da necessidade de manuteno do sistema. Somente a partio raz montada para as intervenes necessrias, sendo este o principal motivo pelo qual no podemos definir uma partio especial para o diretrio padro do superusurio (root).

NVEL 3

4 MODO

MULTI-USURIO

Os nveis 3 e 4 so definidos para a utilizao normal do sistema. com eles que iniciamos o sistema para realizar as atividades do nosso dia-a-dia ou finais de semana, dependendo da nossa disponibilidade... &;-D A principal diferena est no carregamento da interface grfica e seus respectivos gerenciadores de autenticao. O nvel 3 inicializa o sistema em modo texto, onde o usurio digita seu apelido de autenticao e senha de acesso, para que acionem logo em seguida o ambiente grfico, digitando para isto...
$ startx

J o nvel 4 inicializa o sistema em modo grfico, disponibilizando um gerenciador de autenticao grfico pr-definido que disponibiliza diversos recursos grficos para um melhor conforto e facilidades aos usurios. Apesar do nvel 3 ser a opo menos confortvel em termos de autenticao e seleo de ambiente grfico, em muitas circunstncias a mais confortvel quando ocorrem problemas que impedem a inicializao da interface grfica. J o nvel 4 indicado especialmente para usurios leigos, os quais no possuem conhecimentos tcnicos para a manipulao do sistema em modo texto, como a seleo e inicializao do ambiente grfico (na utilizao dos gerenciadores KDM e GDM), desligamento do sistema, etc. 107/131

Somente o nvel 4 possui um script de inicializao, o rc.4, que por sua vez define quais os gerenciadores de autenticao devero ser rodados, onde deveremos comentar e/ou descomentar as linhas correspondentes aos gerenciadores que desejamos utilizar (ou no), ou ainda modificar a ordem de execuo dos mesmos, para dar prioridade ao gerenciador desejado. Estas instrues e muitas outras se encontram com maiores detalhes na 6a. Parte: Ambientes Grficos -> Operaes e ajustes afins.

NVEL 6 REINICIALIZAO

DO SISTEMA

partir do momento em que reinicializamos ou desligamos o computador, automaticamente o sistema utiliza o nvel de execuo 6 para que todos os servios e processos sejam finalizados antes do sistema ser reinicializado. Ao utilizarmos o comando shutdown, estaremos acionando este nvel.

DEMAIS

NVEIS DE EXECUO

Os nveis 2 e 5 no so utilizados pelo sistema, enquanto que existem outros nveis no especificados, de 7 a 9, que so utilizados especificamente para o desenvolvimento de nveis de execuo customizados de acordo com as necessidades da mquina local.

DIFERENAS

ENTRE O PADRO

SLACKWARE

E OS DEMAIS

Em outras distribuies, as definies dos nveis de execuo podem variar. Por exemplo, a Red Hat/Fedora & variantes utilizam o nvel 5, que destinado ao modo multi-usurio com autenticao grfica, ao invs do equivalente nvel 4.

/ETC/INITTAB
O arquivo de configurao /etc/inittab define todos os parmetros e definies gerais do mtodo de inicializao sistema.
# # # # # # # # # # # # inittab Version: This file describes how the INIT process should set up the system in a certain run-level. @(#)inittab 2.04 2.10 3.00 4.00 17/05/93 02/10/95 02/06/1999 04/10/2002 MvS PV PV PV

Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org> Modified by: Patrick J. Volkerding, <volkerdi@slackware.com>

# These are the default runlevels in Slackware: # 0 = halt # 1 = single user mode # 2 = unused (but configured the same as runlevel 3)

108/131

# # # #

3 4 5 6

= = = =

multiuser mode (default Slackware runlevel) X11 with KDM/GDM/XDM (session managers) unused (but configured the same as runlevel 3) reboot

# Default runlevel. (Do not set to 0 or 6) id:3:initdefault: # System initialization (runs when system boots). si:S:sysinit:/etc/rc.d/rc.S # Script to run when going single user (runlevel 1). su:1S:wait:/etc/rc.d/rc.K # Script to run when going multi user. rc:2345:wait:/etc/rc.d/rc.M # What to do at the "Three Finger Salute". ca::ctrlaltdel:/sbin/shutdown -t5 -r now # Runlevel 0 halts the system. l0:0:wait:/etc/rc.d/rc.0 # Runlevel 6 reboots the system. l6:6:wait:/etc/rc.d/rc.6 # What to do when power fails. pf::powerfail:/sbin/genpowerfail start # If power is back, cancel the running shutdown. pg::powerokwait:/sbin/genpowerfail stop # These are the standard console login getties in multiuser mode: c1:1235:respawn:/sbin/agetty 38400 tty1 linux c2:1235:respawn:/sbin/agetty 38400 tty2 linux c3:1235:respawn:/sbin/agetty 38400 tty3 linux c4:1235:respawn:/sbin/agetty 38400 tty4 linux c5:1235:respawn:/sbin/agetty 38400 tty5 linux c6:12345:respawn:/sbin/agetty 38400 tty6 linux # Local serial lines: #s1:12345:respawn:/sbin/agetty -L ttyS0 9600 vt100 #s2:12345:respawn:/sbin/agetty -L ttyS1 9600 vt100 # Dialup lines: #d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100 #d2:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1 vt100 # Runlevel 4 used to be for an X window only system, until we discovered # that it throws init into a loop that keeps your load avg at least 1 all # the time. Thus, there is now one getty opened on tty6. Hopefully no one # will notice. ;^) # It might not be bad to have one text console anyway, in case something # happens to X. x1:4:wait:/etc/rc.d/rc.4 # End of /etc/inittab

109/131

Dentre as intervenes mais realizadas, est na mudana do nvel de execuo. Por padro, o Slackware utiliza o nvel 3, mas em virtude da facilidade de uso para os mais inexperientes, recomendvel utilizar o nvel 4, o qual o sistema acessa um gerenciador de autenticao simples, intuitivo e fcil de usar. Novamente, consultem a 6a. Parte: Ambientes Grficos -> Operaes e ajustes afins, para obterem maiores informaes de como proceder para realizar esta e muitas outras intervenes.

OPERAES
ATIVAR /
MTODO

E AJUSTES AFINS

DESATIVAR SCRIPTS DE INICIALIZAO

MANUAL

O mtodo manual de ativar e/ou desativar os servios na inicializao feito atravs da mudana das permisso de execuo ( flag x) de seus respectivos scripts. Dentro do diretrio /etc/rc.d, basta executar...
# chmod a+x [SCRIPT]

... para ativarmos, ou...


# chmod a-x [SCRIPT]

... para desativarmos. Poderemos tambm definir as demais permisses juntas da seguinte forma:
# chmod [PERMISSO] [SCRIPT]

Onde [PERMISSO] deve ser substitudo por flags pr-definidas. Por exemplo, para ativarmos...
# chmod 755 rc.yp

... ou para desativarmos...


# chmod 644 rc.yp

MTODO

AUTOMATIZADO

O Slackware possui um atalho no Pkgtool para ativar e/ou desativar os scripts de inicializao do sistema. Basta carregarmos o utilitrio...
# pkgtool

... e acionar a opo Setup disponvel na tela principal:

110/131

Em seguida, marcar a opo services e teclar <ENTER> em seguida...

Nesta 3a. tela, deveremos apenas definir quais os scripts que devero ser ativados (marcando-os com a tecla <ESPAO>) e/ou desativados (desmarcando-os).

MELHORANDO

A COMPATIBLIDADE COM O

SYSTEM V

Uma vez testamos o VMWare, um emulador de PCs x86 que necessitava ter definidas a localizao dos scripts rc.0 a rc.6 e seus respectivos diretrios. Este programa busca a destes scripts localizao utilizando as referncias tcnicas do mtodo System V, o que no encontrava no Slackware. Ento para sanar esta deficincia, ser necessrio procedermos desta forma: 1. Criar os respectivos diretrios dos nveis de inicializao: Todos os subdiretrios devero ser criados conforme o mtodo System V.
# mkdir /etc/rc.d/rc0.d # mkdir /etc/rc.d/rc1.d # mkdir /etc/rc.d/rc2.d

111/131

# # # # #

mkdir mkdir mkdir mkdir _

/etc/rc.d/rc3.d /etc/rc.d/rc4.d /etc/rc.d/rc5.d /etc/rc.d/rc6.d

2. Criar atalhos simblicos para os scripts de inicializao: Todos os atalhos simblicos dentro destes diretrios devero ser criados conforme a sua localizao no mtodo System V para representar os arquivos de configurao referentes aos nveis de inicializao.
# # # # # # # # ln ln ln ln ln ln ln _ -s -s -s -s -s -s -s /etc/rc.d/rc.0 /etc/rc.d/rc.1 /etc/rc.d/rc.2 /etc/rc.d/rc.3 /etc/rc.d/rc.4 /etc/rc.d/rc.5 /etc/rc.d/rc.6 /etc/rc.d/rc0.d/rc.0 /etc/rc.d/rc1.d/rc.1 /etc/rc.d/rc2.d/rc.2 /etc/rc.d/rc3.d/rc.3 /etc/rc.d/rc4.d/rc.4 /etc/rc.d/rc5.d/rc.5 /etc/rc.d/rc6.d/rc.6

Aps iniciar a instalao do VMWare, seus utilitrios de configurao encontrou a localizao destes scripts sem maiores problemas.

CONCLUSO
Conforme j dito diversas vezes, uma caracterstica interessante do mtodo de inicializao BSD est na velocidade e facilidade de customizao. O fato de dispor apenas de alguns scripts com todas as sees pr-organizadas e comentadas no s facilitam as intervenes necessrias, como tambm agilizam na procura de parmetros especficos. No mtodo System V, teramos o trabalho de identificar qual o script contm a configurao o qual desejamos editar, ao passo que no estilo BSD apenas bastaria localizar o script o qual contm a categoria do perfil de configurao e navegar nas sees comentadas. Poderemos tambm utilizar as ferramentas de busca dos editores de textos disponveis para realizar a localizao desejada. &;-D

112/131

X. GERENCIAMENTO
INTRODUO

BSICO DE PROGRAMAS

Como qualquer outra distribuio GNU/Linux, o Slackware tambm possui seu sistema de gerenciamento de pacotes, alm de diversos outros utilitrios que auxiliam a administrao dos programas utilizados. Neste captulo conheceremos as principais ferramentas e instrues para as necessidades mais rotineiras, alm de informaes gerais sobre os demais processos pertinentes.

FERRAMENTAS &

MTODOS...

SLACKWARE PACKAGE TOOLS


<http://www.slackware.org/>. O gerenciador de pacotes padro do Slackware o Slackware Package Tools, um conjunto de ferramentas alm do menu interativo que visa facilitar ao mximo o gerenciamento de pacotes.

Pkgtools.

Para ter acesso ao gerenciador, digitem na linha de comando...


# pkgtools

... onde ser apresentada a tela principal da ferramenta. Alm do aplicativo, existem diversos utilitrios de linha de comando que complementam o gerenciador, os quais so: installpkg, upgradepkg, removepkg, makepkg e explodepkg. Por este captulo tratar de apenas instrues bsicas para o uso em desktops, apenas descreveremos os trs primeiros, j que atendem satisfatriamente suas necessidades.

INSTALAO
Para instalar um pacote: 113/131

# installpkg [PACOTE].tgz

ATUALIZAO
Para atualizar um pacote:
# upgradepkg [PACOTE].tgz

REMOO
Para remover um pacote:
# removepkg [PACOTE].tgz

RED HAT PACKAGE MANAGEMENT


<http://www.rpm.org/>. O RPM foi o primeiro gerenciador de pacotes desenvolvido para a instalao de programas pr-compilados.

Manual Eletrnico do RPM.

Criado pela Red Hat, o gestor padro da maioria das distribuies, alm de ser um dos requerimentos estabelecidos pelo padro LSB. Por isto o Slackware tambm suporta a instalao de pacotes no padro RPM.

INSTALAO
Para instalar um pacote:
# rpm -ivh [PACOTE].rpm --nodeps

ATUALIZAO
Para atualizar um pacote: 114/131

# rpm -Uvh [PACOTE].rpm -nodeps

REMOO
Para remover um pacote:
# rpm -e [PACOTE].rpm --force

COMPILAO

DO CDIGO-FONTE

Na necessidade de se instalar um pacote disponvel somente em cdigofonte, teremos que realizar manualmente a sua configurao, a compilao e por fim, a instalao. Apesar de no ser um processo to fcil em comparao instalao do pacote compilado, a maioria dos programas livres existentes utilizam os comandos bsicos para esta finalidade. Segue abaixo instrues bsicas para a realizao destas etapas. Para obterem detalhes adicionais, recomendamos a leitura da 5a. Parte: Gerenciamento de Programas -> Compilao do cdigo-fonte.

CONFIGURAO

Para que possamos compilar qualquer cdigo-fonte, necessitaremos criar os Makefiles, que so arquivos que contm as instrues (parmetros) necessrias para o sistema gerar os arquivos binrios do programa desejado. Para isto, executem no diretrio do pacote:
# ./configure --[OPES]

Lembrem-se de que em algumas circunstncias devido natureza do pacote em questo no ser necessria a realizao desta etapa, sendo apenas necessria as duas descritas logo seguir.

COMPILAO

Aps realizarmos a configurao, deveremos compilar o pacote com...


# make

Baseado nas instrues geradas pelo configure e gravadas nos Makefiles, o comando make criar os arquivos binrios necessrios para compor o corpo do programa que desejamos instalar.

INSTALAO

Terminada a compilao do programa, digitem na linha de comando...


# make install

... para concluir a instalao do programa. Poderemos tambm omitir a instruo make do processo de compilao e lanar diretamente o make install. Assim ser feita a compilao e, logo em seguida, a instalao.

115/131

DESINSTALAO

Para que seja desinstalado os binrios de um arquivo gerados partir do cdigo-fonte, deveremos digitar...
# make uninstall

... lembrando que nem todos os programas possuem esta opo disponvel.

OUTROS

UTILITRIOS

Alm de suportar os dois processos de instalao de pacotes, o Slackware tambm possui utilitrios que facilitam o gerenciamento destes, tais como o rpm2tgz, que converte os pacotes RPM para o formato nativo do Slackware, e o script Checkinstall, que possibilita empacotar os arquivos gerados pela compilao do cdigo-fonte de aplicativos e utilitrios.

CONCLUSO
Em virtude da necessidade de estarem disponveis na parte Conhecimentos Gerais todas as instrues bsicas para a utilizao das informaes nas partes posteriores deste livro, damos apenas uma pequena introduo bsica ao que se refere instalao de programas nos sistemas GNU/Linux, para que os usurios tenham uma pequena base-tcnica que os auxiliem procederem com o uso das instrues disponveis nas partes seguintes. Por isto, se quiserem se aprofundar mais, recomendamos que consultem a 5a. Parte Gerenciamento de Programas. &;-D

116/131

XI. VARIVEIS
INTRODUO

DE SISTEMA

Quando trabalhamos com o Windows, em algumas situaes necessitaremos lidar com algumas variveis do sistema (como a path, por exemplo). Em algumas circunstncias (especialmente nas verses 9x), teremos que utilizar a linha de comando para realizar as intervenes. Com estes mesmos conceitos, as variveis dos sistemas GNU/Linux no s apresentam as mesmas funcionalidades conhecidas no sistema operacional habitual, como outras diversas, das quais iremos conhecer neste captulo.

AS

VARIVEIS

PATH / ROOTPATH
Para aqueles que migraram do MS-DOS acreditamos que esto bem familiarizados com a varivel PATH, muito utilizada para habilitar seus comandos em qualquer ponto (diretrio) do sistema. PATH pronuncia-se pf apenas o caminho de procura para arquivos executveis. A varivel armazena na memria do sistema caminhos para a localizao de comandos e executveis evocados em qualquer ponto do sistema para a execuo. Observem os caminhos /bin, /sbin, /usr/bin e /usr/local/bin: estas so as localizaes dos comandos utilizados pelos usurios, comandos do administrador e evocados pelo prprio sistema, binrios de aplicaes do sistema e binrios de aplicaes instaladas que no fazem parte dos pacotes disponveis na distribuio (local) respectivamente.
$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/opt/www/htdig/bin:/u sr/lib/java/bin:/usr/lib/java/jre/bin:/opt/kde/bin:/usr/lib/qt3.2.1/bin:/usr/share/texmf/bin:. $ _

Isto quer dizer que, toda vez ao evocarmos um comando ou aplicao, o interpretador inicialmente ir buscar tais executveis nos diretrios especfica dos pela varivel $PATH. Caso no seja encontrado, ser exibida a seguinte mensagem:
bash: [EXECUTVEL]: command not found

Se estas especificaes no existissem, teramos que especificar todo o caminho onde se encontra o executvel:
$ /bin/free $ /usr/bin/emacs $ /usr/local/firefox/firefox

E para evocar uma aplicao instalada em um local extico? Vejam o exemplo da SDK Java. Para que possamos acionar seus arquivos binrios, 117/131

teramos que digitar...


$ /usr/lib/java/bin/java [PARMETROS]

Para resolver este problema, bastaria apenas atualizar a varivel $PATH para conter o caminho do binrio java, e assim digitar apenas...
$ java [PARMETROS]

Os sistemas GNU/Linux neste caso, o Slackware ao serem instalados possuem este caminho pr-configurados numa seo do arquivo /etc/profile.
# Set the default system $PATH: PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games"

Para que reconfiguremos toda vez que inicializar o sistema, termos que acrescentar o caminho aos j existentes. No caso do Java, seria...
# Set the default system $PATH: PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/usr/lib/java/b in/"

Sem maiores detalhes, acreditamos que devam ter entendido a finalidade desta varivel. Quanto varivel ROOTPATH, sem grandes mistrios, ela apenas define o caminho dos executveis para o administrador do sistema.

HOME
Exibe o diretrio atual (raz) onde se encontra o usurio autenticado.
$ echo $HOME /home/darkstar $ _

OSTYPE
Exibe o sistema operacional (kernel) em uso.
$ echo $OSTYPE linux-gnu $ _

SHELL
Exibe qual o interpretador de comandos usado na seo.
$ echo $SHELL /bin/bash $ _

TERM
J o TERM apenas indica o tipo de terminal utilizado no momento.
$ echo $TERM xterm $ _

118/131

USER
Exibe a conta de usurio autenticada naquele instante.
$ echo $USER darkstar $ _

COMANDOS
ECHO

PARA MANIPULAO

Apenas exibe o valor das variveis em questo. Sintaxe:


$ echo $[VARIVEL]

Exemplo:
$ echo $HOME /home/darkstar $ _

SET

O comando set o principal responsvel pela atualizao das variveis do sistema. Sintaxe:
$ set [VARIVEL] [VALOR]

Observem que o valor (contedo) da varivel dever se encontrar entre aspas duplas. Para habilitarmos um contedo para a varivel PATH, deveremos utilizar...
$ set PATH /usr/local/tools

Somente utilizando este comando, sero apagadas todas as definies anteriores. Para mant-las, utilizamos a varivel $PATH. Com isto, poderemos acrescentar este valor utilizando o comando...
$ set PATH $PATH;/usr/local/tools;[DEFINIO_2];[DEFINIO_3]

... sem apagar as definies anteriores. Lembrem-se que estas definies somente se encontraro presentes na sesso atual do terminal. Um detalhe interessante que, quando o comando digitado em um terminal, so exibidos os valores correntes de todas as variveis do sistema:
$ set BASH=/bin/bash BASH_VERSINFO=([0]="2" [1]="05b" [2]="0" [3]="1" [4]="release" [5]="i486slackware-linux-gnu") BASH_VERSION='2.05b.0(1)-release' COLORTERM= COLUMNS=80

119/131

CPLUS_INCLUDE_PATH=/usr/lib/qt-3.2.1/include:/usr/lib/qt-3.2.1/include DIRSTACK=() DISPLAY=:0.0 -//$ _

EXPORT

Exporta valores de variveis Sintaxe:


$ export [VARIVEL]=[VALOR] $ export [VARIVEL]=[VALOR COM ESPAOS] $ export [VARIVEL]='[VALOR COM ESPAOS]'

Exemplo:
$ export JAVA_HOME=/usr/java/bin

Da mesma forma que set, apagaremos as definies anteriores da varivel. Se quisermos mant-las, teremos que utilizar...
export JAVA_HOME=$JAVA_HOME:/usr/java/bin

Devemos lembrar que aps estas definies, a varivel atualizada estar presente apenas durante esta seo do comando. Da mesma forma que set, quando o comando digitado em um terminal, so exibidos os valores correntes de todas as variveis do sistema.

INTERNACIONALIZAO
As variveis de internacionalizao so extremamente importantes para que possamos configurar determinados aplicativos e ambientes grficos para a nossa lngua nativa. A forma clssica de ajustar uma varivel :
# export [VARIVEL]=[VALOR]

As principais variveis so:

Internacionalizao LC_ALL LANG LC_TYPE


Geral (todas as variveis de uma s vez). Idioma local.

LC_MESSAGES Exibio de mensagens dos aplicativos. Layout do teclado e comportamento de teclas especiais.

Basicamente os valores que deveremos atribuir so as especificaes de lngua. Para definir os valores do Brasil, deveremos utilizar a flag pt_BR. Segue um exemplo de como definir todas as internacionalizao do sistema, utilizando o comando...
# export LC_ALL=pt_BR

variveis

de

120/131

ARQUIVOS

DE CONFIGURAO

So inmeros os arquivos que definem as variveis do sistema, sejam globais, para cada aplicao ou um usurio especfico. Aqui descreveremos apenas os principais.

/ETC/PROFILE
Conforme comentado no captulo A importncia das estruturas em /etc e /proc, o arquivo /etc/profile contm as definies globais utilizadas pelo sistema em geral. Qualquer parmetro aqui definidos iro refletir em quaisquer sees e contas de acesso autenticados ao sistema.
# /etc/profile: This file contains system-wide defaults used by # all Bourne (and related) shells. -//-

Segue as principais sees deste arquivo:

Variveis de ambiente
# Set the values for some environment variables: export MINICOM="-c on" export MANPATH=/usr/local/man:/usr/man:/usr/X11R6/man export HOSTNAME="`cat /etc/HOSTNAME`" export LESSOPEN="|lesspipe.sh %s" export LESS="-M" # If the user doesn't have a .inputrc, use the one in /etc. if [ ! -r "$HOME/.inputrc" ]; then export INPUTRC=/etc/inputrc fi

Definies de caminhos
# Set the default system $PATH: PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games"

Definies de caminhos (superusurio)


# For root users, ensure that /usr/local/sbin, /usr/sbin, and /sbin are in # the $PATH. Some means of connection don't add these by default (sshd comes # to mind). if [ "`id -u`" = "0" ]; then echo $PATH | grep /usr/local/sbin 1> /dev/null 2> /dev/null if [ ! $? = 0 ]; then PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH fi fi

Terminal
# I had problems using 'eval tset' instead of 'TERM=', but you might want to # try it anyway. I think with the right /etc/termcap it would work great. # eval `tset -sQ "$TERM"` if [ "$TERM" = "" -o "$TERM" = "unknown" ]; then TERM=linux fi

121/131

Personalizaes ksh93
# Set ksh93 visual editing mode: if [ "$SHELL" = "/bin/ksh" ]; then VISUAL=emacs # VISUAL=gmacs # VISUAL=vi fi

Sinal de prontido
# Set a default shell prompt: #PS1='`hostname`:`pwd`# ' if [ "$SHELL" = "/bin/pdksh" ]; then PS1='! $ ' elif [ "$SHELL" = "/bin/ksh" ]; then PS1='! ${PWD/#$HOME/~}$ ' elif [ "$SHELL" = "/bin/zsh" ]; then PS1='%n@%m:%~%# ' elif [ "$SHELL" = "/bin/ash" ]; then PS1='$ ' else PS1='\u@\h:\w\$ ' fi PS2='> ' export PATH DISPLAY LESS TERM PS1 PS2

Permisses de acesso padro


# Default umask. A umask of 022 prevents new files from being created group # and world writable. umask 022

Cores do interpretador de comandos


# Set up the LS_COLORS and LS_OPTIONS environment variables for color ls: if [ "$SHELL" = "/bin/zsh" ]; then eval `dircolors -z` elif [ "$SHELL" = "/bin/ash" ]; then eval `dircolors -s` else eval `dircolors -b` fi

Notificao de recebimento de correio


# Notify user of incoming mail. This can be overridden in the user's # local startup file (~/.bash.login or whatever, depending on the shell) if [ -x /usr/bin/biff ]; then biff y fi

Definies adicionais do profile


# Append any additional sh scripts found in /etc/profile.d/: for file in /etc/profile.d/*.sh ; do if [ -x $file ]; then . $file fi

122/131

done

Definies de caminhos para usurios comuns


# For non-root users, add the current directory to the search path: if [ ! "`id -u`" = "0" ]; then PATH="$PATH:." fi

DIRETRIO

/ETC/PROFILE.D/

O diretrio /etc/profile.d possui definies de scripts adicionais para diversos ambientes grficos e aplicaes.
# ls -l /etc/profile.d/ total 88 -rwxr-xr-x 1 root fortune.csh* -rwxr-xr-x 1 root fortune.sh* -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root # _ root root root root root root root root root root root root root root root root root root root root root root 164 2003-03-14 01:00 bsd-games-login141 2003-03-14 01:00 bsd-games-login32 43 102 101 146 145 176 85 227 225 51 45 31 31 443 396 50 63 134 118 2003-01-11 2003-01-11 2000-10-30 2000-10-30 2003-09-12 2003-09-12 2003-09-15 2003-09-15 2003-03-10 2003-03-10 2003-02-10 2003-02-10 2003-01-16 2003-01-16 2003-09-14 2003-09-14 2002-10-22 2002-10-22 2000-04-24 2000-04-24 06:27 06:28 23:42 23:43 21:00 21:00 03:29 03:29 03:30 03:31 04:25 04:25 02:42 02:41 13:59 13:59 02:13 02:13 19:46 19:46 gtk+.csh* gtk+.sh* htdig.csh* htdig.sh* j2sdk.csh* j2sdk.sh* kde.csh* kde.sh* lang.csh* lang.sh* mc.csh* mc.sh* metacity.csh* metacity.sh* qt.csh* qt.sh* t1lib.csh* t1lib.sh* tetex.csh* tetex.sh*

Cada arquivo possui definies de variveis especiais para cada aplicao, de acordo com a nomenclatura dos mesmos. Com apenas uma visualizao em seu contedo e, de acordo com as necessidades, deveremos realizar a edio direta destas para que as propriedades desejadas estejam presentes nas prximas sees.

~/.BASHRC
Para queles usurios que preferem definir personalizaes especiais (e por isto no podem alterar as definies globais /etc/profile) para as suas necessidades, eles podero especific-las em um arquivo chamado .bashrc. No Slackware, este no existe, sendo necessrio cri-lo manualmente.
~$ mcedit .bashrc

123/131

A partir da s acrescentar as definies desejadas.


#!/bin/bash [DEFINIES PERSONALIZADAS]

Lembrem-se que a definio #!/bin/bash opcional.

CONCLUSO
Existem diversas variveis e opes de ajustes atravs da linha de comando disponveis nos sistemas GNU/Linux. Definir e exemplific-las aqui, alm de trabalhoso, seria desnecessrio, visto que a grande maioria dos simples usurios sequer tm necessidade delas, quanto mais vontade de intervir em ajustes desta categoria. Por isto optamos simplesmente por colocar apenas as variveis de maior relevncia categoria destes usurios. &;-D

124/131

XII. COMANDOS
INTRODUO

E FUNES GERAIS

Neste captulo estaro listados todos os comandos gerais providos pelo sistema que at o momento no foram classificados em outras categorias.

COMANDOS

GERAIS
DO SISTEMA

ADMINISTRAO
ARCH /
UNAME

Exibe a arquitetura do processador presente no sistema. Sem grandes definies, basta digitar na linha de comando...
$ arch i686 $ _

... que logo em seguida ser exibida a arquitetura do processador utilizado. Existe o equivalente uname, que ao utilizar o parmetro -m...
$ uname -m i686 $ _

... exibe os mesmos resultados.


DMESG

Mostra as mensagens da ltima inicializao do kernel, alm de outras informaes geradas ao longo das operaes realizadas no sistema.
$ dmesg Linux version 2.4.22 (root@midas) (gcc version 3.2.3) #6 Tue Sep 2 17:43:01 PDT 2003 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 0000000007fec000 (usable) BIOS-e820: 0000000007fec000 - 0000000007fef000 (ACPI data) BIOS-e820: 0000000007fef000 - 0000000007fff000 (reserved) BIOS-e820: 0000000007fff000 - 0000000008000000 (ACPI NVS) BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved) 127MB LOWMEM available. On node 0 totalpages: 32748 zone(0): 4096 pages. zone(1): 28652 pages. zone(2): 0 pages. Kernel command line: BOOT_IMAGE=Linux ro root=306 Initializing CPU#0

125/131

Detected 799.779 MHz processor. Console: colour VGA+ 80x25 Calibrating delay loop... 1595.80 BogoMIPS Memory: 126368k/130992k available (1813k kernel code, 4236k reserved, 614k data, 116k init, 0k highmem) -//HALT

Desliga o sistema.
# halt

Neste caso o mdulo apm dever estar previamente carregado.


SHUTDOWN

Reinicializa o sistema aps finalizadas as tarefas em execuo. Sintaxe:


# shutdown [PARMETROS] [HORRIO]

Onde:

shutdown -h -r
Desliga o sistema. Reinicializa o sistema.

[HORRIO] Definio de minutos.


Para se ter uma noo exata de sua utilidade, vejam os exemplos abaixos:

shutdown
# shutdown -h 30 # shutdown -r now

Desliga o sistema aps 30 minutos de sua execuo. Desliga o sistema imediatamente (now = agora).

AJUDA
Uma das caractersticas interessantes dos sistemas GNU/Linux est na forte documentao eletrnica dos utilitrios e comandos disponveis, onde uma simples consulta resolve a maioria das dvidas existentes.
MAN

Habilita as pginas do manual eletrnico de cada comando, aplicativo ou utilitrio disponvel. Sintaxe:
$ man [COMANDO/APLICATIVO/UTILITRIO]

Ao

digitarem

man juntamente com

os

caracteres

do

comando

126/131

<ENTER>...
$ man cdrecord

... em poucos segundos seu respectivo manual estar disponvel.


CDRECORD(1) NAME cdrecord ter - record audio or data Compact Discs from a mas Schilys USER COMMANDS CDRECORD(1)

SYNOPSIS cdrecord [ general options ] dev=device [ track options track1...trackn

DESCRIPTION Cdrecord is used to record data or audio Compact Discs on an Orange Book CD-Recorder. The device refers to scsibus/target/lun of the CDRecorder. Communication on SunOS is done with the SCSI general driver scg. Other operating systems are using a library simulation of this driver. Possible syntax is: dev= scsibus,target,lun or dev= target,lun. In the latter case, the CD-Recorder has to be connected to the default SCSI bus of the machine. Scsibus, target and lun are integer numbers. Some operating systems or SCSI transport implementations may require to specify a filename in addi tion. In this case the correct syntax for the device is: lines 1-27 -//INFO

Outra excelente ferramenta ser utilizada para obtermos ajuda e informaes sobre um determinado comando. Sintaxe:
$ man [COMANDO]

Exemplo:
$ man cdrecord

Em poucos instantes...
File: *manpages*, CDRECORD(1) CDRECORD(1) NAME cdrecord - record Disks from a master SYNOPSIS cdrecord [ general track1...trackn audio or data Compact Disks or Digital Versatile Node: cdrecord, Up: (dir) Schilys USER COMMANDS

options

dev=device

track

options

127/131

DESCRIPTION Cdrecord is used to record data or audio Compact Discs on an Orange Book CD-Recorder or to write DVD media on a DVD-Recorder. The device refers to scsibus/target/lun of the CD/DVD-Recorder. Communication on SunOS is done with the SCSI general driver scg. Other operating systems are using a library simulation of this driver. Possible syntax is: dev= scsibus,target,lun or dev= target,lun. In the latter case, the CD/DVD-Recorder has to be connected to the default SCSI bus of the machine. Scsibus, target and lun are integer numbers. -----Info: (*manpages*)cdrecord, 1663 lines -Top------------------------------Welcome to Info version 4.8. Type ? for help, m for menu item.

--HELP
Diferente das pginas de manual, o parmetro --help se encontra disponvel na grande maioria dos comandos (e executveis de programas), fornecendo um resumo das instrues mais necessrias sobre o comando em questo.
$ ps --help ********* simple selection ********* ********* selection by list ********* -A all processes -C by command name -N negate selection -G by real group ID (supports names) -a all w/ tty except session leaders -U by real user ID (supports names) -d all except session leaders -g by session leader OR by group name -e all processes -p by process ID T all processes on this terminal -s processes in the sessions given a all w/ tty, including other users -t by tty g all, even group leaders! -u by effective user ID (supports names) r only running processes U processes for specified users x processes w/o controlling ttys t by tty *********** output format ********** *********** long options *********** -o,o user-defined -f full --Group --User --pid --cols -j,j job control s signal --group --user --sid --rows -O,O preloaded -o v virtual memory --cumulative --format --deselect -l,l long u user-oriented --sort --tty --forest --version X registers --heading --no-heading ********* misc options ********* -V,V show version L list format codes f ASCII art forest -m,m show threads S children in sum -y change -l format -n,N set namelist file c true command name n numeric WCHAN,UID -w,w wide output e show environment -H process heirarchy $ _

Note a quantidade de definies exibidas com poucos caracteres. Se houver a necessidade de instrues mais detalhadas, utilizem o comando man...
$ man ps

..., onde ser exibido...


PS(1) , NAME Linux User's Manual PS(1)

128/131

ps - report process status SYNOPSIS ps [options] DESCRIPTION ps(1) gives a snapshot of the current processes. If you want a repetitive update of this status, use top. COMMAND-LINE OPTIONS This version of ps accepts several kinds of options. Unix98 options may be grouped and must be preceeded by a dash. BSD options may be grouped and must not be used with a dash. GNU long options are preceeded by two dashes. Options of different types may be freely mixed. Set the I_WANT_A_BROKEN_PS environment variable lines 1-28 -//to force

DIVERSOS
CLEAR

Sem grandes mistrios, este comando possui a mesma funo que o comando CLS do MS-DOS. Digitem...
$ clear

... e no instante seguinte a tela estar limpa.


CAL

Exibe um simples calendrio contendo a data e ms corrente.


$ cal setembro 2003 Do Se Te Qu Qu Se 1 2 3 4 5 7 8 9 10 11 12 14 15 16 17 18 19 21 22 23 24 25 26 28 29 30 $ _ S 6 13 20 27

Por padro, o calendrio exibe apenas o ms corrente, mas caso desejarmos ver os meses anterior e posterior, deveremos utilizar o parmetro -3.
$ cal -3 janeiro 2005 Do Se Te Qu Qu Se S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 fevereiro 2005 Do Se Te Qu Qu Se S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 maro 2005 Do Se Te Qu Qu Se S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

129/131

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 $ _
FREE

20 21 22 23 24 25 26 27 28

20 21 22 23 24 25 26 27 28 29 30 31

Exibe um relatrio sobre a memria RAM e SWAP do sistema. Sintaxe:


$ free [PARMETROS]

Onde:

free -b / -k / -m / -g Exibe os valores em bytes / KB / MB / GB. -l -t


Faz um comparativo entre as memrias alta e baixa. Exibe os valores totais (memria RAM + SWAP).

Existem outros parmetros extras, mas para as nossas necessidades bsicas, somente precisaremos utilizar...
$ free total Mem: 256144 -/+ buffers/cache: Swap: 530104 $ _ used 250920 109280 12936 free 5224 146864 517168 shared 0 buffers 21580 cached 120060

CONCLUSO
Existem uma infinidade de comandos e funes para a utilizao, cada um com um propsito especfico. Muitos (e provavelmente at a grande maioria) no sero necessrios para ns, simples usurios que apenas utiliza um computador para as atividades mais corriqueiras. Mas para os administradores de sistemas e aqueles desejosos por obterem aprendizado, esta uma oportunidade nica para conhecerem fundo o sistema e seus recursos. Para este propsito, recomendamos realizar consultas mais apuradas em literaturas especializadas. &;-D

130/131

ENCERRAMENTO
Por mais diferentes que sejam as distribuies, a grande maioria dos comandos descritos nos captulos anteriores ( salvo queles especficos para o Slackware) so aplicveis na grande maioria dos sistemas GNU/Linux. O seu aprendizado, tanto utilizando esta quanto qualquer outra distribuio, ser de grande valia para quaisquer intervenes que desejam realiza. Por isso, no se preocupem em pensar que o aprendizado aqui obtido ser perdido em caso de mudana de distribuio preferida. Gostaramos mais uma vez de enfatizar que abordamos nesta parte apenas os comandos, parmetros e funes consideradas indispensveis aos usurios desktops, em especial de nvel intermedirio, mesmo apesar de constar algumas instrues para o nvel avanado. Nos sistemas GNU/Linux, existe uma infinidade de ferramentas para as mais variadas finalidades, alm de diversos graus de complexidade, onde muitas destas somente sero aplicveis tarefas especficas que no se enquadram nas necessidades destes usurios. Caso queiram obter maiores confortos e facilidades, durante este processo poderemos utilizar largamente os gerenciadores de arquivos Konqueror ou Nautilus, alm de diversos outros utilitrios disponveis na interfaces grficas. Deveremos apenas configur-los de acordo com nossas preferncias. Poderemos navegar na estrutura de diretrios e utilizar seus vastos recursos com um simples clique de boto do mouse sobre o arquivo, diretrio ou qualquer outro ponto configurvel, alm de acessar as ferramentas agregadas ao utilitrio. Mas se ainda assim os leitores sentirem a necessidade de fazer alguma recomendao como, incluir instrues sobre o comando X, detalhar os parmetros e funcionalidades do utilitrio Y, tecer comentrios e observaes sobre o processo Z, e at mesmo remover alguns termos e definies que no sejam to necessrios, suas palavras sero muito bem vindas, pois conforme fora (e ainda ser) dito em diversas circunstncias, o proposto deste livro o fornecimento de instrues de forma simples, clara e objetiva para o fcil aprendizado e aplicao. Estaremos profundamente gratos por quaisquer opinies que visem prover melhorias nestes aspectos. Enfim, consciente dos conhecimentos tcnicos necessrias para obter um bom aproveitamento das instrues contidas neste livro, iremos agora para a prxima parte A Instalao onde conheceremos todos os aspectos necessrias para o bom xito na realizao desta atividade e intervenes relacionadas. Agora a aventura comea! &;-D

131/131