Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sobre a Instalao
Introduo
Neste captulo, abordaremos os tpicos referente instalao do
sistema, tais como o particionamento do disco rgido, a utlizao dos
sistemas Windows e Linux juntos, de pacotes, etc.
Suponhamos que o sistema ser instalado em um disco rgido
onde j existe outro sistema (no caso, o Windows) e no h espao livre
no HD. Sendo assim, necessrio que se faa um reparticionamento do
mesmo, sem a perda de dados existentes.
Falaremos, tambm, um pouco sobre o que o Linux, de onde
veio e quais as vantagens em utilizar este sistema que ainda pouco
desconhecido por muita gente.
Pr-requisitos
Para instalar uma verso da conectiva Linux, por exemplo , necessrio
o seguinte :
<
<
<
<
Neste caso, iremos utilizar uma instalao via disquete e CDROM, mas existem outras formas de instalao, como via rede, http,
ftp, etc.
sempre bom darmos uma olhada no tipo de hardware que
temos e verificar sua compatibilidade com o sistema. Em http://
Sobre a Instalao
Particionamento
Partimos do prncpio de que voc possui um micro com as caractersticas
citadas anteriormente, com o Windows da Microsoft instalado em
uma partio que ocupa o HD totalmente. E que voc tem espao livre
nesta partio onde o Windows est instalado.
Primeiramente, precisamos utilizar o defrag do Windows para
unir os arquivos espalhados em todo HD. Normalmente, o programa
fica no menu Iniciar/ Programas/Acessrios/Ferramentas de Sistema/
Desframentador de Disco. Isto demora um pouco, por isso recomendo
um bom caf at que tudo fique pronto.
Finalizando o processo de fragmentao, d uma olhada na
quantidade de HD disponvel para que na hora que formos reparticionar
o disco no haja dvidas.
Temos algumas ferramentas free e comercias para reparticionar
winchester. Como comercial, posso citar o Particion Magic, uma
ferramenta muito boa, totalmente visual. E como free, posso citar o
fips, que, alis, vem no CD de instalao do Linux. No uma
ferramenta visual, ela utilizada no prompt de comando, mas para o
que precisamos, ela serve muito bem.
1.
2.
3.
new : 2548
Sobre a Instalao
A Instalao
Abordarei toda a instalao, no entanto, configuraes diferentes
sero vistas em outros captulos. Por exemplo, algumas placas de
vdeo, a princpio, no so reconhecidas e no falaremos de sua
configurao neste momento. E, por esse motivo, resolvi passar para
vocs a instalao em modo texto, pois alm de ser mais rpida, pode
ser mais flexvel. Mas, se voc estiver instalando no modo grfico, no
ter problema algum em acompanhar a instalao, pois na realidade
so poucas as diferenas entre o modo grfico do modo texto.
Para iniciarmos o processo de instalao, coloque o CD e/ou
disquete nos seus respectivos drivers. Em seguida, d um boot na
mquina. Peo aos senhores que no esqueam de alterar na BIOS o
boot para CD-ROM ou floppy.
Logo que iniciado o processo de boot, surgir a seguinte
mensagem:
Sobre a Instalao
opo marcada, ele emulara esse terceiro boto quando voc apertar
os dois botes do mouse de uma s vez. Para marc-lo, v at a seleo
e aperte e tecla espao. Este boto muito til, pois quando voc
seleciona um texto no Linux, ele copia. Basta apertar o terceiro boto
para colar ou os dois juntos para emular o terceiro. H muitas outras
utilidades que no sero abordadas no momento. Em algumas
distribuies, como a Conectiva 6.0, logo aps todas essas opes
mencionadas, h uma outra opo a ser escolhida, que a porta COM.
Funciona da seguinte forma: COM1 o ttyS0, COM2 o ttyS1, e assim
por diante.
Em seguida, vir a configurao do teclado. Como o anterior,
selecione o seu teclado, normalmente o ABNT-2.
A prxima tela referente aos componentes que sero instalados.
Neste caso, estamos utilizando uma verso do Linux 5.1 Servidor, que
pode variar um pouco conforme a verso. Recomendo novamente no
instalar nenhum tipo de servidor, como roteador, banco da dados,
servidor FTP, Internet, etc. A configurao desktop mais do que
suficiente. Em captulos seguintes configuraremos alguns servidores
manualmente para um melhor entendimento do usurio.
Selecionado os componentes , prossiga pela instalao, apertando
Enter sobre o OK.
Sobre a Instalao
<
<
<
Sistema: ext2.
<
<
Type: primary.
<
<
Tamanho: 100.
10
2
Configurando seu Linux
Introduo
Antes de iniciarmos este captulo, vou comentar um pouco sobre as
distribuies.
Em geral, as distribuies detectam automaticamente a maioria
dos hardwares, inclusive winmodems. Logicamente, estamos falando
destas ltimas distribuies, tais como Conectiva 7.0, Red Hat 7,
Mandrake 8, Tech Linux 2.0, entre tantas outras. Em particular,
adaptei-me melhor a Conectiva. Mas no h a melhor distribuio, e
sim a que voc se adapta melhor.
Sempre bom verificar a compatibilidade do seu hardware com
a distribuio escolhida.
H uma distribuio chamada WinLinux, mas no free,
custa em torno de U$ 30. Existe, tambm, uma verso mais simples, a
qual voc pode fazer um download na pgina www.download.com.
Essa verso muito boa para iniciantes, mas sua instalao e deteco
de hardware diferem totalmente dos padres Linux. Ela instalada na
mesma partio que a do Windows, sendo obrigatrio que a partio
seja do tipo Fat, ou seja, s possvel instalar em um Windows 95, 98
ou ME. O modo de instalao muito similar ao Windows da Microsoft.
No custa dar uma olhada.
Voltemos, ento, s distribuies Linux.
Calma, meus amigos, sei que esto aguardando ansiosamente
para poder usar o sistema, mas primeiro precisamos verificar se est
tudo OK.
Provalvemente, se voc instalou uma distribuio das mais
recentes, acredito que j esteja praticamente tudo configurado.
Ao reiniciarmos a mquina, a primeira coisa que voc notar
que agora temos um gerenciador de boot, pode ser o Lilo ou Grub. O
que vem a ser isso?
Gerenciador de boot, como o nome o diz, gerencia os vrios
sistemas operacionais instalados na mquina. Dessa forma, voc
continuar tendo acesso aos outros sistemas instalados no micro.
12
13
entre outras tantas que falaremos ainda neste livro. Feito isso, escolha
um tipo de sesso. Recomendo o KDE ou o Gnome, que so mais
amigveis. Clique em Ir para enfim entrar no modo grfico.
Temos o segundo caso, que no conseguiu configurar a placa de
vdeo e o monitor logo na instalao. Lembro novamente que sempre
bom dar uma olhada na compatibilidade de hardware de sua
mquina e no sistema a ser instalado.
Neste segundo caso, ser apresentada uma tela preta como
aquela antiga conhecida de todos, o prompt do DOS. Esta tela chamamos
de console. Ele ter alguma informao sobre o sistema , tipo Distribuio,
Kernel*, e o que no pode faltar, uma linha de login. Nela, voc digitar
root, como descrito anteriormente; teclar Enter; digitar a senha. O
Linux possui case sensitivo, ou seja, maisculas so diferenciadas de
minsculas, por isso preste ateno quando digitar a senha.
Feito isso, o console ser liberado. E ns iremos dar incio a essa
empolgante jornada: o conhecimento.
Primeiramente, digite : pwd e tecle Enter.
A partir de agora, para que fique mais ntido para o leitor,
quando for necessrio teclar Enter, ser informado da seguinte forma:
<enter>.
Recapitulando, digite pwd <enter>.
Voc ver algo como : /root.
O que esse comando faz, simplesmente, mostrar em que
diretrio voc est.
Digite, agora, ls.
Este comando mostrar os arquivos e subdiretrios da pasta root.
Alis, a pasta root a do diretrio de propriedade do superusurio.
* Kernel o ncleo do Linux.
14
dev
sbin
etc
tmp
home
usr
lib
var
2 root
root
<
<
<
15
1 root
uucp
4,
64 Mar 23 02:40
<
<
<
<
<
16
Windows/DOS
Linux
cd diretrio
cd..
copy
del
deltree dirname
edit
format
help comando
md
rd
move
dir
type
print
cd diretrio
cd ..
cp
rm
rm -R dirname
vi (muito mais poderoso)
fdformat
man comando
mkdir
rmdir
mv
ls
cat
lpr
Windows/Dos
Linux
ren
cls
mv
clear
Um fato que com certeza vai ser estranho para quem nunca usou
o Linux anteriormente que no Linux normal no usarmos extenses
de arquivos. No que isso seja impossvel, mas como disse normal esse
fato no Linux. Com isso, no temos executveis com extenso .exe.
Verificaremos isso mais frente tambm.
Agora, veremos as permisses de arquivos.
Lembra-se do ls -l? Ento, o faa novamente.
Teremos uma linha parecida com a seguinte:
drwxr-xr-x
bin
2 root
root
d representa um diretrio;
17
15
rwx
1
rwx
2
rwx
3
<
<
18
<
<
<
19
Esta primeira forma no muito usual, pois voc ter que digitar
muito mais coisas do que na segunda. Teremos que fazer apenas uma
continha de cabea para realizarmos.
Abaixo, temos valores que so atribudos s permisses:
0 = nenhuma permisso;
1 = Execuo;
2 = Gravao;
3 = Execuo e Gravao;
4 = Leitura;
5 = Leitura e Execuo;
6 = Gravao e Leitura;
7 = Execuo, Gravao e Leitura.
Vamos fazer na prtica para melhor entendimento.
Se voc j est no modo console s seguir. E se est no modo
grfico, execute algum terminal, que provavelmente est no menu K
do KDE, o menu Gnome. possvel, no KDE, digitar apenas Alt + F2.
Ser aberta uma janela para escrever, ento, digite xterm. Um aplicativo
que emula ou simula o console ser aberto. Voc tambm pode
procurar diretamente no menu.
Feito isso, digite:
touch arquivo <enter>
20
Onde:
7 = 4 (read) + 2(write) + 1(execute)
5 = 4 (read) + 1 (execute)
5 = 4 (read) + 1 (execute)
Mais informaes sobre este comando use:
chmod help
Ou:
man chmod
21
Configurando Vdeo
Toda configurao do vdeo fica guardada em um arquivo localizado
em /etc/ ou /etc/X11, chamado XF86Config ou XF86Config-4, dependendo
da verso do Xfree que voc estiver usando. O Xfree est em sua quarta
verso atualmente, por isso o 4 no arquivo XF86Config-4. O Xfree
responsvel pelos mdulos (drivers, no Windows) que o Linux utiliza
quando est em modo grfico. Normalmente, o XFree-SVGA contm a
maioria dos mdulos necessrios para podermos configurar o modo
grfico. Mas, no se preocupe com isso neste momento, pois iremos
configurar o vdeo atravs de um programa que gera o arquivo
XF86Config automaticamente.
Vamos comear?
Se voc j est no modo grfico, execute um terminal.
No Terminal, digite :
Xconfigurator <enter>
22
23
24
/etc/X11/XF86Config
25
26
27
<
<
<
28
<
Colocao na Instalao
Diretrio no CD
glibc-devel
DESENVOLVIMENTO/
BIBLIOTECAS
conectiva/RPMS/glibc-devel (...)
Pacote
Colocao na Instalao
Diretrio no CD
ncurses-devel
DESENVOLVIMENTO/
BIBLIOTECAS
conectiva/RPMS/ncurses-devel (...)
Pacote
Colocao na Instalao
Diretrio no CD
automake
DESENVOLVIMENTO/
FERRAMENTAS
conectiva/RPMS/automake (...)
Pacote
Colocao na Instalao
Diretrio no CD
make
DESENVOLVIMENTO/
FERRAMENTAS
conectiva/RPMS/make (...)
Pacote
Colocao na Instalao
Diretrio no CD
egcs
DESENVOLVIMENTO/
LINGUAGENS
conectiva/RPMS/egcs-1.1 (...)
Pacote
Colocao na Instalao
Diretrio no CD
Kernel-headers
DESENVOLVIMENTO/
SISTEMAS
conectiva/RPMS/kernel-heade (...)
Pacote
Colocao na Instalao
Diretrio no CD
Kernel-source
DESENVOLVIMENTO/
SISTEMAS
conectiva/RPMS/kernel-source (...)
29
Ou:
insmod cmpci <enter>
> /dev/audio
/etc/conf.modules ou modules.conf
30
31
Modems
Vamos configurar o modem com interface grfica kppp, do KDE, que
na realidade chama o programa pppd, que o responsvel para
realizar a conexo.
Os modems devem estar corretamente jumpeados para porta
COM correta.
Mas antes de configurarmos uma conta, primeiramente
configuraremos o hardware. As portas COM, no Linux, so chamadas
de ttyS. Ento:
Para:
Temos:
COM1
COM2
COM3
COM4
ttyS0
ttyS1
ttyS2
ttyS3
Altera ttyS1 pela sua respectiva porta COM onde est o modem.
A interface grfica do kppp a seguinte logo:
32
<
<
Tipo de autenticao;
<
<
<
<
33
34
35
36
3
Interfaces Grficas
Introduo
No Linux, a interface grfica pode ser mudada como uma roupa que
voc troca. Para cada interface, ainda temos vrios temas que podem
mudar a sua cara.
Mas antes de falarmos propriamente das interfaces grficas,
temos que falar sobre o seu gerenciador.
Quem esse cara?
Ele o primeiro que aparece quando o Linux iniciado em modo
grfico. Ele responsvel por gerenciar os vrios ambientes Desktop.
Seria esse abaixo:
38
No caso do gdm:
Interfaces Grficas
39
Ambiente KDE2
40
Konroquer
Interfaces Grficas
41
<
<
<
<
<
<
<
<
<
<
42
<
<
<
<
<
<
<
<
<
<
<
Interfaces Grficas
43
44
KWord
KPresenter
Interfaces Grficas
45
Ximian
46
/ | sh
Interfaces Grficas
47
Window Maker
O Window Maker tambm um Windows Manager. um pouco
diferente dos demais, pois trata-se de um ambiente leve e verstil, o que
faz dele um timo ambiente para mquinas com poucos recursos.
Inicialmente, ele foi criado por um brasileiro, e depois, adotado em
todo o mundo por vrios usurios e programadores. Pode trabalhar
juntamente com o KDE ou o Gnome. Seus cones so criados da forma
clicar e arrastar, chamado de Doc app.
48
cone Doc
Interfaces Grficas
49
Menu Wmaker
cone Clip
50
Interfaces Grficas
51
IceWM
O IceWM foi construdo tendo em vista o bom desempenho e
flexibilidade de configurao, utilizando poucos recursos de hardware.
Ele totalmente configurvel. Como o Window Maker, possui
vrios ambientes e possibilita, por exemplo, que voc, simultaneamente,
desenvolva algo numa determinada rea, como um software com o
programa Kylix (Delphi para Linux), e em outro ambiente, esteja
recebendo e-mail. Torna-se bem mais prtico visualmente ter dois
ambientes ao invs de um.
Possui suporte a temas, ou seja, totalmente configurvel de
acordo com o gosto do usurio. Tem applets, como relgio, monitores
que gerenciam vrias operaes como memria, e-mail, bateria e
podem ser adicionados na Barra de Tarefas.
Sua configurao pode ser feita atravs do IcePref, feito em
Python (uma linguagem de programao), ou do IceWMConf, feito em
TCL/TK.
52
Interface do IceWM
Interfaces Grficas
53
BlackBox
O BlackBox ser o ltimo gerenciador que estaremos vendo neste livro.
Ele muito parecido com o IceWM no que diz respeito utilizao de
memria. Sua aparncia no to bonita como as outras, pois um
tanto simplista. Porm, possui todos os recursos necessrios para
utilizao com uma estao, sendo possvel fazer todas tarefas que so
feitas em outros ambientes, como verificao de e-mail, menus
configurveis, Barra de Tarefas simplificada, navegao na Internet,
mltiplos ambientes, etc.
Sua economia maior em relao aos outros ambientes est na sua
aparncia. Ao contrrio dos outros ambientes que usam belos pixmap
54
ls -la <enter>
Interfaces Grficas
55
56
Interfaces Grficas
57
Interface do BlackBox
Gerenciador
Modo texto
BlackBox 0.40.9
IceWM 0.9.42
WindowMaker 0.60.0
KDE 1.1.1
Gnome 1.0.7
30764
23540
23416
20904
8376
4660
58
Programas
A variedade de programas para Linux, com ou sem interface grfica,
realmente impressionante. Todos os dias surgem mais programas,
feitos pela comunidade Linux, seguindo o movimento Open Source,
que tem o cdigo aberto e pode ser adquirido sem custos financeiros.
Comentaremos, agora, sobre alguns programas para escritrios,
como editores de texto, planilhas, apresentaes, etc.
Temos como Offices vrios programas, como Gnome Office,
KOffice, StarOffice (Open Office), Siag Office, Word Perfect,
CorelDraw, Corel Photo Paint, Applix Office, entre outros. Dentro
destes, temos vrios softwares de edio de textos, planilhas, banco de
dados, editores grficos (GIMP), criador de diagramas, calendrios,
controle de finanas pessoais (Gnucash), editores HTML, enfim, tudo
que preciso e um pouco mais.
Interfaces Grficas
59
Gimp
Star Office
60
Interface do Kylix
XMMS
Jogos
Alm destes, existem softwares grficos para FTP, download de MP3,
udio para CD, instalao de pacotes, games, etc.
Interfaces Grficas
61
www.lokigames.com
62
4
Instalao de Softwares
Forma de Instalao
Resolvi falar sobre instalao de novos pacotes pelo fato de ser uma
grande dificuldade para usurios que migraram para o Linux.
Felizmente, este processo nas novas distribuies tornou-se muito fcil,
sendo que, com apenas alguns cliques, j se possvel instalar novos
softwares.
H vrias formas de se instalar novos pacotes, como atravs do
prprios cdigos-fonte, pacotes rpm, pkg (Distribuio Debian), que
podem ser instalados atravs de comandos ou interfaces grficas.
A atualizao do Linux extremamente recomendvel, tendo
em vista a correo de novos bugs descobertos e para manter a prpria
segurana do sistema.
At pouco tempo atrs usava-se muito os cdigos-fonte dos
softwares, copilando-os na prpria mquina. Normalmente, estes
pacotes vm no formato tar.gz e, conseqentemente, as extenses de
arquivos vm neste formato. E por esse tipo de instalao que vamos
comear. Por qu?
Atualmente, este recurso ainda usado. Muitas vezes o produtor
do software ao invs de fazer vrios programas para vrias distribuies,
ele faz apenas uma, e cada um copila em sua prpria distribuio.
Acontece este fato muitas vezes com mdulos (driver) de hardware,
pois normalmente os responsveis so grupos da comunidade Linux
que se prontificaram a faz-lo.
Vamos comear pelos cdigos fontes. So disponibilizados no
formato tar.gz ou tar.bz.
64
Esta foi a parte mais fcil. Agora temos que copil-lo. Mas antes
disso, verifiquemos se os pacotes necessrios para podermos copilar
esto instalados. Para obtermos esta informao, devemos digitar o
seguinte:
rpm -qa | grep automake <enter>
rpm -qa | grep make <enter>
Instalao de Softwares
65
66
Instalao de Softwares
67
68
-ivh, ele informar que j existe um pacote instalado com aquele novo.
Ento, faamos:
rpm force -ivh libxxxx.2.2 <enter>
Instalao de Softwares
69
70
Esse o pacote que precisamos que esteja instalado. Pode ser que
apaream outros pacotes, mas esse o principal. Se no existir instaleo atravs do CD-ROM ou download no site da sua distribuio.
#- insira esta
Instalao de Softwares
71
72
upgrade <enter>
Instalao de Softwares
73
Interface do Synaptic
74
Instalao de Softwares
75
76
5
Modo Texto
Introduo
Com certeza, este um dos captulos mais interessante do livro. Mesmo
que o usurio no goste do modo texto e prefira o modo grfico,
recomendo que leia todo este captulo. Quando ver o poder do que
pode ser feito no modo texto, no deixar de us-lo.
Para comear, devemos saber o que o console. Precisamos
escolher um tipo de console.
O console nada mais que um interpretador de comandos. O
mais usual o BASh (Bourne Again Shell), conhecido como Shell. Para
satisfazer um usurio, alm do Shell, necessrio uma quantidade de
programas para console que satisfaa todas as necessidades do usurio,
tais como editar textos, ler e enviar e-mail, tocar msica, jogar,
calcular, navegar na internet, etc. Tudo isso possvel ser feito no modo
texto.
Normalmente, quando estamos no modo grfico, utilizamos o
xterm, wterm, eterm, entre outros. Estes aplicativos simulam um console.
De certa forma, no h nenhum problema em utiliz-lo, mas seria mais
aproveitvel se estivssemos em modo texto, pois poderamos ter
vrios consoles. Por exemplo, em um voc est criando um script, em
outro vendo logs e, num terceiro, arquivos de configurao, alternandoos atravs das teclas Alt + F1 para o primeiro, Alt+ F2 para o segundo,
e assim, sucessivamente.
Vou separar em vrios subcaptulos para que o leitor identifique
em futuras dvidas, de modo mais rpido, onde encontram-se as
respostas.
78
nome_do_arquivo
l >
j
v
Modo Texto
79
<enter>
80
objeto
Ou:
d
[nmero]
objeto
Onde:
<
d: o comando deletar.
<
<
Modo Texto
81
A letra p (put) usada para colar o que est no buffer no VI. Para
colar a palavra anteriormente deletada, coloque o cursor no local onde
deseja colar e tecle p. Caso queira colar a palavra mais de uma vez no
mesmo local, digite 2p para colar duas vezes; mas se deseja colar em
outro local, mova o cursor at o mesmo.
Falando nisso, existem formas mais rpidas para nos movermos.
Para irmos para uma linha especfica, usamos nG, onde n o
nmero da linha que queremos ir e G o comando que nos levar at l.
Por exemplo, se queremos ir para a linha 110, basta digitar 110G ou
podemos ir atravs do modo comando e digitarmos o nmero da linha
para onde desejamos mover o cursor, ou seja, digite :110, que o VI te
levar at a linha 110.
Podemos usar o Page Up e o Page Down para nos movermos de
pgina em pgina e as teclas Ctrl + b e Ctrl + f, que vo para as telas
anterior e posterior, respectivamente. Use w para ir para a prxima
palavra e b para voltar a palavra anterior. O 0 (zero) move o cursor
para a primeira letra da linha e o $ move para a ltima, mas nada
impede de usarmos as teclas Home e End. Se quisermos ir para primeira
linha da tela, digitamos H; para a ltima, L; para movermos o cursor
para o meio da tela, usamos M. Ufa! Muita coisa, n? No, ainda tem
mais... Mas no se preocupe, pois com o tempo voc vai preferir usar
o VI e as interfaces grficas.
Com isso, j podemos nos mover no texto sem problemas.
Para copiarmos algo, utilizamos o y. Por default, ele copia a linha
inteira, como se usado com $. Lembra d$ ou dd para deletar uma linha.
Pois !!! Podemos usar yw para copiarmos uma palavra, somente y
para copiar a linha inteira e o ny para que vrias linhas sejam copiadas.
Para copiarmos quatro linhas, digitaramos 4y ou y4.
Ainda no falei de um comando muito importante, o Desfazer?
Muito simples. Tecle a letra u, que automaticamente ser desfeita a
ltima ao.
Para acharmos uma palavra, como o search ou find de alguns
programas, temos um comando para isso: / palavra. Quando for
digitado / (barra), entrar em modo de comando, aparecendo /
no canto esquerdo inferior, como quando queremos gravar ou salvar.
Para continuarmos a busca para no texto, digite n e para procurar nas
pginas anteriores, digite Shitf + n.
82
Modo Texto
Modo
i
r
a
A
o
O
Ctrl+h
Crtl+w
Esc
rx
Modo
Rtexto
cw
c$
cc
C
Ctrl + f
Ctrl + b
h
j
k
l
H
M
L
w
b
0
$
nG
G
x
dw
Modo
dd
d$
D
u
U
J
/palavra
n
Shit + n
Crtl + g
%
v
83
84
Modo
Comando
:q
:q!
:wq
:w
:n
Sair do arquivo.
Sair do arquivo sem salvar alteraes.
Salva e sai do arquivo.
Salva arquivo.
Vai para a linha n.
Modo
Comando
:set number
:set ic
:set noic
:help
:!comando
Comandos
Neste momento, falaremos de muitos outros comandos que no foram
citados no captulo 2, onde foi feita uma comparao com os comandos
do DOS, da Microsoft. Tambm falaremos de alguns arquivos de
configurao que facilita muito a vida do usurio.
Sabemos que para listar um diretrio, podemos usar o ls, mas
podemos us-lo, ainda, com outras opes, como -a, -l, -M, onde a
mostra os arquivos ocultos; l, como j foi dito, lista o diretrio com seus
donos, grupos, permisses; e o M mostra o tamanho de arquivo em Mb.
Os arquivos ocultos so identificados no Linux por um . (ponto). Por
exemplo, se o leitor possui o Netscape instalado, provavelmente ter
Modo Texto
85
Com isso, sempre que digitarmos cd.. (sem espao), ele buscar
o cd .. (com espao), que o comando que o Linux entende. Se voc usar
comandos muito grandes, possvel fazer este tipo de atalho para
agilizar quando for necessrio executar tal comando.
O pwd, como j foi dito, serve para dizer em que diretrio
estamos. Da mesma forma, mkdir e rmdir so utilizados para criar e
remover diretrios.
O comando rm, usado para deletar arquivos, pode ser muito
interessante. Quando vamos deletar arquivos, ele pergunta se realmente
desejamos remov-los. Para que a pergunta no seja feita, use rm -f e
para que os arquivos e diretrios sejam deletados, use rm -rf.
O cat, um comado muito usado no Linux. Ele mostra o
contedo do arquivo em binrio ou texto. Por exemplo, naquele caso
do arquivo /etc/bashrc, se quisermos apenas ver o seu contedo,
digitaramos:
cat /etc/bashrc
86
Modo Texto
87
vfat defaults 0
/root/cl60-1.iso /mnt/iso
88
Neste outro acima, o find gera uma lista dos arquivos em /etc e o
grep procura na sada a palavra conectiva. Com isso, acharemos pelo
menos um arquivo, o verso-conectiva.
J que citamos o grep, vamos verificar sua utilidade. O grep ser
usado para procurar um texto dentre os arquivos ou dispositivos de
entrada padro. Para us-lo sozinho, especifique a palavra e o arquivo
onde deseja procur-la. A sada deste comando ser mostrar as linhas
que contm esta palavra.
grep palavra procuradatexto
Modo Texto
89
O less aceita Page Down e Page Up para rolar as telas, j com more
temos que utilizar o Enter.
interessante sabermos, agora, o tamanho do nosso diretrio,
partio, etc.
Usamos o comando df para verificar o tamanho da partio ou
parties. Logicamente, as parties devem estar montadas. Usando a
opo -h ser mostrado a quantidade de espao livre e ocupado em Kb,
Mb e Gb. A opo -k mostra em Kb e -m em Mb.
df -h /dev/hda
E os arquivos e diretrios?
Para listar o tamanho dos arquivos e diretrios, temos o du.
Informamos qual o diretrio e a opo que queremos verificar. Temos:
<
<
<
<
<
90
du -hacD /root
<
<
<
<
<
<
<
<
Modo Texto
91
Ou :
killall -9 netscape
<
92
<
MM = ms;
<
DD = dia;
<
hh = hora;
<
mm = minuto;
<
AA = ano.
necessrio, ento, sincronizar o relgio da BIOS. Digite clock w <enter> que ele sincronizar.
Bom, eu tenho um pouco de dificuldade para acertar a hora,
nunca me lembro do formato, por isso criei um script que deixa mais
fcil essa tarefa. Veja abaixo as instrues:
Crie um arquivo em /usr/bin. No meu caso, chamei-o de relgio.
vi
/usr/bin/relogio
Modo Texto
93
clock -w
echo Operao realizada
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2001
94
Modo Texto
95
8325
Abr 23
Desligando o Sistema
Depois de tudo isso, precisamos descansar, desligando o sistema.
Como?
96
-[opo] time
message
Funo
Procura por palavras em um texto. uma linguagem de
programao.
Mostra calendrio.
Exibe contedo de um arquivo.
Compilador de linguagem c (gcc).
Acessa um diretrio.
Altera permisses de arquivos e diretrios.
Altera proprietrios e grupo de arquivos e diretrios.
Limpa tela.
Compara dois arquivos e mostra a localizao da primeira
diferena.
Copia arquivo.
Compara dois arquivos e verifica quais linhas so comuns.
Agenda tarefas de sistema.
Procura arquivos grandes.
Retorna e altera data e hora do sistema.
Mostra diferena entre dois arquivos ou diretrios.
Modo Texto
Comando
97
Funo
diff3
Mostra a diferena entre trs arquivos ou diretrios.
df
Exibe informaes sobre as parties, uso, quantidade livre,
du
Relatrio de arquivos do diretrio, uso, quantidade livre,
echo
Exibe mensagens.
find
Procura palavras em um texto.
finger
Mostra o usurio associado a certa chave.
fd
Formata disquetes (fd0H1440).
free
Exibe quantidade de memria e swap, livres e usadas.
grep
Procura palavras em um texto.
head
Mostra um nmero determinado de linhas do incio do arquivo.
help
Ajuda no console.
kill
Reinicia e termina processos.
ln
Criar arquivos de link.
lpr
Imprime.
mail
Recebe e envia mensagens.
mkdir
Cria diretrio.
more
Pagina texto.
mv
Move e renomeia arquivos e diretrios.
ps
Exibe processos do sistema.
pwd
Exibe o diretrio atual.
reboot
Reinicia o computador.
rm
Deleta arquivo.
rmdir
Deleta diretrio.
Comando
Funo
sort
Ordena um texto ou sada de comando.
sleep
Coloca um processo em estado inativo por tempo determinado.
shutdown
Desliga ou reinicia o sistema.
stty
Exibe ou escolhe parmetros do terminal.
su
Permite a troca de usurio sem fazer logoff.
tail
Exibe o fim do arquivo (10 linhas).
touch
Cria um arquivo.
tr
Troca letras.
tset
Escolhe o tipo de terminal.
uptime
Mostra o tempo de execuo de um comando.
uniq
Elimina linhas repetidas seguidas em um texto
wc
Conta letras, palavras e linhas de um arquivo.
who
Mostra que est online na mquina.
whoami
Mostra que voc (Com que usurio voc est logado)
exit e
Sai da sesso atual.
98
ou
ATDT22222222
<enter>
www.dominiolinux.com.br <enter>
Modo Texto
<
<
<
<
<
<
<
<
Ver bookmarks: V.
99
100
Modo Texto
101
Comados Avanados
Falaremos do redirecionamento de comandos. O que isso?
justamente o que o nome diz. Ele pega a sada de uma comando e joga
para entrada de outro. O responsvel por isso o pipe (significa cano
em ingls, j que ele encana uma sada na entrada de outro comando),
simbolizado por uma barra vertical |.
Mas para que serve? Vamos supor que voc listar todos os
arquivos de seu diretrio.
ls
102
Onde:
<
<
<
<
/etc/passwd
->
Descrio.
Modo Texto
103
| grep ^a
$TODOSAS
$TODOSAS
who | wc -l
104
\* 5
13 / 2 | bc
scale=2 ; 13 / 2 | bc
O que aconteceu?
<enter>
Modo Texto
105
Shell Script
O que Shell Script?
Shell Script um conjunto de comandos gravados em um
arquivo-texto que so executados um aps o outro.
106
<
<
<
<
Recuperao de comandos;
<
Alias
J falamos sobre o alias num captulo anterior, mas daremos uma
relembrada.
sintaxe : alias nome = comando
dir=ls -l
cls=clear
Modo Texto
107
Autocompletar - Comandos
Dando continuidade as caractersticas, temos o complemento de nome
de arquivo ou comando. Como funciona?
Realmente como o nome diz: ele completa automaticamente o
comando ou o arquivo.
Vamos fazer um teste?
Digite no console:
ifc <aperte a tecla tab>
108
Vriveis
Por caracterstica, temos as variveis.
A varivel HOME, por exemplo, guarda o diretrio do usurio
atual no sistema. Basta digitar echo $HOME <enter> para poder
visualizar seu contedo. Essa varivel j predefinida pelo sistema,
assim como PATH, PS1, MAIL, TZ, LOGNAME, TERM, etc.
Veremos mais a frente como podemos trabalhar com ela.
Mas para aqueles que no sabem o que uma varivel, iremos
explicar e a partir daqui que iremos comear a entender o Shell Script.
Varivel, como o nome diz, um lugar onde o Shell guarda
informaes para serem usadas posteriormente, podendo ser
modificadas conforme seu uso. Em programas compilados, a varivel
s existe enquanto o programa estiver rodando, pois ela fica armazenada
na memria RAM.
Para se criar uma varivel, no existe segredo. A sintaxe bem
simples:
varivel=contedo
<
<
Modo Texto
109
110
diretrio_atual=(pwd)
diretrio atual=pwd
<
Modo Texto
111
112
Modo Texto
113
114
./comando
Sendo que:
<
Nome = varivel 1;
<
Sobrenome = varivel 2;
<
Etc = varivel 3.
Para:
#!/bin/bash
find / -name $1
Modo Texto
115
Salve e execute:
O programa dar a mensagem e aguardar que seja informada
uma entrada e pressionado o Enter.
Posteriormente, podemos implementar para que, se o usurio
no digitar nada, o script d uma mensagem e saia, sem dar aqueles
erros padres. Veremos isso mais adiante.
./procura
116
Modo Texto
117
Digite:
echo $?
1
118
ls -l
echo $?
0
<
lt : menor que;
<
<
<
<
eq: igual;
<
ne: diferente.
Exemplos:
VALOR= 10
[ $VALOR
echo $?
1
lt
7 ]
[ $VALOR
echo $?
0
gt
Modo Texto
119
ou [ parmetro string
Onde parmetro :
=
Igual.
!=
Diferente.
=-z string
=-n string
string
[ -z $A ]
Erro
[ -z $A ]
echo $?
1
120
$Y
$Y
Onde opo :
=-e
=-f
=-r
-c
=-h
=-p
=-s
=-w
=-x
=-x
=-d
Modo Texto
121
-o r (o u ).
= -a
-a n d (e).
-n o t (n e g a o ).
\ ( ... \ )
a g ru p a m en to d e c o n d i es .
Exemplos:
[ $RESP= y -o
$RESP= Y
$X -lt 50
/var/lock/subsys/smb ]
\(
-f
$1
\)
-a \ (
$2 = y
-o $2 = Y \) ]
122
[ condio ] ; then
comandos
elif [ condio ] ; then
comandos
elif [ condio ] ; then
comandos
fi
Exemplo:
X=10
if
[ $X -lt 5 ] ; then
echo O valor da varivel
5
elif
[ $X -gt 5 ] ; then
echo O valor da varivel $X, que maior que 5
elif [
$X -eq 5 ] ; then
echo O valor da varivel $X, que igual a 5
else
echo O valor igual a 0
fi
Instruo Case
O case um comado de fluxo tal como o if. usado para suportar
interfaces de menu para deciso em vrias opes disponveis.
Sintaxe:
case varivel in
caso 1) comandos
;;
Modo Texto
123
caso 2) comandos
;;
caso 3) comandos
;;
esac
Exemplo:
case $VALOR in
[dD] ) date
;;
[ cC ] ) cal
;;
[wW] )who
;;
*) echo opo invalida
esac
Como voc pode ver, bem simples. Mas existe, um fato, aqui,
um pouco estranho: Como o case pegar o valor da varivel? Para isso,
podemos usar o read, lembra-se? Com ele, pegamos o valor que o
usurio digitou e podemos mostrar um menu com todas opes.
Vamos mudar algumas coisas no Script:
echo
echo
echo
echo
read
case
MENU
[ cC ] ) cal
;;
[wW] )who
;;
*) echo opo invalida
esac
124
1)
2)
3)
4)
Sair.
done;
O que fizemos foi criar uma varivel X, que fica vinculada aos
nmeros de um a quatro, que, por sua vez, ficam vinculados lista, que
date, cal , who e exit. Quando digitarmos 3, ele atribui o valor que est
na lista para a varivel X. Dessa forma, o contedo de X seria who, logo
em seguida, o select executa o que est depois de do, que no nosso caso
clear (usado para limpar a tela) e, em seguida, executa o contedo da
varivel X ($X), que neste caso who.
Um mtodo interessante, j que o usurio final simplesmente
chamar o script. Em seguida, escolha no menu uma das opes,
evitando, com isso, algum conhecimento prvio do usurio.
Agora, est na hora de vermos os comandos de looping, como
while, for, etc.
Antes de comearmos propriamente, temos que falar do let ou ((
)). Em geral, usamos o comandos de looping incrementando-os. Usamos,
na maioria das vezes, algo do tipo varivel = varivel + 1. Com o uso do
let, podemos usar expresses aritmticas, tornando possvel o uso dos
loopings no Shell Script.
Podemos usar tanto o let como o (( )). Veja abaixo a demonstrao:
let
$X =$X + 1 ou
(( $X = $X + 1 ))
Negao (not).
==
Igual.
!=
Diferente.
Multiplicao.
Diviso.
Mdulo.
< <=
> >=
Modo Texto
125
Instruo For
O for funciona como um contador. Voc ter que fornecer a lista para
ele, sendo que o mesmo atribuir cada valor da lista a uma varivel
executando os comandos. Sua sintaxe est logo abaixo:
for <var> in <lista>;
do
comandos
done;
Resultado:
4x1=4
4x2=8
4 x 3 = 12
4 x 4 = 16
4x 5 = 20
4 x 6 = 24
4x 7 = 28
4 x 8 = 32
$i
4))
126
4 x 9 = 36
4 x 10 = 40
J no segundo exemplo, o comando seq preencheu uma seqncia
de nmeros, o que facilitou o preenchimento da nossa lista. Em
seguida, usamos apenas o echo com mais um comando, que
simplesmente multiplica o valor da varivel por quatro, mostrando na
tela uma sada do tipo 4 x 1 = 4, 4 x 2 = 8 , etc.
Quando usamos o asterisco (*), ele trabalha como o comando ls:
for i in * ; do
echo $i
done;
Mas para voltar para uma forma normal, por exemplo, supondo
que o arquivo ficou com uma extenso parecida com arquivo.gif.bak,
teremos que fazer um procedimento um pouquinho diferente:
for i in *.bak; do
cp $i
/diretrio/$(echo $i | awk -F. {print
$1.$2}
done;
Modo Texto
127
Maa
Goiaba ; do
Ou:
OPCAO=Banana Maa Goiaba
for i in $OPCAO; do
echo $i
done;
O resultado ser:
Banana
Maa
Goiaba
128
Instruo While
A comando muito simples de ser usado. O while testar uma condio
at que ela seja verdadeira. Executar os comandos dentro do while e
voltar a testar a condio. Se for atingido, ele sai do loop, caso
contrrio, ele executar novamente o comando. A condio pode ser
uma um resultado positivo [ -f arquivo ] ou de comparao [ $X -qt $Y
].
Sua sintaxe est logo abaixo:
while [ condio ];
do
comando 1;
comando 2;
...
done;
Resultado:
O valor de contador = 0
O valor de contador = 1
O valor de contador = 2
O valor de contador = 3
O valor de contador = 4
O valor de contador = 5
O valor de contador = 6
O valor de contador = 7
O valor de contador = 8
O valor de contador = 9
Note que o script conta apenas at nove. Por que ?
Modo Texto
129
$x -lt
10
];
$y -ge
];
130
Modo Texto
131
Instruo Until
Uma outra forma de usarmos loop, com o comando until, que
trabalha de forma similar ao while, veja a sintaxe abaixo:
until [condio ]; do
comando
comando
comando
...
done
132
<
<
<
Modo Texto
133
#!/bin/bash
while true; do
echo Digite um nome de arquivo
read arquivo
if [ ! -f $arquivo ]; then
echo $arquivo no um arquivo vlido
continue
fi
echo Arquivo encontrado
cat $arquivo
break
done
Funes
Muito fcil! Para quem j conhece o conceito de mdulo, fica mais fcil
ainda.
As funes nos ajudam a organizar melhor e poupar-nos do
trabalho de redigitar seqncias de comandos quando usados vrias
vezes.
Sua sintaxe bem simples:
function nome_da_ funo
{
instrues
comandos
comandos
instrues
comandos
}
134
Ou:
nome_da_funao
{
()
instruo
instruo
comandos
}
Nesta sintaxe, quis deixar bem claro que voc pode usar instrues,
tais como while, for, etc. Mas tambm pode utilizar comados
diretamente, como o echo, por exemplo.
Abaixo, deixei um exemplo de funo que procura por um nome
e um cdigo dentro de um arquivo. Foi incrementado para que solicite
o nome e se necessrio continuar a procura por outros nomes dentro
do arquivo. O arquivo, neste exemplo, se encontra no diretrio /home
com o nome arquivo.txt, os campos so separados por ; (ponto-evrgula), como em um arquivo com extenso csv:
Andre;2001
Caio;2454
Maria;4547
...
...
Script de exemplo:
#!/bin/bash
#Esta a primeira Funo
function Primeira_funcao
{
while [ RES != no ]; do
clear
echo
Modo Texto
135
}
# Esta a segunda Funo
Segunda_funcao ()
{
echo Deseja continuar procurando nomes
RES=sim no
select opt in $RES; do
if [
$opt = sim ]; then
RES=sim
Primeira_funcao
elif [ $opt = no ]; then
RES=no
Primeira_funcao
else
echo Opo invlida
sleep1
clear
continue
fi
exit
done
}
Primeira_funcao
136
Exit e Return
O comando exit, usado dentro Shell, utilizado para terminar a
execuo do programa e ajustar o cdigo de sada para 0 (true) ou outra
sada no padro (false). Caso no seja passado nenhum cdigo de
retorno, ir ajustar para o ltimo comando realizado dentro do script.
Podemos ajustar para qualquer cdigo de sada da seguinte forma:
<
Comando trap
Muitas vezes so passados sinais para o script.
Modo Texto
137
Exemplo:
trap 2
<
Sada do Shell.
Hangup.
INT (^C).
Quit (Sair).
Kill.
15
Term.
138
Getopts
Este comando usado para verificarmos argumentos passados atravs
das linhas de comando.
Tenho certeza que o leitor j viu algo do tipo comando -u, usurio
-p, etc. Justamente isso que o getopts faz o script. Vamos usar aquele
mesmo arquivo que usamos para o item funo, que tem um formato
nome;cdigo, localizado em /home - arquivo.txt.
#!/bin/bash
nome=Andre
codigo=444
isdef=0
x=1
while [ $X = 1 ]; do
if [ $# -lt 2 ]; then
echo Faltam argumentos
exit 10
else
X=0
fi
done
while getopts n:c:d opt; do
case $opt in
n) nome=$OPTARG
;;
c) cod=$OPTARG
;;
d) isdef=1
;;
esac
done
if [ $isdef -eq 0 ]; then
echo Nome = $nome e cdigo = $cod
echo $nome;$cod >> /root/script/arquivo
cat /root/script/arquivo
else
exit
fi
Modo Texto
139
Conhecendo o AWK
J foi dito anteriormente que o awk no apenas um comando, mas
uma linguagem de programao muito usada para se trabalhar com
arquivos. Mostrarei o bsico desta linguagem, dando noes essenciais
para uso desta ferramenta. No ser totalmente aborto, pois existem
livros que falam s do awk para se ter um noo da extenso do assunto.
A linguagem awk foi inventada em 1977, seus criadores foram
Aho, Kernighan e Weinberger. Com a inicial de cada nome deram
origem ao programa.
A sintaxe do AWK est logo abaixo:
awk { faa algo} arquivo
Onde faa algo pode ser usando com inmeras funes, como
imprimir, procurar ,etc.
Abaixo, alguns exemplos:
cat /etc/passwd | awk
$2, S3}/etc
smb.conf
140
O resultado:
$Hello, Word
<
OFS=
# Define qual ser o separador de campos
na sada no nosso caso # Espao
print $1 ,$3
}
O resultado ser :
Modo Texto
141
142
Modo Texto
FS
143
OFS
ORS
ARGC, ARGV
ENVIRON
ERRNO
NF
NR
90 76 84 57
144
avg = total / 5
print $1, avg }
Resultado:
Andre 79,5
Pedro 76
Joo 76,75
Abaixo, algumas das expresses que podem ser usadas com o
awk:
^
Potncia.
Multiplicao.
Diviso.
Mdulo.
Soma.
Subtrao.
rand()}
Modo Texto
int(x)
145
sin(x)
Seno de x (x em radianos).
cos(x)
Cosseno de x (x em radianos).
sqrt(x)
Raiz quadrada de x.
exp(x)
Exponencial de x.
log(x)
Logaritmo de x.
atan2(x,y)
rand ()
srand ()
Essas duas funes podem ser de grande utilidade para uso com
arquivos agindo como banco de dados. Existem muitas outras funes
que descrevo abaixo:
146
tolupper(string)
Modo Texto
147
O que fizemos?
O parmetro -e, serve para passar a instruo. Por exemplo, se
quisermos alterar tambm os 60% para 70%, colocaramos ao final da
instruo .../estudantes/g -e s/60/100/galunos.txt, ou seja, ele
serve para separar as instrues do SED. J o parmetro s, funciona
como um tipo de search ou replace, localiza e substitui. J no final do
comando, a letra g informa para o SED que para alterar todas as
148
Voc ver que ser impressa apenas uma linha, pois o parmetro
-n faz com que o SED suprima da sada padro a duplicao das linhas.
H vrias opes de uso do SED, no somente a troca de
palavras, mas a prpria deleo. Mas preste ateno, pois esse
parmetro deleta toda a linha:
sed /60/dalunos.txt
Modo Texto
149
150
Modo Texto
151
Como voc pode ver, ele realmente fez o que queramos mas
podemos fazer melhor, tornando-o um executvel.
Na primeira linha de arquivonovo.txt, adicione a seguinte linha:
#!/bin/sed -f
152
Ou:
cat arquivonovo.txt | ./execsed
Apresentando o Dialog
O dialog utilizado para criar scripts com menus, apresentando telas
grficas (em ANSI, tipo o estilo do Clipper que roda sobre o DOS.
Veja abaixo uma figura na tela:
Modo Texto
153
Dialog\
msgbox mensagem do dia 9 50
7 50 \
154
valor=$?
case $valor in
0) ls /root;;
1) echo voc selecionou no;;
255) echo Voc teclou ESC;;
esac
8 60 2>
Modo Texto
155
156
6
Redes
Introduo
Neste captulo, falaremos sobre as instalaes fsica e lgica das redes.
Mas antes de entrarmos propriamente nestes aspectos, veremos
algumas noes bsicas de rede, como protocolo, encapsulamento,
endereos e mscara de rede, classes de IP, etc.
No ser abordado profundamente o protolocolo TCP/IP
(Transmission Cotrol Protocol/Internet Protocol), por exemplo, pois
a inteno dar ao usurio o mnimo necessrio de conhecimento para
que possa montar sua rede, seja ela pequena, como dois micros pontoa-ponto, ou maior, com a utilizao de hubs.
Tambm no ser abordado roteamento com equipamentos
especficos, como roteadores Cisco, e outros. Em outros captulos,
falaremos do Linux atuando com roteador de duas ou mais redes, em
nvel de software.
Tenho certeza que aps ler este captulo, o usurio estar apto a
montar uma rede e verificar possveis problemas com as conexes.
158
Redes
159
Endereo IP
Em uma rede TCP/IP, cada interface de rede (placa de rede), tambm
chamada de host, tem um identificador nico chamado de endereo
IP. como se fosse um endereo, ou telefone, nico para cada interface
de rede.
Este endereo consiste na formao de 4 octetos de 8 bits,
totalizando 32 bits (4 bytes), onde cada octeto separado por ponto,
sendo que uma parte do conjunto destinada a identificao da rede
e a outra destinada a identificao do host.
Veja o exemplo abaixo:
11000000 . 10101000.11001000.00000001
Normalmente, os bits so representados em decimais, no caso
acima, 192.168.200.1.
Algum lembra como se converte bits para decimais?
Vamos relembrar.
Cada octeto, logicamente, tem 8 nmeros entre 1 e 0, onde um
quer dizer verdadeiro e 0 falso.
Partindo da esquerda para direita, temos:
1
1
7
2
26
128 64
1
25
32
1
24
16
1
2
8
1
2
4
1
2
2
1
2
1
1
1
27
26
128 64
0
25
0
0
24
0
0
2
0
0
2
0
0
2
0
0
2
0
160
168
1
0
7
2
26
128 0
1
25
32
0
24
0
1
2
8
0
2
0
0
2
0
0
2
0
1
1
7
2
26
128 64
0
25
0
0
24
0
1
2
8
0
2
0
0
2
0
0
2
0
0
27
0
0
25
0
0
24
0
0
2
0
0
2
0
0
2
0
1
2
1
200
0
26
0
Redes
161
Mscara de Sub-Rede
A diviso de redes em classes foi causa de muitos problemas em relao
distribuio de endereos IP. Uma rede, indiferente da quantidade de
mquinas, deve ser compatvel com uma das classes de rede. Se tivesse
30 mquinas, por exemplo, receberia um endereamento de classe tipo
C, causando desperdcio de 226 endereos IPs. J uma rede com 246
endereos, receberia um endereamento de classe do tipo B, causando
um desperdcio de 62000 endereos.
A partir de 1988, o nmero de redes interligadas Internet
aumentou muito, agravando o problema de disponibilidade de
endereos.
Para reverter essa situao, foi necessrio criar uma forma de
aumentar os nmeros de endereos de redes disponveis sem afetar o
funcionamento j existente.
162
Classes
Classe A
Classe B
Classe C
Endereamento
0-127
128-191
192-223
Mscara
255.0.0.0
255.255.0.0
255.255.255.0
Redes
163
164
De 192.168.200.0 (11000000.10101000.11001000.00000000).
At 192.168.200.63 (11000000.10101000.11001000.00111111).
Ter endereo de rede 192.168.200.0, broadcast 192.168.200.3 e
62 endereos de IP disponveis para a rede. No total, so 64 endereos.
Entendeu agora?
Com o uso da mscara de sub-rede, aumentamos o nmero de
bits para a rede e diminumos o nmero de bits para o host, deixando
de desperdiar, assim, o restante dos endereos da classe C.
Espera a!!
Quer dizer que se eu aumentar mais um bit na mscara de rede,
vou diminuir ainda mais o nmero de hosts?
Isso mesmo!!! Vamos fazer um teste?
Vamos usar a mesma rede 192.168.200.0. Anteriormente,
a
mscara
era
255.255.255.192
(em
bits
11111111.11111111.11111111.11000000). Adicionando um bit
11111111.11111111.11111111.11100000. Calculando isso para
decimais, teremos 255.255.255.224.
Nos itens anteriores, referentes ao 4 octeto (00000000), somente
os 6 ltimos bits podiam ser alterados para atribuir valor ao host .
Agora, isso diminui um pouco. Como o 4 octeto da mscara 224
(11100000), faz com que s possam ser alterados os cinco ltimos bits
do 4 octeto do endereamento.
Com isso, a variao do 4 octeto do endereamento IP ir de
00000000 at 00011111, que em decimal significa de 0 at 31, fazendo
um total de 32 hosts, onde 192.168.200.0 atribudo rede,
192.168.200.31 ao broadcast e trinta valores disponveis para as
mquinas com mscara 255.255.255.224
Provavelmente, voc no usar tudo isso, principalmente se for
uma rede pequena ou caseira, com poucos micros. Na realidade, no
precisa se preocupar, pois em uma rede caseira, estes endereos de IP
so internos, no afetando demais hosts da Internet.
Entramos, agora, em outros aspectos do protocolo. Neste captulo,
mencionei algo sobre endereo de rede, broadcast, etc. Estes endereos
so conhecidos como endereos privados, ou seja, que tem um uso
especfico para eles.
Redes
165
Internet e Roteamento
Como sabemos, o protocolo usado na Internet o TCP/IP, que
encapsula o WWW, SMTP, POP3, etc.
De qualquer forma, quando acessamos uma pgina da Internet,
usamos o protocolo HTTP, que roda sobre o TCP. Se for TCP, temos,
ento, um endereamento IP para as pginas que acessamos. J
pensou se todas as vezes que precisssemos acessar um site tivssemos
que digitar o seu IP? Seria muito mais trabalhoso. Para isso, temos um
servidor de nomes conhecido como DNS (Domain Name Service), que
nada mais que um tradutor. Traduz o nome que digitamos para seu
166
respectivo nmero IP. Isto tambm pode ser levado em conta no caso
de SMTP e POP, que envio e recebimento de mensagens.
Ento, todas vez que digitamos www.tal.com.br, nosso micro
vai ao servidor de nomes e verifica qual o IP para este host. Temos j
alguns domnios prontos que podem ser usados em caso especficos.
Por exemplo, para achar um host ou pgina no Brasil, normalmente,
o final br, no Reino Unido, seria uk, e assim por diante. Segue abaixo
uma pequena a lista:
<
com= Comercial
<
gov= Governamental
<
edu= Educacional
<
mil= Militar
Redes
167
Rede exemplo
Destino
Gateway
200.0.0.0
192.168.200.0
201.0.0.0
201.0.0.1
Gateway default
201.0.0.1
168
Roteador B
Destino
Gateway
200.0.0.0
200.0.0.1
192.168.200.0
201.0.0.0
eth1(rota direta)
Gateway Default
201.0.0.1
<
<
<
<
<
<
<
Redes
169
Mquina 2:
IP: 192.168.200.2.
Mscara de IP: 255.255.0.0.
Default Gateway: 192.168.200.1.
Agora, suponhamos que a mquina 200.0.0.2 mande uma pacote
para 201.0.0.2.
Mquina Remetente: 200.0.0.2 (1).
Mquina Destinatria: 201.0.0.2(2).
Gateway 1: 200.0.0.1 - 192.168.200.1.
Gateway 2: 201.0.0.1 - 192.168.200.4.
Caminho:
170
Rede Linux
Separaremos a montagem da rede Linux em duas partes: uma referente
a parte fsica e outra a parte lgica.
Na parte fsica, ser vista a configurao da placa rede na
mquina, seus aspectos em relao a mdulos e carregamento dos
mesmos. J na parte lgica, sero atribudos o endereamento IP, a
mscara de sub-rede, o Gateway, alm de serem vistos aspectos do
DNS, DHCP, etc.
Redes
171
9216
1 (autoclean)
vmnet
16192
vmppuser
5520 0 (unused)
parport_pc
7504 0 [vmppuser]
parport
vmmon
18176
0 (unused)
8139too
12768
1 (autoclean)
agpgart
18768
0 (unused)
supermount
12944
2 (autoclean)
es1371
26448
soundcore
2608
usb-ohci
12576
0 (unused)
usbcore
42992
1 [usb-ohci]
4 [es1371]
172
supor que sua placa uma sis900. Para carreg-la, adicionamos uma
linha no arquivo modules.conf:
alias eth0 sis900
Posteriormente, a carregamos:
insmod sis900
A resposta ser:
Using /lib/modules/2.2.19-15cl/net/sis900.o
Isto quer dizer que o mdulo foi carregado, mas se por algum
motivo voc notou que o mdulo correto no esse, s digitar:
rmmod sis900
Redes
173
<
<
<
<
<
174
<
Configurao manual:
DEVICE=eth1"
IPADDR=192.168.200.1"
NETMASK=255.255.255.0"
ONBOOT=yes
BOOTPROTO=none
Redes
175
Configurando DNS
Agora, se por acaso voc usar um servidor de DNS na Internet e no
possuir um servidor DNS na sua prpria rede, para encontrarmos uma
mquina temos que procurar pelo endereamento IP. Muito trabalhoso,
no?
Podemos colocar o endereamento IP e seu nome no arquivo
hosts. Veja o exemplo abaixo:
vi /etc/hosts
127.0.0.1
localhost.localdomain
192.168.200.1Stato.dominiolinux
localhost
dominiolinux
Comandos de Rede
Aps verificar se h algum problema nos arquivos, a placa pode ser
carregada e descarregada (somente a placa) sem necessidade de
reiniciar todo o servio de rede.
Podemos fazer isso atravs dos comandos ifup e ifdown.
Como o prprio nome diz, up para levantar, ou seja, inicializar
as configuraes de placa:
ifup eth0
176
Bcast:192.168.200.255
inet
Redes
177
178
Roteador
192.168.200.1
255.255.255.0
eth0
192.168.200.0
255.255.255.0
eth1
127.0.0.0
255.0.0.0
1o
default
192.168.200.1
0.0.0.0
UG
eth0
Redes
179
<
<
<
180
nslookup 200.250.58.152
Server:
200.204.0.10
Address:
200.204.0.10#53
152.58.250.200.in-addr.arpa
canonical name =
152.128-191.58.250.200.in-addr.arpa.
152.128-191.58.250.200.in-addr.arpa
name =
dino.conectiva.com.br.
Redes
181
<
<
<
<
<
<
<
<
182
7
Firewall com Linux
<
<
<
Gateway
Antes de iniciarmos nosso firewall com ipchains ou iptables, vamos
configurar ele como um Gateway para uma rede externa.
Configuraremos a DMZ (Delimited Zone), que a rede interna
para acessar a Internet.
184
Para :
FORWARD_IPV4= true
185
186
187
188
Comando route
Para adicionar ou retirar dados da tabela de roteamento, veja abaixo
as formas de us-lo:
<
<
<
<
<
<
<
<
<
<
<
189
200.204.153.101
190
191
192
Firewall
A primeira pergunta : O que firewall? No sentido da palavra,
firewall parede de fogo. Seu significado mais abrangente. Firewall
um dos sistemas de segurana usado para proteger a rede.
O firewall pode ser um software, hardware ou ambos, sendo
hbrido. A sua principal funo filtrar pacotes que entram e saem da
rede e proteger as informaes que trafegam nela.
Alm da funo de filtrar pacotes no Linux, os firewalls (ipchains
e iptables) tambm so usados para outros servios, tais como:
<
<
<
NAT;
<
Balanceamento de carga.
<
Endereo de origem;
<
Endereo de destino;
<
<
Porta;
<
193
Porta
1/tcp
7tcp
7/udp
20/tcp
21/tcp
22/tcp
22/udp
23/tcp
25/tcp
43/tcp
53/tcp
53/udp
70/tcp
70/udp
79/tcp
80/tcp
80/udp
88/tcp
88/udp
98/tcp
107/tcp
107/udp
109/tcp
109/udp
110/tcp
110/udp
119/tcp
137/tcp
194
Servio
Porta
netbios-ns
netbios-dgm
netbios-dgm
netbios-ssn
netbios-ssn
imap2
imap2
xdmcp
xdmcp
irc
irc
ipx
ipx
imap3
imap3
https
https
exec
biff
login
who
Shell
syslog
printer
route
klogin
kshell
kerberos-adm
swat
radius
radius
mysql
mysql
kerberos4
kerberos4
kerberos_master
kerberos_master
passwd_server
krb_prop
krbupdate
137/udp
138/tcp
138/udp
139/tcp
139/udp
143/tcp
143/udp
177/tcp
177/udp
194/tcp
194/udp
213/tcp
213/udp
220/tcp
220/udp
443/tcp
443/udp
512/tcp
512/udp
513/tcp
513/udp
514/tcp
514/udp
515/tcp
520/udp
543/tcp
544/tcp
749/tcp
901/tcp
1812/tcp
1812/udp
3306/tcp
3306/udp
750/udp
750/tcp
751/udp
751/tcp
752/udp
754/tcp
760/tcp
195
Servio
Porta
kpasswd
ssl-ldap
socks
postgres
postgres
fax
hylafax
webcache
webcache
tproxy
tproxy
amanda
761/tcp
636/tcp
1080/tcp
5432/tcp
5432/udp
4557/tcp
4559/tcp
8080/tcp
8080/udp
8081/tcp
8081/udp
10080/udp
<
Automake;
<
Make;
<
Kernel-headers;
<
Kernel-source.
Packet socket - y.
2)
Network firewalls - y.
3)
4)
TCP/IP network - y.
196
5)
IP Advanced router - y.
6)
IP firewalling - y.
7)
IP Transparent Proxy - y.
8)
IP masquerading - y.
9)
IP : ICMP masquerading - y.
10)
11)
12)
13)
<
make dep;
<
make clean;
<
make bzImaga;
<
make bzlilo;
<
make modules;
<
make_install;
<
shutdown -r now.
197
Ipchains
O comando ipchains resume-se na linha abaixo:
ipchains (tipo) [chain] destino origem ao {opes}
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
198
<
<
<
<
<
<
<
<
<
-d (destination).
<
199
<
<
<
<
Outras opes:
<
<
-v (verbose).
<
<
<
Tipo
Cdigo
echo reply(ping)
destination-unreachable
network-unreachable
host-unreachable
protocol-unreachable
port-unreachable
fragmentation-needed
source-route-failed
network-unknown
host-unknown
network-prohibited
host-prohibited
0
3
3
3
3
3
3
3
3
3
3
3
0
0
1
2
3
4
5
7
7
9
10
200
Mensagem
TOS-network-unreachable
TOS-host-unreachable
communication-prohibited
host-precedence-violation
Precedence-cutoff
source-quench
redirect
network-redirect
host-redirect
TOS-network-redirect
TOS-host-redirect
echo-request (ping)
router-advertisement
router-solicitation
time-exceeded
Ttl-zero-during-transit
ttl-zero-during-reassembly
Parameter-problem
Ip-header-bad
required-option-missing
timestamp-request
timestamp-reply
address-mask-request
address-mask-reply
Tipo
3
3
3
3
3
4
5
5
5
5
5
8
9
10
11
11
11
12
12
12
13
14
17
18
Cdigo
11
12
13
14
15
0
0
1
2
3
0
0
0
1
1
0
1
0
0
0
0
-s 192.168.200.1/255.255.255.0
ACCEPT
-s 192.168.200.1/255.255.255.0
ACCEPT
Ou ainda:
ipchains -A input -p tcp -s 192.168.200.1 -d 0/0 ftp -j
ACCEPT
ipchains -A input -p udp -s 192.168.200.1 -d 0/0 ftpdata -j ACCEPT
201
202
#Limpando as regras
ipchains -F
203
204
<
<
<
<
<
-j (ACCEPT): Aceitar.
<
205
206
-d 0/0 -j
207
2)
3)
4)
5)
6)
7)
8)
9)
208
209
-d $eth0 -j ACCEPT
210
=- ip_masq_ftp
=- ip_masq_raudio
=- ip_masq_irq
=- ip_masq_quake
=- ip_masq_quake 2600, 2700, 27910, 27960
=- ip_masq_cuseeme
=- ip_masq_vcolive
211
#Abrindo DNS
ipchains -A input -p tcp -s 0/0 53 -d 192.168.200.0/0
j ACCEPT
-j ACCEPT
-j ACCEPT
#Compartilhando a Internet
ipchains -A forward -d 0/0 -j MASQ
echo Liberando icmp
#Liberando icmp
ipchains -A input -p icmp -s 192.168.200.0/24 -d 0/0 -j
ACCEPT
ipchains -A output -p icmp -s 0/0 -d 192.168.200.0/24 -j
ACCEPT
ipchains -A input -p icmp
ACCEPT
-j ACCEPT
212
#Liberando Samba
ipchains -A input -p tcp -s 192.168.200.0/24 -d
192.168.200.0/24 138 -j ACCEPT -i eth1
ipchains -A input -p udp -s 192.168.200.0/24 -d
192.168.200.0/24 138 -j ACCEPT -i eth1
ipchains -A input -p tcp -s 192.168.200.0/24 -d
192.168.200.0/24 139 -j ACCEPT -i eth1
ipchains -A input -p tcp -s 192.168.200.0/24 -d
192.168.200.0/24 137 -j ACCEPT -i eth1
ipchains -A input -p udp -s 192.168.200.0/24 -d
192.168.200.0/24 137 -j ACCEPT -i eth1
ipchains -A input -p tcp -s $eth0 -d 200.204.153.255 138
-j ACCEPT
ipchains -A input -p udp -s $eth0 -d 200.204.153.255 138
-j ACCEPT
ipchains -A output -p udp -s 192.168.200.0/24 -d
192.168.200.0/24 137 -j ACCEPT
ipchains -A output -p udp -s 192.168.200.0/24 -d
192.168.200.0/24 138 -j ACCEPT
ipchains -A output -p udp -s $eth0 -d 200.204.153.255 -j
ACCEPT
echo Liberando www
#Liberando HTTP
ipchains -A input -p tcp -s 192.168.200.0/24 -d 0/0 80 j ACCEPT
ipchains -A input -p tcp -s 0/0 80 -d $eth0 -j ACCEPT
ipchains -A output -p tcp -s $eth0 -d 0/0 80 -j ACCEPT
ipchains -A output -p tcp -s 0/0 80 -d 192.168.200.0/0 j ACCEPT
Liberando Ssl
ipchains -A input -p tcp -s 0/0 443 -d $eth0 -j ACCEPT
ipchains -A input -p tcp -s 192.168.200.0/24 -d 0/0 443
-j ACCEPT
#Carregando mdulos
modprobe ip_masq_ftp 1 >/dev/null
echo Liberando FTP
213
#Liberando Correio
ipchains -A input -p tcp -s 0/0 110 -d $eth0 -j ACCEPT
ipchains -A input -p tcp -s 192.168.200.0/24
-j ACCEPT
-d 0/0 110
214
#Abrindo ICQ
ipchains -A output -p tcp -s $eth0 -d 0/0 4000 -j ACCEPT
ipchains -A output -p udp -s $eth0 -d 0/0 4000 -j ACCEPT
ipchains -A input -p tcp -s 0/0 4000 -d 0$eth0
ACCEPT
ipchains -A input -p udp -s 0/0 4000
-j
-d $eth0 -j ACCEPT
# Abrindo Morpheus
ipchains -A input -s 192.168.200.0/24 -d 192.168.200.1 i eth1 -j ACCEPT
ipchains -A input -p tcp -s 192.168.200.0/24 -d 0/0 1214
-j ACCEPT
ipchains -A output -p tcp -s $eth0
ACCEPT
-d 0/0 1214 -j
#Abrindo WinMX
ipchains -A input -p tcp -s 192.168.200.0/24 -d 0/0
7729:7732 -j ACCEPT
ipchains -A output -p tcp -s $eth0 -d 0/0 7729:7732 -j
ACCEPT
ipchains -A input -p tcp -s 0/0 7729:7732 -d $eth0 -j
ACCEPT
ipchains -A output -p tcp -s 0/0 7729:7732 -d
192.168.200.0/24 -j ACCEPT
ipchains -A input -p tcp -s $Ipint -d 0/0 6699 -j ACCEPT
ipchains -A output -p tcp -s $eth0 -d 0/0 6699 -j ACCEPT
ipchains -A input -p tcp -s 0/0 6699 -d $eth0 -j ACCEPT
ipchains -A output -p tcp -s 0/0 6699 -d $Ipint -j
ACCEPT
215
#Abrindo APT-GET
ipchains -A output -s $eth0 -d 131.211.28.48
ipchains -A input
-j ACCEPT
216
;;
stop)
gprintf Parando o servio de %s: Firewall
daemon ipchains_regras
rm -r /var/lock/subsys/firewall
echo
/sbin/ipchains -F
ipchains -P forward ACCEPT
ipchains -P input ACCEPT
ipchains -P output ACCEPT
;;
status)
if [ -e /var/lock/subsys/firewall ]; then
echo O firewall est rodando
else
echo O firewall est parado
fi
;;
*)
gprintf Uso: firewall (start|stopi|status)
echo
;;
esac
exit 0
217
NAT
O que NAT? Netware Addree Translation. Extremamente til
quando desejamos colocar um servio, seja ele WEB, FTP ou outros que
esto localizados em endereos falsos atrs do firewall, disponibilizando
para a Internet.
Podemos ter, por exemplo, um servidor WEB no endereo
192.168.200.10 e disponibilizarmos para Internet atravs de um
endereamento IP vlido com 200.254.153.003. Para isso, podemos
utilizar vrios softwares, por exemplo, o rinetd, ipmasqadm, redir, etc.
No nosso caso, falaremos do ipmasqadm e o rinetd.
Caso no esteja:
apt-get install ipmasqadm # faa download dois pacotes
rpm no site da conectiva ou no rpmfind.
218
Onde temos:
<
<
<
<
<
<
<
<
<
<
<
219
#Limpa regra
ipmasqadm
portfw -f
220
E marque o item rinetd para que possa ser inicializado junto com
a mquina. Tanto nesse caso como no ipmasqadm, ser necessrio
tratar isso no firewall, liberando o repasse dessas informaes para que
tudo funcione bem.
221
Segurana no Firewall
Veremos, a seguir, o que significa aquela rotina no comeo do script de
exemplo do firewall. Isso far com que vejamos outros aspectos de
segurana para melhor-lo ainda mais.
#Protegendo contra Spoofing
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
echo Carregando proteo contra Ataques
Spoofing
for f in /proc/sys/net/ipv4/conf/*; do
echo 1 > $f/rp_filter;
echo 0 > $f/accept_redirects
echo 0 > $F/accept_source_route
echo 1 > $f/log_martians
done
echo Carregado
else
echo Problemas com os arquivos de
configurao
/sbin/sulogin $CONSOLE
fi
echo 1 > /proc/sys/net/ipv4/
icmp_ignore_bogus_error_responses
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
222
<
<
<
223
224
<
<
<
<
<
<
<
225
<
<
<
<
<
<
226
<
<
<
<
<
<
<
<
/bin/
227
Iptables
A partir do Kernel 2.4 do Linux, o firewall padro o iptables. O iptables
de fcil utilizao, tanto quanto o ipchains, dessa forma, no
abordaremos da mesma forma que foi abordado o ipchains, alis, seu
uso muito similar, diferindo em alguns comandos e recursos que o
ipchains no possui.
No iptables, temos uma diferena inicial muito visvel: as tabelas.
Existem trs tabelas distintas no iptables, mas falaremos somente das
duas mais utilizadas (a terceira como no usada, ou usada raramente,
no ser abordada).
A primeira tabela a filter, a tabela padro que controla o trafego
de dados, sem a ocorrncia de NAT, utilizando as chains INPUT,
OUTPUT e FOWARD.
A segunda tabela, a NAT, usada quando existe trfego de uma
rede para outra. Admite as chains PREROUTING, OUTPUT e
POSTROUTING.
A sintaxe do iptables est logo a seguir:
ipchains [tipo] (-t tabela) [chain] destino origem ao
{opes}
<
<
<
228
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
-d (destination).
<
<
<
<
<
<
<
<
Outras opes :
<
<
<
<
<
<
<
<
229
230
<
<
<
<
<
231
-d 0/0
00:D0:09:FE:A3:6B -d 0/
232
233
Este caso acima, aceita e repassa pacotes ICMP do tipo echorequest com um limite mximo por segundo, mas s faria sentido se
todos os pacotes echo-request (ping) estivessem sendo barrados como
essa regra: iptables -A FORWARD -p icmp-type echo-request -j DROP. A
regra com limite pode barrar ataques Ping of Death, ou DoS.
Mas, trancarmos portas ICMP pode no ser to interessante em
certos casos, dessa forma, podemos negar todas as requisies com
ICMP, usando a regra padro -P e abri-la conforme necessidade
iptables -A
ACCEPT
iptables -A
ACCEPT
iptables -A
ACCEPT
iptables -A
ACCEPT
Da mesma forma que o anterior, ele trata pacotes que esto sendo
repassados, mas com um limite mximo em todas as portas do
protocolo TCP, como a 80, de 21, que WEB e FTP.
iptables -A FORWARD -p tcp tcp-flags SIN, ACK, FIN,RST
-m limit limit 1/s -j ACCEPT
234
8
Servidor Proxy
Introduo
No captulo anterior, implementamos um firewall que permite ou no
acessos e filtra pacotes da Internet como o TCP.
Neste captulo, veremos o que um proxy e implementaremos
o proxy squid, um dos mais famosos do mundo.
A primeira pergunta : O que um proxy? O proxy tem vrias
funes que, se trabalhadas junto com o firewall, podem trazer timos
resultados em relao ao controle e segurana de acesso a Internet.
Uma das funes mais importantes do proxy o cache. O que
cache? Primeiro devemos entender como funciona o acesso a uma
pgina qualquer.
Quando acessamos uma pgina, fazemos uma requisio ao
servidor WEB que armazena o contedo. Aps a solicitao ser
processada, a nossa mquina comea a fazer download da pgina
solicitada. Imagine aquele logo da empresa que voc est acessando no
site e que tem um 100 Kb, pouco no ?. Mas, se muitas mquinas
estiverem fazendo o download deste logo ao mesmo tempo, j pode
ocasionar uma demora. Imagine, ento, que este site fique no Reino
Unido, do outro lado do oceano.
Entendeu? Tudo isso acarreta e uma demora natural para
carregar as pginas WEB, sem falar no FTP, etc.
Com a implantao do proxy, temos, como dito anteriormente,
o famoso cache, que nada mais do que um depsito do sites acessados
pela rede.
Vejamos como funciona. Uma mquina da rede solicita acessar
um site, obviamente com o proxy instalado em um servidor. Esta
requisio primeiramente passar pelo proxy, que, por sua vez,
verificar no diretrio de cache se tal pgina est armazenada. Estando,
236
Servidor Proxy
237
<
<
<
<
<
<
SNMP.
<
Logs Avanados.
<
<
Instalao de Squid
A instalao bem simples. Como todos os pacotes que queremos
instalar, podemos usar rpm, tar, apt-get, etc.
No exemplo, mostrarei a instalao do pacote rpm contido no CD
do Conectiva:
mount /dev/cdrom /mtn/cdrom
cd /mnt/cdrom/conectiva/RPMS
rpm -ivh squid-*
238
Servidor Proxy
239
all
Para:
http_access allow all
[tipo_da_acl]
{argumento}
Origem
240
Origem/Destino domnio
srcdomain - domnio origem
srcdomain dominiolinux.com.br
Palavras:
url_regex
Este tipo um dos mais teis, barra ou libera tudo que tenha uma
palavra em particular.
Por default, o squid case-sensitive, ou seja, distingue maisculas
de minsculas. Isso pode ser um problema, pois Sexo, SEXO e sexo,
so diferentes para o squid, por isso deve-se sempre que possvel utilizar
o -i, que ignora o case-sensitive.
acl minharede src 192.168.200.0/255.255.255.0
acl rej_URL url_regex -i sexo
http_access deny rej_url
http_access allow minharede
http_access deny all
Servidor Proxy
241
Data hora:
time
acl nome time [lista-de-dias]
[hora_inicial:minuto:hora_finalminuto]
Esta ACL refere-se, como o nome diz, data e hora. Voc pode
criar uma ACL para que em certo horrio negue alguns tipos de sites
ou, durante alguns dias, no liberar acesso, como sbado e domingo.
Enfim, s ter criatividade.
Na lista de dias, temos:
<
S - Sunday (Domingo)
<
M - Monday (Segunda-feira)
<
T - Tuesday (Tera-feira)
<
W - Wednesday (Quarta-feira)
<
H - Thursday (Quinta-feira)
<
F - Friday (Sexta-feira)
<
A - Saturday
(Sbado)
242
Exemplos:
acl
acl
acl
acl
Um exemplo melhor:
acl MinhaRede src 1192.168.200.0/24
acl FinaisdeSemana time AS
http_access deny FinaisdeSemana
http_access allow MinhaRede
Porta de Destino
ports
Este tipo de ACL usada com portas TCP (por exemplo, SSL, que
a 443). Por padro, so trazidas vrias portas liberadas, que devem
ser alteradas conforme necessidade.
acl
acl
acl
acl
acl
acl
acl
interessante fazer uma ACL para as portas 80, 21, 443, 563. E
uma outra para 1025-65535, onde ocorrem outros servios que podem
trazer perigo ao servidor.
Note que Safe_ports uma regra s que engloba todas as portas
acima, ou seja, no so vrias regras Safe_ports, mas apenas uma, como
o exemplo abaixo:
acl minharede src 192.168.200.0/255.255.255.0
acl minharede src 192.168.100.0/255.255.255.0
Servidor Proxy
243
Protocolo
proto
Autenticao
Existem vrias formas de fazer esta autenticao, como Pam, NCSA,
Samba e por a vai.
Neste nosso servidor, falarei sobre o NCSA. O NCSA j vem com
o squid, sendo assim, fica fcil configur-lo, no tendo necessidade de
fazer download de nada e muito menos compilar novamente o squid
por no ter suporte a esse mdulo.
A primeira coisa a ser feita, localizar o arquivo ncsa_auth. Na
verso 7.0 do Conectiva, ele fica em /usr/lib/squid/ncsa_auth.
244
Servidor Proxy
245
246
./configure
make
make install
Proxy Transparente
Nos dias de hoje, muito comum usarmos proxy transparente, para
facilitar a vida do usurio. O que isso? Como o nome diz, um proxy
que fica totalmente transparente para o usurio, ou seja, ele no notar
que existe um proxy at alguma regra no permitir que ele acesse
determinado site.
A maior vantagem de se trabalhar com o proxy transparente o
fato de no ser necessrio configurar todas as mquinas para acessar
o proxy, pois o mesmo trabalhar na porta 80.
Servidor Proxy
247
192.168.200.10 -d 0/0 80
248
9
Servidor DHCP
Introduo
O que um DHCP? Seu significado Dynamic Host Configuration
Protocol.
Imagine sua rede com cem micros, onde cada um deve ter um
endereamento IP, servidores DNS, Gateway configurado, etc. De
repente, seu provedor informa que o endereo IP do DNS mudou. O
que acontece? Voc ter que ir micro a micro configurando o DNS,
certo? Errado, se voc tiver um servidor DHCP.
O DHCP serve justamente para passar estas informaes para as
mquinas clientes. Na realidade, ele aluga um endereamento IP por
um tempo, quando esse tempo expira, dependendo da ocasio, ele
renova ou revalida.
Como funciona? Isso ns veremos daqui a pouco.
Primeiramente, vamos instalar o DHCP.
rpm -ivh dhcp-*.i386.rpm
(Servidor DHCP)
rpm -ivh dhcpcd-*.i386.rpm (Cliente DHCP)
250
Configuraes do DHCP
Vamos comentar cada item que deve ser posto no arquivo /etc/dhcp.conf:
O primeiro item que deve ser posto referente ao tempo. Veja abaixo:
<
<
Este item informa qual o IP do nosso Gateway. Veja que ele est
fora do range que ser atribudo s outras mquinas, dando incio em
192.168.200.2. muito importante lembrar quais tem IP fixo e no
colocar dentro do range.
option broadcast-address 192.168.1.255 . ( Define o
endereo de broadcast).
Servidor DHCP
251
252
Propriedades do TCP
Servidor DHCP
253
254
Ou:
cds ( cd /etc/rc.d/init.d )
./dhcpd stop
10
Servidor Web - Apache
Introduo
Neste captulo, falaremos sobre o servidor de pginas de Internet, o
Apache. Para ser possvel visualizar um documento, deve existir um
servidor que distribua as solicitaes de documentos na Internet.
Atravs do HTTP, que faz parte do pacote TCP/IP, possvel
fazer tal distribuio. O processo, resumidamente, iniciado atravs
do browser (Internet Explorer, Netscape, Opera, etc), que solicita a
pgina HTML, HTM ou outras terminaes do servidor. O servidor
verifica se a pgina existe, confirma a verso do HTTP, se compatvel,
e envia a pgina ao solicitante.
Existem vrios servidores. Entre os mais famosos, o Apache, com
algo em torno de 55% do mercado. Em segundo, encontra-se o IIS da
Microsoft.
O Apache, dessa forma, o servidor WEB mais utilizado no
mundo, possuindo verses para vrias plataformas, tais como Linux,
Windows 9x /NT BSD , UNIX, Solares , SunOS. Alm de ser um
software muito bom, ele tem um diferencial entre os outros: free.
256
257
Iniciando HTTPd:
[
OK
Ou:
http://192.168.200.1
258
Configuraes
Existem vrios arquivos de configuraes do Apache.
No diretrio /home/httpd, existe, a princpio, trs diretrios.
<
<
<
<
<
<
259
Inetd mode
260
261
MaxClients 150
Nmero mximo de conexes simultneas por clientes ao site. Se
for ultrapassada, mostrar a infame mensagem http server busy.
#
# Limit on total number of servers running, i.e., limit
on the number
# of clients who can simultaneously connect if this
limit is ever
# reached, clients will be LOCKED OUT, so it should NOT
BE SET TOO LOW.
# It is intended mainly as a brake to keep a runaway
server from taking
# the system with it as it spirals down...
#
262
Liberando Mdulos
# Note: The order is which modules are loaded is
important. Dont change
# the order below without expert advice.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
#LoadModule mmap_static_module modules/
mod_mmap_static.so
LoadModule env_module
modules/mod_env.so
(seguido de uma lista de LoadModule e mais alm,
AddModule)
263
264
265
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
266
</Limit>
<Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE
LOCK UNLOCK>
Order deny,allow
Deny from all
</Limit>
</Directory>
267
268
<VirtualHost teste:80>
ServerAdmin root@localhots
DocumentRoot /vh #Diretorio do Virtual host
ServerName teste.dominiolinux
ErrorLog logs/host.some_domain.com-error_log
CustomLog logs/host.some_domain.com-access_log common
</VirtualHost>
E aps:
[root@localhost /init.d]# ./httpd stop
[root@localhost /init.d]# ./httpd start
269
V em:
Ambiente de Rede/Apelidos de IP para mquinas virtuais/
eth0.
Ou:
http://teste (que o nome do virtual host)
270
Comandos HTTPd
Temos, ainda, as opes de linha de comando para o daemon httpd.
<
<
<
<
<
<
<
<
<
<
<
<
<
analisadas a partir do
271
Padres do Apache
<
<
<
272
<
<
<
<
<
Aba Funcionalidades
<
<
<
<
<
<
273
<
<
<
<
<
<
<
<
<
274
<
<
275
[root@localhost]# httpd -S
VirtualHost configuration: 192.168.200.1:80 is a
NameVirtualHost
default server dominiolinux.com.br (/etc/httpd/conf/
httpd.conf:1008)
192.168.200.1:80 intranet.dominiolinux.com (/etc/httpd/
conf/httpd.conf:1192)
localhost.localdomain
localhost
Dominiolinux.com.br
DominioLinux
intranet.dominiolinux.com Intranet
Com isso, veja a possibilidade de voc poder ter vrias pginas para
vrios endereos, como contabilidade.suarede, marketing.suarede, etc.
Aliado a um servidor DNS, ficar ainda mais fcil pelo fato de
no ser necessrio criar os arquivos lmhosts e hosts.
276
277
Criptografia no Apache
A criptografia muito usada no mundo corporativo. Tambm
conhecida como SSL.
Porm, quando o servidor Apache est utilizando suporte SSL,
ento, primeiramente, deve-se fazer o registro do servidor SSL em
empresas devidamente credenciadas.
No site www.apache.org, existem mais informaes a respeito.
Os pacotes necessrios para instalao so:
<
SSLeay (ftp://ftp.pca.dfn.de/pub/tools/net/ssleay/
SSLeay-0.9.0b.tar.gz);
<
OpenSSL (http://www.openssl.org/source/openssl0.9.6.tar.gz);
<
mod_ssl (http://www.modssl.org/source/mod_ssl2.8.1-1.3.19.tar.gz);
<
<
#
#
#
#
#
#
278
<
279
Teste PHP
Falha no PHP
280
11
Servidor FTP
Introduo
O significado de FTP File Transfer Protocol. Como ns sabemos, ele faz
parte do TCP/IP. O FTP um dos protocolos mais utilizados na
Internet. Por qu? Ele est disponvel para quase todos os sistemas
operacionais, tais como Linux, Unix, Windows, etc.
E alm do cliente poder usar comandos como wget e FTP no Linux,
existem interfaces grficas para clientes Windows e Linux. E alm de
tudo isso, pode usar o prprio browser como Netscape , Opera, Internet
Explorer, entre outros, para iniciar um download de qualquer FTP.
O FTP utilizado para transferncia de arquivos, seja transferindo
do servidor para o cliente, como do cliente para o servidor. Possui
recursos de comandos que veremos logo adiante e a possibilidade de
gerenciar diretrios, como criar e excluir diretrios, mover arquivos de
um para outro, listar, renomear, etc.
Pode-se utilizar o mtodo de FTP annimo e com uso de usurios.
No nosso caso, instalaremos das duas formas.
O Conectiva Linux utiliza o servidor FTP chamado WU-FTP por
padro. Existem outros, mas veremos apenas este.
Comandos FTP
Ser mostrado, aqui, os comandos do FTP j conectado e antes de
conectar.
Abaixo, vemos uma listagem com dos comandos que podem ser
usados no cliente sob o prompt ou Shell:
<
282
<
<
<
<
<
<
<
<
<
<
bell: Faz com que um sinal sonoro seja soado aps cada
comando de transferncia de arquivo completado.
<
<
<
<
<
Servidor FTP
<
<
<
<
<
<
<
<
<
<
<
<
<
<
283
284
<
<
<
<
<
<
<
<
<
<
<
<
<
Servidor FTP
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
285
286
<
<
<
<
<
<
<
<
<
<
<
<
<
Servidor FTP
287
Connected to dominiolinux.sytes.net.
220 Stato.Dominiolinux FTP server (Version wu-2.6.1(1)
Sun Sep 24 18:36:35 BRT 2000) ready.
Name (dominiolinux.sytes.net:root): stato
331 Password required for stato.
Password:
230 User stato logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Ou:
mput *.txt (Para vrios arquivos)
288
<
Wu-ftpd
<
anonftp
<
linuxconf-wuftpd
Servidor FTP
289
<
<
<
<
<
<
290
<
<
<
<
<
<
<
Servidor FTP
291
292
12
Servidor NFS
Introduo
Neste captulo, falaremos sobre o servidor NFS (Network File System),
que um protocolo muito popular, presente na maioria dos sistemas
operacionais, usado para compartilhar informaes na rede.
Utilizao
Como dito anteriormente, o NFS utilizado para compartilhar discos
ou HD em uma rede. Com isso, muitos usurios podem compartilhar
reas de disco em um servidor que para eles transparente, parecendo
ser um HD da prpria mquina.
Alguns dos principais recursos do NFS esto descritos abaixo:
<
<
<
<
<
294
Instalando o NFS
A instalao do servidor to simples como os outros aplicativos.
Localize os pacotes abaixo em seu CD no Conectiva ou faa download
na Internet dos mesmos:
nfs-server*
nfs-utils
rpm -ivh nfs-*
nfs-server
nfs-utils
##########################
############################
Servidor NFS
295
<
<
<
296
<
<
<
<
2.
Servidor NFS
297
3.
4.
5.
Saia do Linuxconf.
Vejam que ele colocou o diretrio que ser exportado e quais suas
permisses para 192.168.200.2 (somente leitura) e 192.168.200.3 (leitura
e escrita).
Abaixo, temos uma lista das principais permisses para uso do
arquivo exports:
<
<
<
<
<
<
<
<
[
[
[
[
[
OK
OK
OK
OK
OK
]
]
]
]
]
298
Preparando o Kernel
O que deve ser visto se ocorrer algum erro, se o Kernel tem suporte
a NFS, e para configurar, dever compilar o Kernel.
V ao diretrio /usr/src/linux.
Se estiver no modo grfico, digite:
make xconfig
Configuraes do Kernel
Utilizando o Linuxconf
Mas se o Kernel j tem suporte ao NFS, que a maioria dos casos, ento
iremos montar um diretrio como outro qualquer.
Crie um diretrio onde estar montado o diretrio exportado:
mkdir /mnt/dirNFS
Servidor NFS
299
/mnt/dirNFS
/mnt/dirNFS
nfs
300
<
<
<
<
<
<
<
<
<
<
<
Servidor NFS
<
<
<
301
<
<
<
<
<
<
<
<
<
<
<
<
302
<
<
<
<
<
<
<
de
13
Servidor Samba: Windows e Linux Juntos
Introduo
O Samba um conjunto de aplicativos rodando sobre a plataforma
Linux, que utiliza um protocolo chamado SMB (Server Message Block)
nativo do Windows. Ele utilizado em redes Windows para
compartilhar recursos, tais como impressoras, discos.
Com o crescimento do Linux, tornou-se necessrio redes onde as
duas plataformas se comunicassem de modo transparente. Por isso, foi
criado o Samba, que a implementao livre do protocolo SMB, que
permite que as estaes Linux e Windows trabalhem em rede utilizando
o protocolo NetBIOS.
Mas, no s a sobrevivncia de duas plataformas distintas na
mesma rede entendendo-se. O SMB foi portado para outras plataformas
tais como IBM - OS/2, variantes do Unix, Macintosh, Amiga OS,
Novell Netware, etc.
Outras vantagens abaixo:
<
<
<
<
<
304
Instalando o Samba
Voc pode usar os pacotes que vem no CD de instalao do Conectiva
ou fazer download da verso mais nova no prprio site do samba
www.samba.org.
Para verificar a existncia do mesmo, digite:
rpm -qa | grep samba
samba-doc-2.2.1a-1U70_1cl
linuxconf-samba-1.25r3-27U70_1cl
samba-clients-2.2.1a-1U70_1cl
samba-swat-2.2.1a-1U70_1cl
Ou:
service smb start (Em qualquer diretrio)
Padres do Samba
305
306
307
308
309
310
smb.conf.copia
311
[Printers]
comment = Impressora do Linux
security = serve
path = /var/spool/lpd/lp
browseable = no
printable = yes
public = yes
writable = no
[homes]
comment = Home Directories
read only = No
browseable = No
writable = yes
[public]
comment = Public Stuff
path = public
write list = @staff
read only = No
guest ok = yes
[comum]
comment = Pasta comum
path = /comum
read only = No
guest ok = yes
write list = @staff
<
<
<
<
<
312
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
313
314
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
315
<
<
<
<
<
<
316
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
317
<
<
<
path = /var/spool/lpd/lp
<
<
<
<
[homes]
comment = Home Directories
318
<
read only = No
guest ok = yes
[comum]
comment = Pasta comum
path = /comum
read only = No
guest ok = yes
write list = @staff
319
/adm
/usuarios
/home/netlogon
-R 777 /adm
-R 777 /usuarios
#grupo de trabalho
# carregar impressoras
printing = lprng
#sistema de impresso
320
#logs de acesso
security = user
#tipo de acesso
password level = 8
username level = 8
# Servidor master
os level = 34
master da rede inteira
# Fora a eleio do
#carrega os compartilhamento
dns proxy = no
# Diretrio particular de cada usurio
[homes]
comment = Home Directories
browseable = no
writable = yes
# Local onde ficaro os scripts dos usurios
[netlogon]
comment = Network Logon Service
path = /home/netlogon
guest ok = yes
writable = no
share modes = no
browseable = no
321
#compartilhamento de impressoras
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
# Set public = yes to allow user guest account to
print
guest ok = no
writable = no
printable = yes
# Exemplos de compartilhamento
#Neste compartilhamento todos possuem acesso de cpia e
escrita
[publico]
path = /publico
mquina linux
#caminho do diretrio na
public = yes
diretrio
printable = no
# S poder utilizar este compartilhamento que tiver ele
em seu script
[Administracao]
path = /adm
only guest = yes
writable = yes
printable = no
write list = @adm
# S poder gravar neste compartilhamento quem
pertencer ao grupo adm os outros usurios s podero ver
e copiar os arquivos.
[usuarios]
path = /usuarios
only guest = yes
writable = yes
322
printable = no
323
Este ltimo dever ser salvo como stato.bat, tambm dever estar
em /home/netlogon.
J no Windows, precisamos configurar alguns itens ainda: V
em Painel de Controle/Confederaes/Redes e selecione Clientes para rede
Microsoft. Em seguida, clique em propriedades, veja a figura abaixo:
Configuraes de Domnio
324
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
325
326
estacao
Veja que foi solicitado uma senha, este tipo de conexo tambm
s funcionar se o tipo de segurana do servidor Samba for do tipo
Share, ou compartilhamento. No nosso segundo caso, no qual montamos
um servidor como um Domnio NT, necessrio informar tambm o
nome de usurio.
smbclient //Server/Diretorio -U userINFO: Debug class
all level = 2
(pid 1933 from pid 1933)
added interface ip=192.168.200.1 bcast=192.168.200.255
nmask=255.255.255.0
Password:
Domain=[Server] OS=[Unix] Server=[Samba 2.2.1a]
smb: \>
327
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
328
<
<
<
<
<
<
<
<
<
<
<
<
blocksize <blocksize>
<
que
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
329
330
<
<
<
<
901/TCP
stream
tcp nowait.400
root
/usr/sbin/swat
331
<
332
<
<
Configuration Files
<
<
<
Administrative Utilities
<
<
<
<
<
<
Client Tools
<
<
<
<
<
<
<
<
<
<
<
<
333
Samba:
Interface do SWAT
<
<
<
<
<
<
<
<
Base Options
Security Options
Base Options
Logging Options
Tuning Options
Printing Options
Browse Options
WINS Options
334
<
<
<
335
336
14
Administrao Remota
Introduo
Neste captulo, falaremos sobre administrao do servidor, manuteno
e criao de usurios, enfim, tudo que seria possvel fazer na mquina,
s que de forma remota.
Para isso, abordaremos o Telnet, SSH que trabalha como um
Shell local. Mais adiante, veremos a administrao via web atravs do
Linuxconf Web e o Webmim, que software distribudo parte da
Conectiva.
Telnet
Para quem no conhece o Telnet, como o FTP, ele abre um Shell
remoto e ao invs da manipulao de arquivos, como caso do FTP, o
Shell permite executar comandos, tais como adduser, ipchains, iptables,
start e parar qualquer servio.
Suponha que voc queira abrir uma porta no seu servidor, mas
voc est em outra cidade, o que fazer?
Atravs do Telnet, possvel acessar a mquina remota e adicionar
uma regra ao firewall.
Para instalamos o servidor Telnet, so necessrios dois pacotes:
<
telnet-server
<
telnet
338
Login do Telnet
Administrao Remota
339
340
pts/0
pts/1
pts/2
pts/3
pts/4
pts/5
pts/6
SSH
O SSH um programa que permite a execuo de comandos em uma
mquina remota, utilizando para isso um canal de comunicao
encriptado. Ele pode ser utilizado como uma alternativa segura a
comandos tradicionais do UNIX, como o telnet, rlogin, rsh, rcp e rdist.
A utilizao de mtodos de encriptao na comunicao entre
duas mquina torna o SSH uma ferramenta bastante til na
administrao de mquinas, uma vez que permite ao administrador
verificar e configurar uma mquina remotamente de forma segura,
podendo at mesmo executar aplicaes como o Linuxconf na mquina
remota.
Do ponto de vista prtico, ao se utilizar o SSH, como se o
administrador ou usurio estivesse efetivamente sentado em frente ao
computador remoto, podendo rodar programas e utilizar recursos
deste computador.
Alm da caracterstica de utilizar pacotes de comunicao
criptografados, que impedem a utilizao de programas farejadores [1]
para capturar logins e senhas, o SSH apresenta como vantagem uma
forma de autenticao mais avanada, podendo utilizar chaves
assimtricas para usurios e mquinas, alm da capacidade de criar
tneis criptogrficos, podendo, assim, executar at mesmo aplicaes
grficas remotamente.
Administrao Remota
341
<
openssh-server
<
linuxconf-opensshd
<
openssh-client
Configurao do SSH
342
<
<
<
Administrao Remota
343
<
<
<
<
344
Administrao Remota
345
Linuxconf
O Linuxconf um aplicativo avanado de administrao para um
sistema Linux. Ele centraliza tarefas como configurao do sistema e
monitorao dos servios existentes na mquina. Na verdade, o
Linuxconf um gerenciador de mdulos, cada qual responsvel por
executar uma tarefa especfica.
Este aplicativo possui quatro abas: Configurao, Controle, Estado
e Tarefas. A primeira trata de configuraes relacionadas basicamente
a uma rede ou servidor. A aba Controle trata basicamente de padres
e do gerenciamento do prprio Linuxconf; a aba Estado permite a
visualizao de logs e informaes gerais do sistema; j a aba Tarefas
possui uma srie de dilogos que podem ser teis em algumas
configuraes mais complexas.
Na aba Configurao, so fornecidas opes para a configurao
de uma rede de modo geral.. Atravs dela, possvel configurar uma
mquina na rede, um servidor, um firewall, buscar informaes sobre
a rede, etc. Vejamos com detalhes cada uma das abas:
<
<
<
<
<
<
<
<
<
Servidor de IRC;
346
<
<
<
<
<
<
<
<
Administrao Remota
<
<
347
<
um nome de mquina;
<
um endereo IP;
<
<
348
98/tcp
# Linuxconf web
Administrao Remota
349
Linuxconf WEB
Tudo que pode ser feito no Linuxconf tambm poder ser feito
via web. Na figura acima, podemos ver que existe Rede, Usurios,
Perifricos, Controle (Painel de Controle), enfim, tudo que preciso para
administrar seu servidor Linux.
Mas temos tambm um software que pode ser utilizado para
administrao via web: o Webmim. O primeiro passo fazer download
do pacote webmin-0.950.tar.gz no site www.webmin.com , ele tem algo
em torno de 4,9 Mb. Feito download, v at o diretrio onde est o
arquivo tar e execute o seguinte comando:
[root@localhost~]# cp webmin-0.950.tar.gz /usr/local
[root@localhost~]# cd /usr/local
[root@locatlhost local]# gunzip webmin-0.950.tar.gz
[root@localhost local]# tar xf webmin-0.950.tar
[root@localhost local]# cd webmin-0.950
350
<
WebMin
<
System
<
Servers
<
Hardware
<
Cluster
<
Others
Administrao Remota
<
<
<
<
<
<
<
<
<
<
<
<
351
352
<
system
cluster
hardware
syslet
info
other
<
<
<
<
<
<
<
<
<
Change Passwords;
<
<
Exportaes de NFS;
<
Filesystem Backup;
Administrao Remota
<
Historiais do Sistema;
<
Iniciar e Encerrar;
<
<
<
PAM Authentication;
<
Pacotes de Software;
<
Processos em Curso;
<
Pginas do Manual;
<
Quotas de Disco;
<
Scheduled Commands;
<
<
<
Utilizadores e Grupos.
353
Mdulos de System
354
<
<
Configurao do Sendmail;
<
<
Jabber IM Server;
<
<
Postfix Configuration;
<
<
ProFTP Server;
<
Qmail Configuration;
<
SSH Server;
<
SSL Tunnels;
<
<
Servidor WU-FTP;
<
<
Servidor de DHCP;
<
<
<
<
<
Administrao Remota
355
Mdulos de Servers
<
<
<
<
<
<
356
<
<
<
<
<
<
Administrao Remota
357
<
Administrao de Impressoras;
<
CD Burner;
<
<
Configurao de Rede;
<
<
<
RAID do Linux;
<
Tempo do Sistema.
<
<
<
Heartbeat Monitor.
<
358
Administrador de Ficheiros
<
<
Command Shell
Administrao Remota
<
<
<
359
360
15
Dicas
Introduo
Este ltimo captulo tem com objetivo ajudar o leitor em certas tarefas
que so executadas diariamente, ou at mesmo abordar algo que no
se enquadrou dentro dos assuntos estudados no livro.
Introduo
Peo desculpas pela pretenso, mas como tenho observado vrias
dvidas de companheiros quanto atualizao do Kernel de suas
distros, resolvi sair do ghost e enviar este mini - HOWTO, indicando
os passos para a atualizao do Kernel.
IMHO, a nica necessidade real de recompilar o Kernel para
o usurio novato a de adequ-lo, assim que instalado, a seu tipo de
processador, para no sub-utilizar a mquina. Para isso, interessante
uma primeira compilao.
Claro que a adequao do Kernel ao tipo de hardware do usurio
tambm um bom motivo, mas o usurio comum pode esperar um
pouco at dominar um o Linux.
362
A Receita...
Os passos a seguir dizem respeito compilao do Kernel com a
construo e instalao de novos mdulos adequados s necessidades
do usurio. Voc deve estar logado como root (passo 2 em diante):
1. Baixar o linux-2.2.14.tar.gz do www.kernel.org ou algum
mirror.
2. 2. Copiar o linux-2.2.14.tar.gz para /usr/src cp linux2.2.14.tar.gz /usr/src.
3. Em /usr/src, excluir o link simblico linux: rm linux.
4. Descompactar o fonte do Kernel copiado em /usr/src - ser
criado um diretrio chamado linux: tar -zxvf linux2.2.14.tar.gz.
5. Renomear o diretrio linux recm descompactado: mv /
usr/src/linux /usr/src/linux-2.2.14.
6. Criar um novo link simblico linux, desta vez apontando
para o novo diretrio linux-2.2.14: ln -s /usr/src/linux2.2.14 linux.
Neste ponto, voc deve ter em /usr/src os dois diretrios e um
symlink:
#
#
#
#
pwd
/usr/src
ls
linux@ linux-2.2.13 linux-2.2.14 rpm sendmail
Dicas
363
364
Digite os comandos:
# make modules
# make modules_install
Dicas
365
Veja que apenas uma imagem pode ser inicializada. Para adicionar
a nova imagem, na seo:
image = /vmlinuz
root = /dev/hda1
label = Linux
read-only
366
label = New
read-only
# Linux bootable partition config ends
Indica que tudo correu como devia e o novo Kernel est instalado.
Boa diverso!
Concluso
No deixe de consultar a documentao referente ao Kernel, em
especial o kernel HOWTO (em linuxdoc.org) e o guia para o Kernel
2.2.XX.
Dicas
367
368
Size
3920
24304
17888
2608
162336
46272
43760
58672
11744
18640
Used by
1 (autoclean)
1 (autoclean)
1 (autoclean)
0 (autoclean) (unused)
8 (autoclean)
4 (autoclean)
1 (autoclean) [nfsd nfs]
1 (autoclean) [nfsd nfs
1
0
(autoclean)
(unused)
Dicas
369
370
Ir aparecer o seguinte:
scsi0 : SCSI host adapter emulation for IDE ATAPI
devices
scsi : 1 host.
Detected scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun
0
sr0: scsi3-mmc drive: 16x/48x cd/rw xa/form2 cdda tray
< Dispositivo
SCSI (sr0)
Dicas
371
ext2
defaults
swap
swap
defaults
/mnt/floppy
auto
user,noauto
/mnt/cdrom
0 0 <
/mnt/cdrw
0 0 <
/proc
iso9660
/dev/pts
0 0
devpts
iso9660
proc
defaults
Agora, v at o /:
[root@localhost]# cd /
372
Make_iso
Funciona criando uma imagem a partir de um diretrio, sendo que,
recursivamente, agrupa todos os arquivos e subdiretrios que possam
existir no diretrio indicado. Por exemplo, vou criar a imagem de um
CD que est no CD-ROM. Primeiramente, coloque o CD que quer
copiar no drive de CD-ROM e monte ele da seguinte maneira:
[root@localhost]# mount /mnt/cdrom
Por exemplo:
Filesystem
Mounted on
/dev/hda1
/
1k-blocks
2015936
301680
84%
Dicas
373
Claro que este um exemplo, mas serve como base. Criei uma
imagem de 4MB no meu /tmp que se chama tmpimagem e se eu gravar
um CD com esta imagem, o CD chamar-se- exemplo. Pronto. Agora
com a imagem em mos podemos gerar nosso disco, usando outro
script, o run_cdrw, que passarei a explicar mais abaixo.
Run_cdrw
Este script simples e auto-explicativo, s ter o cuidado de desmontar
o CDR/CDRW e depois ir no diretrio onde a imagem criada est. Siga
o exemplo:
[root@localhost]# cd /CDRW-ISO
[root@localhost /CDRW-ISO]# umount /mnt/cdrw
[root@localhost /CDRW-ISO]# run_cdrw
374
Sair uma lista e logo uma mensagem para voc escolher qual
CD deve escolher. Escolha o nmero do CDR/CDRW, caso tenha mais
de um CD na mquina; caso s tenha um, escolha a nica opo,
coloque que est aps a mensagem Selecione um Gravador de CD.
Caso escolha o nmero errado ou este no for um CDR/CDRW,
o prprio programa voltar, solicitando uma outra opo, pois aquela
incorreta.
Logo ser solicitado o nome da imagem da qual se quer gerar o
disco, ento, coloque o seu nome: linux.img.
Logo solicitar a velocidade com a qual voc deseja gravar. Isto
vai depender da sua gravadora e da mdia que voc estiver usando. No
meu caso, minha gravadora suporta gravar em 8x e a mdia tambm.
Colocarei, ento, para gravar em 8x:
Velocidade de gravao [0/2/4/8/10]: 8
Aps isso, o comando ser mostrado, verificado e uma mensagem
de configurao aparecer. Deve colocar yes ou no, tal como est entre
colchetes []:
Verificando comando:
cdrecord -v speed=8 dev= linux.img
Voc tem certeza que deseja fazer isto ? [No/yes] yes
Editando o PATH
Para vermos os diretrios que esto no PATH, digite:
echo $PATH
Dicas
375
22 = BackSpace
Ou ainda:
xmodmap -e
376
Item
Veja
Cpu
Memria
Parties
Mdulos
PCI
Diretrios
cat cpuinfo
cat meminfo
partition
modules
pci
mount
2.
3.
4.
5.
6.
dd if=/dev/hda2
count=1
7.
of=/mnt//floppy/bootsect.lnx bs=512
Dicas
8.
9.
10.
11.
377
Reiniciar Downloads
Para downloads grandes e que possam reiniciar, use o wget:
wget
ftp.dominio.com.br/arquivo.zip
378
/usr/X11R6/lib/
Dicas
379
Disco de Boot
Para criar um disco de boot no Linux, insira um disquete formatado no
drive e digite:
lilo -b /dev/fd0
380