Escolar Documentos
Profissional Documentos
Cultura Documentos
450 Linux Essentials (Atualizado 2009 - 2010) PDF
450 Linux Essentials (Atualizado 2009 - 2010) PDF
www.4linux.com.br
-2
Sumrio
Captulo 1
Introduo ao infinito...............................................................................................................11
1.1. Objetivos ......................................................................................................................11
1.2. Introduo ....................................................................................................................11
1.3. Distribuies GNU/Linux .............................................................................................13
1.4. Caractersticas de Algumas Distribuies ...................................................................16
1.4.1. RedHat ...............................................................................................................................17
1.4.2. SuSe ...................................................................................................................................17
1.4.3. Mandriva ...........................................................................................................................17
1.4.4. Slackware ..........................................................................................................................18
1.4.5. Debian ...............................................................................................................................18
1.4.6. Ubuntu................................................................................................................................18
1.4.7. Fedora ................................................................................................................................19
1.4.8. OpenSuSe ..........................................................................................................................19
1.4.9. Knoppix...............................................................................................................................19
1.4.10. Gentoo .............................................................................................................................19
Exerccios Tericos .......................................................................................................................20
Captulo 2
Primeiros Passos......................................................................................................................22
2.1. Objetivos ......................................................................................................................22
2.2. Entendendo a estrutura do Linux ................................................................................22
2.3. Introduo ao Shelll ....................................................................................................24
2.4. Terminal Virtual ...........................................................................................................25
2.5. Logon ...........................................................................................................................26
2.6. Histrico de comandos .................................................................................................26
2.7. Logout ..........................................................................................................................27
2.8. Desligando o Computador ............................................................................................27
2.9. Reiniciando o Computador ...........................................................................................28
2.10. Prtica Dirigida ..........................................................................................................29
2.11. Exerccio Terico.........................................................................................................31
Captulo 3
Sistema de Arquivos e Diretrios ............................................................................................32
3.1. Objetivos ......................................................................................................................32
3.2. Introduo ....................................................................................................................32
3.3. Estrutura de Diretrios GNU/Linux .............................................................................33
-3
Captulo 4
Aprendendo comandos do GNU/Linux ....................................................................................46
4.1. Objetivos ......................................................................................................................46
4.2. Introduo ....................................................................................................................46
4.2.1. Explorando o sistema .........................................................................................................47
4.3. O comando ls ................................................................................................................47
4.3.1. Coringas .............................................................................................................................48
4.3.2. Usando coringas no Shell ...................................................................................................50
4.4. Criao, movimentao, cpia e remoo de arquivos e diretrios .............................51
4.5. Prtica Dirigida ............................................................................................................53
4.6. Exerccio Terico ..........................................................................................................55
4.7. Laboratrio ...................................................................................................................57
Captulo 5
Comandos teis de linha de comando .....................................................................................58
5.1. Objetivos ......................................................................................................................58
5.2. Trabalhando com entrada e sada de dados .................................................................58
5.3. Comandos para paginao ...........................................................................................60
5.3.1. Mostrando o contedo e/ou concatenando .........................................................................60
5.3.2. Controlar o fluxo: more e less .............................................................................................61
5.3.3. Pores especficas: head e tail .........................................................................................61
5.3.4. Contagem: wc .....................................................................................................................62
5.3.5. Classificao: sort ...............................................................................................................63
5.3.6. Mostrar algo: echo ..............................................................................................................63
5.4. Filtragem .....................................................................................................................64
5.4.1. Filtrar colunas: cut .............................................................................................................65
5.4.2. Determinando o tipo de arquivo: file .................................................................................66
5.5. Administrativos.............................................................................................................66
5.5.1. Espao em Disco..................................................................................................................66
5.5.2. Definindo tamanho dos objetos...........................................................................................67
5.5.3. Mostrar o uso de memria RAM: free ................................................................................67
5.5.4. Mostrar e/ou ajustar a data do sistema: date .....................................................................68
5.5.5. Mostrar por quanto tempo o computador est ligado: uptime ...........................................69
-4
Captulo 6
Conhecendo a Documentao .................................................................................................83
6.1. Objetivos ......................................................................................................................83
6.2. Introduo Terica .......................................................................................................83
6.3. Formas de Documentao ............................................................................................84
6.3.1. How-to's ..............................................................................................................................84
6.3.2. Manuais ..............................................................................................................................85
6.3.3. Documentao ....................................................................................................................85
6.4. Comandos de ajuda ......................................................................................................86
6.4.1. Comando help .....................................................................................................................86
6.4.2. Comando man .....................................................................................................................87
6.4.3. Comando apropos ...............................................................................................................90
6.4.4. Comando whatis .................................................................................................................91
6.4.5. Comando info ......................................................................................................................91
6.5. Alternativas para consulta ...........................................................................................92
6.6. Comando whereis .........................................................................................................93
6.7. Comando which ............................................................................................................94
6.8. Prtica Dirigida ............................................................................................................94
6.9. Exerccios Tericos ......................................................................................................96
6.10. Laboratrio .................................................................................................................97
Captulo 7
Editores de texto .....................................................................................................................98
7.1. Objetivos ......................................................................................................................98
7.2. Introduo ....................................................................................................................98
7.3. Editor Nano ..................................................................................................................99
7.4. Editor Vim ..................................................................................................................101
7.5. Prtica Dirigida ..........................................................................................................103
7.5.1. Teste os comandos de Edio
.....................................................................................................................................................103
7.6. Exerccio Terico ........................................................................................................106
-5
Captulo 8
Introduo a Redes ...............................................................................................................109
8.1. Objetivos ....................................................................................................................109
8.2. Os Protocolos TCP/IP ................................................................................................110
8.3. Entendendo o IP .........................................................................................................110
8.4. Entendendo o gateway da rede .................................................................................115
8.5. O servidor DNS ..........................................................................................................115
8.6. Arp e RARP ................................................................................................................116
8.7. Configurando a Rede ..................................................................................................116
8.7.1. Configurando IP e Mscara ..............................................................................................116
8.7.2. Configurando o gateway ...................................................................................................118
8.7.3. Configurao dos DNS Servers ........................................................................................119
8.7.4. Configurao esttica de rede ..........................................................................................119
8.8. Arquivo Hosts .............................................................................................................120
8.9. Comando hostname ....................................................................................................121
8.10. O arquivo nsswitch.conf ...........................................................................................121
8.11. Prtica Dirigida ........................................................................................................122
8.12. Exerccio Terico ......................................................................................................127
8.13. Laboratrio ...............................................................................................................127
Captulo 9
Manipulando Hardware e Dispositivos .................................................................................128
9.1. Objetivos ....................................................................................................................128
9.2. Dispositivos em Linux ................................................................................................128
9.2.1. Explorando o /dev .............................................................................................................129
9.3. Dispositivos de armazenamento .................................................................................132
9.4. Devices, UUID e Labels ..............................................................................................135
9.4.1. Usando os dispositivos de armazenamento .....................................................................137
9.5. Criando Parties no HD ............................................................................................139
9.5.1. Particionamento com FDISK .............................................................................................139
9.5.2. Particionamento com CFDISK ..........................................................................................140
9.6. Aplicando um Filesystem ...........................................................................................142
9.7. Arquivos de Informaes de Filesystems ...................................................................143
9.8. Configuraes de Teclado e Mouse no Console .........................................................145
9.9. Prtica Dirigida 1 .......................................................................................................145
9.10. Para aprofundar o assunto ......................................................................................146
9.11. Prtica Dirigida 2 .....................................................................................................146
9.12. Exerccios Tericos ..................................................................................................150
-6
Captulo 10
Administrao de Usurios ...................................................................................................152
10.1. Objetivos ..................................................................................................................152
10.2. Gerenciamento de usurios ....................................................................................153
10.3. Permisses ...............................................................................................................154
10.3.1. Exemplos de permisses .................................................................................................157
10.4. Registro de usurios no sistema .............................................................................158
10.4.1. Arquivo /etc/passwd ........................................................................................................158
10.4.2. Arquivo /etc/shadow .......................................................................................................159
10.5. Levantamento de informaes dos usurios ............................................................160
10.5.1. Chage ..............................................................................................................................160
10.5.2. Comando id .....................................................................................................................161
10.5.3. Comando finger ..............................................................................................................161
10.5.4. Comando users ..............................................................................................................162
10.5.5. Comando who .................................................................................................................162
10.6. Comando w ...............................................................................................................162
10.7. Criando Usurios ....................................................................................................163
10.7.1. Comando adduser ...........................................................................................................163
10.8. Adicionar um usurio a outro grupo ........................................................................164
10.8.1. Comando gpasswd ..........................................................................................................164
10.9. Modificando usurios ...............................................................................................164
10.9.1. Comando passwd ............................................................................................................165
10.9.2. Comando usermod ..........................................................................................................165
10.10. Alterao do Dono e Grupo ....................................................................................166
10.11. Removendo usurios ..............................................................................................166
10.12. Umask ...................................................................................................................167
10.13. Permisses Especiais .............................................................................................168
10.14. Prtica Dirigida .....................................................................................................170
10.15. Exerccios Tericos ................................................................................................173
10.16. Laboratrio .............................................................................................................175
Captulo 11
Administrao da Shell .........................................................................................................176
11.1. Objetivos ..................................................................................................................176
11.2. O que uma shell? ...................................................................................................176
11.3. Variveis em Shell ....................................................................................................177
11.3.1. Variveis Locais e de Ambiente (globais) .......................................................................178
11.4. Alias ..........................................................................................................................179
11.4.1. Arquivos de Login ...........................................................................................................179
-7
Captulo 12
Compactadores, Empacotadores e Procedimentos de Backup .............................................188
12.1. Objetivos ..................................................................................................................188
12.2. Empacotador TAR ...................................................................................................189
12.3. O empacotador cpio ................................................................................................191
12.4. Compactadores GZIP e BZIP2 ..................................................................................191
12.5. Falando de Backup ...................................................................................................192
12.5.1. O comando dd .................................................................................................................193
12.6. Prtica Dirigida ........................................................................................................193
12.6.1. gzip e bzip2 com arquivos de texto puro .......................................................................194
12.6.2. gzip e bzip2 com arquivos binrios .................................................................................196
12.6.3. Trabalhando com o tar ....................................................................................................197
12.7. Exerccios Tericos ..................................................................................................199
Captulo 13
Shell Script I .........................................................................................................................200
13.1. Objetivos ..................................................................................................................200
13.2. O que um script? ...................................................................................................200
13.3. Estudando um exemplo ............................................................................................201
13.4. Executando o script .................................................................................................202
13.5. Usando os nmeros ..................................................................................................203
13.6. Prtica Dirigida ........................................................................................................204
13.7. Usando a estrutura SE .............................................................................................205
13.7.1. A varivel $? ..................................................................................................................206
13.7.2. O comando test ...............................................................................................................206
13.7.3. Testando strings..............................................................................................................207
13.7.4. Testando expresses matemticas ..................................................................................207
13.7.5. Testando expresses em arquivos...................................................................................207
13.7.6. Operadores de strings ...................................................................................................208
13.7.7. Operadores de matemticos............................................................................................208
13.7.8. Operadores para arquivos ..............................................................................................208
13.8. Utilizando a estrutura if ..........................................................................................209
13.9. Exerccios Tericos ..................................................................................................212
13.10. Laboratrio .............................................................................................................213
-8
Captulo 14
Agendamento de Tarefas .......................................................................................................215
14.1. Objetivos ..................................................................................................................215
14.2. Introduo Terica ...................................................................................................215
14.3. Prtica Dirigida ........................................................................................................217
14.3.1. Agendamento de Tarefas com AT ...................................................................................217
14.3.2. Agendando Tarefas com o CRON ....................................................................................219
14.4. Exerccios Tericos ..................................................................................................221
14.5. Laboratrio ...............................................................................................................222
Captulo 15
Instalando, removendo e atualizando programas .................................................................223
15.1. Objetivos ..................................................................................................................223
15.2. O que um pacote? ..................................................................................................223
15.3. Mas o que um gerenciador de pacotes? ................................................................224
15.4. Gerenciamento de pacotes .......................................................................................226
15.5. Espelhos e o arquivo /etc/apt/sources.list ................................................................227
15.6. Instalao, Remoo e Atualizao ..........................................................................228
15.7. Consultas de Pacotes ...............................................................................................229
15.8. Atualizao via Internet ...........................................................................................229
15.9. Gerenciamento de pacotes em distros baseadas em rpm. .......................................229
15.9.1. Instalando pacotes: .........................................................................................................230
15.9.2. Removendo pacotes: .......................................................................................................230
15.10. Exerccio Terico ....................................................................................................231
Captulo 16
Servidor X .............................................................................................................................233
16.1. Objetivos ..................................................................................................................233
16.2. Introduo Terica ...................................................................................................233
16.3. Configurando o suporte Interface Grfica ............................................................234
16.4. Varivel de Ambiente DISPLAY ................................................................................236
16.5. Window Managers ....................................................................................................236
16.6. Display Managers ....................................................................................................237
16.7. Protocolo XDMCP .....................................................................................................237
16.8. Xnest ........................................................................................................................238
16.9. Prtica Dirigida .......................................................................................................238
16.9.1. Instalao e Configurao do Servidor X ........................................................................238
16.9.2. Instalando um Window Manager ....................................................................................242
16.9.3. Display Managers ...........................................................................................................244
16.9.4. Usando o Xnest ...............................................................................................................245
-9
Captulo 17
Instalao Linux em Desktop ................................................................................................249
17.1. Objetivos ..................................................................................................................249
17.2. Instalando o Debian 4.0 - Etch .................................................................................249
17.3. Perfil da instalao: .................................................................................................249
17.3.1. Telas de Instalao .........................................................................................................251
ANEXOS.................................................................................................................................272
System Imager - 4Linux ....................................................................................................273
O que .......................................................................................................................................273
Instalando o programa. ..............................................................................................................273
Utilizando o System Imager .......................................................................................................274
17.3.2. Backup ao final de cada aula ..........................................................................................274
17.3.3. Restore antes de cada aula .............................................................................................274
Manipulando Hardware e Dispositivos .............................................................................276
Objetivos .....................................................................................................................................276
Acesso aos dispositivos ...............................................................................................................277
Softwares Desktop ............................................................................................................280
Objetivos .....................................................................................................................................280
Suites de Produtividade ..............................................................................................................283
Editor de Textos .........................................................................................................................284
Planilha Eletrnica .....................................................................................................................284
Programa de Apresentaes .......................................................................................................285
Internet .......................................................................................................................................286
Navegador ..................................................................................................................................287
Multimdia ..................................................................................................................................287
udio .........................................................................................................................................288
Vdeo ...........................................................................................................................................288
Grficos .....................................................................................................................................289
Acessibilidade ...................................................................................................................290
Dasher ........................................................................................................................................291
GOK ............................................................................................................................................292
Festival .......................................................................................................................................293
REFERNCIAS
BIBLIOGRFICAS..................................................................................................................294
- 10
ndice de tabelas
ndice de Figuras
Captulo 1 Introduo ao infinito - 11
Captulo 1
Introduo ao infinito
1.1. Objetivos
Descobrir o que GNU/Linux;
Entender a filosofia do Software Livre;
Conhecer um pouco da histria;
Entender o que so Distribuies;
1.2. Introduo
Utilizar um sistema GNU/Linux muito mais do que optar por uma soluo
isenta de custos de licena. usufruir uma filosofia que antecedeu o software
proprietrio, e que permitiu, por exemplo, que a internet crescesse de forma aberta
como a conhecemos hoje. Como usurio de software livre, precisamos compreender
um pouco mais sobre essa ideologia e como ela promoveu o surgimento das vrias
distribuies.
Captulo 1 Introduo ao infinito - 12
GNU, que um acrnimo recursivo de GNU's not Unix, um grupo que foi
fundado em 1984 por seu idealizador, Richard Stallman, com o intuito de criar um
sistema operacional ``Unix-Like''. Sendo assim, diversos softwares passaram a ser
criados e mantidos pela comunidade que se formara, entretanto, havia um pedao de
cdigo essencial que ainda no tinha sido criado: o kernel.
Para mais informaes a respeito do kernel - Linux - podem ser obtidas no site
oficial de seus mantenedores: http://www.kernel.org
http://www.gnu.org
http://www.fsf.org.
Voc j deve ter ouvido falar em Debian, RedHat, Slackware, SuSe, Conectiva,
Mandrake, Ubuntu dentre outras. Mas, o que realmente isso? O que so todos
esses nomes? Todos esses nomes so o que chamamos de distribuies GNU/Linux.
Uma distribuio nada mais do que o kernel, Linux, softwares GNU e outros
aplicativos que so desenvolvidos por outras comunidades ou grupos.
por exemplo.
Livres
Corporativas
Neste ponto vale ressaltar o fato de que o produto vendido pelas empresas
que comercializam sistemas GNU/Linux, so na verdade, os servios relacionados ao
sistema vendido, como suporte tcnico, garantias e treinamentos, ou seja, o
conhecimento do sistema. O fato de o produto no ser mais o software, mas sim o
servio, devido Licena GPL que garante as j citadas quatro liberdades bsicas.
Com isso, por mais que uma empresa queira fazer o seu prprio sistema GNU/Linux,
enquanto ela estiver utilizando softwares registrados com GPL, sero obrigadas a
distribuir o cdigo fonte gratuitamente.
Convencionais
Live
From scratch
Provenientes (Baseadas)
Debian ;
RedHat;
Gentoo;
Slackware;
entre outras;
http://distrowatch.com
Captulo 1 Introduo ao infinito - 17
1.4.1. RedHat
Tipo: corporativa;
Descrio: primeira distribuio corporativa a ser criada. Muito utilizada
nas empresas por oferecer suporte tcnico e ter seu sistema compatvel com
as diversas tecnologias disponveis;
Interface padro: GNOME;
Sistema de pacote: RPM - RedHat Package Manager;
Site oficial: http://www.redhat.com
1.4.2. SuSe
Tipo: corporativa;
Descrio: Comprada pela Novell em 2003, a principal concorrente da
RedHat, atuando no meio corporativo tanto em servidores quanto em
desktops. Assim como a RedHat, possui parcerias com diversas empresas, a
fim de manter seu sistema compatvel com produtos de terceiros;
Interface padro: GNOME;
Sistema de pacote: baseado em RPM, mas no segue o formato da RedHat
risca, tendo implementado algumas variaes;
Site oficial: http://www.novell.com/linux
1.4.3. Mandriva
Distribuio: corporativa;
Descrio: originada da fuso da Mandrake e Conectiva, especializada em
servios e projetos embarcados;
Interface padro: KDE;
Sistema de pacote: RPM;
Site oficial: http://www.mandriva.com
Captulo 1 Introduo ao infinito - 18
1.4.4. Slackware
Distribuio: livre;
Descrio: primeira distribuio GNU/Linux a ser distribuda em CD,
considerada como sendo a primeira distribuio. Organizada por seu criador
Patrick Volkerding, caracteriza-se por sua filosofia de ser a distribuio mais
``Unix-Like'' do mundo GNU/Linux.
Interface padro: KDE;
Sistema de pacote: tgz;
Site oficial: http://www.slackware.com
1.4.5. Debian
Distribuio: livre;
Descrio: criada com o intuito de prover um sistema operacional
totalmente livre e gratuito, foi uma das primeiras distribuies GNU/Linux a
serem criadas. Atualmente uma das maiores distribuies e a que mais
gerou distribuies derivadas. Por ser uma referncia em sistemas
GNU/Linux, a distribuio mais utilizada em rgos pblicos e governos;
Interface padro: GNOME;
Sistema de pacote: DEB - Debian Package;
Site oficial: http://www.debian.org
1.4.6. Ubuntu
1.4.7. Fedora
Distribuio: livre;
Descrio: mantida pela RedHat, serve de teste para o carro chefe da
empresa, o RedHat Enterprise.
Interface padro: GNOME;
Sistema de pacote: RPM - RedHat Package Manager;
Site oficial: http://fedora.redhat.com
1.4.8. OpenSuSe
Distribuio: livre;
Descrio: patrocinada pela Novell, baseia-se no SuSe Linux.
Interface padro: GNOME ou KDE;
Sistema de pacote: RPM;
Site oficial: http://en.opensuse.org
1.4.9. Knoppix
Distribuio: livre (Live);
Descrio: distribuio Live que popularizou distribuies do gnero,
devido sua ferramenta de remasterizao que facilitou o processo de gerar
novas distribuies;
Interface padro: KDE;
Sistema de pacote: DEB;
Site oficial: http://www.knoppix.org
1.4.10. Gentoo
Distribuio: livre (Live);
Descrio: Todos os programas so compilados na prpria mquina. As
principais vantagens so a performance e a personalizao conforme as
necessidades do usurio. A principal desvantagem o trabalho e tempo
necessrios a sua instalao.
Captulo 1 Introduo ao infinito - 20
Exerccios Tericos
1) Quais so as liberdades bsicas idealizadas por Richard Stallman?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
2) O que Linux e quem o seu criador?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
3) O que uma distribuio GNU/Linux?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
4) O que GPL?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
5) Qual a finalidade das licenas que defendem o copyleft?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
Captulo 1 Introduo ao infinito - 21
Captulo 2
Primeiros Passos
2.1. Objetivos
Entender a estrutura do sistema operacional;
Descobrir as funcionalidades do Shell;
Executar os primeiros comandos no sistema;
rolarmos a tela para baixo, seguramos o Shift e pressionamos o Page Down. Isto
til para ver textos que rolaram rapidamente para cima.
# visudo
$ su <user>
2.5. Logon
Logon a entrada do usurio, root ou comum, onde deve ser digitado seu
nome de usurio, e logo depois sua senha. Caso voc digite algo de forma errada, ir
aparecer uma mensagem de erro e voc no ser logado no sistema.
$ history
Captulo 2 Primeiros Passos - 27
2.7. Logout
Logout a sada do sistema. Ela feita pelos comandos
$ logout
$ exit
$ <CTRL>+D
# shutdown -h now
# halt
# poweroff
A palavra halt vem do comando em assembly chamado HTL, que quer dizer
``parada de processamento''. Assim, o GNU/Linux finalizar os programas e gravar
os dados em seu disco rgido. Quando for mostrada a mensagem ``power down'',
pressione o boto POWER em seu gabinete para desligar a alimentao de energia
do computador. NUNCA desligue o computador diretamente sem utilizar o comando
shutdown, halt ou poweroff, pois podem ocorrer perdas de dados ou falhas no
sistema de arquivos de seu disco rgido, devido a programas abertos e dados ainda
no gravados no disco. Os comandos halt e poweroff disparam uma srie de
procedimentos, como encerramento de servios e desligamento de sistemas de
arquivos, que so executados antes da mquina ser desligada.
Onde:
Exemplo:
Desligar agora:
# shutdown -h now
# shutdown -h 12
Observaes:
Reiniciar agora:
# shutdown -r now
# shutdown -r 5
# shutdow -h 1
Ligue o micro:
Faa o login:
Usurio: aluno
Senha: 123456
# shutdown -r 1
# su
password: 123456
# shutdown -r now
Captulo 2 Primeiros Passos - 31
Captulo 3
3.1. Objetivos
Entender o que FHS;
Conhecer a estrutura de diretrios do sistema;
Descobrir alguns diretrios e suas determinadas finalidades;
3.2. Introduo
Quem j teve algum contato com o GNU/Linux, mesmo que superficial, deve
ter percebido a presena de vrios diretrios (pastas) no sistema. Entretanto, eles
esto organizados de uma forma talvez no muito familiar. Neste captulo, vamos
conhecer a organizao e explorar a estrutura de diretrios de um sistema
GNU/Linux.
Desde que o GNU/Linux foi criado, muito se tem feito para seguir um padro
em relao estrutura de diretrios. O primeiro esforo para padronizao de
sistemas de arquivos para o GNU/Linux foi o FSSTND - Filesystem Standard,
Captulo 3 Sistema de Arquivos e Diretrios - 33
Atualmente, o FHS est na sua verso 2.3, e mantido pelo Free Standard
Group, uma organizao sem fins lucrativos formada por grandes empresas como HP,
IBM, Red Hat e Dell.
A FHS estar bem esclarecida, afinal com ela que ns devemos fazer
nossas atividades do dia-a-dia
/
bin cdrom etc lib mnt proc root var
boot dev home media opt sbin srv tmp usr
/ (raiz)
/bin
Esse um diretrio pblico, sendo assim, os comandos que esto nele podem
ser utilizados por qualquer usurio do sistema. Entre os comandos, esto:
bash;
ls;
echo;
cp;
/boot
/dev
/etc
/lib
/media
cd;
dvd;
disquete;
pendrive;
cmera digital;
Fique atento: Agora o diretrio /media faz parte oficialmente das provas da
LPI
Captulo 3 Sistema de Arquivos e Diretrios - 36
/mnt
/opt
/sbin
halt
ifconfig
init
iptables
/srv
/tmp
/usr
/var
Aqui, temos subdiretrios com o nome que corresponde ao PID (Process ID)
de cada processo.
Dentro deles, vamos encontrar diversos arquivos texto contendo vrias
informaes sobre o respectivo processo em execuo.
/home
/root
Uma razo para evitar usar privilgios root por causa da facilidade de se
cometer danos irreparveis como root; alm do que, voc pode ser
enganado e rodar um programa Cavalo de Troia (programa que obtm
poderes do super usurio) comprometendo a segurana do seu sistema sem
que voc saiba.
# pwd
# cd
# cd ~
# cd /
# cd /etc
Captulo 3 Sistema de Arquivos e Diretrios - 40
# cd ..
# cd -
# ls
# cd /usr/include/X11
# cd ../../
$ pwd
$ cd /
$ cd
$ cd ~
$ cd /usr/share
$ cd ..
$ cd -
Captulo 3 Sistema de Arquivos e Diretrios - 42
$ cd /var
$ cd /etc
$ pwd
$ cd ..
$ pwd
$ cd ~
$ pwd
$ cd -
$ pwd
Captulo 3 Sistema de Arquivos e Diretrios - 43
_____________________________________________________________________________
m) sbin
_____________________________________________________________________________
_____________________________________________________________________________
n) srv
_____________________________________________________________________________
_____________________________________________________________________________
o) tmp
_____________________________________________________________________________
_____________________________________________________________________________
p) usr
_____________________________________________________________________________
_____________________________________________________________________________
3.10. Laboratrio
Alem de todos os diretrios listados acima, na raiz do sistema existe um
diretrio chamado lost+found, o que representa esse diretrio?
Veja tambm:
FHS - http://www.pathname.com/fhs/
Captulo 4
4.1. Objetivos
Criar e remover arquivos
Criar e remover diretrios
Criar Links
4.2. Introduo
Comandos so instrues passadas ao computador para executar uma
determinada tarefa. No mundo *NIX (Linux,Unix), o conceito de comandos
diferente do padro MS-DOS. Um comando qualquer arquivo executvel, que pode
ser ou no criado pelo usurio.
# ls
4.3. O comando ls
O comando ls possui muitos parmetros, veremos aqui as opes mais
utilizadas. A primeira dela o -l que lista os arquivos ou diretrios de uma forma
bem detalhada (quem criou, data de criao, tamanho, dono e grupo a qual eles
pertencem).
# ls -l /
drwxr-xr-x4 root root 1024 2007-01-15 23:17 boot
Veja que a sada desse comando bem detalhada. Falando sobre os campos,
para o primeiro caractere temos algumas opes:
# ls -a /root
..aptitude.bashrc.profile .rnd.ssh.vmware
.. .bash_history .kde .qt root_161206 .viminfo .Xauthority
# ls -R /
4.3.1. Coringas
O significado da palavra coringa no dicionrio o seguinte: carta de baralho,
que em certos jogos, muda de valor e colocao na sequncia. No sistema GNU/Linux
bem parecida a utilizao desse recurso. Os coringas so utilizados para especificar
um ou mais arquivos ou diretrios.
Eles podem substituir uma palavra completa ou somente uma letra, seja para
listar, copiar, apagar, etc. So usados trs tipos de coringas no GNU/Linux:
Captulo 4 Aprendendo comandos do GNU/Linux - 49
# ls
arq1.txt arq2.txt arq3.txt arq4.new arq5.new
# cd /home/usurio
# ls *
arq1.txt arq2.txt arq3.txt arq4.new arq5.new
# ls *new*
arq4.new arq5.new
No caso, o comando #ls /tmp/teste/* foi citado, mas no tem muito sentido
utilizar esse comando, importante ressaltar que a utilizao do * se aplica para um
Captulo 4 Aprendendo comandos do GNU/Linux - 50
diretrio cheio de arquivos, como mostrado no caso dois, utilizado para procurar o
arquivo em especfico.
# ls *.txt
Listar todos os arquivos que comeam com o nome arq, tenham qualquer
caractere no lugar do coringa, e terminem com .txt:
# ls arq?.txt
Para listar todos os arquivos que comeam com o nome arq, tenham qualquer
caractere entre o nmero 1-3 no lugar da 4 letra e terminem com .txt. Neste caso,
se obtm uma filtragem mais exata, pois o coringa especifica qualquer caractere
naquela posio e [ ] especifica nmeros, letras ou intervalo que sero usados.
# ls arq[1-3].txt
# ls *.new
# ls *new*
# ls arq?.new
# ls arq[4,5].*
# ls arq[4,5].new
Existem muitas outras maneiras de fazer a mesma coisa mas depende muito
de cada um que vai utilizar. A criatividade nesse momento conta muito. No exemplo
Captulo 4 Aprendendo comandos do GNU/Linux - 51
# touch arquivo
A grande maioria dos comandos bsicos devem fazer parte da sua base
slida de conhecimento, provvel que voc precise dele para resolver
problemas maiores.
Exemplo:
# mkdir yago
# mkdir -p 4linux/alunos
Captulo 4 Aprendendo comandos do GNU/Linux - 52
Exemplos:
# rm teste.txt
# rm -i yago.txt
rm: remove arquivo comum `yago.txt'? y
# rm -r 4linux
Exemplos:
# rmdir yago
# rmdir -p hackerteen/alunos
Captulo 4 Aprendendo comandos do GNU/Linux - 53
# mv arquivo caminho/diretrio-destino/
# mv arquivo novo-nome
# mv diretrio novo-nome
# mv diretrio caminho/diretrio-destino/
# cp arquivo-origem arquivo-destino
# cp arquivo-origem caminho/diretrio-destino/
# cp -R diretrio-origem nome-destino
# cp -R diretrio-origem caminho/diretrio-destino/
# ls /
# ls -l /root/
# ls -ld /boot/
Captulo 4 Aprendendo comandos do GNU/Linux - 54
# ls -a /root
# ls -R /boot/
# mkdir /tmp/estudo
# mkdir -p /backup/2007/fevereiro
# rmdir /tmp/estudo
# touch /backup/2007/fevereiro/estudo.txt
# touch /backup/2007/fevereiro/alunos.txt
# cd /backup/2007/fevereiro
# cp estudo.txt aula.txt
# cp -R /backup/2007/fevereiro /backup/2007/janeiro
Captulo 4 Aprendendo comandos do GNU/Linux - 55
# rm estudo.txt
# cd /backup/2007/fevereiro
# mv alunos.txt teste.txt
# mv /backup/2007/fevereiro /backup/2007/abril
#stat /backup
4.7. Laboratrio
1) Liste os arquivos que terminam com a palavra .conf dentro do diretrio
/etc;
2) Busque no diretrio raiz [ / ] todos os diretrios que terminem com a letra
``n'';
Captulo 5 Comandos teis de linha de comando - 58
Captulo 5
5.1. Objetivos
Conhecer alguns comandos importantes para o dia-a-dia.
Mas isso pode ser mudado com o uso de caracteres de redirecionamento, veja
abaixo:
Mas isso pode ser mudado com o uso de caracteres de redirecionamento, veja
abaixo:
# ls / > tst
# cat tst
# ls /var > tst
# cat tst
Exemplo:
# ls / >> tst
# cat tst
# ls /var >> tst
# cat tst
Captulo 5 Comandos teis de linha de comando - 60
Comandos auxiliares:
| (pipe, pronuncia-se paipe): Serve para canalizar sada de dado para outro
comando;
# cat teste.dat
Mas o comando cat pode ser utilizado tambm para concatenao de arquivos.
No primeiro exemplo abaixo, mostrado na tela o contedo dos arquivos teste.dat
aux.dat. No segundo exemplo, usamos o operador de redirecionamento da sada
padro de modo que a sada do comando cat seja gravada no arquivo tudo.dat.
# tac teste.dat
# more /var/log/syslog
# less /var/log/syslog
# head /var/log/syslog
Captulo 5 Comandos teis de linha de comando - 62
# tail /var/log/syslog
Os comandos podem ser combinados usando o | (l-se pipe). Por exemplo, para
ler o pedao entre as linhas 20 e 40 de um arquivo, podemos usar:
5.3.4. Contagem: wc
Grande parte dos arquivos de configurao e de dados usa uma linha por
registro. A contagem destas linhas pode nos fornecer informaes muito
interessantes.
# wc /etc/passwd
# wc -l /etc/passwd
# cat /etc/passwd
# sort /etc/passwd
Por exemplo, para saber qual a pasta pessoal definida em $HOME do usurio
atual:
# echo $HOME
# echo $LANG
Captulo 5 Comandos teis de linha de comando - 64
5.4. Filtragem
Uma necessidade constante dos administradores encontrar informaes
dentro dos arquivos. Para ilustrar, podemos localizar o texto bash no arquivo
/etc/passwd:
O grep pode ser combinado com a sada de outros comandos com o uso do |
(pipe). Por exemplo, no comando abaixo, o grep filtra as linhas de endereos IP da
sada do comando ifconfig.
Alguns outros tipos de filtros como o grep tambm podem ser encontrados -
ngrep e pgrep.
O comando awk um primo do cut, mas possui mais recursos e opes para
expresses regulares.
# file arquivo
5.5. Administrativos
5.5.1. Espao em Disco
Aproxima para a unidade de medida mais prxima, mais legvel para o ser
humano.
$ df -h <arquivo/diretrio/partio>
Mostra em kilobytes.
Mostra em Megabytes.
Aproxima para a unidade de medida mais prxima, mais legvel para o ser
humano.
Mostra em bytes.
Mostra em kilobytes.
Mostra em Megabytes.
# free
Captulo 5 Comandos teis de linha de comando - 68
# date
# date mmddHHMMYYYY
Onde:
mm - nmero do ms;
dd - dia do ms;
Captulo 5 Comandos teis de linha de comando - 69
HH hora;
MM minutos;
YYYY ano.;
# uptime
# uname -a
Linux professor 2.6.18-3-686 #1 SMP Mon Dec 4 16:41:14 UTC 2006 i686
GNU/Linux
# time programa
Sintaxe:
-name [expresso] :
-maxdepth [num] :
-amin [num] :
Procura por arquivos que foram acessados [num] minutos atrs. Caso seja
antecedido por ``-'', procura por arquivos que foram acessados entre [num] minutos
atrs e o momento atual.
# find ~ -amin -5
-atime [num] :
Procura por arquivos que foram acessados [num] dias atrs. Caso seja
antecedido por ``-``, procura por arquivos que foram acessados entre [num] dias
atrs e a data atual.
-uid [num] :
-user [nome] :
-perm [modo] :
-size [num] :
-type [tipo] :
b - bloco
c - caractere
d - diretrio
p - pipe
f - arquivo regular
l- link simblico
s - socket
Outros exemplos:
# updatedb
# locate howto
/root/Documentao/securing-debian-howto.en.pdf
/usr/share/doc/diveintopython/html/appendix/fdl_howto.html
/usr/share/doc/cacti/html/graph_howto.html
Captulo 5 Comandos teis de linha de comando - 74
/usr/share/doc/pcmciautils/mini-howto.txt.gz
/usr/share/doc/python2.4-xml/examples/test/output/test_howto
/usr/share/doc/python2.4-xml/examples/test/test_howto.py.gz
/usr/share/doc/python2.4-xml/howto.cls
/usr/share/doc/python2.4-xml/xml-howto.tex.gz
/usr/share/doc/python2.4-xml/xml-howto.txt.gz
/usr/share/vim/vim64/doc/howto.txt
# cp /etc/passwd /tmp
# cd /tmp
# cat passwd
# date
# date mmddHHMMYYYY
# date +%Y%m%d-%H%M
# df
# df -h
# df -i
# du -h
12) Vamos procurar por arquivos que satisfaam o padro pas* dentro do
diretrio /etc:
13) Realize a procura dentro do arquivo passwd por todas as linhas que
iniciam pelo caracter ``s'':
# grep ^s passwd
Captulo 5 Comandos teis de linha de comando - 78
# head -n 15 passwd
# cp /var/log/messages .
# split --lines=50 messages
# wc -l x*
# rm -r x*
Onde:
1048576=1024*1024*1
Captulo 5 Comandos teis de linha de comando - 79
Para conferir:
# du -sh x*
17) Vamos verificar que a linha foi escrita mostrando as ltimas 15 linhas
do respectivo arquivo de log:
# tail -n 15 /var/log/messages
# tail -n 15 /var/log/syslog
# seq 1 2 100
# sleep 10
# sort passwd
Captulo 5 Comandos teis de linha de comando - 80
# wc -l passwd
# who
# ls / | xargs -n1
# ls / | xargs -n2
# ls / | xargs -n3
Voc percebeu que no primeiro comando ele listou o diretrio, jogando na tela
um nome de cada vez. O segundo comando fara o mesmo s que com dois nomes na
mesma linha, e o terceiro tambm.
# ls / > teste_xargs.txt
# cat teste_xargs.txt
# cat teste_xargs.txt | xargs -n 2
# xargs -n 3 < teste_xargs.txt
# nl /etc/passwd
# grep sys /etc/passwd | nl
# ls -l /etc | nl
Captulo 5 Comandos teis de linha de comando - 81
# ls -l /etc | tail | nl
5.9. Laboratrio
1) Obtenha uma lista de usurios a partir do arquivo /etc/passwd, contendo as
colunas referentes ao usurio e seu diretrio pessoal;
2) Obtenha uma lista classificada por tamanho dos arquivos da pasta /var/log.
Captulo 6 Conhecendo a Documentao - 83
Captulo 6
Conhecendo a Documentao
6.1. Objetivos
Diferenciar how-to, manual e documentao;
Localizar os meios de ajuda internos do sistema;
Descobrir aonde podemos buscar documentao na internet;
Essa ajuda provida por meio dos manuais, as famosas Man Pages, outros
comandos que podem nos informar de maneira rpida os parmetros que podemos
utilizar e pelos How-Tos que cada aplicao instalada pode nos fornecer.
6.3.1. How-to's
Os How-to's so documentos que focam uma necessidade especfica, como
montar um firewall, instalar uma webcam, configurar placas de som, configurar um
Captulo 6 Conhecendo a Documentao - 85
# cd /usr/share/doc/iptables/html/
Na internet existem diversos sites de how-to's para linux, dentre eles o mais
conhecido no brasil o VivaoLinux, conhecido tambm como VOL:
http://www.vivaolinux.com.br
6.3.2. Manuais
Diferente dos How-tos os manuais no vo te mostrar um passo a passo ou
mesmo te dar uma lista de afazeres, o principal objetivo do manual te mostrar como
as funcionalidades daquele software podem ser usadas. Com o manual o aprendizado
para a utilizao da ferramenta facilitado, j que o mesmo possui alguns exemplos
de usabilidade.
6.3.3. Documentao
A palavra documentao muito intensa, quando falamos em documentar
uma ferramenta ou qualquer outra coisa, estamos na realidade abrangendo uma
srie de outros itens importantes, dentre eles os How-to's e os manuais. Com a
Captulo 6 Conhecendo a Documentao - 86
Para visualizar uma ajuda rpida para todos os comandos internos do sistema,
podemos fazer da seguinte forma:
# help
# help [comando]
Captulo 6 Conhecendo a Documentao - 87
sleep --help
Desse modo, caso desejemos visualizar uma ajuda rpida sobre um comando
externo, devemos fazer da seguinte forma:
# [comando] --help
O parmetro --help pode ser utilizado em qualquer comando para ter uma
consulta rpida dos parmetros que determinado comando pode nos oferecer.
importante entender que --help na verdade um parmetro individual de cada
comando, logo se um comando no tiver esse parmetro existem outros meios para
se obter ajuda.
# man [comando]
ou
# man passwd
# man 5 passwd
# /usr/share/man/
Dentro desse diretrio possvel ver todas as divises dos manuais dentre
elas os nveis e as lnguas.
Todos os nveis de manuais possuem sua determinada introduo que pode ser
vista com o comando:
# man 7 undocumented
Captulo 6 Conhecendo a Documentao - 90
# apropos [palavra-chave]
# man -k [palavra-chave]
# catman
# whatis [comando]
# man -f [palavra-chave]
A navegao das info pages feita atravs de nomes marcados com um ``*''
(hipertextos) que, se pressionarmos Enter, nos levar at a seo correspondente, e
backspace volta pgina anterior.
# info
# info [comando]
Ilustrao 3: xman
Captulo 6 Conhecendo a Documentao - 93
# whereis [comando]
ou
# whereis [arquivo]
# which [comando]
# help cd
Captulo 6 Conhecendo a Documentao - 95
# man man
# man ifconfig
# whereis passwd
# which ls
# which source
# info
# apropos user
# whatis passwd
Captulo 6 Conhecendo a Documentao - 96
# cd /usr/share/doc/apt
# cd /usr/share/doc/iptables/html/
# w3m NAT-HOWTO.html
6.10. Laboratrio
1) Gere a base de manuais do sistema.
2) Pesquise em qual nvel de manual se encaixa o shadow.
3) Descubra qual a localizao do comando su.
4) Descubra se source um comando interno ou externo.
5) Tente descobrir se existe no sistema algum manual ou documentao que
fale sobre a hierarquia do sistema de arquivos.
Captulo 7 Editores de texto - 98
Captulo 7
Editores de texto
7.1. Objetivos
Conhecer os diversos editores textos;
Explorar o editor de textos nano;
Explorar o editor de textos Vim;
7.2. Introduo
A grande maioria das configuraes em sistemas GNU/Linux so feitas
editando-se diretamente arquivos de configurao em modo texto. Para que essa
tarefa seja executada com sucesso, preciso conhecer alguns editores do texto
dentre eles: vi, vim, nano, pico, mcedit, ed, emacs dentre muitos outros:
vim - Uma verso melhorada do vi, Vim significa VImpruved e trs diversas
facilidades sem perder os conceitos do vim;
nano - Editor padro de muitas distribuies como Debian e Ubuntu, esse
editor diferente do vim muito fcil de ser usado;
pico - Muito parecido com o nano, este est presente nas distribuies
Slackware e Gentoo;
mcedit - Editor muito fcil e completo que est presente nas distribuies
Red-Hat, CentOs, Seu grande diferencial a possibilidade da utilizao do
mouse;
ed - O editor mais simples de texto presente no mundo Unix, o ed um
editor de linha para terminais aonde no possvel abrir uma janela de
edio;
emacs - Poderoso editor de "tudo", o emacs tambm muito conhecido no
mundo GNU/LINUX por fazer muitas coisas diferenciadas de um editor de
texto;
O editor od, pode ser importante para prova. Sua principal funcionalidade
mostrar a saida de um arquivo em formatos como octal, ASCII entre outros.
Nesse capitulo vamos abordar apenas a utilizao dos editores nano e vim.
$ nano
Captulo 7 Editores de texto - 100
Como podemos ver usar o editor de textos nano, no uma das tarefas mais
difceis no GNU/Linux. Vamos ver agora o editor Vim
EDITOR=nano visudo
EDITOR=vim visudo
Observem que a varivel define o editor que abrir um programa que chama o
editor padro. Para definirmos quem o editor padro podemos usar o aplicativo
update-alternatives .
cp /etc/vim/vimrc ~/.vimrc
cp /etc/passwd ~
vim passwd
7.7. Laboratrio
1) Crie um arquivo chamado dados_pessoais.
2) Dentro dele, coloque um dado em cada linha: Nome completo, e-mail e um
site de sua preferncia. Grave o arquivo.
3) Agora, modifique algum dado e tente sair do editor sem salvar.
4) De dentro do Vi, faa uma cpia desse arquivo para dados_pessoais2.
5) Faa uma cpia da sua linha de e-mail 5 vezes.
6) Posicione o cursor na primeira linha do arquivo, sem usar as teclas
direcionais.
7) V direto para a linha 3, sem usar as teclas direcionais.
8) V direto para o final do arquivo, sem usar as teclas direcionais.
9) Recorte a linha do seu nome, coloque-a no final do arquivo.
10) Apague a linha que tem seu nome e depois tente desfazer a sua
ltima ao.
11) Faa uma cpia do arquivo /etc/inittab para o seu HOME. ( cp
/etc/inittab ~ )
Captulo 7 Editores de texto - 108
Captulo 8
Introduo a Redes
8.1. Objetivos
Introduo a Terica de redes TCP/IP;
Conceitos bsicos de configuraes de redes em UNIX;
A importncia de alguns elementos das redes de computadores;
Apesar da nova vero da LPI ter diminuido os tpicos de TCP/IP, ele ainda
est presente na prova, e por isso olhar um pouco o modelo OSI uma boa
idia.
Acompanhe um pouco mais desse assunto no treinamento 451 da Formao
4Linux.
8.3. Entendendo o IP
O endereamento IP, como dever ser chamado, composto por 4 octetos e
uma mscara, que determina quantos endereos so destinados a hoste e quantos
endereos so destinados a rede.
Com essa interface configurada, todo o tipo de servio pode ser ativado na
mquina, desde um simples servidor de ssh at um servidor de DNS passando por um
servidor de pginas de Web afim de realizar testes antes mesmo de colocar esses
servios em produo.
O principal papel do gateway levar os pacotes tcp/ip para outras redes quais
os hosts que os originaram no conhecem. dessa forma que os pacotes saem de
uma rede privada para um rede Wan. Para que os pacotes possam transitar pela
internet ou mesmo s por uma rede fechada necessrio um gateway. No caso de
vocs estar em sua prpria rede local, o seu gateway voc mesmo, pois todos os
hosts esto normalmente com a mesma configurao de IP, ou seja, mesma mascara,
mesma classe de IP, e etc.
Usurio - Suporte?
Suporte - Sim, em que posso ajudar?
Usurio - A internet est fora do ar ... (O cara no consegue acessar o host
orkut.com =( )
Para resolver esse probleminha basta digitar o comando:
ping 4.2.2.2
Se a resposta for positiva, voc no tem um problema de link, cheque seu
DNS.
Suporte - Sr. Usurio, percebi que voc est acessando um site proibido
pela empresa, h algo errado?
Captulo 8 Introduo a Redes - 116
# ifconfig
# ifconfig -a
Para atribuir um endereo IP para uma placa de rede utilizamos essa sintaxe:
Exemplo:
# ifconfig eth0 up
# ifconfig eth0 down
Captulo 8 Introduo a Redes - 118
Com esse comando possvel configurar a rota padro de sada da nossa rede.
Para listar todas as rotas traadas, podemos utilizar o comando abaixo:
# route -n
Com ele podemos descobrir se as rotas necessrias para que nossa rede
funcione esto corretas.
# vim /etc/resolv.conf
nameserver 201.6.0.100
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.200.X
netmask 255.255.255.0
broadcast 192.168.200.255
network 192.168.200.0
gateway 192.168.200.254
A sintaxe dele :
IP apelido apelido
Exemplo :
Isso facilita nosso trabalho, uma vez que todos esto devidamente apelidados,
no precisamos mais decorar nmeros IP.
Captulo 8 Introduo a Redes - 121
# hostname NOVONOME
O comando hostname com sua opo -f (FQDN) pode ser muito til para
seu dia-a-dia!!!
IP FQDN HOSTNAME
200.12.44.211 zeus.criptahacks.ntr.au zeus
passwd:compat
group: compat
shadow:compat
Captulo 8 Introduo a Redes - 122
passwd:files ldad
group: files ldap
shadow:files ldap
Nessa configurao temos o temo files, dizendo qual o sobre que meio
ocorrer essa autenticao. Outros valores podem ser aplicados como db e nis.
# ifconfig
# route -n
# ifconfig -a
# route -n
Captulo 8 Introduo a Redes - 123
7) Envie um icmp tipo echo-request (ping) para uma outra mquina da rede:
# ping 192.168.200.Y
# ping -b 192.168.200.255
# arp -n
# vim /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.200.X
netmask 255.255.255.0
broadcast 192.168.200.255
network 192.168.200.0
gateway 192.168.200.254
14) Efetue pingues para determinar que voc est conseguindo pingar as
outras mquinas da rede e a mquina do instrutor:
# ping -b 192.168.200.255
# ping 192.168.200.254
15) Agora que j estamos com a rede configurada vamos tentar acessar a
internet. Pingue um site a sua escolha:
# ping www.4linux.com.br
# vim /etc/resolv.conf
nameserver 200.204.0.10
nameserver 200.204.0.138
# ping www.4linux.com.br
# vim /etc/hosts
20) Realize testes para ver que esses nomes esto funcionando:
# ping instrutor
# ping localhost
# ping www.4linux.com.br
# hostname
# vim /etc/hostname
# hostname -d
# hostname -f
# shutdown -r now
Captulo 8 Introduo a Redes - 127
8.13. Laboratrio
1) Configure sua placa de rede, de acordo com as especificaes do instrutor;
2) Configure tambm um segundo Ip para essa mesma placa de rede;
3) Tente pingar os colegas nas duas redes configuradas;
Captulo 9 Manipulando Hardware e Dispositivos - 128
Captulo 9
9.1. Objetivos
Entender o funcionamento do /dev;
Diferenciar devfs de udev;
Compreender o processo de montagem de um dispositivo;
Testar alguns dispositivos presentes em /dev
Compreender como funciona o particionamento;
Aplicar um sistema de arquivos a uma partio;
#cat /dev/input/mice
#cat /dev/psaux
9.3. Dispositivos de
armazenamento
Por outro lado, o padro dos dispositivos SATA e SCSI comeam por sd. Assim
sendo, temos sda para o primeiro dispositivo SATA ou SCSI, sdb para o segundo, etc.
Uma controladora SCSI de 8 bits pode comportar at 7 dispositivos, alm da prpria
controladora. Para as de 16 bits, o nmero mximo de dispositivos 15.
# cat /dev/hda
Uma partio uma diviso lgica do seu disco rgido, criada por questes de
organizao, convenincia, flexibilidade ou segurana. Nos sistemas baseados em
representao por letras, um disco rgido IDE pode ser dividido, particionado de
forma a ser visto com as letras C: e D:. No sistema operacional GNU/Linux, esta
mesma diviso levaria aos arquivos representados em /dev/hda1 e /dev/hda2. Ou seja,
a primeira partio do disco hda representada por /dev/hda1 e a segunda
representada por /dev/hda2. Qualquer partio adicional seguiria o mesmo padro.
Captulo 9 Manipulando Hardware e Dispositivos - 134
# cat /dev/hda1
Ento para que a partio /dev/hda1 seja usada, necessrio montar esta
partio em algum local e acess-lo. Este local, que um diretrio no sistema de
arquivos, chamado de ponto de montagem. Podemos montar um dispositivo de
armazenamento em qualquer diretrio do sistema de arquivos, contudo, existem
algumas convenes:
Exemplos:
# vol_id -u /dev/sda2
f541a97e-ef19-4e47-b305-b535a75c932a
Captulo 9 Manipulando Hardware e Dispositivos - 136
# blkid
/dev/sda1: UUID="f541a97e-ef19-4e47-b305-b535a75c932a" TYPE="ext3"
LABEL="MAIN"
/dev/sda3: UUID="7C444A56444A12F6" TYPE="ntfs" LABEL="WIN"
/dev/sda5: TYPE="swap"
/dev/sda6: UUID="69ff8ed5-c09b-49b6-b21d-328e90243efa" TYPE="ext3"
LABEL="HOME"
/dev/sda7: UUID="2c070d34-5c6e-4504-8d4b-9a8fa910548d" TYPE="ext3"
LABEL="STORAGE"
/dev/sda8: UUID="489B-5A22" TYPE="vfat" LABEL="CENTER"
# ls -l /dev/disk/by-uuid/
lrwxrwxrwx 1 root root 10 2009-03-06 10:41 2c070d34-5c6e-4504-8d4b-
9a8fa910548d -> ../../sda7
lrwxrwxrwx 1 root root 10 2009-03-06 10:41 489B-5A22 -> ../../sda8
lrwxrwxrwx 1 root root 10 2009-03-06 10:41 69ff8ed5-c09b-49b6-b21d-
328e90243efa -> ../../sda6
lrwxrwxrwx 1 root root 10 2009-03-06 10:41 7C444A56444A12F6 ->
../../sda3
lrwxrwxrwx 1 root root 10 2009-03-06 10:41 f541a97e-ef19-4e47-b305-
b535a75c932a -> ../../sda1
# mount
Por exemplo:
# umount /media/cdrom
ou de forma equivalente:
# umount /dev/cdrom
Captulo 9 Manipulando Hardware e Dispositivos - 139
# fdisk /dev/hda
The number of cylinders for this disk is set to 14593.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Para criarmos uma nova partio devemos antes ver se temos espao
disponvel para isso, ou seja, precisamos imprimir a tabela de parties utilizando a
letra p. Se houver espao disponvel para a criao de uma nova partio basta
pressionar a letra n e informar o tipo da partio (primria ou estendida) e seu
tamanho.
# cfdisk /dev/hda
Uma vez executado esse comando, a tela do cfdisk se abrir como mostrado
na figura:
Captulo 9 Manipulando Hardware e Dispositivos - 141
Para criar uma nova partio basta selecionar na listagem de parties a linha
que contm espao livre e entrar na opo New no menu inferior. Se ainda for
possvel criar parties primrias surgir a pergunta pelo tipo da partio, caso
contrrio, surgir a pergunta para especificar quanto espao deve ser destinado para
essa partio.
Sendo que o filesystem que voc pode escolher para criar no device deve ser
Captulo 9 Manipulando Hardware e Dispositivos - 143
suportado pelo kernel e deve ter seu software instalado. Para consultar quais
filesystem esto com suporte no kernel basta consultar o arquivo /proc/filesystems.
parmetros.
# loadkeys -d us
# loadkeys -d br-abnt2
Captulo 9 Manipulando Hardware e Dispositivos - 146
# kbd-config
# dpkg-reconfigure console-data
# info mount
O arquivo /etc/fstab:
# info fstab
# dmesg |grep hd
# mount
# df -h
# cat /etc/mtab
# cat /proc/mounts
Captulo 9 Manipulando Hardware e Dispositivos - 147
# cd /media/cdrom ; ls
5) Desmonte o CD:
# umount /media/cdrom
# cd
# umount /media/cdrom
Agora sim!
# cd
# umount /media/cdrom
Funcionou?? E agora??
# cfdisk /dev/hda
Aps criar as novas parties ser necessrio rebotar a mquina para que a
nova tabela de parties seja relida. No nosso caso, a verso do Kernel a 2.6.18,
ento estamos utilizando udev, mesmo sendo udev, temos que reiniciar.
# mkswap <dispositivo>
# swapon <dispositivo>
O filesystem que desejamos aplicar a uma das novas parties o etx3. Para
que possamos realizar essa tarefa devemos determinar se o nosso kernel suporta
este filesystem e se o software necessrio est instalado.
# ls /proc/filesystems
Uma vez que o filesystem foi aplicado partio, vamos torn-lo acessvel por
Captulo 9 Manipulando Hardware e Dispositivos - 149
# mkdir /backup
# mount
# df -h
# cat /etc/mtab
# cat /proc/mounts
# cat /proc/swaps
# touch /backup/README
# echo "Partio de Backup" >> /backup/README
# vi /etc/fstab
<dispositivo> none swapsw 0 0
<dispositivo> /backup ext3 defaults 0 0
9.13. Laboratrio
1) Crie um arquivo imagem do CD-ROM;
2) Monte este arquivo imagem;
3) Acesse este sistema de arquivos que voc montou, e veja o seu contedo.
Captulo 10 Administrao de Usurios - 152
Captulo 10
Administrao de Usurios
10.1. Objetivos
Aprender a gerenciar usurios e grupos;
Conhecer o sistema de permisses;
Conhecer o funcionamento do umask;
Entender as permisses especiais;
10.2. Gerenciamento de
usurios
Quando comeamos a trabalhar com usurios no sistema GNU/Linux podemos
dividi-los em 3 categorias:
Nome;
Senha;
Diretrio Home;
Shell;
Grupo Primrio;
10.3. Permisses
Cada arquivo no sistema possui trs permisses bsicas:
Alm disso, cada arquivo contm trs conjuntos de permisses, sendo elas:
Vamos entender o que essas linhas significam, o primeiro caractere pode ser:
Vejamos um exemplo:
ou
ou
Comando para alterar a permisso padro do arquivo Dori.jad para que todos
os usurios apenas possam ler.
Leitura Sugerida:
usurio:x:1000:1000:Usurio da Silva,8111-1234:/home/usurio:/bin/bash
Onde:
10.5. Levantamento de
informaes dos usurios
10.5.1. Chage
O comando chage configura algumas informaes como: data de validade do
password, data de aviso de troca de senha dentre outras.
Captulo 10 Administrao de Usurios - 161
10.5.2. Comando id
O comando id mostra as informaes de UID, GID e grupos secundrios dos
usurios. Para ver essas informaes do usurio corrente, fazemos da seguinte
forma:
# id
sintaxe:
# id [usurio]
# finger [usurio]
Captulo 10 Administrao de Usurios - 162
# users
# who
10.6. Comando w
O comando w similar ao who, mas traz tambm informaes sobre o que
cada usurio est fazendo, tanto local quanto remotamente. Esse comando muito
til para ver se no existem conexes indevidas em nosso sistema.
# w
# w [usurio]
Captulo 10 Administrao de Usurios - 163
Este comando pode ser usado de vrias formas, mas a sintaxe mais comum de
se trabalhar a seguinte:
# adduser [usurio]
Dessa maneira ele adicionar o usurio, j pedindo para definir sua senha e as
informaes adicionais. Automaticamente, ele j cria um grupo com o mesmo nome
do usurio e copia todos os arquivos que esto no diretrio /etc/skel para o diretrio
home do usurio.
# useradd teste
# passwd
# passwd [usurio]
Esse comando ir alterar o grupo atual do arquivo planta para o grupo 'cacho'.
# userdel [usurio]
# userdel -r [usurio]
10.12. Umask
O umask altera o valor da mscara de criao de arquivos e diretrios. Para
calcular a umask para um diretrio, pegue a permisso total que um diretrio pode
chegar, 777. Subtraia 022 de 777 (valor padro de umask do sistema).
Quando esse bit est ativo em um diretrio, todo contedo criado dentro dele
pertencer ao criador do contedo e por mais que ele atribua a esse contedo
permisses totais para todos os usurios, o nico que poder excluir o arquivo ou
diretrio ser o prprio dono ou o root.
Para atribuirmos esses bits especiais, procedemos da mesma forma que nas
permisses comuns, somando os valores e utilizando o comando chmod, mas agora
utilizando quatro nmeros, o primeiro nmero sendo o bit especial, seguido dos trs
Captulo 10 Administrao de Usurios - 169
# ls -l `which passwd`
-rwsr-xr-x 1 root root 31640 2008-06-12 20:39 /usr/bin/passwd
chmod 4000 a
chmod 2000 b
chmod 1000 c
ls -l
total 0
---S------ 1 bruno bruno 0 2008-07-21 13:50 a
------S--- 1 bruno bruno 0 2008-07-21 13:50 b
---------T 1 bruno bruno 0 2008-07-21 13:50 c
chmod 4100 a
chmod 2010 b
chmod 1001 c
ls -l
total 0
---s------ 1 bruno bruno 0 2008-07-21 13:50 a
------s--- 1 bruno bruno 0 2008-07-21 13:50 b
---------t 1 bruno bruno 0 2008-07-21 13:50 c
$ mkdir temp
$ touch temp/arq1
$ ls -ld temp
$ ls -l temp
$ touch temp/arq2
$ cd temp
$ ls -l
# cd ..
# chmod 700 temp
# ls -l
# adduser aluno
# cat /etc/passwd
10) Logue com o novo usurio em outro terminal e veja quais usurios
esto logados no sistema:
Captulo 10 Administrao de Usurios - 172
$ users
$ finger aluno
# passwd aluno
15) Agora logado como usurio normal, modifique sua prpria senha:
$ passwd
# w
Captulo 10 Administrao de Usurios - 173
# userdel -r aluno
No funcionou???
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
5) Qual o comando correto para listar o contedo do arquivo /etc/passwd?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
6) Considere os seguintes comandos:
10.16. Laboratrio
1) Adicione um usurio chamado aula1 e visualize o contedo de arquivos do
seu diretrio home.
2) Crie um novo arquivo no diretrio /etc/skel.
3) Agora adicione outro usurio chamado aula2, visualize o contedo de
arquivos do seu diretrio home e novamente o do usurio aula1.
4) Edite o /etc/passwd, modifique o UID do usurio aula1 para 0 e veja o que
acontece.
5) Remova o usurio aula2 do grupo aula2.
6) Remova o usurio aula2 sem remover o seu diretrio home e visualize as
permisses do seu diretrio home.
7) Agora adicione um usurio chamado aula3 e visualize as permisses de
todos os diretrios home.
Captulo 11 Administrao da Shell - 176
Captulo 11
Administrao da Shell
11.1. Objetivos
Entender o funcionamento do terminal;
Conhecer alguns tipos de shells;
Personalizar o shell;
Localizar os arquivos de configuraes relacionados ao shell;
# ANSWER=42
# echo $ANSWER
11.4. Alias
Um recurso da shell que facilita muito a vida do usurio a definio de alias.
Imagine s que um usurio gosta de utilizar o comando ls sempre com os parmetros
``- -color -h -l''; o que seria dele se toda vez que fosse execut-lo tivesse que escrever
o comando com todos os parmetros!! Ele perderia muito tempo e acabaria se
cansando mais.
Para resolver esse tipo de situao, basta criar um alias para o comando ls
que defina que cada vez que o usurio digitar um simples ls o que ser executado
ser o ls - -color -h -l. Para criarmos esse alias, basta usarmos o comando abaixo:
Dessa forma fica fcil criar um comando novo. Por exemplo, um que liste
apenas diretrios:
~/.bash_profile
~/.bash_login
~/.profile
#cat /etc/motd
The programs included with the Debian GNU/Linux system are free
software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
#cat /etc/issue
Debian GNU/Linux 4.0 \n \l
Exemplo:
# chsh -s /bin/sh
# LINUX=4linux
# echo $LINUX
# set | more
# env | more
# export GNULINUX=rocks
# echo $GNULINUX
# set | more
# env | more
Captulo 11 Administrao da Shell - 183
7) Execute uma nova bash no mesmo terminal que voc definiu as variveis:
# bash
# set | more
# env | more
# exit
# echo $PS1
# export PS1="C:\> "
# source /etc/profile
# unset LINUX
13) Crie um alias para o comando ls, de forma que as listagens sejam
exibidas coloridas, mostrando o tamanho dos arquivos em formato``human
readable''.
# unalias ls
# vi ~/.bashrc
# ls
# c
# cl
# source ~/.bashrc
# alias
# vi /etc/issue
# vi /etc/motd
# vi /etc/issue.net
# cd /usr/share/doc
# pwd
# cd ~
# cd -
Determine quais variveis esto sendo lidas para substituir os caracteres ``~''
e ``-'' e na execuo do comando ``pwd''.
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
11.8. Laboratrio
1) A troca de sistema operacional ocorreu a menos de um ms na empresa
Tab's Org, e os funcionrios ainda esto um pouco confusos sobre os
comandos no Linux. Para minimizar esse problema, voc resolve criar
novos comandos no sistema visando ajudar os usurios a se acostumarem
com o shell do Linux:
1.1) alias: lista
Sua funo listar o contedo do diretrio atual.
1.2) alias (desafio): infogeral
Sua funo mostrar algumas informaes. A sada desse comando
dever ser:
Usurio logado:
Voc est em: /etc
Captulo 11 Administrao da Shell - 187
2) Crie dois alias chamados lf e ldir que listem apenas arquivos, incluindo
arquivos ocultos e liste apenas diretrios, incluindo diretrios ocultos.
3) Por questes de segurana, altere o contedo dos arquivos de mensagem
de pr-login e de mensagem do dia para que contenham a seguinte
instruo.
===============================
= Este computador / sistema de acesso restrito =
= apenas a pessoas autorizadas. Todas as suas =
= atividades esto sendo monitoradas e logadas! =
================================
Captulo 12 Compactadores, Empacotadores e Procedimentos de Backup - 188
Captulo 12
Compactadores, Empacotadores e
Procedimentos de Backup
12.1. Objetivos
Diferenciar compactao de empacotamento;
Compreender o comando tar e cpio;
Comparar as qualidades do gzip e do bzip2
v - Verbose tar;
z - utilizar com compresso gZip, tanto na criao como na extrao de um
arquivo tar;
Captulo 12 Compactadores, Empacotadores e Procedimentos de Backup - 190
# od -t c arquivo.tar | head -n 30
Entretanto, para voc pudesse entender o que ``comp'' significa voc teria
que estar ciente dessa conveno ou seja, do algoritmo de compresso.
12.5.1. O comando dd
O comando dd tem a capacidade de copiar bit a bit uma partio, para isso
podemos utilizar assim:
# dd if=/dev/hda /dev/hdb
# gzip etc
# bzip2 etc
3) Vamos criar dois arquivos de texto puro. Abra o arquivo texto1 no editor
vim e insira uma linha contento os nmeros de 0 a 9:
Captulo 12 Compactadores, Empacotadores e Procedimentos de Backup - 194
# vim texto1
0123456789
:1y
250000p
:x
# cp texto1 texto2
# cp /usr/bin/aptitude bin1
# cp bin1 bin2
# ls -lh
Tamanho Original:
GZIP BZIP2
Tamanho final
Tempo para compactar
Tempo para descompactar
# ls -lh texto1.gz
# ls -lh texto2.bz2
Captulo 12 Compactadores, Empacotadores e Procedimentos de Backup - 196
GZIP BZIP2
Tamanho final
Tempo para compactar
Tempo para descompactar
3) Determine o tamanho final do arquivo bin1 aps ser comprimido com gzip:
# ls -lh bin1.gz
# ls -lh bin2.bz2
# tar tf etc.tar
# mkdir /backup/etc
# mv /backup/etc /backup/etc.orig
# ls -lh
Captulo 12 Compactadores, Empacotadores e Procedimentos de Backup - 198
# tar xf etc.tar
# ls -lh
# du -hs etc
# ls -lh etc.tar
Captulo 13
Shell Script I
13.1. Objetivos
Entender a estrutura de um script;
Automatizar tarefas;
Conhecer algumas variveis importantes;
1 # vim mps.sh
2 #!/bin/bash
3 #Meu primeiro shell script
4 cd ~
5 clear
6 ls -alh
7 date
8 cd -
# chmod u+x s1
# ./s1
# ./s2 /etc
1 #!/bin/bash
2 #
3 #Esse script pega o valor dos parmetros e imprimi na tela.
4 echo $1
5 echo $2
6 echo $3
1 #!/bin/bash
1 #
2 echo "Aguarde ....."
3 sleep 3
4 G=`wc -l /etc/group | cut -d" " -f1`
5 U=`wc -l /etc/passwd | cut -d" " -f1`
6 echo "O sistema possui $U usurios."
7 echo "O sistema possui $G grupos."
8 echo "O sistema possui `expr $G + $U` objetos."
1 #!/bin/bash
2 #
3 #Esse programa tem como objetivo filtrar todos os usurios que no
possuem home
4 QTD=`cat /etc/passwd | grep -v /home/ | wc -l`
5 echo "A quantidade de usurios que no possuem home de: $QTD"
Execute o script:
# ./userfiltro
Captulo 13 Shell Script I - 205
Altere o script para que ele receba um parmetro da linha de comandos. Por
exemplo o arquivo passwd.
1 #!/bin/bash
2 #
3 #Esse programa tem como objetivo filtrar todos os usurios que no
possuem home
4 QTD=`cat $1 | grep -v /home/ | wc -l`
5 echo "A quantidade de usurios que no possuem home de: $QTD"
# ./userfiltro /etc/passwd
Por exemplo:
Captulo 13 Shell Script I - 206
a=1
b=2
SE $b > $a ENTO
IMPRIMA $b
SENO
IMPRIMA $a
FIMSE
13.7.1. A varivel $?
A varivel interrogao conhecida por testar o valor de retorno de qualquer
comando quando mostrada aps sua execuo. Com ela podemos verificar se o
programa foi executado com sucesso ou no. Para isso basta saber que essa varivel
tem dois retornos principais.
# comando1
# echo $?
# 0
# comando2
# echo $?
# != 0
Cada programa tem sua tabela e excees, mas sempre retornam 0 quando o
programa bem executado.
# test 2 -eq 2
# echo $?
# 0
# whisk=blue
# test -z $whisk
# echo $?
# 1
Abaixo podemos ver uma lista de alguns operadores para nossa diverso.
Operadores Funes
== Igual
!= Diferente
Operadores Funes
+ Soma
- Subtrao
* Multiplicao
/ Diviso
> Maior
>= Maior ou Igual
< Menor
<= Menor ou Igual
Operadores Funes
-e Arquivo existe
-nt Arquivo mais novo que
Captulo 13 Shell Script I - 209
1 #!/bin/bash
2 #
3 ## Primeiro script - Verificando se um usurio existe
4 #
5 echo "Digite usurio para consulta:"
6 read USER
7 REPLY=$(getent passwd | grep $USER)
8
9 if [ -z $REPLY ]; then
10 echo "Usurio $USER no existe!"
11 else
12 echo "Pagamento em dia"
13 fi
1 #!/bin/bash
2 #
3 ## Primeiro script - Verificando se um usurio existe
4 #
5 echo "Digite usurio para consulta:"
6 read USER
7 REPLY=$(getent passwd | grep $USER)
8
9 test -z $REPLY
10 if [ $? -eq 0 ]; then
11 echo "Usurio $USER no existe!"
12 else
13 echo "Pagamento em dia"
14 fi
Podemos fazer diversas operaes no nosso sistema com o shell. Vamos para o
ultimo exemplo:
Captulo 13 Shell Script I - 211
1 #!/bin/bash
2 #
3 ## segundo script - Verificando se um arquivo est vazio
4 #
5 # Programa para gerar uma lista de usurios com seus determinados
homes,
6 # Exportar para um arquivo com um cabealho com usurio e timestamp
7 # Fazer check de arquivo existente
8 echo "Deseja prosseguir com a exportao da lista de usurios? (y/n)"
9 read OP
10
11 if [ $OP = y ]; then
12 echo "Nome da lista"
13 read LISTA
14 test -e $LISTA
15 if [ $? -eq 0 ]; then
16 echo "Arquivo existe, impossvel continuar .... saindo"
17 exit
18 else
19 echo "Gerando lista ...."
20 echo "Colocando o cabealho ..."
21 echo "Lista de usurios xpto" >> $LISTA
22 echo "Verificando usurios ..."
23 echo "Adicionando a lista ... "
24 echo "Emitida por:$USER" >> $LISTA
25 echo $(date +"Emitido dia %d de %B de %Y as %H:%M") >> $LISTA
26 echo " " >> $LISTA
27 getent passwd | cut -d: -f1,6 | sed
s/:/\----------------------------\>/ >> /tmp/$0.list
28 cat $LISTA /tmp/$0.list > /tmp/$0.final
29 echo " " > $LISTA
30 cat /tmp/$0.final > $LISTA
Captulo 13 Shell Script I - 212
42 fi
Podemos explorar ainda mais o Shell Script ... Aproveite tambm nosso
curso de Shell Script com o Julio Csar Neves.
13.10. Laboratrio
1) Crie um script shell que mostre uma poro de um arquivo, onde os
argumentos seriam:
Nome do arquivo
Nmero da primeira linha mostrada
Captulo 13 Shell Script I - 214
# miolo /etc/passwd 7 18
Captulo 14
Agendamento de Tarefas
14.1. Objetivos
Entender como funciona o agendamento no sistema;
Aprender o funcionamento do cron;
Aprender o funcionamento do at;
# crontab [-e|-r|-l]
crontab (usurios)
# minuto hora dia ms diaDaSemana comando
crontab (sistema)
# minuto hora dia ms diaDaSemana USURIO comando
Alm disso cada campo possui um conjunto de valores vlidos, sendo eles:
# date
# at HH:mm MM/DD/YYYY
at> ls --color /etc > /root/etc_list.txt
at> echo $(date +"%H:%m %M/%d/%Y" ) >> /root/gera.txt
at> (Ctrl + d)
# atq
# cd /var/spool/cron/atjobs
# ls -la
# cat (agendamento)
# at HH:mm MM/DD/YYYY
at> echo "Teste" > /tmp/at.out
at> ^d
# atrm <numero_agendamento>
# vi /root/backup.sh
#!/bin/bash
# Backup do /etc
# crontab -e
# MM HH DD mm DS CMD
*/2 * * * * /root/backup.sh
# crontab -l
# cd /var/spool/cron/crontabs
# ls
# crontab -r
# vi /etc/crontab
# MM HH DD mm DS USER CMD
*/2 * * * * root /root/backup.sh
15) Para fazer com que o script backup.sh seja executado diariamente:
# cp /root/backup.sh /etc/cron.daily/backups
# cp /root/backup.sh /etc/cron.weekly/backups
# /etc/init.d/cron stop
# /etc/init.d/cron start
14.5. Laboratrio
1) Realize o agendamento da execuo do script de backup (backup.sh) para
que rode a cada 5minutos no dia de hoje, nas prximas 2hs, utilizando a
crontab do sistema.
2) Crie um script, chamado uso.sh, que lista as informaes de utilizao de
espao pelos file systems, jogando a sada em um arquivo chamado uso.txt
no /root e coloque-o no diretrio apropriado para que ele seja executado
junto com as tarefas dirias da crontab do sistema.
3) Manipule a data e hora do sistema para que as tarefas dirias sejam
executadas daqui trs minutos. Verifique se o script ``uso.sh'' foi
executado.
4) Determine o motivo pelo qual o script ``uso.sh'' no foi executado.
5) Remova todos os agendamentos que realizou para no lotar o /backup. :-)
Captulo 15
programas
15.1. Objetivos
Os diversos programas GNU/Linux so distribudos em forma de pacotes,
especficos para cada distribuio. Neste captulo aprenderemos um pouco sobre
esses pacotes e como instal-los e remov-los do sistema.
aptitude
Vamos primeiramente utilizar essa ferramenta em seu modo texto, e logo aps
em seu modo visual.
Para buscar uma lista completa de pacotes disponveis para debian acesse:
http://packages.debian.org
# aptitude update
# vi /etc/apt/sources.list
# Repositrios oficiais
deb http://ftp.us.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.us.debian.org/debian/ etch main contrib non-free
# aptitude update
# aptitude safe-upgrade
Obtendo informaes:
Voc pode usar o yum tambm para buscar pacotes nos repositrios. Todos os
pacotes que contm o padro no nome sero mostrados:
Dica LPI: As questes da LPI sobre dpkg, aptitude e rpm tm peso elevado.
Conhea bem estes comandos fazendo o curso 451 da Formao 4Linux
Captulo 16
Servidor X
16.1. Objetivos
Configurar a interface grfica para os usurios comuns;
Conhecer o arquivo de configurao;
Instalar e configurar os Display Managers;
Instalar e configurar os Window Managers;
Gerenciar protocolo de rede, utilizando recursos do servidor;
Abrir novas instncias de janelas de mquinas em rede.
Automaticamente:
# dexconfig
Ou manualmente:
# X -configure
ServerLayout
InputDevice (mouse)
Screen
InputDevice (keyboard)
Files
Modules
InputDevice (mouse)
InputDevice (keyboard)
Screen
Monitor
Displays
Device (video card)
Monitor
Device (video card)
<ip_destino>:<display>.<screen>
entre outros.
Esta uma forma de utilizar a parte grfica em uma mquina com menos
recursos de hardware uma vez que o processamento de interface grfica estar
ocorrendo na mquina servidora.
Captulo 16 Servidor X - 238
16.8. Xnest
Um Xnest uma instncia do servidor X que pode ser utilizada para receber
alguma sada grfica que tenha sido redirecionada a ela utilizando a varivel display.
Pode ser utilizada tambm para receber um DM solicitado via XDMCP.
2) Inicie o servidor X:
# X
# dexconf
# X -configure
# X -config /root/xorg.conf.new
# dpkg-reconfigure xserver-xorg
# cat /root/xorg.conf
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice"Generic Keyboard"
InputDevice"Configured Mouse"
EndSection
Captulo 16 Servidor X - 242
8) Teste as configuraes:
# X -config /root/xorg.conf.new
# mv /root/xorg.con.new /etc/X11/xorg.conf
# X
# startx
No Linux podemos ter vrios Clientes Grficos. Depois que o servidor grfico
j est instalado e configurado, s vamos ter o trabalho de instalar os clientes
grficos.
# startx
3) Para um prximo teste, vamos instalar outro cliente grfico que muito
utilizado, o KDE:
# startx
Note que foi utilizado o mesmo comando para iniciar tanto WindowMaker
quanto o KDE (o startx). Isso acontece porque ao instalarmos o KDE ele se
colocou como sendo o WM padro do sistema, mas isso pode ser alterado.
# vi /root/.xinitrc
6) Para que alterao seja vlida para qualquer usurio, devemos editar o
arquivo de configurao global:
# vi /etc/X11/xinit/xinitrc
# /etc/init.d/xdm start
Sero feitas algumas perguntas sobre qual ser o seu Display Manager
Default, o kdm ou xdm; escolha sempre o kdm, pois dessa maneira toda vez que o seu
sistema iniciar, ele vai levantar automaticamente o kdm no terminal 7 por padro.
3) Para iniciar o kdm da mesma maneira. Lembrando que o xdm deve estar
parado!
# /etc/init.d/xdm stop
# /etc/init.d/kdm start
# vi /etc/X11/default-display-manager
/usr/bin/kdm
Queremos rodar um aplicativo na nossa mquina local mas que esteja sendo
executado em uma mquina remota. Uma ilustrao dos procedimentos pode ser
vista na figura fig:xnest. Sendo assim:
KDM. Faa login com o seu usurio comum, no como root! NUNCA como
ROOT no ambiente grfico!
# /etc/init.d/kdm start
ssh <seu_usuario>@<ip_servidor>:1
# export DISPLAY=<IP>:1
# wmaker &
Utilizaremos o display manager gdm para fazer esse servio. Vamos editar o
arquivo onde ativaremos o XDMCP para o gdm.
# vi /etc/gdm/gdm.conf
[xdmcp]
Enable=true
Pronto! Basta reiniciar o gdm que ele j estar ``escutando'' na poa a 177/tcp.
2) Reinicie o gdm:
# /etc/init.d/gdm stop
# /etc/init.d/gdm start
# X -query <IP> :1
Captulo 16 Servidor X - 248
16.10. Exerccios
1) Qual a varivel que define para onde vo as sadas grficas? Como voc
define que a sada grfica ir para a mquina ip 192.168.200.200, na
screen 1 e display 0?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
2) Qual o arquivo que eu defino qual o meu padro de inicializao, e qual a
linha que eu defino?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
3) Qual arquivo eu armazeno qual Display Manager estou utilizando? Como
faria para trocar?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
4) Qual o caminho do executvel do KDE e do Gnome?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
5) Qual comando eu consigo utilizar, para configurar o daemon do XDM?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
6) Qual o arquivo de configurao do GDM, e do servidor Xorg?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
7) Quais so os Windows Managers que voc conhece?
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
Captulo 17 Instalao Linux em Desktop - 249
Captulo 17
17.1. Objetivos
Neste captulo iremos aprender a fazer uma instalao bsica em desktop de
um sistema Debian GNU/Linux.
17) Escolher entre primria ou lgica para a nova partio a ser criada:
ANEXOS
Captulo 17 Instalao Linux em Desktop - 273
O que
O System Imager um sistema de automatizao para rotinas de backup e
recuperao de mquinas. Ele permite que as mesmas mquinas possam ser
compartilhadas por vrios cursos simultneos, mas de forma que o estado delas, isto
, todos os seus arquivos e configuraes sejam guardados e recuperados de forma
individual por aluno.
Instalando o programa.
Primeiramente, o aluno dever fazer o download do programa e mudar as suas
permisses. Esse procedimento s necessrio na primeira aula.
# cd /sbin
# wget 192.168.1.1/si/si_cliente
# chmod u+x /sbin/si_cliente
Captulo 17 Instalao Linux em Desktop - 274
# si_cliente
# si_cliente
450-Instrutor-31-Noturno-10
(Cod. do curso)-(Nome do Instrutor)-(Dia de Incio)-(Perodo)-(Fim do
IP do Micro)
Objetivos
Neste captulo iremos aprender de que forma os dispositivos de hardware so
mapeados e manipulados no Linux. Para que esse assunto faa mais sentido,
primeiramente veremos alguns conceitos sobre arquitetura de computadores e
dispositivos de hardware.
so organizadas numa mquina. A figura a seguir ilustra a arquitetura tpica dos PCs.
Para contornar essa situao, foi criado o DMA (Direct Memory Access). Essa
tecnologia permite que o dispositivo acesse diretamente a memria RAM, escrevendo
ou lendo dados, sem interferncia da CPU. Para isso, so utilizados os chamados
canais de DMA, um para cada dispositivo e tambm uma controladora de DMA. Os
canais utilizados podem ser consultados no arquivo /proc/dma.
Softwares Desktop
Objetivos
Existe hoje, uma infinidade de softwares aplicativos de alta qualidade para
ambiente GNU/Linux. Temos disponveis navegadores, leitores de e-mail, sutes
office, programas para editorao de imagens e vdeo, modelagem 3D, simulaes
cientficas, tocadores multimdia e vrios outros. Neste captulo, veremos apenas
alguns exemplos dessas aplicaes.
Ambientes Grficos
Suites de Produtividade
Uma suite de produtividade pr-requisito para a grande maioria dos
computadores. Os usurios necessitam de ferramentas de edio de textos, planilhas
eletrnicas e programas de apresentao para executar as suas tarefas dirias em
ambientes corporativos.
Editor de Textos
Planilha Eletrnica
Captulo 17 Instalao Linux em Desktop - 285
Programa de Apresentaes
Captulo 17 Instalao Linux em Desktop - 286
Internet
O navegador Firefox e o leitor de correio eletrnico Thunderbird so
ferramentas avanadas cujos recursos so copiados por programas proprietrios.
Navegador
Multimdia
Os programas grficos em GNU/Linux tm recursos e usabilidades
compatveis com os mais modernos do mercado. Escutar msicas em mp3, assistir
vdeos e muito mais so tarefas fceis e intuitivas. A edio de fotos pode ser feita
com bastante eficincia em programas avanados como o GIMP, um dos editores de
fotos mais competentes do mercado.
Captulo 17 Instalao Linux em Desktop - 288
udio
Vdeo
Grficos
Acessibilidade
A cada dia que se passa mais e mais pessoas vem precisando utilizar o
computador. Muitas delas ainda tem uma grande dificuldade ou algum prolema fsico
envolvido. Os projetos se software livre sempre lembraram dessas pessoas como
essas pessoas se lembraram do software livre. Hoje existem muitos casos de
deficientes fsicos ajudarem o software livre, pois foram ajudados a chegar na
tecnologia atravs de softwares como Festival
Esse apndice foi desenvolvido para apresentar alguns dos muitos mdulos de
acessibilidade do Linux. Para obtermos suporte ao modo accessibility no gnome como
chamado primeiro devemos instalar o pacote:
Dasher
um interface para escrita para pessoas que no podem usar o teclado. O
teclado pode ser substituvel por um joystick, uma leitor de pupila ou mesmo um
mouse.
GOK
O projeto GOK foi a selecionado dentre muitos outros projetos como o projeto
que mais cumpre com a funo de no se utilizar o teclado. Com ele possvel usar
apenas o mouse e ou outros devices especiais.
Festival
Para ns administradores, podemos ver ele bem de baixo, sua API bem
parecida com python:
REFERNCIAS
BIBLIOGRFICAS