Sunteți pe pagina 1din 57

Aqui você encontra um tutorial passo-a-passo para instalção e configuração do sistema operacional Debian GNU/Linux e ainda tem um

espaço para perguntar aos monitores.

• Instalação do Debian

A lição abaixo é um passo-a-passo de como instalar o Debian em uma máquina. Não serão abordados assuntos referentes a
redimensionamento de partições, portanto, cuidado caso haja outro sistema operacional instalado no micro.

• Lição 1 - Instalação do Debian

Requisitos

Vamos começar este curso assumindo que você tenha comprado um computador novo sem sistema operacional ou que você quer
se livrar do seu sistema operacional antigo, trocando-o por algo mais robusto. Nosso foco não será a instalação de uma máquina
com dual boot (ou seja, que tem dois sistemas operacionais instalados e a opção de escolher qual deles você irá iniciar ao ligar a
máquina). Para tal tarefa, existem milhares de tutoriais disponiveis na Internet que podemos indicar caso haja interesse.
Aqueles que têm um sistema operacional instalado e querem mudar para o Debian terão que tomar alguns cuidados. São eles:
fazer um backup (cópia) dos arquivos pessoais em mídia removível (disquete, cd ou dvd) antes de realizar a instalação pois o
disco será totalmente apagado e todos os dados serão perdidos. Verifique quais componentes de hardware você tem instalados
(placas, cameras, disposistivos) e se eles são suportados pelo sistema operacional que será instalado (veja
http://www.tldp.org/HOWTO/Hardware-HOWTO ). Caso haja algum componente não suportado não se desespere. Alguns
dispositivos, apesar de não serem suportados diretamente no kernel, têm um módulo proprietário que permite seu correto
funcionamento no sistema. Esses casos raros poderão ser tratados no fórum diretamente com os monitores.

Começando a Instalação

Bom, agora é o momento de colocar a mão na massa. Se você tem em mãos o cd de instalação do Debian Sarge coloque-o no
drive leitor de cd-rom, se não , baixe a imagem iso de algum dos mirrors disponíveis em http://www.debian.org/CD/http-
ftp/#stable e queime um cd com ela.
Dependendo de como está configurada a sua BIOS, você não conseguirá dar boot pelo cd-rom. Para verificar como está a
sequência de boot, pressione <F1>, <F2> ou <DEL> de acordo com o modelo da sua placa-mãe.
Dando o boot pelo cd você verá esta tela:
Para começar a instalação imediatamente usando o kernel 2.4, aperte <ENTER>. O recomendado é que você utilize o kernel 2.6
que tem
suporte a dispositivos de hardware mais novos. Para tal, digite linux26 e tecle <ENTER>. Você pode ver mais opções de
inicialização do kernel apertando as teclas <F3> a <F9>.

Escolhendo os parâmetros iniciais

Na tela a seguir, escolha a linguagem que será utilizada na instalação e que será padrão no seu sistema.

Agora escolha o tipo teclado que você está utilizando. Os dois tipos mais comuns no Brasil são o ABNT2 (com cedilha) e o
Americano (sem cedilha).
Carregando módulos e configurando a rede

Nesse momento o instalador carregará automaticamente os módulos que julgar necessários para o seu hardware e tentará
configurar sua rede via DHCP.
Caso não haja um servidor DHCP em sua rede, você deverá configurar a conexão manualmente com os dados que lhe forem
passados pelo administrador de rede
ou pelo seu provedor de Internet.
Agora você deverá informar um nome para a máquina. Hipoteticamente, se você tiver dois computadores em casa, um na sala e
um na cozinha, você poderá chamá-los de televisor e geladeira, respectivamente.

Pronto! A rede está configurada.

Obs.: Se você tiver uma conexão ADSL com modem em modo bridge, deixe a rede desconfigurada que ao dar o boot no sistema
instalado haverá uma opção para configurá-lo.

Particionando o(s) disco(s)

Agora vamos particionar o disco rígido e criar o sistema de arquivos no formato ext3 (padrão do Debian GNU/Linux).
Você tem três opções para determinar quanto espaço do seu hd será utilizado para o sistema: apagar tudo o que houver no
disco, usar todo o espaço disponível ou editar as partições manualmente. Como a última opção exige um pouco mais de
experiência, só veremos aqui as duas primeiras. Esta é a tela que vai aparecer para você:

A primeira opção usará todo o espaço não particionado do disco rígido. Caso não haja espaço, esta opção não será mostrada.
Para abrir um espaço não particionado, basta remover uma das partições que não estiver sendo utilizada.
Já a segunda opção apagará todo o conteúdo do disco e eliminará quaisquer partições existentes, portanto, tome CUIDADO! Se
houver algum dado importante no disco assegure-se que eles sejam salvos antes deste processo. Qualquer que seja a sua
escolha, esta será a próxima tela:
Vamos ver o que significa cada um desses esquemas de partionamento:

• Todos os arquivos em uma única partição é auto-explicativo. Significa que todos os arquivos estarão em um mesmo
espaço lógico, como acontece com a maioria dos sistemas operacionais voltados para usuários domésticos.
• Máquina Desktop vai criar partições de tamanhos variados com grande parte do disco alocado para programas (/usr).
Recomendado para máquinas com não mais do que três usuários.
• Estação de trabalho multi-usuário
vai alocar a maior parte do disco para a partição /home (onde ficam os diretórios dos usuários). Recomendado para
máquinas utilizadas por mais de três pessoas.

Agora que você já sabe qual dessas opções melhor se adequa ao seu caso, vamos em frente.

Agora você vai ver uma tela como essa:

O particionamento automático cria no mínimo duas partições. Uma delas é o sistema de arquivos propriamente dito, formatado
com ext3, onde ficarão os arquivos do sistema operacional. Na figura acima, ele está sendo mostrado com o ponto de montagem
"/", que é a raiz do sistema.
A outra partição é o espaço de troca, também chamado de swap. Mais conhecido como memória virtual, é um espaço em disco
que substitui a memória RAM quando esta está sendo totalmente utilizada. Devido a diferença de velocidade desses dispositivos,
a utilização excessiva do swap pode deixar a máquina extremamente lenta.
Dependendo do esquema de particionamento que você escolher, o particionador pode criar outras partições tais como:
• /var - onde ficam armazenados os dados variáveis (ex: banco de dados, arquivos do servidor web, cache do apt-get,
etc)
• /usr - diretório onde são instalados os programas e arquivos de uso comum para todos os usuários.
• /home - neste diretório ficam as pastas pessoais de cada usuário, onde só ele tem permissão para escrever.
• /tmp - lugar para armazenar dados temporários (ex: arquivos baixados da Internet)
• /boot - diretório que armazena o kernel e arquivos de configuração do gerenciador de boot
• /etc - lugar onde ficam guardados os arquivos de configuração dos programas instalados.
• /lib - neste diretório ficam as bibliotecas do sistema e algumas bibliotecas utilizadas pelos programas instalados.

Caso você tenha decidido fazer o particionamento manual, por sua conta e risco, aconselho a deixar os seguintes espaços para
as partições:

swap - o dobro da quantidade de memória RAM instalada


/ - 512 MB
/var - 10% do espaço livre
/usr - 40% do espaço livre (não deve ser menor do que 1G
/tmp - 10% do espaço livre
/home - 30% do espaço livre (não deve ser menor do que 1G

Finalizadas as modificações, grave as mudanças no disco, clicando em "Finalizar o particionamento e gravar as mudanças no
disco".

Após confirmar a gravação das mudanças no disco, o instalador irá criar e formatar as partições e passar para o próximo passo:
a instalação dos pacotes.

Instalando os pacotes e rebootando

Nesta etapa, que pode demorar dependendo da velocidade do seu computador, serão copiados para o disco rígido os arquivos
essenciais do sistema e alguns pacotes do Debian.
O próximo passo é confirmar a instalação do gerenciador de boot GRUB no registro de inicialização do HD (mais conhecido como
MBR). Com o GRUB instalado você poderá, posteriormente, configurar o boot para mais de um sistema operacional instalado na
mesma máquina.
Pronto! Mais uma etapa concluída. Pressione "Continuar" para queo micro seja reiniciado e entre no seu sistema Debian
GNU/Linux recém-instalado.
Entrando no novo sistema

Quando o computador reiniciar você verá a tela de inicialização do GRUB. Nela você poderá escolher entre a inicialização normal
ou o modo seguro (recovery mode) do Debian. Caso você configure, posteriormente, o boot para outro sistema operacional, ele
aparecerá na lista abaixo como mais uma opção.

Ao escolher a primeira opção você verá uma tela como esta:


Não se assuste com esse monte de letrinhas passando. A inicialização do Debian é bem transparente. Em outras palavras,
mostra tudo o que está acontecendo. Você pode mudar isso recompilando o kernel com algumas opções gráficas.

Configurações iniciais

Você acabou de entrar no seu novo sistema operacional. A primeira coisa a fazer agora é configurar o fuso horário. A menos que
você esteja no meridiano de Greenwich, você deverá responder "Não" na tela abaixo.
Nesta tela escolha o fuso horário que melhor se adeque à sua região no Brasil.

Configurando usuários

O próximo passo é colocar uma senha para o usuário 'root'. Essa senha será sempre requisitada quando você for realizar uma
atividade administrativa.
Na próxima etapa você vai criar uma conta de usuário sem poderes de administrador. Essa conta é importante para aumentar a
segurança do sistema. Utilizar uma conta de administrador para atividades de usuário básico pode causar danos sérios ao
sistema como apagar um arquivo de configuração ou um programa essencial sem querer. Utilize a conta de root (administador)
apenas quando isto for necessário, por exemplo, quando for instalar um programa novo, quando for configurar um serviço, etc.
Instalando pacotes

Agora é hora de escolher quais pacotes básicos serão instalados no sistema. Se você estiver utilizando o CD 1 da instalação
completa do Debian, você poderá escolher entre configurar o apt (gerenciador de pacotes) para usar os programas do CD ou
baixá-los através de uma conexão com a Internet. Caso você esteja instalando através do CD netinst (instalação via rede) será
obrigatório configurar um repositório HTTP ou FTP.

Se você escolher HTTP ou FTP, será mostrada uma lista de países na qual você deverá escolher o Brasil. A próxima tela mostrará
uma lista de mirrors disponíveis no Brasil. Escolha um. Os mais recomendados são ftp.br.debian.org, www.las.ic.unicamp.br e
linorg.usp.br.

O próximo passo será escolher as coleções de softwares a serem instaladas. Para usuário doméstico, basta selecionar Ambiente
Desktop. Para aqueles que desejarem prover serviços, podem selecionar os servidores que forem utilizar. A instalação de
pacotes por esta ferramenta não é obrigatória. Depois você poderá instalar os mesmos pacotes utilizando ferramentas como o
apt, o aptitude ou o synaptic.

Após pressionar OK você verá uma tela preta com o nome de todos os pacotes que serão instalados. Aguarde até que todos
sejam baixados da Internet ou do CD.
Quando todos os pacotes estiverem prontos para serem instalados, será hora de configurar os parâmetros da instalação.

Configurando os pacotes

Nesta etapa, serão feitas várias perguntas sobre as configurações dos programas instalados, entre eles o Xserver (Ambiente
Gráfico). Você deverá selecionar a opção padrão na grande maioria das perguntas, a não ser que saiba exatamente o que está
fazendo ou que haja uma indicação para tal neste material.

O primeiro passo é escolher o driver adequado para a sua placa de vídeo. Alguns drivers mais comuns são "nv" para placas
NVidia, "sis" para placas SiS e "i810" para placas Intel. Caso a sua placa não seja uma destas e você não encontre um driver
para ela na lista, tente o driver vesa. Este é um driver genérico que usa apenas os recursos mais simples da placa. Certamente,
você não conseguirá uma boa resolução com ele mas já poderá começar a utilizar o ambiente gráfico enquanto procura o driver
adequado.
A partir daqui, escolha sempre a opção padrão a menos que você tenha certeza da mudança que vai fazer.
Na configuração do Exim (agente de transporte de mensagens ou, em outras palavras, servidor de e-mail), quando for
perguntado para qual usuário as mensagens remetidas para o root devem ser encaminhadas, coloque o usuário que você criou
no momento da instalação.
Finalizando a instalação

Após configurar e instalar todos os pacotes, você cairá nessa tela:

Selecione "Pós-configurar parâmetros relacionados ao idioma" para ajustar o idioma do sistema com as configurações dos novos
pacotes instalados. Depois, selecione "Finalizar a configuração do sistema básico". Você verá uma tela como essa:
Pressionando <ENTER> , você verá a tela de login do terminal e poderá entrar no sistema pela primeira vez, digitando seu
usuário e senha.

Para iniciar o ambiente gráfico, digite "startx". No próximo boot, ele deverá iniciar automaticamente.

Pronto! Seu novo sistema operacional Debian está instalado.

• Configuração do Debian

Nas lições abaixo serão abordados os temas referentes a configuração do servidor X, comandos de configuração, gerenciamento
de dispositivos entre outros.

• Lição 1 - Configuração Debian


Configuração do Sistema

A configuração dos sistemas GNU/Linux é realizada de diversas formas, dependendo da distribuição a ser utilizada. As diferenças
entre as diversas distribuições estão justamente nas ferramentas de configuração de cada sistema. Dessa forma, o procedimento
para configurar a rede no Debian é diferente daquele usado no Slackware, no Fedora e no SuSE, por exemplo.

Sempre existirão os métodos universais, ou seja, os métodos que funcionam em qualquer distribuição, mas eles geralmente são
mais demorados, menos práticos, o que quase sempre leva o administrador a fazer uso das ferramentas inclusas na sua
distribuição.

Veremos aqui como fazer a configuração básica de um sistema Debian GNU/Linux, mostrando as suas ferramentas de
configuração, e como fazer uso delas.

Ferramenta de Configuração

O programa que abordaremos para configurar os programas no Debian é o debconf. Para executarmos ele basta utilizarmos o
comando dpkg-reconfigure
seguido, neste caso, de debconf. Lembre-se deste comando, pois no decorrer do curso usaremos o dpkg-reconfigure sempre que
precisarmos reconfigurar algum programa.

Para configurar o debconf, procedemos da seguinte forma:

# dpkg-reconfigure debconf

Na primeira tela, devemos selecionar qual interface o debconf deve utilizar. As opções são as seguintes:

• Dialog: Interface modo texto, com janelas e seleção de opções através dos direcionais;
• Readline: Interface em modo texto puro, onde as
mensagens são exibidas num terminal e você tem que digitar as opções
desejadas;
• Gnome : Utiliza janelas gráficas do GNOME. Isso torna o debconf mais lento, porém mais bonito, e pode-se utilizar o
mouse para escolher entre as opções;
• KDE : Modo gráfico do KDE, possui os mesmos recursos do modo GNOME, com aparência diferenciada, entretanto;
• Editor: Nesse modo, o debconf permite que o usuário edite as opções através de um editor de textos. Esse modo deve
ser usado somente por especialistas que conhecem muito bem os procedimentos de alteração dos muitos arquivos de
configuração do sistema;
• Não Interativa : Nesse modo, o debconf não faz qualquer pergunta ao usuário, instalando os pacotes utilizando sempre
as opções padrões. Recomendado para sistemas em que o(s) usuário(s) não entendem praticamente nada sobre o
sistema.

O padrão utilizado é o Dialog, por ser leve e intuitivo. Após selecionar a opção desejada, a próxima tela é a seguinte.
Agora temos que selecionar a prioridade das mensagens exibidas pelo debconf.
Quanto menor a prioridade, mais mensagens serão exibidas, e maior será a capacidade de configuração que o debconf vai
oferecer. Se você for um usuário avançado ou um administrador de sistema, com certeza vai preferir usar a prioridade baixa.

Feito isso, o debconf estará configurado.

Inicialização

Nível de Execução Padrão

O Debian vem configurado por padrão para iniciar usando o modo 2. Para mudar o nível de execução padrão, basta editar o
arquivo /etc/inittab e modificar a seguinte linha:

id:2:initdefault:

Substitua o número exibido pelo número do nível de execução desejado na inicialização do sistema. Por exemplo:

id:3:initdefault:

Fará o sistema iniciar no modo 3.

Obs.: nunca, em hipótese alguma, coloque os números 0 ou 6, do contrário o sistema não poderá ser inicializado.

Scripts de Inicialização

Os scripts de inicialização ficam alojados no diretório /etc/init.d/.


Para fazer com que um determinado script não seja executado durante a inicialização do sistema, basta retirar a permissão de
execução do processo em questão.

Considere os seguintes processos na inicialização:

$ ls /etc/rcS.d
README S10checkroot.sh S35mountall.sh S40hostname.sh S55bootmisc.sh
S02mountvirtfs S18hwclockfirst.sh S36discover S40hotplug S55urandom
S04udev S18ifupdown-clean S36mountvirtfs S40networking S70nviboot
S05bootlogd S20module-init-tools S36udev-mtab S43portmap S70xfree86-common
S05initrd-tools.sh S20modutils S38pppd-dns S45mountnfs.sh S75sudo
S05keymap.sh S30checkfs.sh S39dns-clean S48console-screen.sh
S07hdparm S30procps.sh S39ifupdown S50hwclock.s
Suponha que você não esteja utilizando nenhum dispositivo de rede no seu computador e que portanto não precise inicializar
nenhum processo de rede. Podemos, então, desativar a inialização dos processos ifupdown-clean, pppd-dns, dns-clean,
ifupdown, networking, portmap e mountnfs. Para isso, fazemos o seguinte:

# cd /etc/init.d
# chmod a-x ifupdown-clean pppd-dns ifupdown networking portmap mountnfs

E pronto. Esse processos não serão mais executados na inicialização.

Você pode fazer a mesma coisa para os outros modos de execução, bastando para isso ver a lista de processos existentes nos
diretórios rc*.d (troque * pelo número do nível de execução correspondente).

Configurações Regionais

Idioma

Como vimos no processo de instalação, o Debian suporta dezenas de idiomas, incluindo o português do Brasil. Para
selecionarmos o idioma padrão utilizado pelo sistema, temos que configurar o pacotes locales, da seguinte forma:

# dpkg-reconfigure locales

O debconf será chamado, e exibido de acordo com as suas configurações. No nosso caso, estamos utilizando o modo Dialog, com
prioridade de mensagens baixa.

Na primeira tela, navegamos pela lista e selecionamos quais os idiomas (locales) queremos gerar. Nesse exemplo, escolhemos o
idioma português Brasileiro (pt_BR), nas codificações de caracteres Ocidental (ISO 8859-1) e Unicode (UTF-8).
Selecionados os locales, pressionamos Enter, e somos
direcionados para a próxima tela, onde selecionamos qual dos locales gerados será utilizado no sistema, e pressionamos Enter.

Generating locales...
pt_BR.ISO-8859-1... done
pt_BR.UTF-8... done
Generation complete.

Configiurações Regionais

Layout de Teclado

O layout de teclado deve ser configurado para que as teclas funcionem corretamente. No GNU/Linux, deve-se configurar o layout
de teclado para o terminal (modo texto) e para o modo gráfico em processos separados.

Para configurar o teclado para o modo texto, rodamos o comando:

# dpkg-reconfigure console-data
Nessa primeira tela, temos a descrição de todas as opções que serão fornecidas na próxima tela. Pressione Enter para
prosseguir na configuração do teclado.

Aqui, selecionamos o método utilizado para selecionar o mapa de teclado. Selecione o último método para escolher o mapa de
teclado de uma lista completa e pressione Enter. Na próxima tela teremos que selecionar o mapa de teclado a ser utilizado.

No Brasil, os teclados mais comuns são:

• ABNT 2: é o teclado que possui "ç", o mais comum. Para escolhê-lo, selecione a opção pc / qwerty / Brazilian / Brazilian
ABNT2;
• Estados Unidos Internacional : Padrão americano, esse teclado não possui o "ç". Para usá-lo, selecione a opção pc /
qwerty / US american / US Internacional (ISO 8859-1).

Observação: a opção qwerty é a seqüência de teclas da esquerda para direita que determina o mapa do seu teclado. Verifique se
o seu teclado possui esta seqüência iniciando pela letra Q.

Selecione o mapa correpondente e pressionamos Enter:

Looking for keymap to install:


us-intl.iso01

Data e Hora

A data é uma informação muito importante em sistemas de informação. Servidores costumam ter muitas tarefas agendadas para
serem executadas automaticamente em determinado horário, o que exige que a data e o hora estejam configurados
corretamente.
No GNU/Linux, essas informações só podem ser alteradas pelo administrador do sistema. A justificativa para isso é a segurança.

Imagine um computador que tenha um sistema de backup agendado para executar todos os dias às 10:00. Imagine agora que
um usuário
descuidado altere o horário do sistema, adiantando-o em 5 horas, de forma que, quando o computador for ligado todo dia às
7:00, ele estará marcando 12:00, de forma que o sistema de backup nunca vai entrar em funcionamento, inutilizando-o.

O mesmo poderia acontecer para uma tarefa configurada em determinado dia do mês. Se um usuário adiantasse o calendário
para uma
data posterior à da execução da tarefa, esta não seria executada.

Entendido isso, vejamos como manipular data e hora.

Visualizando Data e Hora

O comando utilizado para ver e manipular data e hora no sistema GNU/Linux é o date.

Sintaxe
# date [opções] +[formatação]

Para visualizar a data e a hora atual do sistema no formato padrão, utilizamos:

$ date
Qua Abr 5 11:00:14 BRT 2006

São exibidos dia da semana, mês, dia, hora, fuso horário e ano. Se quisermos que a data seja exibida num formato diferente,
podemos
personalizá-lo, utilizando o parâmetro +[formatação]. Para isso, temos que conhecer a seguinte tabela de valores:

• %Y : Ano corrente, com 4 dígitos;


• %m : Mês corrente, em formato numérico;
• %d : Dia do mês corrente (01 a 31);
• %H : Hora atual, formato 24 horas (00 a 23);
• %M : Minuto atual;
• %S : Segundo atual;
• %y : Ano corrente, com 2 dígitos;
• %b : Mês corrente, por extenso, abreviado (Jan, Fev, Mar...);
• %B : Mês corrente, por extenso (Janeiro, Fevereiro, Março);
• %a : Dia da semana, por extenso, abreviado (Seg, Ter, Qua...);
• %A : Dia da semana, por extenso (Segunda, Terça, Quarta...);
• %C : Século atual (00 a 99);
• %k : Hora atual, formato 24 horas, sem 0 à esquerda (0 a 23);
• %I : Hora atual, formato 12 horas (01 a 12);
• %l: Hora atual, formato 12 horas, sem 0 à esquerda (1 a 12);
• %N : Nanossegundos (1 ns = 1 bilionésimo de segundo);
• %e : Dia do mês corrente, sem zero à esquerda (1 a 31);
• %j : Dia do ano atual (001 a 366);
• %w : Dia da semana, em formato numérico, com 0 represetando o domingo;
• %U : Número semanas completas no ano (00 a 53);
• %s : Número de segundos passados desde 1 de janeiro de 1970.

Basta combinar esses valores para compôr um formato de exibição de data e hora personalizado. Veja esses exemplos:

$ date +"Hoje é %A, %e de %B de %Y"


Hoje é quarta, 5 de abril de 2006

$ date +"%d/%M/%Y %H:%M:%S"


05/01/2006 11:01:15

$ date +%d-%M-%y
05-01-06
Alterando Data e Hora

O método principal de modificar data e hora é o seguinte:

# date [mês][dia][hora][minuto][ano]

Assim, para configurar data e hora do sistema para "24 de Março de 2005, 10:56 h", o comando fica:

# date 040511022006

Lembrando que:

• 04: Mês (Abril);


• 05: Dia;
• 1102: 11:02 hs;
• 2006: Ano.

Para alterar somente o horário, podemos utilizar o parâmetro -s, da seguinte forma:

# date -s "11:02"

Isso ajusta o horário para 11:02 hs. Não se esqueça que o sistema marca o horário no formato 24 horas. Logo, se quiser mudar
o horário para 5 da tarde, escreva "17:00".

Outras Funções do Comando date

Podemos utilizar a opção -r para ver a data de modificação de um determinado arquivo, da seguinte forma:

$ date -r /home/christiano/wget-log
Qui Mar 24 10:19:39 AMT 2005

Para visualizar a data dos dias anterior e posterior ao atual, utilizamos o parâmetro -d, da seguinte forma:

$ date -d yesterday
Ter Abr 4 11:08:38 BRT 2006

$ date -d tomorrow
Qui Abr 6 11:09:02 BRT 2006

Onde yesterday e tomorrow correspondem as dias anterior e posterior, respectivamente.

Calendário

O GNU/Linux possui uma ferramenta de calendário muito poderosa, chamada cal. Seu uso é bastante simples, com podemos ver
a
seguir:

$ cal

abril 2006
Do Se Te Qu Qu Se Sá
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
$ cal agosto 2006

Agosto 2006
Do Se Te Qu Qu Se Sá
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
$ cal -3 abril 2006

março 2006 abril 2006 maio 2006


Do Se Te Qu Qu Se Sá Do Se Te Qu Qu Se Sá Do Se Te
Qu Qu Se Sá
1 2 3 4 1 1 2 3 4 5 6
5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31
30

Segue uma explicação de cada um dos parâmetros do comando cal:

• nenhum parâmetro : Exibe o calendário do mês corrente;


• [ano] : Mostra o calendário de todos os meses do ano selecionado;
• [mês] [ano] : Mostra o calendário do mês e ano selecionados;
• -3 [mês] [ano] : Mostra os calendários do mês e ano selecionados, e o dos meses anterior e posterior ao selecionado.

Selecionando Fuso Horário

O fuso horário é utilizado por alguns programa que utilizam ferramentas de atualização automática de horário via Internet. É
importante configurar o fuso horário corretamente no sistema, e para isso utilizaremos o tzconfig:

# tzconfig
Your current time zone is set to Brazil/West
Do you want to change that? [n]: y

Primeiramente, é exibido o fuso horário atual, e somos perguntados se queremos ou não alterá-lo. Para alterar, digite y e
pressione Enter.

Please enter the number of the geographic area in which you live:

1) Africa 7) Australia

2) America 8) Europe

3) US time zones 9) Indian Ocean

4) Canada time zones 10) Pacific Ocean

5) Asia 11) Use System V style time zones

6) Atlantic Ocean 12) None of the above

Then you will be shown a list of cities which represent the time zone
in which they are located. You should choose a city in your time zone.

Number: 2

Acima, você tem uma lista de áreas geográficas, de onde vamos selecionar o fuso horário correspondente. O Brasil está na
América do
Sul, logo, selecionamos a opção America, digitando 2 e pressionando Enter:

Adak Anchorage Anguilla Antigua Araguaina Argentina/Buenos_Aires


Argentina/Catamarca Argentina/ComodRivadavia Argentina/Cordoba
Argentina/Jujuy Argentina/La_Rioja Argentina/Mendoza
Argentina/Rio_Gallegos Argentina/San_Juan Argentina/Tucuman
Argentina/Ushuaia Aruba Asuncion Atka Bahia Barbados Belem Belize
Boa_Vista Bogota Boise Buenos_Aires Cambridge_Bay Campo_Grande Cancun
Caracas Catamarca Cayenne Cayman Chicago Chihuahua Cordoba Costa_Rica
Cuiaba Curacao Danmarkshavn Dawson Dawson_Creek Denver Detroit Dominica
Edmonton Eirunepe El_Salvador Ensenada Fortaleza Fort_Wayne Glace_Bay
Godthab Goose_Bay Grand_Turk Grenada Guadeloupe Guatemala Guayaquil
Guyana Halifax Havana Hermosillo Indiana/Indianapolis Indiana/Knox
Indiana/Marengo Indianapolis Indiana/Vevay Inuvik Iqaluit Jamaica Jujuy
Juneau Kentucky/Louisville Kentucky/Monticello Knox_IN La_Paz Lima
Los_Angeles Louisville Maceio Managua Manaus Martinique Mazatlan Mendoza
Menominee Merida Mexico_City Miquelon Monterrey Montevideo Montreal
Montserrat Nassau New_York Nipigon Nome Noronha North_Dakota/Center Panama
Pangnirtung Paramaribo Phoenix Port-au-Prince Porto_Acre Port_of_Spain
Porto_Velho Puerto_Rico Rainy_River Rankin_Inlet Recife Regina Rio_Branco
Rosario Santiago Santo_Domingo Sao_Paulo Scoresbysund Shiprock St_Johns
St_Kitts St_Lucia St_Thomas St_Vincent Swift_Current Tegucigalpa Thule
Thunder_Bay Tijuana Toronto Tortola Vancouver Virgin Whitehorse Winnipeg
Yakutat Yellowknife

Please enter the name of one of these cities or zones


You just need to type enough letters to resolve ambiguities
Press Enter to view all of them again
Name: [] Sao_Paulo

Acima, você vê todos os fusos disponíveis para a área geográfica anteriormente selecionada. Para selecionar uma delas, temos
que digitar
a opção na forma como ela é exibida. Nesse exemplo, selecionamos o fuso horário São_Paulo, correspondente ao fuso de São
Paulo que é o mesmo de Brasília.

Your default time zone is set to 'America/Sao_Paulo'.


Local time is now: Qua Abr 5 10:36:44 BRT 2006.
Universal Time is now: Qua Abr 5 13:36:44 UTC 2006.

Depois da configuração, são exibidas as informações sobre o novo fuso horário, além da data e hora universal.

Hora Certa com NTP

Para manter a hora do sistema atualizada, é uma boa idéia utilizar-se do protocolo NTP (Network Time Protocol).
Com ele, o horário do sistema é atualizado automaticamente, através de acesso via Internet a um servidor de horário.

Para ativar o gerenciamento do horário do computador através do NTP, precisamos instalar os pacotes ntpdate e ntp.
Alternativamente, pode-se instalar também o pacote ntp-doc, que contém os manuais de utilização do protocolo NTP.

# apt-get install ntpdate ntp ntp-doc

Após a instalação, o horário será ajustado automaticamente, de acordo com o fuso horário selecionado. Se o horário definido
pelo
ntpdate estiver errado, é sinal que o fuso horário está definido incorretamente. Será criado um script em /etc/init.d/ntpdate. Se
por qualquer motivo o horário estiver incorreto, basta rodar esse script para corrigi-lo:

# /etc/init.d/ntpdate restart
Running ntpdate to synchronize clock.

Variáveis de Ambiente

Variáveis de ambiente são espaços de memória que armazenam valores, que são interpretados pelo Shell (interpretador de
comandos) ou, em outras palavras, são objetos nomeados que contém informações usadas por um ou mais aplicativos.

Usando variáveis de ambiente pode-se modificacar a configuração de um ou mais aplicativos diferentes simultaneamente.

Tipos de Variáveis

As variáveis de ambiente podem ser de 2 tipos:

• Locais : Variáveis disponíveis somente pelo Shell corrente, que não podem ser acessadas pelos subprocessos do sistema,
inicializados por outros usuários ou pelo próprio kernel;
• Globais : Variáveis disponíveis para o Shell atual e também pelos subprocessos do sistema.

As variáveis são, por convenção, escritas sempre em maiúsculas.

Visualizando o Valor de Variáveis

Para visualizar o valor de uma variável, utilizamos o comando echo, da seguinte forma:

$ echo $[VARIÁVEL]

Por exemplo, para ver o valor da variável HOME:


$ echo $HOME
/home/christiano

Veja abaixo a tabela com algumas das principais variáveis de ambiente do sistema:

• PATH : Contém a lista dos diretórios onde o sistema irá procurar pelos comandos digitados no console, para então
executá-los. A utilidade disso é que passa a não ser necessário digitar o caminho completo para o comando, ou seja,
podemos digitar, por exemplo, apenas mozilla-firefox, ao invés de /usr/bin/mozilla-firefox;
• BASH : Especifica o interpretador de comandos utilizado pelo sistema. O padrão é /bin/bash, mas pode-se utilizar
qualquer outro;
• HOME : Diretório pessoal do usuário atual. O padrão é /home/[usuário] ;
• HOSTNAME : Nome dado a máquina local;
• LANG e LANGUAGE : Especificam o idioma utilizado pelo sistema e alguns programas;
• OLDPWD : último diretório acessado. É para o diretório indicado por essa variável que somos enviados ao utilizar o
comando cd -;
• PWD : O diretório em que estamos no momento;
• UID : UID do usuário atual;
• USER : Nome do usuário atual.

Para ver a lista completa das variáveis de ambiente do sistema, utilize os comandos set e env. O set exibe a lista das variáveis
locais, enquanto env exibe a lista das variáveis globais:

$ set
BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="1" [2]="0" [3]="1" [4]="release" [5]="i486-pc-linux-gnu")
BASH_VERSION='3.1.0(1)-release'
COLORTERM=gnome-terminal
COLUMNS=80
DESKTOP_STARTUP_ID=
DIRSTACK=()
DISPLAY=:1.0
EUID=1009
GNOME_DESKTOP_SESSION_ID=Default
GNOME_KEYRING_SOCKET=/tmp/keyring-MavDPw/socket
GROUPS=()
GTK_RC_FILES=/etc/gtk/gtkrc:/home/christiano/.gtkrc-1.2-gnome2
HISTFILE=/home/christiano/.bash_history
HISTFILESIZE=500
HISTSIZE=500
HOME=/home/christiano
HOSTNAME=equipe10
HOSTTYPE=i486
HUSHLOGIN=FALSE
IFS=$' \t\n'
LANG=pt_BR
Xlanguage=pt_BR:pt:pt_PT
LINES=24
LOGNAME=christiano
......

$ env
SSH_AGENT_PID=5674
DESKTOP_STARTUP_ID=
TERM=xterm
SHELL=/bin/bash
GTK_RC_FILES=/etc/gtk/gtkrc:/home/christiano/.gtkrc-1.2-gnome2
WINDOWID=37751198
HUSHLOGIN=FALSE
USER=christiano
GNOME_KEYRING_SOCKET=/tmp/keyring-MavDPw/socket
SSH_AUTH_SOCK=/tmp/ssh-lgABOM5624/agent.5624
SESSION_MANAGER=local/equipe10:/tmp/.ICE-unix/5624
XPSERVERLIST=
PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
MAIL=/var/mail/christiano
PWD=/home/christiano
LANG=pt_BR
HOME=/home/christiano
SHLVL=3
Xlanguage=pt_BR:pt:pt_PT
GNOME_DESKTOP_SESSION_ID=Default
LOGNAME=christiano
DISPLAY=:1.0
COLORTERM=gnome-terminal
XAUTHORITY=/home/christiano/.Xauthority
_=/usr/bin/env

Criando e Alterando Variáveis

Para definir o valor de uma variável local, utilize a seguinte sintaxe:

$ [VARIÁVEL]=[valor]

Dessa forma, para criar uma variável local chamada BACKUP_DIR, atribuindo a ela o valor /home/backup:

$ BACKUP_DIR=/home/backup

Para adicionar valor a uma variável já existente, devemos proceder da seguinte forma:

$ [VARIÁVEL]=$[VARIÁVEL][valor adicional]

Dessa forma, suponhamos o seguinte valor da variável PATH:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games

Se quisermos adicionar o diretório /usr/lib/java/jre/1.5.0/bin ao valor da variável PATH, procedemos da seguinte forma:

$ PATH=$PATH:/usr/lib/java/jre/1.5.0/bin

Dessa forma, adicionamos :/usr/lib/java/jre/1.5.0/bin ao valor já existente da variável PATH, que ficou assim:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/lib/java/jre/1.5.0/bin

Para criar uma variável global, utilize o comando export, da seguinte forma:

$ export [VARIÁVEL]=[valor]

Se você quiser simplesmente converter uma variável local em global, não é necessário digitar o valor:

$ export [VARIÁVEL]

Removendo Variáveis

Para remover uma variável de ambiente do sistema, utilizamo o comando unset, da seguinte forma:

$ unset [VARIÁVEL]

Arquivos de Configuração de Variáveis de Ambiente

Ao criar variáveis de ambiente ou apenas alterá-las através do terminal, os seus valores ficam ativos apenas durante a sessão
atual, o que quer dizer que, quando você der logout ou desligar e ligar a máquina novamente, as variáveis que você criou serão
perdidas, bem como as alterações nos seus valores.

Entretanto, muitas vezes é desejável configurar as variáveis de modo que elas estejam sempre disponíveis, toda vez que o
sistema ou uma nova sessão for iniciada.

Por isso, existem arquivos específicos onde as configurações das variáveis de ambiente podem ser definidas:
• /etc/profile: Nesse arquivo são definidos os valores das variáveis que ficarão disponíveis para todos os usuários do
sistema. O PATH é configurado aqui. Se você quiser adicionar um novo diretório ao PATH, para que ele fique disponível
para todos os usuários, faça isso nesse arquivo;
• ~/.bash_profile: Dentro do diretório pessoal de cada usuário (/home/[usuário]) existe um arquivo .bash_profile, onde
devem ser declarados os valores das variáveis de ambientes disponíveis apenas para o usuário.

Configurando o Prompt de Comandos

Quando estamos num terminal, seja em modo texto ou gráfico, são exibidas algumas informações à esquerda do local onde os
comandos são
digitados. Como nos exemplos abaixo:

christiano@equipe05:~$ ls

As informações exibidas antes do comandos (nesse caso christiano@equipe05:~$), podem ser personalizadas através da
modificação da variável PS1. Para isso, basta combinar quaisquer caracteres com os seguintes argumentos:

• \h : Nome de host da máquina;


• \W : Nome do diretório atual;
• \w : Caminho completo para o diretório atual;
• \u : Nome de usuário;
• \t : Hora;
• \d : Data;
• \$ : Identificador de usuário ($ para usuário comum e # para root).

No caso exibido acima, o valor da variável PS1 é o seguinte:

$ echo $PS1
\u@\h:\w\$

Utilize-a como exemplo para configurar seu prompt a seu gosto. Não se esqueça de sempre colocar os parâmetros entre aspas
duplas ("), e de sempre deixar um espaço em branco no final, como no exemplo abaixo:

$ PS1="\u@\h:\w[\t]\$ "

Que faz o prompt ser exibido da seguinte forma:

christiano@equipe05:~[16:51:24]$

Personalizando Comandos

Uma função muito útil do comando ls é exibir os arquivos utilizando cores diferentes para cada tipo. Entretanto, para isso é
necessário utilizar o parâmetro --color=auto, o que é muito incômodo, visto que o ls é utilizado com muita freqüência e,
portanto, não podemos ficar digitando ls --color=auto toda vez.

Da mesma forma, é muito seguro utilizar a opção -i com o comando rm, para que sempre sejamos perguntados antes de apagar
algum arquivo. Entretanto, nem sempre vamos lembrar de adicionar o parâmetro -i, usando somente rm, de modo que ficamos
sujeitos a apagar arquivos por engano.

Para resolver essas situações existe o comando alias, uma espécie de camuflagem de comandos, que permite chamar um
determinado comando através de um outro nome.

Por exemplo, podemos configurar o sistema para executar o comando ls --color=auto toda vez que digitarmos ls, da seguinte
forma:

$ alias ls="ls --color=auto"

Agora, para usar o comando ls --color=auto basta digitar ls.

Podemos utilizar o mesmo procedimento para utilizar o parâmetro -i automaticamente com o rm:

$ alias rm="rm -i"


Dessa forma, para usar o comando rm -i basta digitar rm.

Para desativar o alias, usamos o comando unalias:

$ unalias [alias]

Dessa forma, para remover o alias aplicado ao comando ls, usamos:

$ unalias ls

Se não for especificado nenhum alias, todos serão removidos.

As configurações feitas pelo alias são válidas apenas para a sessão atual, de modo que ao efetuar logout ou desligar o sistema,
as alterações são perdidas. Para que elas fiquem permanentemente disponíveis, basta colocá-las nos arquivos /etc/profile ou
~/.bashrc, para aplicar as configurações para todos os usuários ou apenas o usuário atual, respectivamente.

Lição 2 - Unidades de Disco

Configurando as Unidades de Disco

Os dispositivos de disco (HD, CD-ROM, CD-RW, DVD-ROM...) atuais são dotados de alta tecnologia, tanto no que diz respeito a
capacidade de armazenamento quanto à velocidade de leitura e escrita dos dados.
Recursos como Ultra DMA, ATA, Buffer e Cache têm tornado esses dispositivos extremamente rápidos, se comparados aos
mesmos dispositivos fabricados há poucos anos atrás.

Mas, infelizmente, grande parte dos recursos disponíveis para as unidades de disco dependem de diversos fatores, como
compatilidade com placa mãe e suporte pelo sistema operacional, motivo pelo qual esses dispositivos vêm, de fábrica, com
muitos recursos desativados, requerendo sua ativação via software, através da BIOS e do sistema operacional.

A ferramenta no GNU/Linux utilizada para configurar os recursos das unidades de disco chama-se hdparm, que será estudada a
seguir.

Instalando o hdparm

O hdparm pode ser instalado via APT, com o comando:

# apt-get install hdparm

Após a instalação, verifique se está tudo certo, com o comando:

# hdparm /dev/hd[letra da unidade]

Por exemplo:

# hdparm /dev/hda

/dev/hda:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 16 (on)
geometry = 16383/255/63, sectors = 40020664320, start = 0

Obtendo e Analisando Informações

O hdparm tem um invejável sistema de obtenção de informações.


Pode-se saber praticamente tudo sobre a unidade de disco. Para isso, basta escolher o tipo de relatório que se deseja obter e
digitar a linha de comando.

Sintaxe
# hdparm [opções] [dispositivo]
Opções
• nada: Informações realmente básicas;
• -i: Informações detalhadas;
• -I : Informações técnicas completas.

Ao invés de [dispositivo] colocamos a localização da unidade que estamos verificando, como /dev/hda, /dev/hdc, /dev/sda, etc.

Relatórios

Vejamos um relatório simples:

# hdparm /dev/hda
/dev/hda:
multcount = 0 (off)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 0 (off)
geometry = 16383/255/63, sectors = 40020664320, start = 0

Nessa lista temos as seguintes informações:

• multcount = 0 (off) : O parâmetro multcount está desligado. O multcount é o modo de leitura de setores múltiplos que
permite que a transferência de múltiplos setores por interrupção de I/O. Os HD's atuais têm suporte a essa opção, que
incrementa as velocidades de leitura e gravação do disco;
• IO_support = 0 (default 16-bit) : O modo de I/O
está definido para 16 bits. Os modos suportados são 16 bits, 32 bits, e 32 bits com uma seqüência especial de
sincronismo exigida por alguns chipsets. Em HD's que suportam o modo 32 bits, este oferece uma melhor performance
se comparado ao modo 16 bits. É possível saber se o seu HD suporta o modo 32 bits na BIOS do seu computador;
• using_dma = 1 (on) : O DMA (Direct Memory Access
ou acesso direto à memória) é um recurso primordial para se obter uma
boa performance do HD. A menos que seu HD seja muito antigo, ele suporta DMA e esta opção deve estar ativa, como
nesse caso;
• readahead = 0 (off) : O recurso de leitura adiantada está desativado. A leitura adiantada permite que o HD faça a leitura
dos dados antes de começar a transferi-los. Isso funciona como um cache, para evitar pausas nas transferências no
caso de qualquer processo que interfira na leitura dos dados no HD. Se possível, este parâmetro deve estar ativo para
melhorar a performance e a estabilidade das transferências dos dados no HD.

Agora, vejamos um relatório um pouco mais completo:

# hdparm -i /dev/hda

/dev/hda:

Model=ST340014A, FwRev=3.54, SerialNo=3JV89GLK


Config={ HardSect NotMFM HdSw>15uSec Fixed
DTR>10Mbs
RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16,
MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes,
LBAsects=78165360
IORDY=on/off, tPIO={min:240,w/IORDY:120},
tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:

* signifies the current active mode

Onde obtemos as seguintes informações:

• BuffSize=2048kB : Esse parâmetro mostra o tamanho do buffer de gravação. Quanto maior o tamanho do buffer, menor
é a vulnerabilidade do dispositivos a falhas de gravação;
• MaxMultSects = 16 : Isso informa o número máximo de setores que podem ser lidos simultaneamente. Devemos prestar
atenção para não configurar a leitura de setores múltiplos acima desse valor, o que poderia causar perda de dados;
• PIO modes: pio0 pio1 pio2 pio3 pio4 : Aqui são listados os modos de PIO disponíveis para o HD.
• UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5* : Estes são os modos de Ultra DMA suportados pelo HD,
sendo que o modo que aparece com um * (asterisco) é o modo que está sendo utilizado. Quanto maior o valor de
UDMA, melhor o desempenho da unidade.

Por último, vejamos o relatório mais completo:

# hdparm -I /dev/hda

ATA device, with non-removable media


Model Number: ST340014A
Serial Number: 3JV89GLK
Firmware Revision: 3.54
Standards:
Used: ATA/ATAPI-6 T13 1410D revision 2
Supported: 6 5 4 3
Configuration:
Logical max current
cylinders 16383 65535
heads 16 1
sectors/track 63 63
--
CHS current addressable sectors: 4128705
LBA user addressable sectors: 78165360
LBA48 user addressable sectors: 78165360
device size with M = 1024*1024: 38166 MBytes
device size with M = 1000*1000: 40020 MBytes (40 G
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 4 Queue depth: 1
Standby timer values: spec'd by Standard
R/W multiple sector transfer: Max = 16 Current = 16
Recommended acoustic management value: 128, current
value: 0
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3
udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=240ns IORDY flow
control=120ns
Commands/features:
Enabled Supported:
* READBUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area
feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
* SMART feature set
* FLUSH CACHE EXT command
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
* 48-bit Address feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
* SMART self-test
* SMART error logging
Security:
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- above Vih
Device num = 0 determined by the jumper
Checksum: correct
Aqui você vai encontrar características técnicas importantes do HD.

Configurando a Unidade de Disco

Logo se vê pelos relatórios que existem muitos parâmetros que podem ser alterados pelo hdparm, e essas alterações vão
interferir diretamente no desempenho da unidade de disco, positiva ou negativamente. É preciso então saber interpretar as
informações e nunca fazer testes com opções que podem representar perigo para a integridade dos dados contidos no disco.

Sintaxe
# hdparm [parâmetros] [dispositivo]
Parâmetros

• -c[valor] : Esse parâmetro especifica o modo de interrupção de I/O. Os valores que pode assumir são:
o 1: modo 16 bits;
o 2: modo 32 bits;
o 3: modo 32 bits em modo especial de sincronimos, exigido por alguns chipsets.

Para saber se seu HD suporta o modo 32 bits, veja na BIOS do seu computador.

• -d[valor] : Ativa/desativa o uso do DMA. Para ativar, use o valor 1. Para desativar, use 0;
• -X[valor] : Seleciona o modo de DMA a ser utilizado. Pode variar de sdma0 (pior), passando por mdma e chegando em
udma5 (melhor). Vamos desconsiderar o uso dos modos sdma que são muito antigos. Para utilizar os modos mdma,
basta utilizar o número do modo somado com 32. Ou seja: use 32 para ativar mdma0 (32 + 0), e 34 para o mdma2 (32
+ 2). Para utilizar os modos udma, utilize o número do modo somado com 64. Ou seja: use 65 para ativar o udma1 (64
+1) e 69 para o udma5 (64 + 5). Para saber qual modo é suportado pelo seu HD, basta ver as seguintes linhas:

DMA modes: mdma0 mdma1 mdma2


UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5

Obtidas com o comando hdparm -i /dev/hdX (X é a letra da sua unidade de disco). O modo que deve ser utilizado é o
último que aparece na lista. Nesse caso, é o modo udma5 (69);

• -m[valor] : Especifica o valor do parâmetro MultSects. O valor desse parâmetro não pode ser maior que o parâmetro
MaxMultSects, que encontramos na seguinte linha:

BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16

Essa linha é encontrada no relatório gerado com o comando hdparm -i /dev/hdX. Nesse caso, o parâmetro MaxMultSects
tem o valor 16, então o valor de MultSects deve ser igual ou menor a esse (de preferência igual);

• -A[valor] : Ativa/desativa o recurso de leitura adiantada. O valor 1 ativa, enquanto 0 desativa.


• -a[valor] : Configura a leitura adiantada. O valor especificado é multiplicado por 512 Bytes. Assim, se você usar 8, a
leitura adiantada será de 4 KB. A recomendação é de que você use o mesmo valor que usar para o parâmetro MultSects.

Veja um exemplo de configuração com esses parâmetros acima:

# hdparm -c1 -d1 -X69 -m16 -A1 -a16 /dev/hda

/dev/hda:
setting fs readahead to 16
setting 32-bit IO_support flag to 1
setting multcount to 16
setting using_dma to 1 (on)
setting xfermode to 69 (UltraDMA mode5)
setting drive read-lookahead to 1 (on)
multcount = 16 (on)
IO_support = 1 (32-bit)
using_dma = 1 (on)
readahead = 16 (on)
done.

Esse comando configurou o HD para utilizar o modo de I/O de 32 bits (-c1), ativou o uso do DMA (-d1), ativou o Ultra DMA
modo 5 (-X69), definiu o leitura de setores múltiplos para 16 (-m16), ativou a leitura adiantada (-A1) e ajustou a leitura
adiantada para 8 KB (-a16). Tome-o por base para configurar o seu HD conforme as suas características.
Ajuste Acústico e o Gerenciamento de Energia

O ajuste acústico é um recurso que pode ser útil para uso em HD's antigos, um tanto quanto barulhentos. Trata-se de um
controle da velocidade máxima de rotação o disco, o que faz com ele faça menos barulho durante o trabalho.

O incômodo de limitar a velocidade de rotação do HD é que o seu desempenho é reduzido, uma vez que ele passa a não
trabalhar na máxima velocidade.

Sintaxe
# hdparm -M[valor] [dispositivo]

O valor pode variar de 128 (lento e quieto) até 254


(rápido e barulhento). Para não perder muito tempo testando valor por valor, utilize aquele que é recomendado pelo fabricante.
Para conhecê-lo, utilize o seguinte comando:

# hdparm -I [dispositivo] | grep acoustic

Veja esse exemplo:

# hdparm -I /dev/hda | grep acoustic


Recommended acoustic management value: 128, current value: 0

Veja que, nesse caso, o valor recomendado é 128. Então, dê o comando:

# hdparm -M128 /dev/hda

/dev/hda:
setting acoustic management to 128
acoustic = 128 (128=quiet ... 254=fast)

Para desativar o ajuste acústico, utilize -M0.

Outra coisa muito útil que pode ser feita com o hdparm é a configuração do tempo de spindown, ou seja, o tempo que o HD
deve esperar para desligar o motor caso fique sem uso. Isso reduz o consumo de energia e aumenta a vida útil do HD, caso seu
computador permaneça muito tempo ligado mas nem sempre em uso.

Para configurar o tempo de spindown utilizamos a seguinte sintaxe:

# hdparm -S[valor] [dispositivo]

Onde [valor] deve ser substituído pelo código do tempo desejado.

Valores entre 1 e 240 especificam múltiplos de 5 segundos, ou seja, o valor 10 significa um tempo de espera de 50 segundos, e
o valor 200 muda esse valor para 1000 segundos (16 minutos e 40 segundos). Valores
de 241 a 251 especificam múltiplos de 30 minutos, variando de 11 minutos (241) até 5 horas e meia (251).

Vamos a um exemplo:

# hdparm -S240 /dev/hda

/dev/hda:
setting standby to 240 (20 minutes)

Com esse comando, configuramos o HD para desligar após 20 minutos de ociosidade.

Para desativar o recurso spindown, utilize -S0.

Testando o Desempenho

Uma ferramenta de fundamental importância no hdparm é o teste de desempenho. Você usá-las antes de fazer alterações nos
parâmetros do HD e, assim que fizer alterações, voltar a realizar os testes para comparar e verificar se houve melhora no
desempenho ou não.

Para testar o desempenho, utilizamos os parâmetros -T e -t combinados da seguinte da forma:


# hdparm -Tt [dispositivo]

Para testar o desempenho da unidade /dev/hda, por exemplo:

# hdparm -Tt /dev/hda

/dev/hda:
Timing cached reads: 1200 MB in 2.00 seconds = 598.89 MB/sec
Timing buffered disk reads: 82 MB in 3.06 seconds = 26.77 MB/sec

Aqui foram feitos dois testes. O primeiro é o de tempo de leitura com cache (cached reads), e o segundo, de tempo de leitura de
disco com buffer (buffered disk reads).

Você deve aplicar esses testes como o mínimo de recursos sendo utilizados. De preferência, utilize o modo monousuário (nível
de execução 1):

# init 1

Um teste simples pode demonstrar o quanto é possível perder em desempenho ao não configurar o HD. Esse teste consiste em
desativar
todos os recursos do disco rígido, como DMA, leitura adiantada, etc., fazer o teste de desempenho e em seguida ativar os
recursos e repetir o teste, para então comparar os resultados. Veja:

# hdparm -c0 -d0 -A0 -m0 -a0 /dev/hda

/dev/hda:
setting fs readahead to 0
setting 32-bit IO_support flag to 0
setting multcount to 0
setting using_dma to 0 (off)
setting drive read-lookahead to 0 (off)
multcount = 0 (off)
IO_support = 0 (default 16-bit)
using_dma = 0 (off)
readahead = 0 (off)

# hdparm -Tt /dev/hda

/dev/hda:
Timing cached reads: 1196 MB in 2.00 seconds = 596.90 MB/sec
Timing buffered disk reads: 2 MB in 4.30 seconds = 476.46 kB/sec

# hdparm -c1 -d1 -X69 -A1 -a16 -m16 /dev/hda

/dev/hda:
setting fs readahead to 16
setting 32-bit IO_support flag to 1
setting multcount to 16
setting using_dma to 1 (on)
setting xfermode to 69 (UltraDMA mode5)
setting drive read-lookahead to 1 (on)
multcount = 16 (on)
IO_support = 1 (32-bit)
using_dma = 1 (on)
readahead = 16 (on)

# hdparm -Tt /dev/hda

/dev/hda:
Timing cached reads: 1200 MB in 2.00 seconds = 599.79 MB/sec
Timing buffered disk reads: 82 MB in 3.04 seconds = 26.94 MB/sec
VELOCIDADE
TESTE PERFORMANCE
Sem hdparmCom hdparm

cached reads 596,90 Mbps 599,79 Mbps 0,48%

buffered disk reads 476,46 Kbps 26,95 Mbps 5692,00%

Tabela 1. Medição de performance do HD do hdparm.


Como se vê, com o hdparm ativo, a performance aumentou 5692% nas leituras com buffer (buffered disk reads).

O ideal é que você faça esses testes antes e depois de modificar qualquer parâmetro, para ter certeza de que não está fazendo
uma configuração que vai prejudicar o desempenho do HD.

Ativando o hdparm na Inicialização do Sistema

Para utilizar o hdparm no inicialização do sistema, edite o arquivo /etc/hdparm.conf. Vá até o final, e procure essas linhas:

#command_line {
# hdparm -d1 -a4 -m8 /dev/hda
#}

Descomente-as e coloque os parâmetros que você está utilizando. Por exemplo:

command_line {
hdparm -c1 -d1 -X69 -A1 -a16 -m16 /dev/hda
}

Caso você utilize mais de uma unidade de disco, acrescente uma linha
para cada unidade. Veja essa configuração para um HD e um drive de
CD-ROM:

command_line {
hdparm -c1 -d1 -X68 -A1 -a12 -m12 -S120 -m180 /dev/hda
hdparm -c1 -d1 -X66 /dev/hdc
}

Depois, estará tudo pronto e o script /etc/init.d/hdparm start será executado na inicialização do sistema.

Lição 3 - Configurando o Ambiente Gráfico

Configurando o Ambiente Gráfico

A configuração do ambiente gráfico consiste em várias etapas. Temos


que configurar o servidor gráfico, responsável pelo gerenciamento da
placa de vídeo, teclado e monitor, configurar o gerenciador de login,
selecionar se vamos ou não usá-lo e qua gerenciador utilizar, e por fim
escolher o ambiente gráfico padrão.

Configurando o Servidor Gráfico

O servidor gráfico padrão do Debian é o XFree. Para configurá-lo, usaremos o dpkg-reconfigure, da seguinte forma:

# dpkg-reconfigure xserver-xfree86
Na primeira tela, temos que selecionar o controlador da placa de vídeo. Para saber qual usar, utilize o seguinte comando:

# lspci | grep VGA


0000:01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266]

Como podemos ver, essa é uma placa S3, modelo ProSavage8. Vamos então selecionar o controlador savage. Caso ele não
funcione, podemos tentar o controlador s3 e, em último caso, podemos selecionar o controlador genérico vesa.

Selecionado o controlador de vídeo, pressionamos Enter.

Na próxima tela, digitamos um nome para identificar a placa de vídeo. Isso é útil apenas se utilizarmos mais de uma placa de
vídeo no
mesmo computador, o que dificilmente ocorre. Digite um nome qualquer e pressione Enter.
A próxima tela contém instruções do que fazer na tela seguinte. Pressione Enter.

Se você estiver utilizando apenas uma placa de vídeo, deixe esse campo em branco. Caso esteja usando mais de uma, será
necessário
digitar a identificação da placa que será usada na configuração.

Para saber a BusID da sua placa de vídeo, utilize o comando já conhecido:

# lspci | grep VGA


0000:01:00.0 VGA compatible controller: S3 Inc. VT8375 [ProSavage8 KM266/KL266]

O primeiro campo corresponde à Bus ID. Basta selecionar os primeiros dígitos antes do primeiro e do segundo ":". Ou seja, se o
número da placa de vídeo exibido for 0000:01:00.0, você deverá digitar PCI:0:01:0.

Raramente usam-se mais de uma placa de vídeo. Então, dificilmente esse procedimento será necessário. Pressione Enter.
Na próxima tela, somos solicitados a informar a quantidade de memória da nossa placa de vídeo. É uma boa idéia deixar esse
campo em
branco, para deixar que o servidor gráfico descubra a quantidade de memória disponível, uma vez que costumam ocorrer erros
quando a quantidade de memória é informada. Pressione Enter para ir para a próxima tela.

Aqui, temos que selecionar as regras de gerenciamento do teclado, ou Xkb rules (X keyboard rules). Todos os teclados
comumente
usados no Brasil funcionam com as regras xfree86. Esse valor já estará previamente selecionado, basta pressionar Enter.
A próxima tela dá instruções sobre como configurar o modelo de teclado. Leia atentamente para entender qual o modelo
adequado. Pressione Enter.

Nessa tela, temos que selecionar o modelo de teclado utilizado. Se você utiliza um teclado brasileiro ABNT (que possui o "ç"),
coloque abnt2. Se você utiliza um teclado internacional (sem o "ç"), coloque pc104 se ele tiver as teclas localizadas entre o Ctrl
e o Alt, e pc101 se ele não tiver essas teclas. Feita a seleção, pressione Enter.

Na tela seguinte devemos selecionar um layout de teclado, que é a maneira como as teclas são distribuídas. Se o seu teclado
seguir as regras ABNT (tiver o "ç"), coloque br. Caso contrário, provavelmente se tratará de um teclado americano, então você
deve colocar us. Em seguida, pressione Enter.
Na próxima tela, devemos informar a variante de teclado, que fará com que o teclado escolhido anteriormente funcione
corretamente na
formação de caracteres especiais. Se você utiliza um teclado brasileiro ABNT, coloque abnt2, se usa um teclado internacional e
selecionou us na tela anterior, coloque us_intl aqui. Em seguida, pressione Enter.

Na tela seguinte, são exibidas informações sobre as opções de teclado. Essas opções dizem respeito quanto à funcionalidade das
teclas de funções, como Alt, Ctrl e Alt Gr. Siga as instruções exibidas nessa tela para fazer a sua escolha na tela seguinte, e
pressione Enter.
Digite as suas opções de teclado na tela que surge. Se não quiser acionar nenhuma opção especial, simplesmente deixe esse
campo em
branco. Ao final, pressione Enter.

Na próxima tela, escolha a porta em que seu mouse está ligado. Se for um mouse PS/2, o mais comum, selecione /dev/psaux.
Se for um mouse serial, geralmente a interface será a /dev/ttyS0. Selecione a porta correspondente e pressione Enter.
Aqui, você deve escolher o tipo do seu mouse. As opções que costumam funcionar com os tipos mais comuns de mouse são:

• PS/2 : Mouse PS/2 simples, com 2 ou 3 botões;


• ImPS/2: Mouse PS/2 com as chamadas "rodinhas";
• Microsoft : Para mouses do tipo serial.

Escolha o tipo do mouse e pressione Enter.

Na próxima tela você é perguntado sobre emular ou não um mouse de 3 botões. Se o seu mouse possui apenas 2 botões,
selecione Sim, para
que você possa simular o terceiro botão pressionando os botões direito e esquerdo simultaneamente. Se o mouse já possui 3
botões, selecione Não, e pressione Enter.

Na tela seguinte você deve selecionar se habilita ou não os eventos de rolagem do mouse. Selecione Sim caso o seu mouse
tenha as rodinhas de rolagem (scroll), caso contrário, selecione Não e pressione Enter.
Em seguida, você deve especificar um nome para identificar o seu monitor. Pode ser qualquer coisa, digite e pressione Enter.

Na seqüência, você deve informar se o seu monitor é ou não de LCD (cristal líquido). Se for, selecione Sim, se não, selecione
Não e pressione Enter.
Na próxima tela, selecione o nível de detalhes que você quer que seu monitor utilize. O modo Simple
é o modo mais simples de selecionar um conjunto de especificações de monitor, mas pode não funcionar caso o seu monitor
tenha um conjunto de especificações que não se encaixe nos padrões exibidos. O modo Medium, recomendado para a maioria
dos casos, mostra algumas opções com um conjunto de resolução de tela e freqüência de varredura vertical para serem
selecionados. Já o modo Advanced permite que sejam especificadas manualmente todas as especificações do monitor. Se você
tem em mãos todas essas especificações, selecione o modo Advanced. Na maioria dos casos, o modo Medium é a melhor opção.
Selecione-a e pressione Enter.

Selecione na tela que se abre em qual padrão de resolução de vídeo e freqüência horizontal o seu monitor se encaixa. Se você
não tiver essas informações experimente a opção 800x600 @ 60Hz para utilizar a resolução 800x600 ou 1024x768 @ 60Hz para
utilizar a resolução 1024x768. Ao final, pressione Enter.
Depois, selecione as resoluções de tela disponíveis para o seu
monitor. Você pode escolher qualquer resolução que não seja maior que a resolução selecionada na tela anterior. Use a barra de
espaço para marcar/desmarcar os itens. Ao final, pressione Enter.

Na tela seguinte você deve selecionar a profundidade de cores a ser utilizada pela sua placa de vídeo. Conforme as instruções, o
valor 24 deve ser preferido, a menos que a sua placa de vídeo não suporte esse valor. Feita a seleção, pressione Enter.

Na próxima tela são exibidas instruções sobre como proceder para fazer a seleção dos módulos do servidor X. Leia atentamente
as instruções e pressione Enter.
Selecione na tela seguinte quais módulos deseja carregar.
Normalmente é desejável carregar todos os módulos, a menos que eles realmente não possam ser utilizados ou conflitem com a
sua placa de vídeo. Use a barra de espaço para marcar/desmarcar os módulos, e pressione Enter ao final.

Na tela seguinte, selecione Sim, a menos que você queira fazer uma configuração manual e personalizada da seção Files do
arquivo de configuração do servidor X.
Por fim, na última tela, selecione Sim, a menos que você queira fazer uma configuração manual da seção DRI no arquivo de
configuração do servidor X.

Feito isso, o servidor X estará configurado. Para verificar se a configuração funcionou, logue-se como usuário comum e inicie o
modo gráfico, com o startx:

$ startx

Se tudo estiver correto, o ambiente gráfico padrão será iniciado.


Para retornar ao terminal, pressione Ctrl + Alt + Backspace.

Definindo Permissões e Prioridade do Servidor X

Por motivos de segurança, pode ser interessante impedir que o usuário root inicie sessões do X.
Como você sabe, o usuário root tem acesso total ao sistema, de forma que, ao iniciar uma sessão gráfica, ele permite que os
programas também tenham acesso total ao sistema, tornando-o completamente vulnerável a invasões e às eventuais falhas que
existam nos programas que rodam no modo gráfico.

Outro ponto importante é a prioridade de execução do servidor X. A prioridade de execução de um processo define a ordem em
que seus dados serão processados.

Para configurar isso, basta executar o seguinte comando:

# dpkg-reconfigure xserver-common

Na primeira tela, selecionamos as permissões de execução do servidor X. Selecione Somente Root para que apenas o usuário
root possa iniciar sessões do X; Somente usuários de console para que não permitir que o usuário root inicie sessões do X
(altamente recomendado) e Qualquer um para que qualquer usuário executar o servidor gráfico (por sua conta e risco). Feita a
seleção, pressione Enter.
Na outra tela, selecione a prioridade de execução do servidor X, de acordo com as instruções exibidas. Observe que os valores
recomendados são -10 para kernels da série 2.4, e 0 para kernels da série 2.6. Selecionado o valor, pressione Enter.

Configurando fontes

No modo gráfico, o modo como as fontes são exibidas pode variar conforme as configurações do servidor gráfico. Para configurar
a forma como as fontes são exibidas, execute o seguinte comando:

# dpkg-reconfigure fontconfig

Nessa primeira tela, selecione quais fontes devem ser ajustadas para exibição na tela. Escolha Native se você costuma utilizar as
fontes padrão do sistema e as fontes Microsoft. Selecione Autohinter se você costuma utilizar outras fontes TrueType. Selecione
None para não ajustar a exibição das fontes. Selecione sua opção e pressione Enter.

Na tela seguinte você deve configurar quando deverá ser ativada a renderização de subpixel. Esse recurso faz com que as fontes
tenham um aspecto visual bem melhor. Entretanto, em monitores CRT (de tubo), isso pode fazer com que apareçam
imperfeições nas fontes. A recomendação é que você selecione Always e, se aparecerem essas imperfeições nas fontes, volte a
essa configuração e selecione Automatic, para ativar a renderização por subpixel apenas quando for detectado um monitor LCD
(cristal líquido), ou Never, para nunca utilizar a renderização.
Por fim, selecione se você deseja utilizar fontes bitmapped por padrão. É altamente recomendável você selecionar Não, uma vez
que essas fontes possuem uma qualidade extremamente inferior às das fontes do tipo outlines.

Selecionando o Gerenciador de Login

Gerenciadores de login são programas que permitem aos usuários logarem no sistema graficamente. Por padrão, o gerenciador
de login é executado automaticamente quando o sistema é iniciado utilizando-se os níveis de execução de 2 a 5, a menos que se
se altere as configurações de algum desses níveis de execução.

Os gerenciadores de login mais conhecidos populares são 3: XDM, GDM e KDM. O XDM (X Display Manager) é o gerenciador
padrão do servidor X, bastante simples, com uma aparência não muito agradável mas extremamente leve. O GDM (GNOME
Display Manager) é o gerenciador do ambiente gráfico GNOME, e o KDM (K Display Manager) é o gerenciador do KDE, ambos
muito bonitos e personalizáveis, mas bem mais pesados que o XDM.

XDM

GDM
KDM

Para selecionar o gerenciador de login padrão, rode o seguinte comando:

# dpkg-reconfigure xdm

Selecione o gerenciador de login e pressione Enter.

Ao invés de xdm, podemos utilizar o gdm ou o kdm, mas para isso é preciso instalá-los, caso ainda não tenha feito:

# apt-get install gdm


# apt-get install kdm

Para usar outro gerenciador de login, basta colocar o gdm ou o kdm com o comando dpkg-reconfigure:

# dpkg-reconfigure gdm
# dpkg-reconfigure kdm

Entretanto, é preciso ter o GDM ou o KDM instalado para usar gdm ou kdm como parâmetros do dpkg-reconfigure.

Se você preferir não iniciar nenhum gerenciador de login, basta retirar a permissão de execução dos scripts kdm, gdm e xdm no
diretório /etc/init.d/:

# cd /etc/init.d
# chmod a-x kgm gdm xdm

Ou, se tiver certeza de que não quer utilizar gerenciador de login, pode remover definitivamente os scripts de inicialização:

# cd /etc/init.d
# rm gdm kdm xdm
# update-rc.d xdm remove
# update-rc.d gdm remove
# update-rc.d kdm remove

S-ar putea să vă placă și