# Capí­tulo 14 - Redirecionamentos e Pipe

Esta seção explica o funcionamento dos recursos de direcionamento de entrada e saí­da do sistema GNU/Linux.
Redireciona a saí­da de um programa/comando/script para algum dispositivo ou arquivo ao invés do dispositivo de saí­da padrão (tela). Quando é usado com arquivos, este redirecionamento cria ou substitui o conteúdo do arquivo.
Por exemplo, você pode usar o comando ls para listar arquivos e usar ls >listagem para enviar a saí­da do comando para o arquivo listagem. Use o comando cat para visualizar o conteúdo do arquivo listagem.
O mesmo comando pode ser redirecionado para o segundo console /dev/tty2 usando: ls >/dev/tty2, o resultado do comando ls será mostrado no segundo console (pressione ALT e F2 para mudar para o segundo console e ALT e F1 para retornar ao primeiro).
Redireciona a saí­da de um programa/comando/script para algum dispositivo ou final de arquivo em lugar do dispositivo de saí­da padrão (tela). A diferença entre esse redirecionamento duplo e o simples é que, se for usado com arquivos, adiciona a saí­da do comando ao final do arquivo existente, em vez de substituir seu conteúdo.
Por exemplo, você pode acrescentar a saí­da do comando ls ao arquivo listagem do capí­tulo anterior usando ls / >>listagem. Use o comando cat para visualizar o conteúdo do arquivo listagem.
Direciona a entrada padrão de arquivo/dispositivo para um comando. Este comando faz o contrário do anterior, ele envia dados ao comando.
Você pode usar o comando cat < teste.txt para enviar o conteúdo do arquivo teste.txt ao comando cat que mostrará seu conteúdo (é claro que o mesmo resultado pode ser obtido com cat teste.txt mas este exemplo serviu para mostrar a funcionalidade do < ).
Este redirecionamento serve principalmente para marcar o fim de exibição de um bloco. Este é especialmente usado em conjunto com o comando cat, mas também tem outras aplicações. Por exemplo:

## | (pipe)

Envia a saí­da de um comando para a entrada do próximo comando para continuidade do processamento. Os dados enviados são processados pelo próximo comando que mostrará o resultado do processamento.
Por exemplo: ls -la|more, este comando faz a listagem longa de arquivos que é enviado ao comando more (que tem a função de efetuar uma pausa a cada 25 linhas do arquivo).
Outro exemplo é o comando "locate find|grep bin/", neste comando todos os caminhos/arquivos que contém find na listagem serão mostrados (inclusive man pages, bibliotecas, etc.), então enviamos a saí­da deste comando para grep bin/ para mostrar somente os diretórios que contém binários. Mesmo assim a listagem ocupe mais de uma tela, podemos acrescentar o more: locate find|grep bin/|more.
Podem ser usados mais de um comando de redirecionamento (&lt;, &gt;, |) em um mesmo comando.

## Diferença entre o "|" e o ">"

A principal diferença entre o "|" e o ">", é que o Pipe envolve processamento entre comandos, ou seja, a saí­da de um comando é enviado a entrada do próximo e o ">" redireciona a saí­da de um comando para um arquivo/dispositivo.
Você pode notar pelo exemplo acima (ls -la|more) que ambos ls e more são comandos porque estão separados por um "|"! Se um deles não existir ou estiver digitado incorretamente, será mostrada uma mensagem de erro.
Um resultado diferente seria obtido usando um ">" no lugar do "|"; A saí­da do comando ls -la seria gravada em um arquivo chamado more.

## tee

Envia o resultado do programa para a saí­da padrão (tela) e para um arquivo ao mesmo tempo. Este comando deve ser usado com o pipe "|".
comando|tee [arquivo]
Exemplo: ls -la | tee listagem.txt -A saí­da do comando será mostrada na tela e ao mesmo tempo gravada no arquivo listagem.txt.
* 15.9 Outros arquivos de configuração relacionados com a rede
** 15.9.2 /etc/protocols

# Capí­tulo 15 - Rede

Este capí­tulo descreve o que é uma rede, os principais dispositivos de rede no GNU/Linux, a identificação de cada um, como configurar os dispositivos, escolha de endereços IP, roteamento.
Parte deste capí­tulo, uns 70% pelo menos, é baseado no documento NET3-4-HOWTO. (seria perda de tempo reescrever este assunto pois existe um material desta qualidade já disponí­vel).

## O que é uma rede

Rede é a conexão de duas ou mais máquinas com o objetivo de compartilhar recursos entre uma máquina e outra. Os recursos podem ser:
* Compartilhamento do conteúdo de seu disco rí­gido (ou parte dele) com outros usuários. Os outros usuários poderão acessar o disco como se estivesse instalado na própria máquina). Também chamado de servidor de arquivos.
* Compartilhamento de uma impressora com outros usuários. Os outros usuários poderão enviar seus trabalhos para uma impressora da rede. Também chamado de servidor de impressão.
* Compartilhamento de acesso a Internet. Outros usuários poderão navegar na Internet, pegar seus e-mails, ler noticias, bate-papo no IRC, ICQ através do servidor de acesso Internet. Também chamado de servidor Proxy.
* Servidor de Internet/Intranet. Outros usuários poderão navegar nas páginas Internet localizadas em seu computador, pegar e-mails, usar um servidor de IRC para chat na rede, servidor de ICQ, etc
Com os í­tens acima funcionando é possí­vel criar permissões de acesso da rede, definindo quem terá ou não permissão para acessar cada compartilhamento ou serviço existente na máquina (www, ftp, irc, icq, etc), e registrando/avisando sobre eventuais tentativas de violar a segurança do sistema, firewalls, pontes, etc.
Entre outras ilimitadas possibilidades que dependem do conhecimento do indiví­duo no ambiente GNU/Linux, já que ele permite muita flexibilidade para fazer qualquer coisa funcionar em rede.
A comunicação entre computadores em uma rede é feita através do Protocolo de Rede.

## Protocolo de Rede

O protocolo de rede é a linguagem usada para a comunicação entre um computador e outro. Existem vários tipos de protocolos usados para a comunicação de dados, alguns são projetados para pequenas redes (como é o caso do NetBios) outros para redes mundiais (TCP/IP que possui caracterí­sticas de roteamento).
Dentre os protocolos, o que mais se destaca atualmente é o TCP/IP devido ao seu projeto, velocidade e capacidade de roteamento.

## Endereço IP

O endereço IP são números que identificam seu computador em uma rede. Inicialmente você pode imaginar o IP como um número de telefone. O IP é compostos por quatro bytes e a convenção de escrita dos números é chamada de "notação decimal pontuada". Por convenção, cada interface (placa usada p/ rede) do computador ou roteador tem um endereço IP. Também é permitido que o mesmo endereço IP seja usado em mais de uma interface de uma mesma máquina mas normalmente cada interface tem seu próprio endereço IP.
As Redes do Protocolo Internet são sequências contí­nuas de endereços IP's. Todos os endereços dentro da rede tem um número de dí­gitos dentro dos endereços em comum. A porção dos endereços que são comuns entre todos os endereços de uma rede são chamados de porção da rede. Os dí­gitos restantes são chamados de porção dos hosts. O número de bits que são compartilhados por todos os endereços dentro da rede são chamados de netmask (máscara da rede) e o papel da netmask é determinar quais endereços pertencem ou não a rede. Por exemplo, considere o seguinte:
Qualquer endereço que é finalizado em zero em sua netmask, revelará o endereço da rede que pertence. O endereço e rede é então sempre o menor endereço numérico dentro da escalas de endereços da rede e sempre possui a porção host dos endereços codificada como zeros.
O endereço de broadcast é um endereço especial que cada computador em uma rede "escuta" em adição a seu próprio endereço. Este é um endereço onde os datagramas enviados são recebidos por todos os computadores da rede. Certos tipos de dados como informações de roteamento e mensagens de alerta são transmitidos para o endereço broadcast, assim todo computador na rede pode recebe-las simultaneamente.
Existe dois padrões normalmente usados para especificar o endereço de broadcast. O mais amplamente aceito é para usar o endereço mais alto da rede como endereço broadcast. No exemplo acima este seria 192.168.110.255. Por algumas razões outros sites tem adotado a convenção de usar o endereço de rede como o endereço broadcast. Na prática não importa muito se usar este endereço, mas você deve ter certeza que todo computador na rede esteja configurado para escutar o mesmo endereço broadcast.

### Classes de Rede IP

Por razões administrativas após algum pouco tempo no desenvolvimento do protocolo IP alguns grupos arbitrários de endereços foram formados em redes e estas redes foram agrupadas no que foram chamadas de classes. Estas classes armazenam um tamanho padrão de redes que podem ser usadas. As faixas alocadas são:
O tipo de endereço que você deve utilizar depende exatamente do que estiver fazendo.

### Para instalar uma máquina usando o Linux em uma rede existente

Se você quiser instalar uma máquina GNU/Linux em uma rede TCP/IP existente então você deve contactar qualquer um dos administradores da sua rede e perguntar o seguinte:
* Endereço IP de sua máquina
* Endereço IP da rede
* Endereço IP de broadcast
* Máscara da Rede IP
* Endereço do Roteador
* Endereço do Servidor de Nomes (DNS)
Você deve então configurar seu dispositivo de rede GNU/Linux com estes detalhes. Você não pode simplesmente escolhe-los e esperar que sua configuração funcione.

### Endereços reservados para uso em uma rede Privada

Se você estiver construindo uma rede privada que nunca será conectada a Internet, então você pode escolher qualquer endereço que quiser. No entanto, para sua segurança e padronização, existem alguns endereços IP's que foram reservados especificamente para este propósito. Eles estão especificados no RFC1597 e são os seguintes:
Você deve decidir primeiro qual será a largura de sua rede e então escolher a classe de rede que será usada.

## Interface de rede

As interfaces de rede no GNU/Linux estão localizadas no diretório /dev e a maioria é criada dinamicamente pelos softwares quando são requisitadas. Este é o caso das interfaces ppp e plip que são criadas dinamicamente pelos softwares.
Abaixo a identificação de algumas interfaces de rede no Linux (a ? significa um número que identifica as interfaces sequencialmente, iniciando em 0):
* eth? - Placa de rede Ethernet e WaveLan.
* ppp? - Interface de rede PPP (protocolo ponto a ponto).
* slip? - Interface de rede serial
* eql - Balanceador de tráfego para múltiplas linhas
* plip? - Interface de porta paralela
* arc?e, arc?s - Interfaces Arcnet
* sl?, ax? - Interfaces de rede AX25 (respectivamente para kernels 2.0.xx e 2.2.xx.
* fddi? - Interfaces de rede FDDI.
* dlci??, sdla? - Interfaces Frame Relay, respectivamente para para dispositivos de encapsulamento DLCI e FRAD.
* nr? - Interface Net Rom
* rs? - Interfaces Rose
* st? - Interfaces Strip (Starmode Radio IP)
* tr? - Token Ring
Para maiores detalhes sobre as interfaces acima, consulte o documento NET3-4-HOWTO.

### A interface loopback

A interface loopback é um tipo especial de interface que permite fazer conexões com você mesmo. Todos os computadores que usam o protocolo TCP/IP utilizam esta interface e existem várias razões porque precisa fazer isto, por exemplo, você pode testar vários programas de rede sem interferir com ninguém em sua rede. Por convenção, o endereço IP 127.0.0.1 foi escolhido especificamente para a loopback, assim se abrir uma conexão telnet para 127.0.0.1, abrirá uma conexão para o próprio computador local.
A configuração da interface loopback é simples e você deve ter certeza que fez isto (mas note que esta tarefa é normalmente feita pelos scripts padrões de inicialização existentes em sua distribuição).
Caso a interface loopback não esteja configurada, você poderá ter problemas quando tentar qualquer tipo de conexão com as interfaces locais, tendo problemas até mesmo com o comando ping.

### Atribuindo um endereço de rede a uma interface (ifconfig)

Após configurada fisicamente, a interface precisa receber um endereço IP para ser identificada na rede e se comunicar com outros computadores, além de outros parâmetros como o endereço de broadcast e a máscara de rede. O comando usado para fazer isso é o ifconfig (interface configure).
Para configurar a interface de rede Ethernet (eth0) com o endereço 192.168.1.1, máscara de rede 255.255.255.0, podemos usar o comando:

#### ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up

O comando acima ativa a interface de rede. A palavra up pode ser omitida, pois a ativação da interface de rede é o padrão. Para desativar a mesma interface de rede, basta usar usar o comando:

#### ifconfig eth0 down

Digitando ifconfig são mostradas todas as interfaces ativas no momento, pacotes enviados, recebidos e colisões de datagramas. Para mostrar a configuração somente da interface eth0, use o comando: ifconfig eth0 Em sistemas Debian, o arquivo correto para especificar os dados das interfaces é o /etc/network/interfaces (veja [ch-etc.html#s-etc-network-interfaces Arquivo /etc/network/interfaces, Seção 27.8]).
Para mais detalhes, veja a página de manual do ifconfig ou o NET3-4-HOWTO.

## Roteamento

Roteamento é quando uma máquina com múltiplas conexões de rede decide onde entregar os pacotes IP que recebeu, para que cheguem ao seu destino.
Pode ser útil ilustrar isto com um exemplo. Imagine um simples roteador de escritório, ele pode ter um link intermitente com a Internet, um número de segmentos ethernet alimentando as estações de trabalho e outro link PPP intermitente fora de outro escritório. Quando o roteador recebe um datagrama de qualquer de suas conexões de rede, o mecanismo que usa determina qual a próxima interface deve enviar o datagrama. Computadores simples também precisam rotear, todos os computadores na Internet tem dois dispositivos de rede, um é a interface loopback (explicada acima) o outro é um usado para falar com o resto da rede, talvez uma ethernet, talvez uma interface serial PPP ou SLIP.
OK, viu como o roteamento funciona? cada computador mantém uma lista de regras especiais de roteamento, chamada tabela de roteamento. Esta tabela contém colunas que tipicamente contém no mí­nimo três campos, o primeiro é o endereço de destino, o segundo é o nome da interface que o datagrama deve ser roteado e o terceiro é opcionalmente o endereço IP da outra máquina que levará o datagrama em seu próximo passo através da rede. No GNU/Linux você pode ver a tabela de roteamento usando um dos seguintes comandos:
O processo de roteamento é muito simples: um datagrama (pacote IP) é recebido, o endereço de destino (para quem ele é) é examinado e comparado com cada item da tabela de roteamento. O item que mais corresponder com o endereço é selecionado e o datagrama é direcionado a interface especificada.
Se o campo gateway estiver preenchido, então o datagrama é direcionado para aquele computador pela interface especificada, caso contrário o endereço de destino é assumido sendo uma rede suportada pela interface.

### Configurando uma rota no Linux

A configuração da rota é feita através da ferramenta route. Para adicionar uma rota para a rede 192.168.1.0 acessí­vel através da interface eth0 basta digitar o comando:
Para apagar a rota acima da tabela de roteamento, basta substituir a palavra add por del. A palavra net quer dizer que 192.168.1.0 é um endereço de rede (lembra-se das explicações em [#s-rede-ip Endereço IP, Seção 15.3]?)) para especificar uma máquina de destino, basta usar a palavra -host. Endereços de máquina de destino são muito usadas em conexões de rede apenas entre dois pontos (como ppp, plip, slip). Por padrão, a interface é especificada como último argumento. Caso a interface precise especifica-la em outro lugar, ela deverá ser precedida da opção -dev.
Para adicionar uma rota padrão para um endereço que não se encontre na tabela de roteamento, utiliza-se o gateway padrão da rede. Através do gateway padrão é possí­vel especificar um computador (normalmente outro gateway) que os pacotes de rede serão enviados caso o endereço não confira com os da tabela de roteamento. Para especificar o computador 192.168.1.1 como gateway padrão usamos:
O gateway padrão pode ser visualizado através do comando route -n e verificando o campo gateway. A opção gw acima, especifica que o próximo argumento é um endereço IP (de uma rede já acessí­vel através das tabelas de roteamento).
O computador gateway está conectado a duas ou mais redes ao mesmo tempo. Quando seus dados precisam ser enviados para computadores fora da rede, eles são enviados através do computador gateway e o gateway os encaminham ao endereço de destino. Desta forma, a resposta do servidor também é enviada através do gateway para seu computador (é o caso de uma tí­pica conexão com a Internet).
A nossa configuração ficaria assim:
Para mais detalhes, veja a página de manual do route ou o NET3-4-HOWTO.

## Resolvedor de nomes (DNS)

DNS significa Domain Name System (sistema de nomes de domí­nio). O DNS converte os nomes de máquinas para endereços IPs que todas as máquinas da Internet possuem. Ele faz o mapeamento do nome para o endereço e do endereço para o nome e algumas outras coisas. Um mapeamento é simplesmente uma associação entre duas coisas, neste caso um nome de computador, como www.cipsga.org.br, e o endereço IP desta máquina (ou endereços) como 200.245.157.9.
O DNS foi criado com o objetivo de tornar as coisas mais fáceis para o usuário, permitindo assim, a identificação de computadores na Internet ou redes locais através de nomes (é como se tivéssemos apenas que decorar o nome da pessoa ao invés de um número de telefone). A parte responsável por traduzir os nomes como www.nome.com.br em um endereço IP é chamada de resolvedor de nomes.
O resolvedor de nomes pode ser um banco de dados local (controlador por um arquivo ou programa) que converte automaticamente os nomes em endereços IP ou através de servidores DNS que fazem a busca em um banco de dados na Internet e retornam o endereço IP do computador desejado. Um servidor DNS mais difundido na Internet é o bind.
Através do DNS é necessário apenas decorar o endereço sem precisar se preocupar com o endereço IP (alguns usuários simplesmente não sabem que isto existe...). Se desejar mais detalhes sobre DNS, veja o documento DNS-HOWTO.

### O que é um nome?

Você deve estar acostumado com o uso dos nomes de computadores na Internet, mas pode não entender como eles são organizados. Os nomes de domí­nio na Internet são uma estrutura hierárquica, ou seja, eles tem uma estrutura semelhante aos diretórios de seu sistema.
Um domí­nio é uma famí­lia ou grupo de nomes. Um domí­nio pode ser colocado em um sub-domí­nio. Um domí­nio principal é um domí­nio que não é um sub-domí­nio. Os domí­nios principais são especificados na RFC-920. Alguns exemplos de domí­nios principais comuns são:
* COM - Organizações Comerciais
* EDU - Organizações Educacionais
* GOV - Organizações Governamentais
* MIL - Organizações Militares
* ORG - Outras Organizações
* NET - Organizações relacionadas com a Internet
* Identificador do Paí­s - São duas letras que representam um paí­s em particular.
Cada um dos domí­nios principais tem sub-domí­nios. Os domí­nios principais baseados no nome do paí­s são frequentemente divididos em sub-domí­nios baseado nos domí­nios .com, .edu, .gov, .mil e .org. Assim, por exemplo, você pode finaliza-lo com: com.au e gov.au para organizações comerciais e governamentais na Austrália; note que isto não é uma regra geral, as organizações de domí­nio atuais dependem da autoridade na escolha de nomes de cada domí­nio. Quando o endereço não especifica o domí­nio principal, como o endereço www.unicamp.br, isto quer dizer que é uma organização acadêmica.
O próximo ní­vel da divisão representa o nome da organização. Subdomí­nios futuros variam em natureza, frequentemente o próximo ní­vel do sub-domí­nio é baseado na estrutura departamental da organização mas ela pode ser baseada em qualquer critério considerado razoável e significantes pelos administradores de rede para a organização.
A porção mais a esquerda do nome é sempre o nome único da máquina chamado hostname, a porção do nome a direita do hostname é chamado nome de domí­nio e o nome completo é chamado nome do domí­nio completamente qualificado (Fully Qualified Domain Name).
Usando o computador www.debian.org.br como exemplo:
* br - Paí­s onde o computador se encontra
* org - Domí­nio principal
* debian - Nome de Domí­nio
* www - Nome do computador
A localização do computador www.debian.org.br através de servidores DNS na Internet obedece exatamente a sequência de procura acima. Os administradores do domí­nio debian.org.br podem cadastrar quantos sub-domí­nios e computadores quiserem (como www.non-us.debian.org.br ou cvs.debian.org.br).

### Arquivos de configuração usados na resolução de nomes

Abaixo a descrição dos arquivos usados no processo de resolver um nome no sistema GNU/Linux.

#### /etc/resolv.conf

O /etc/resolv.conf é o arquivo de configuração principal do código do resolvedor de nomes. Seu formato é um arquivo texto simples com um parâmetro por linha, e os endereços de servidores DNS externos são especificados nele. Existem três palavras chaves normalmente usadas que são:

##### domain

    Especifica o nome do domí­nio local.

##### search

    Especifica uma lista de nomes de domí­nio alternativos ao procurar por um computador, separados por espaços. A linha search pode conter no máximo 6 domí­nios ou 256 caracteres.

##### nameserver

    Especifica o endereço IP de um servidor de nomes de domí­nio para resolução de nomes. Pode ser usado várias vezes.
Como exemplo, o /etc/resolv.conf se parece com isto:
Este exemplo especifica que o nome de domí­nio a adicionar ao nome não qualificado (i.e. hostnames sem o domí­nio) é maths.wu.edu.au e que se o computador não for encontrado naquele domí­nio então a procura segue para o domí­nio wu.edu.au diretamente. Duas linhas de nomes de servidores foram especificadas, cada uma pode ser chamada pelo código resolvedor de nomes para resolver o nome.

#### /etc/host.conf

O arquivo /etc/host.conf é o local onde é possí­vel configurar alguns í­tens que gerenciam o código do resolvedor de nomes. O formato deste arquivo é descrito em detalhes na página de manual resolv . Em quase todas as situações, o exemplo seguinte funcionará:
Este arquivo de configuração diz ao resolvedor de nomes para checar o arquivo /etc/hosts (parâmetro hosts) antes de tentar verificar um servidor de nomes (parâmetro bind) e retornar um endereço IP válido para o computador procurado e multi on retornará todos os endereços IP resolvidos no arquivo /etc/hosts ao invés do primeiro.
Os seguintes parâmetros podem ser adicionados para evitar ataques de IP spoofing:
O parâmetro nospoof on ativa a resolução reversa do nome da biblioteca resolv (para checar se o endereço pertence realmente í quele nome) e o spoofalert on registra falhas desta operação no syslog.

#### /etc/hosts

O arquivo /etc/hosts faz o relacionamento entre um nome de computador e endereço IP local. Recomendado para IPs constantemente acessados e para colocação de endereços de virtual hosts (quando deseja referir pelo nome ao invés de IP). A inclusão de um computador neste arquivo dispenda a consulta de um servidor de nomes para obter um endereço IP, sendo muito útil para máquinas que são acessadas frequentemente. A desvantagem de fazer isto é que você mesmo precisará manter este arquivo atualizado e se o endereço IP de algum computador for modificado, esta alteração deverá ser feita em cada um dos arquivos hosts das máquinas da rede. Em um sistema bem gerenciado, os únicos endereços de computadores que aparecerão neste arquivo serão da interface loopback e os nomes de computadores.
Você pode especificar mais que um nome de computador por linha como demonstrada pela primeira linha, a que identifica a interface loopback. Certifique-se de que a entrada do nome de domí­nio neste arquivo aponta para a interface de rede e não para a interface loopback, ou terá problema com o comportamento de alguns serviços.
OBS: Caso encontre problemas de lentidão para resolver nomes e até para executar os aplicativos (como o mc, etc), verifique se existem erros neste arquivo de configuração.
Estes sintomas se confundem com erros de memória ou outro erro qualquer de configuração de hardware, e somem quando a interface de rede é desativada (a com o IP não loopback). Isto é causados somente pela má configuração do arquivo /etc/hosts. O bom funcionamento do Unix depende da boa atenção do administrador de sistemas para configurar os detalhes de seu servidor.

#### /etc/networks

O arquivo /etc/networks tem uma função similar ao arquivo /etc/hosts. Ele contém um banco de dados simples de nomes de redes contra endereços de redes. Seu formato se difere por dois campos por linha e seus campos são identificados como:
Abaixo um exemplo de como se parece este arquivo:
Quando usar comandos como route, se um destino é uma rede e esta rede se encontra no arquivo /etc/networks, então o comando route mostrará o nome da rede ao invés de seu endereço.

### Executando um servidor de nomes

Se você planeja executar um servidor de nomes, você pode fazer isto facilmente. Por favor veja o documento DNS-HOWTO e quaisquer documentos incluí­dos em sua versão do BIND (Berkeley Internet Name Domain).

## Serviços de Rede

Serviços de rede é o que está disponí­vel para ser acessado pelo usuário. No TCP/IP, cada serviço é associado a um número chamado porta que é onde o servidor espera pelas conexões dos computadores clientes. Uma porta de rede pode ser referenciada tanto pelo número como pelo nome do serviço.
Abaixo, alguns exemplos de portas padrões usadas em serviços TCP/IP:
* 21 - FTP (transferência de arquivos)
* 23 - Telnet (terminal virtual remoto)
* 25 - Smtp (envio de e-mails)
* 53 - DNS (resolvedor de nomes)
* 79 - Finger (detalhes sobre usuários do sistema)
* 80 - http (protocolo www - transferência de páginas Internet)
* 110 - Pop-3 (recebimento de mensagens)
* 119 - NNTP (usado por programas de noticias)
O arquivo padrão responsável pelo mapeamento do nome dos serviços e das portas mais utilizadas é o /etc/services (para detalhes sobre o seu formato, veja a [#s-rede-outros-services /etc/services, Seção 15.9.1]).

### Serviços iniciados como Daemons de rede

Serviços de rede iniciados como daemons ficam residente o tempo todo na memória esperando que alguém se conecte (também chamado de modo standalone). Um exemplo de daemon é o servidor proxy squid e o servidor web Apache operando no modo daemon.
Alguns programas servidores oferecem a opção de serem executados como daemons ou através do inetd. É recomendável escolher daemon se o serviço for solicitado frequentemente (como é o caso dos servidores web ou proxy).
Para verificar se um programa está rodando como daemon, basta digitar ps ax e procurar o nome do programa, em caso positivo ele é um daemon.
Normalmente os programas que são iniciados como daemons possuem seus próprios recursos de segurança/autenticação para decidir quem tem ou não permissão de se conectar.

### Serviços iniciados através do inetd

Serviços iniciados pelo inetd são carregados para a memória somente quando são solicitados. O controle de quais serviços podem ser carregados e seus parâmetros, são feitos através do arquivo /etc/inetd.conf.
Um daemon chamado inetd lê as configurações deste arquivo e permanece residente na memória, esperando pela conexão dos clientes. Quando uma conexão é solicitada, o daemon inetd verifica as permissões de acesso nos arquivos /etc/hosts.allow e /etc/hosts.deny e carrega o programa servidor correspondente no arquivo /etc/inetd.conf. Um arquivo também importante neste processo é o /etc/services que faz o mapeamento das portas e nomes dos serviços.
Alguns programas servidores oferecem a opção de serem executados como daemons ou através do inetd. É recomendável escolher inetd se o serviço não for solicitado frequentemente (como é o caso de servidores ftp, telnet, talk, etc).

#### /etc/inetd.conf

O arquivo /etc/inetd.conf é um arquivo de configuração para o daemon servidor inetd. Sua função é dizer ao inetd o que fazer quando receber uma requisição de conexão para um serviço em particular. Para cada serviço que deseja aceitar conexões, você precisa dizer ao inetd qual daemon servidor executar e como executa-lo.
Seu formato é também muito simples. É um arquivo texto com cada linha descrevendo um serviço que deseja oferecer. Qualquer texto em uma linha seguindo uma "#" é ignorada e considerada um comentário. Cada linha contém sete campos separados por qualquer número de espaços em branco (tab ou espaços). O formato geral é o seguinte:

##### serviço

    É o serviço relevante a este arquivo de configuração pego do arquivo /etc/services.

##### tipo_soquete

    Este campo descreve o tipo do soquete que este item utilizará, valores permitidos são: stream, dgram, raw, rdm, ou seqpacket. Isto é um pouco técnico de natureza, mas como uma regra geral, todos os serviços baseados em tcp usam stream e todos os protocolos baseados em udp usam dgram. Somente alguns tipos de daemons especiais de servidores usam os outros valores.

##### protocolo

    O protocolo é considerado válido para esta item. Isto deve bater com um item apropriado no arquivo /etc/services e tipicamente será tcp ou udp. Servidores baseados no Sun RPC (Remote Procedure Call), utilizam rpc/tcp ou rpc/udp.

##### opções

    Existem somente duas configurações para este campo. A configuração deste campo diz ao inetd se o programa servidor de rede libera o soquete após ele ser iniciado e então se inetd pode iniciar outra cópia na próxima requisição de conexão, ou se o inetd deve aguardar e assumir que qualquer servidor já em execução pegará a nova requisição de conexão.
Este é um pequeno truque de trabalho, mas como uma regra, todos os servidores tcp devem ter este parâmetro ajustado para nowait e a maior parte dos servidores udp deve tê-lo ajustado para wait. Foi alertado que existem algumas exceções a isto, assim deixo isto como exemplo se não estiver seguro. O número especificado após o "." é opcional e define a quantidade máxima de vezes que o serviço poderá ser executado durante 1 minuto. Se o serviço for executado mais vezes do que este valor, ele será automaticamente desativado pelo inetd e uma mensagem será mostrada no log do sistema avisando sobre o fato. Para reativar o serviço interrompido, reinicie o inetd com: killall -HUP inetd. O valor padrão é 40.

##### usuário

    Este campo descreve que conta de usuário usuário no arquivo /etc/passwd será escolhida como dono do daemon de rede quando este for iniciado. Isto é muito útil se você deseja diminuir os riscos de segurança. Você pode ajustar o usuário de qualquer item para o usuário nobody, assim se a segurança do servidor de redes é quebrada, a possibilidade de problemas é minimizada. Normalmente este campo é ajustado para root, porque muitos servidores requerem privilégios de usuário root para funcionarem corretamente.

##### caminho_servidor

    Este campo é o caminho para o programa servidor atual que será executado.

##### argumentos_servidor

    Este campo inclui o resto da linha e é opcional. Você pode colocar neste campo qualquer argumento da linha de comando que deseje passar para o daemon servidor quando for iniciado.
Uma dica que pode aumentar significativamente a segurança de seu sistema é comentar (colocar uma #no inicio da linha) os serviços que não serão utilizados.
Abaixo um modelo de arquivo /etc/inetd.conf usado em sistemas Debian:

## Segurança da Rede e controle de Acesso

Deixe-me iniciar esta seção lhe alertando que a segurança da rede em sua máquina e ataques maliciosos são uma arte complexa. Uma regra importante é: "Não ofereça serviços de rede que não deseja utilizar".
Muitas distribuições vem configuradas com vários tipos de serviços que são iniciados automaticamente. Para melhorar, mesmo que insignificantemente, o ní­vel de segurança em seu sistema você deve editar se arquivo /etc/inetd.conf e comentar (colocar uma "#") as linhas que contém serviços que não utiliza.
Bons candidatos são serviços tais como: shell, login, exec, uucp, ftp e serviços de informação tais como finger, netstat e sysstat.
Existem todos os tipos de mecanismos de segurança e controle de acesso, eu descreverei os mais importantes deles.

### /etc/ftpusers

O arquivo /etc/ftpusers é um mecanismo simples que lhe permite bloquear a conexão de certos usuários via ftp. O arquivo /etc/ftpusers é lido pelo programa daemon ftp (ftpd) quando um pedido de conexão é recebido. O arquivo é uma lista simples de usuários que não tem permissão de se conectar. Ele se parece com:

### /etc/securetty

O arquivo /etc/securetty lhe permite especificar que dispositivos tty que o usuário root pode se conectar. O arquivo /etc/securetty é lido pelo programa login (normalmente /bin/login). Seu formato é uma lista de dispositivos tty onde a conexão é permitida, em todos os outros, a entrada do usuário root é bloqueada.

### O mecanismo de controle de acessos tcpd

O programa tcpd que você deve ter visto listado no mesmo arquivo /etc/inetd.conf, oferece mecanismos de registro e controle de acesso para os serviços que esta configurado para proteger. Ele é um tipo de firewall simples e fácil de configurar que pode evitar tipos indesejados de ataques e registrar possí­veis tentativas de invasão.
Quando é executado pelo programa inetd, ele lê dos arquivos contendo regras de acesso e permite ou bloqueia o acesso ao servidor protegendo adequadamente.
Ele procura nos arquivos de regras até que uma regra confira. Se nenhuma regra conferir, então ele assume que o acesso deve ser permitido a qualquer um. Os arquivos que ele procura em sequência são: /etc/hosts.allow e /etc/hosts.deny. Eu descreverei cada um destes arquivos separadamente.
Para uma descrição completa desta facilidade, você deve verificar a página de manual apropriada (hosts_access (5) é um bom ponto de partida).

#### /etc/hosts.allow

O arquivo /etc/hosts.allow é um arquivo de configuração do programa /usr/sbin/tcpd. O arquivo hosts.allow contém regras descrevendo que hosts tem permissão de acessar um serviço em sua máquina.
O formato do arquivo é muito simples:

##### lista de serviços

    É uma lista de nomes de serviços separados por ví­rgula que esta regra se aplica. Exemplos de nomes de serviços são: ftpd, telnetd e fingerd.

##### lista de hosts

    É uma lista de nomes de hosts separada por ví­rgula. Você também pode usar endereços IP's aqui. Adicionalmente, você pode especificar nomes de computadores ou endereço IP usando caracteres coringas para atingir grupos de hosts.
Exemplos incluem: gw.vk2ktj.ampr.org para conferir com um endereço de computador especí­fico, .uts.edu.au para atingir qualquer endereço de computador finalizando com aquele string. Use 200.200.200. para conferir com qualquer endereço IP iniciando com estes dí­gitos. Existem alguns parâmetros especiais para simplificar a configuração, alguns destes são: ALL atinge todos endereços, LOCAL atinge qualquer computador que não contém um "." (ie. está no mesmo domí­nio de sua máquina) e PARANOID atinge qualquer computador que o nome não confere com seu endereço (falsificação de nome). Existe também um último parâmetro que é também útil: o parâmetro EXCEPT lhe permite fazer uma lista de exceções. Isto será coberto em um exemplo adiante.

##### comando

    É um parâmetro opcional. Este parâmetro é o caminho completo de um comando que deverá ser executado toda a vez que esta regra conferir. Ele pode executar um comando para tentar identificar quem esta conectado pelo host remoto, ou gerar uma mensagem via E-Mail ou algum outro alerta para um administrador de rede que alguém está tentando se conectar.
Existem um número de expansões que podem ser incluí­das, alguns exemplos comuns são: %h expande o endereço do computador que está conectado ou endereço se ele não possuir um nome, %d o nome do daemon sendo chamado.
Se o computador tiver permissão de acessar um serviço através do /etc/hosts.allow, então o /etc/hosts.deny não será consultado e o acesso será permitido.
Como exemplo:
Qualquer modificação no arquivo /etc/hosts.allow entrará em ação após reiniciar o daemon inetd. Isto pode ser feito com o comando kill -HUP [pid do inetd], o pid do inetd pode ser obtido com o comando ps ax|grep inetd.

#### /etc/hosts.deny

O arquivo /etc/hosts.deny é um arquivo de configuração das regras descrevendo quais computadores não tem a permissão de acessar um serviço em sua máquina.
Um modelo simples deste arquivo se parece com isto:
A entrada PARANOID é realmente redundante porque a outra entrada nega tudo. Qualquer uma destas linhas pode fazer uma segurança padrão dependendo de seu requerimento em particular.
Tendo um padrão ALL: ALL no arquivo /etc/hosts.deny e então ativando especificamente os serviços e permitindo computadores que você deseja no arquivo /etc/hosts.allow é a configuração mais segura.
Qualquer modificação no arquivo /etc/hosts.deny entrará em ação após reiniciar o daemon inetd. Isto pode ser feito com o comando kill -HUP [pid do inetd], o pid do inetd pode ser obtido com o comando ps ax|grep inetd.

#### /etc/hosts.equiv e /etc/shosts.equiv

O arquivo /etc/hosts.equiv é usado para garantir/bloquear certos computadores e usuários o direito de acesso aos serviços "r*" (rsh, rexec, rcp, etc) sem precisar fornecer uma senha. O /etc/shosts.equiv é equivalente mas é lido somente pelo serviço ssh. Esta função é útil em um ambiente seguro onde você controla todas as máquinas, mesmo assim isto é um perigo de segurança (veja nas observações). O formato deste arquivo é o seguinte:
O primeiro campo especifica se o acesso será permitido ou negado caso o segundo e terceiro campo confiram. Por razões de segurança deve ser especificado o FQDN no caso de nomes de máquinas. Grupos de rede podem ser especificados usando a sintaxe " @grupo".
Para aumentar a segurança, não use este mecanismo e encoraje seus usuários a também não usar o arquivo .rhosts.
ATENÇÃO O uso do sinal " " sozinho significa permitir acesso livre a qualquer pessoa de qualquer lugar. Se este mecanismo for mesmo necessário, tenha muita atenção na especificação de seus campos.
Evita também A TODO CUSTO uso de nomes de usuários (a não ser para negar o acesso), pois é fácil forjar o login, entrar no sistema tomar conta de processos (como por exemplo do servidor Apache rodando sob o usuário www-data ou até mesmo o root), causando enormes estragos.

#### Verificando a segurança do TCPD e a sintaxe dos arquivos

O utilitário tcpdchk é útil para verificar problemas nos arquivos hosts.allow e hosts.deny. Quando é executado ele verifica a sintaxe destes arquivos e relata problemas, caso eles existam.
Outro utilitário útil é o tcpdmatch, o que ele faz é permitir que você simule a tentativa de conexões ao seu sistema e observar ser ela será permitida ou bloqueada pelos arquivos hosts.allow e hosts.deny.
É importante mostrar na prática como o tcpdmatch funciona através de um exemplo simulando um teste simples em um sistema com a configuração padrão de acesso restrito:
* O arquivo hosts.allow contém as seguintes linhas:
A primeira linha permite o loopback (127.0.0.1) acessar qualquer serviço TCP/UDP em nosso computador, a segunda linha permite qualquer um acessar os servidor TALK (nós desejamos que o sistema nos avise quando alguém desejar conversar) e a terceira somente permite enviar dados do finger para computadores dentro de nossa rede privada (exceto para 192.168.1.30).
* O arquivo hosts.deny contém a seguinte linha:
Qualquer outra conexão será explicitamente derrubada.
Vamos aos testes, digitando: "tcpdmatch in.fingerd 127.0.0.1" (verificar se o endereço 127.0.0.1 tem acesso ao finger):
Ok, temos acesso garantido com especificado pela linha 1 do hosts.allow (a primeira linha que confere é usada). Agora "tcpdmatch in.fingerd 192.168.1.29":
O acesso foi permitido através da linha 3 do hosts.allow. Agora "tcpdmatch in.fingerd 192.168.1.29":
O que aconteceu? como a linha 2 do hosts.allow permite o acesso a todos os computadores 192.168.1.* exceto 192.168.1.30, ela não bateu, então o processamento partiu para o hosts.deny que nega todos os serviços para qualquer endereço. Agora um último exemplo: "tcpdmatch in.talkd www.debian.org"
Ok, na linha 2 qualquer computador pode te chamar para conversar via talk na rede, mas para o endereço DNS conferir com um IP especificado, o GNU/Linux faz a resolução DNS, convertendo o endereço para IP e verificando se ele possui acesso.
No lugar do endereço também pode ser usado a forma daemon@computador ou cliente@computador para verificar respectivamente o acesso de daemons e cliente de determinados computadores aos serviços da rede.
Como pode ver o TCPD ajuda a aumentar a segurança do seu sistema, mas não confie nele além do uso em um sistema simples, é necessário o uso de um firewall verdadeiro para controlar minuciosamente a segurança do seu sistema e dos pacotes que atravessam os protocolos, roteamento e as interfaces de rede. Se este for o caso aprenda a trabalhar a fundo com firewalls e implemente a segurança da sua rede da forma que melhor planejar.

### Firewall

Dentre todos os métodos de segurança, o Firewall é o mais seguro. A função do Firewall é bloquear determinados tipos de tráfego de um endereço ou para uma porta local ou permitir o acesso de determinados usuários mas bloquear outros, bloquear a falsificação de endereços, redirecionar tráfego da rede, ping da morte, etc.
A implementação de um bom firewall dependerá da experiência, conhecimentos de rede (protocolos, roteamento, interfaces, endereçamento, masquerade, etc), da rede local, e sistema em geral do Administrador de redes, a segurança de sua rede e seus dados dependem da escolha do profissional correto, que entenda a fundo o TCP/IP, roteamento, protocolos, serviços e outros assuntos ligados a rede.
Frequentemente tem se ouvido falar de empresas que tiveram seus sistemas invadidos, em parte isto é devido a escolha do sistema operacional indevido mas na maioria das vezes o motivo é a falta de investimento da empresa em polí­ticas de segurança, que algumas simplesmente consideram a segurança de seus dados e sigilo interno como uma despesa a mais.
Um bom firewall que recomendo é o ipchains, Sinus e o TIS. Particularmente gosto muito de usar o ipchains e o Sinus e é possí­vel fazer coisas inimagináveis programando scripts para interagirem com estes programas...

## Outros arquivos de configuração relacionados com a rede
### /etc/services

O arquivo /etc/services é um banco de dados simples que associa um nome amigável a humanos a uma porta de serviço amigável a máquinas. É um arquivo texto de formato muito simples, cada linha representa um item no banco de dados. Cada item é dividido em três campos separados por qualquer número de espaços em branco (tab ou espaços). Os campos são:

#### name

    Uma palavra simples que representa o nome do serviço sendo descrito.

#### porta/protocolo

    Este campo é dividido em dois sub-campos.
   * porta - Um número que especifica o número da porta em que o serviço estará disponí­vel. Muitos dos serviços comuns tem designados um número de serviço. Estes estão descritos no RFC-1340.
   * protocolo - Este sub-campo pode ser ajustado para tcp ou udp. É importante notar que o item 18/tcp é muito diferente do item 18/udp e que não existe razão técnica porque o mesmo serviço precisa existir em ambos. Normalmente o senso comum prevalece e que somente se um serviço esta disponí­vel em ambos os protocolos tcp e udp, você precisará especificar ambos.

#### apelidos

    Outros nomes podem ser usados para se referir a entrada deste serviço.

#### comentário

    Qualquer texto aparecendo em uma linha após um caracter "#" é ignorado e tratado como comentário.

### /etc/protocols

O arquivo /etc/protocols é um banco de dados que mapeia números de identificação de protocolos novamente em nomes de protocolos. Isto é usado por programadores para permiti-los especificar protocolos por nomes em seus programas e também por alguns programas tal como tcpdump permitindo-os mostrar nomes ao invés de números em sua saí­da. A sintaxe geral deste arquivo é:
* 16.13 Aplicando Patches no kernel

# Capí­tulo 16 - Kernel e Módulos

Este capí­tulo descreve em detalhes o que é o kernel, módulos, sua configuração e programas relacionados.

## O Kernel

É a peça central do sistema operacional (o Linux), é ele que controla os dispositivos e demais periféricos do sistema (como memória, placas de som, ví­deo, discos rí­gidos, disquetes, sistemas de arquivos, redes e outros recursos disponí­veis). Muitos confundem isto e chamam a distribuição de sistema operacional. Isto é errado!
O kernel faz o controle dos periféricos do sistema e para isto ele deve ter o seu suporte incluí­do. Para fazer uma placa de som Sound Blaster funcionar, por exemplo, é necessário que o kernel ofereça suporte a este placa e você deve configurar seus parâmetros (como interrupção, I/O e DMA) com comandos especí­ficos para ativar a placa e faze-la funcionar corretamente. Existe um documento que contém quais são os periféricos suportados/ não suportados pelo GNU/Linux, ele se chama Hardware-HOWTO.
Suas versões são identificadas por números como 2.2.30, 2.4.33, 2.6.23.6, as versões que contém um número par entre o primeiro e segundo ponto são versões estáveis e que contém números í­mpares neste mesmo local são versões instáveis (em desenvolvimento). Usar versões instáveis não quer dizer que ocorrerá travamentos ou coisas do tipo, mas algumas partes do kernel podem não estar testadas o suficiente ou alguns controladores podem ainda estar incompletos para obter pleno funcionamento. Se opera sua máquina em um ambiente crí­tico, prefira pegar versões estáveis do kernel.
Após inicializar o sistema, o kernel e seus arquivos podem ser acessados ou modificados através do ponto de montagem /proc. Para detalhes veja [ch-disc.html#s-disc-proc O sistema de arquivos /proc, Seção 5.8].
Caso você tenha um dispositivo (como uma placa de som) que tem suporte no GNU/Linux mas não funciona veja [#s-kern-suporte Como adicionar suporte a Hardwares e outros dispositivos no kernel, Seção 16.3].

## Módulos

São partes do kernel que são carregadas somente quando são solicitadas por algum aplicativo ou dispositivo e descarregadas da memória quando não são mais usadas. Este recurso é útil por 2 motivos: Evita a construção de um kernel grande (estático) que ocupe grande parte da memória com todos os drivers compilados e permite que partes do kernel ocupem a memória somente quando forem necessários.
Os módulos do kernel estão localizados no diretório /lib/modules/versão_do_kernel/* (onde versão_do_kernel é a versão atual do kernel em seu sistema, caso seja 2.6.23.6 o diretório que contém seus módulos será /lib/modules/2.6.23.6.
Os módulos são carregados automaticamente quando solicitados através do programa kmod ou manualmente através do arquivo /etc/modules , insmod ou modprobe. Atenção: Não compile o suporte ao seu sistema de arquivos raí­z como módulo, isto o tornará inacessí­vel, a não ser que esteja usando initrd.

## Como adicionar suporte a Hardwares e outros dispositivos no kernel

Quando seu hardware não funciona mas você tem certeza que é suportado pelo GNU/Linux, é preciso seguir alguns passos para faze-lo funcionar corretamente:
* Verifique se o kernel atual foi compilado com suporte ao seu dispositivo. Também é possí­vel que o suporte ao dispositivo esteja compilado como módulo. Dê o comando dmesg para ver as mensagens do kernel durante a inicialização e verifique se aparece alguma coisa referente ao dispositivo que deseja instalar (alguma mensagem de erro, etc). Caso não aparecer nada é possí­vel que o driver esteja compilado como módulo, para verificar isto entre no diretório /lib/modules/versao_do_kernel e veja se encontra o módulo correspondente ao seu dispositivo (o módulo da placa NE 2000 tem o nome de ne.ko e o da placa Sound Blaster de sb.ko, por exemplo).
OBS: Nos kernel 2.4 e anteriores, a extensão dos módulos era .o. Caso o kernel não tiver o suporte ao seu dispositivo, você precisará recompilar seu kernel ativando seu suporte. Veja [#s-kern-recompilando Recompilando o Kernel, Seção 16.11].
* Caso seu hardware esteja compilado no kernel, verifique se o módulo correspondente está carregado (com o comando lsmod). Caso não estiver, carregue-o com o modprobe (por exemplo, modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpuio=0x330), para detalhes veja [#s-kern-modprobe modprobe, Seção 16.8].
O uso deste comando deverá ativar seu hardware imediatamente, neste caso configure o módulo para ser carregado automaticamente através do programa modconf ou edite os arquivos relacionados com os módulos (veja [#s-kern-arquivos Arquivos relacionados com o Kernel e Módulos, Seção 16.12]). Caso não tenha sucesso, será retornada uma mensagem de erro.

## kmod

Este é o programa usado para carregar os módulos automaticamente quando são requeridos pelo sistema. Ele é um daemon que funciona constantemente fazendo a monitoração, quando verifica que algum dispositivo ou programa está solicitando o suporte a algum dispositivo, ele carrega o módulo correspondente.
Ele pode ser desativado através da recompilação do kernel, dando um kill no processo ou através do arquivo /etc/modules (veja [#s-kern-arquivos-modules /etc/modules, Seção 16.12.1]. Caso seja desativado, é preciso carregar manualmente os módulos através do modprobe ou insmod.

## lsmod

Lista quais módulos estão carregados atualmente pelo kernel. O nome lsmod é uma contração de ls módulos - Listar Módulos. A listagem feita pelo lsmod é uma alternativa ao uso do comando cat /proc/modules.
A saí­da deste comando tem a seguinte forma:
A coluna Module indica o nome do módulo que está carregado, a coluna Used mostra qual módulos está usando aquele recurso. O parâmetro (autoclean) no final da coluna indica que o módulo foi carregado manualmente (pelo insmod ou modprobe) ou através do kmod e será automaticamente removido da memória quando não for mais usado.
No exemplo acima os módulos ne e 8390 não tem o parâmetro (autoclean) porque foram carregados pelo arquivo /etc/modules (veja [#s-kern-arquivos-modules /etc/modules, Seção 16.12.1]). Isto significa que não serão removidos da memória caso estiverem sem uso.
Qualquer módulo carregado pode ser removido manualmente através do comandos rmmod.

## insmod

Carrega um módulo manualmente. Para carregar módulos que dependem de outros módulos para que funcionem, você duas opções: Carregar os módulos manualmente ou usar o modprobe que verifica e carrega as dependências correspondentes.
A sintaxe do comando é: insmod [módulo] [opções_módulo]
Onde:

### módulo

    É o nome do módulo que será carregado.

### opções_módulo

    Opções que serão usadas pelo módulo. Variam de módulo para módulo, alguns precisam de opções outros não, tente primeiro carregar sem opções, caso seja mostrada uma mensagem de erro verifique as opções usadas por ele. Para detalhes sobre que opções são suportadas por cada módulo, veja a sua documentação no código fonte do kernel em /usr/src/linux/Documentation
Exemplo: insmod ne io=0x300 irq=10

## rmmod

Remove módulos carregados no kernel. Para ver os nomes dos módulos atualmente carregados no kernel digite lsmod e verifique na primeira coluna o nome do módulo. Caso um módulo tenha dependências e você tentar remover suas dependências, uma mensagem de erro será mostrada alertando que o módulo está em uso.
Exemplo: rmmod ne

## modprobe

Carrega um módulo e suas dependências manualmente. Este comando permite carregar diversos módulos e dependências de uma só vez. O comportamento do modprobe é modificado pelo arquivo /etc/modules.conf .
O programa deve ser rodado pela conta root.
A sintaxe deste comando é: modprobe [módulo] [opções_módulo]
Onde:

### módulo

    É o nome do módulo que será carregado.

### opções_módulo

    Opções que serão usadas pelo módulo. Variam de módulo para módulo, alguns precisam de opções outros não, tente primeiro carregar sem opções, caso seja mostrada uma mensagem de erro verifique as opções usadas por ele. Para detalhes sobre que opções são suportadas por cada módulo, veja a sua documentação no código fonte do kernel em /usr/src/linux/Documentation
Nem todos os módulos são carregados corretamente pelo modprobe, o plip, por exemplo, mostra uma mensagem sobre porta I/O inválida mas não caso seja carregado pelo insmod.
Exemplo: modprobe ne io=0x300 irq=10, modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpuio=0x330

## Blacklist

Existem casos em que dois ou mais módulos suportam o mesmo device, ou um módulo alega suportar mas tem bug. Para isto, pode-se usar a palavra mágica blacklist no arquivo /etc/modprobe.d/blacklist para ignorar estes módulos.
Existem duas formas de colocar um módulo na lista negra, dependendo do método usado para carregá-lo e do modo como ele é configurado.
Um método é editando o arquivo /etc/modprobe.d/blacklist na forma abaixo:
O segundo método é mais complicado mas parece ser mais potente (ou seja, pode resolver casos em que o método acima não funciona). Consiste em editar o arquivo que instalaria estes módulos problemáticos, e forçar a instalação como /bin/true. Por exemplo:

## Ver também

* modinfo nome-do-módulo - dá informações sobre o módulo instalado, por exemplo, o diretório de origem

## Referências

* ↑ Este método é usado nas referências seguintes: http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg351306.html, https://bbs.archlinux.org/viewtopic.php?id=64290, http://bugs.centos.org/view.php?id=2246, além de outras

## depmod

Verifica a dependência de módulos. As dependências dos módulos são verificadas pelos scripts em /etc/init.d usando o comando depmod -a e o resultado gravado no arquivo /lib/modules/versao_do_kernel/modules.dep. Esta checagem serve para que todas as dependências de módulos estejam corretamente disponí­veis na inicialização do sistema. O comportamento do depmod pode ser modificado através do arquivo /etc/modules.conf . É possí­vel criar a dependência de módulos imediatamente após a compilação do kernel digitando depmod -a [versão_do_kernel].
Exemplo: depmod -a

## modconf

Este programa permite um meio mais fácil de configurar a ativação de módulos e opções através de uma interface através de menus. Selecione a categoria de módulos através das setas acima e abaixo e pressione enter para selecionar os módulos existentes. Serão pedidas as opções do módulo (como DMA, IRQ, I/O) para que sua inicialização seja possí­vel, estes parâmetros são especí­ficos de cada módulo e devem ser vistos na documentação do código fonte do kernel no diretório /usr/src/linux/Documentation. Note que também existem módulos com auto-detecção mas isto deixa o sistema um pouco mais lento, porque ele fará uma varredura na faixa de endereços especificados pelo módulo para achar o dispositivo. As opções são desnecessárias em alguns tipos de módulos.
As modificações feitas por este programa são gravadas no diretório /etc/modutils em arquivos separados como /etc/modutils/alias - alias de módulos, /etc/modutils/modconf - opções usadas por módulos, /etc/modutils/paths - Caminho onde os módulos do sistema são encontrados. Dentro de /etc/modutils é ainda encontrado um sub-diretório chamado arch que contém opções especí­ficas por arquiteturas.
A sincronização dos arquivos gerados pelo modconf com o /etc/modules.conf é feita através do utilitário update-modules. Ele é normalmente executado após modificações nos módulos feitas pelo modconf.

## Recompilando o Kernel

Será que vou precisar recompilar o meu kernel? você deve estar se perguntando agora. Abaixo alguns motivos para esclarecer suas dúvidas:
* Melhora o desempenho do kernel. O kernel padrão que acompanha as distribuições GNU/Linux foi feito para funcionar em qualquer tipo de sistema e garantir seu funcionamento e inclui suporte a praticamente tudo. Isto pode gerar desde instabilidade até uma grade pausa do kernel na inicialização quando estiver procurando pelos dispositivos que simplesmente não existem em seu computador!
A compilação permite escolher somente o suporte aos dispositivos existentes em seu computador e assim diminuir o tamanho do kernel, desocupar a memória RAM com dispositivos que nunca usará e assim você terá um desempenho bem melhor do que teria com um kernel pesado.
* Incluir suporte a alguns hardwares que estão desativados no kernel padrão (SMP, APM, ACPI, Virtualização, Firewall, Bridge, memory cards, drivers experimentais, etc).
* Se aventurar em compilar um kernel (sistema operacional) personalizado em seu sistema.
* Tornar seu sistema mais seguro
* Impressionar os seus amigos, tentando coisas novas.
Serão necessários uns 300Mb de espaço em disco disponí­vel para copiar e descompactar o código fonte do kernel e alguns pacotes de desenvolvimento como o gcc, cpp, binutils, gcc-i386-gnu, bin86, make, dpkg-dev, perl, kernel-package (os três últimos somente para a distribuição Debian).
Na distribuição Debian, o melhor método é através do kernel-package que faz tudo para você (menos escolher o que terá o não o suporte no kernel) e gera um pacote .deb que poderá ser usado para instalar o kernel em seu sistema ou em qualquer outro que execute a Debian ou distribuições baseadas (Ubuntu, etc). Devido a sua facilidade, a compilação do kernel através do kernel-package é muito recomendado para usuários iniciantes e para aqueles que usam somente um kernel no sistema (é possí­vel usar mais de dois ao mesmo tempo, veja o processo de compilação manual adiante neste capí­tulo). Siga este passos para recompilar seu kernel através do kernel-package:
* Descompacte o código fonte do kernel (através do arquivo linux-2.6.XX.XX.tar.bz2) para o diretório /usr/src. Caso use os pacotes da Debian eles terão o nome de kernel-source-2.6.XX.XX, para detalhes de como instalar um pacote, veja [ch-dpkg.html#s-dpkg-instalar Instalar pacotes, Seção 20.1.2].
* Após isto, entre no diretório onde o código fonte do kernel foi instalado com cd /usr/src/linux (este será assumido o lugar onde o código fonte do kernel se encontra).
* Como usuário root, digite make config. Você também pode usar make menuconfig (configuração através de menus) ou make xconfig (configuração em modo gráfico) mas precisará de pacotes adicionais para que estes dois funcionem corretamente.
Serão feitas perguntas sobre se deseja suporte a tal dispositivo, etc. Pressione Y para incluir o suporte diretamente no kernel, M para incluir o suporte como módulo ou N para não incluir o suporte. Note que nem todos os drivers podem ser compilados como módulos. Escolha as opções que se encaixam em seu sistema. se estiver em dúvida sobre a pergunta digite ? e tecle Enter para ter uma explicação sobre o que aquela opção faz. Se não souber do que se trata, recomendo incluir a opção (pressionando Y ou M. Este passo pode levar entre 5 minutos e 1 Hora (usuários que estão fazendo isto pela primeira vez tendem a levar mais tempo lendo e conhecendo os recursos que o GNU/Linux possui, antes de tomar qualquer decisão). Não se preocupe se esquecer de incluir o suporte a alguma coisa, você pode repetir o passo make config (todas as suas escolhas são gravadas no arquivo .config), recompilar o kernel e instalar em cima do antigo a qualquer hora que quiser.
* Após o make config chegar ao final, digite make-kpkg clean para limpar construções anteriores do kernel.
* Agora compile o kernel digitando make-kpkg—revision=teste.1.0 kernel-image. A palavra teste pode ser substituí­da por qualquer outra que você quiser e número da versão 1.0 serve apenas como controle de suas compilações (pode ser qualquer número).
Observação: Não inclua hí­fens (-) no parâmetro—revision, use somente pontos.
* Agora após compilar, o kernel será gravado no diretório superior (..) com um nome do tipo linux-image-2.6.23.6-i386_teste.1.0.deb. Basta você digitar dpkg -i kernel-image-2.6.23.6-i386_teste.1.0.deb e o dpkg fará o resto da instalação do kernel para você e perguntará se deseja criar um disquete de inicialização (recomendável).
* Reinicie seu computador, seu novo kernel iniciará e você já perceberá a primeira diferença pela velocidade que o GNU/Linux é iniciado (você inclui somente suporte a dispositivos em seu sistema). O desempenho dos programas também melhorará pois cortou o suporte a dispositivos/funções que seu computador não precisa.
Caso alguma coisa sair errada, coloque o disquete que gravou no passo anterior e reinicie o computador para fazer as correções.
Para recompilar o kernel usando o método manual, siga os seguintes passos:
* Descompacte o código fonte do kernel (através do arquivo linux-2.6.XX.XX.tar.bz2) para o diretório /usr/src. O código fonte do kernel pode ser encontrado em ftp://ftp.kernel.org/.
* Após isto, entre no diretório onde o código fonte do kernel foi instalado com cd /usr/src/linux (este será assumido o lugar onde o código fonte do kernel se encontra).
* Como usuário root, digite make config. Você também pode usar make menuconfig (configuração através de menus) ou make xconfig (configuração em modo gráfico) mas precisará de pacotes adicionais.
Serão feitas perguntas sobre se deseja suporte a tal dispositivo, etc. Pressione Y para incluir o suporte diretamente no kernel, M para incluir o suporte como módulo ou N para não incluir o suporte. Note que nem todos os drivers podem ser compilados como módulos. Escolha as opções que se encaixam em seu sistema. se estiver em dúvida sobre a pergunta digite ? e tecle Enter para ter uma explicação sobre o que aquela opção faz. Se não souber do que se trata, recomendo incluir a opção (pressionando Y ou M. Este passo pode levar entre 5 minutos e 1 Hora (usuários que estão fazendo isto pela primeira vez tendem a levar mais tempo lendo e conhecendo os recursos que o GNU/Linux possui antes de tomar qualquer decisão). Não se preocupe se esquecer de incluir o suporte a alguma coisa, você pode repetir o passo make config, recompilar o kernel e instalar em cima do antigo a qualquer hora que quiser.
* Caso esteja compilando um kernel 2.4 ou inferior, Digite o comando make dep para verificar as dependências dos módulos. Se estiver compilando um kernel 2.6 ou superior, pule esse comando.
* Digite o comando make clean para limpar construções anteriores do kernel.
* Digite o comando make para iniciar a compilação do kernel e seus módulos. Aguarde a compilação, o tempo pode variar dependendo da quantidade de recursos que adicionou ao kernel, a velocidade de seu computador e a quantidade de memória RAM disponí­vel.
Caso tenha acrescentado muitos í­tens no Kernel, é possí­vel que o comando make zImage falhe no final (especialmente se o tamanho do kernel estático for maior que 505Kb). Neste caso use make bzImage. A diferença entre zImage e bzImage é que o primeiro possui um limite de tamanho porque é descompactado na memória básica (recomendado para alguns Notebooks), já a bzImage, é descompactada na memória estendida e não possui as limitações da zImage.
* A compilação neste ponto está completa, você agora tem duas opções para instalar o kernel: Substituir o kernel anterior pelo recém compilado ou usar os dois. A segunda questão é recomendável se você não tem certeza se o kernel funcionará corretamente e deseja iniciar pelo antigo no caso de alguma coisa dar errado.
Se você optar por substituir o kernel anterior:
* É recomendável renomear o diretório /lib/modules/versão_do_kernel para /lib/modules/versão_do_kernel.old, isto será útil para restauração completa dos módulos antigos caso alguma coisa der errado.
* Execute o comando make modules_install para instalar os módulos do kernel recém compilado em /lib/modules/versão_do_kernel.
* Copie o arquivo zImage que contém o kernel de /usr/src/linux/arch/i386/boot/zImage para /boot/vmlinuz-2.XX.XX (2.XX.XX é a versão do kernel anterior)
* Verifique se o link simbólico /vmlinuz aponta para a versão do kernel que compilou atualmente (com ls -la /). Caso contrário, apague o arquivo /vmlinuz do diretório raí­z e crie um novo link com ln -s /boot/vmlinuz-2.XX.Xx /vmlinuz apontando para o kernel correto.
* Execute o comando lilo para gerar um novo setor de partida no disco rí­gido. Para detalhes veja [ch-boot.html#s-boot-lilo LILO, Seção 6.1].
* Reinicie o sistema (shutdown -r now).
* Caso tudo esteja funcionando normalmente, apague o diretório antigo de módulos que salvou e o kernel antigo de /boot. Caso algo tenha dado errado e seu sistema não inicializa, inicie a partir de um disquete, apague o novo kernel, apague os novos módulos, renomeie o diretório de módulos antigos para o nome original, ajuste o link simbólico /vmlinuz para apontar para o antigo kernel e execute o lilo. Após reiniciar seu computador voltará como estava antes.
Se você optar por manter o kernel anterior e selecionar qual será usado na partida do sistema (útil para um kernel em testes):
* Execute o comando make modules_install para instalar os módulos recém compilados do kernel em /lib/modules/versao_do_kernel.
* Copie o arquivo zImage que contém o kernel de /usr/src/linux/arch/i386/boot/zImage para /boot/vmlinuz-2.XX.XX (2.XX.XX é a versão do kernel anterior)
* Crie um link simbólico no diretório raí­z (/) apontando para o novo kernel. Como exemplos será usado /vmlinuz-novo.
* Modifique o arquivo /etc/lilo.conf para incluir a nova imagem de kernel. Por exemplo:
Se você digitar 1 no aviso de boot: do Lilo, o kernel antigo será carregado, caso digitar 2 o novo kernel será carregado. Para detalhes veja [ch-boot.html#s-boot-lilo-cfg Criando o arquivo de configuração do LILO, Seção 6.1.1] e [ch-boot.html#s-boot-lilo-exemplo Um exemplo do arquivo de configuração lilo.conf, Seção 6.1.3].
* Execute o comando lilo para gravar o novo setor de boot para o disco rí­gido.
* Reinicie o computador
* Carregue o novo kernel escolhendo a opção 2 no aviso de boot: do Lilo. Caso tiver problemas, escolha a opção 1 para iniciar com o kernel antigo e verifique os passos de configuração (o arquivo lilo.conf foi modificado corretamente?.
Em alguns casos (como nos kernels empacotados em distribuições GNU/Linux) o código fonte do kernel é gravado em um diretório chamado kernel-source-xx.xx.xx. É recomendável fazer um link com um diretório GNU/Linux, pois é o padrão usado pelas atualização do código fonte através de patches (veja [#s-kern-patches Aplicando Patches no kernel, Seção 16.13]). Para criar o link simbólico, entre em /usr/src e digite: ln -s kernel-source-xx.xx.xx linux. Se quiser mais detalhes sobre a compilação do kernel, consulte o documento kernel-howto.

## Arquivos relacionados com o Kernel e Módulos

Esta seção descreve os arquivos usados pelo kernel e módulos, a função de cada um no sistema, a sintaxe, etc.

### /etc/modules

A função deste arquivo é carregar módulos especificados na inicialização do sistema e mantê-los carregado todo o tempo. É útil para módulos de placas de rede que precisam ser carregados antes da configuração de rede feita pela distribuição e não podem ser removidos quando a placa de rede estiver sem uso (isto retiraria seu computador da rede). Seu conteúdo é uma lista de módulos (um por linha) que serão carregados na inicialização do sistema. Os módulos carregados pelo arquivo /etc/modules pode ser listados usando o comando lsmod (veja [#s-kern-lsmod lsmod, Seção 16.5]. Se o parâmetro auto estiver especificado como um módulo, o kmod será ativado e carregará os módulos somente em demanda, caso seja especificado noauto o programa kmod será desativado. O kmod é ativado por padrão nos ní­veis de execução 2 ao 5. Ele pode ser editado em qualquer editor de textos comum ou modificado automaticamente através do utilitário modconf.

### modules.conf

O arquivo /etc/modules.conf permite controlar as opções de todos os módulos do sistema. Ele é consultado pelos programas modprobe e depmod. As opções especificadas neste arquivo facilita o gerenciamento de módulos, evitando a digitação de opções através da linha de comando. Note que é recomendado o uso do utilitário modconf para configurar quaisquer módulos em seu sistema e o utilitário update-modules para sincronização dos arquivos gerados pelo modconf em /etc/modutils com o /etc/modules.conf (geralmente isto é feito automaticamente após o uso do modconf). Por este motivo não é recomendável modifica-lo manualmente, a não ser que seja um usuário experiente e saiba o que está fazendo. Veja [#s-kern-modconf modconf, Seção 16.10] Por exemplo: adicionando as linhas:
permitirá que seja usado somente o comando modprobe sb para ativar a placa de som.

## Aplicando Patches no kernel

Patches são modificações geradas pelo programa diff em que servem para atualizar um programa ou texto. Este recurso é muito útil para os desenvolvedores, pois podem gerar um arquivo contendo as diferenças entre um programa antigo e um novo (usando o comando diff) e enviar o arquivo contendo as diferenças para outras pessoas. As pessoas interessadas em atualizar o programa antigo, podem simplesmente pegar o arquivo contendo as diferenças e atualizar o programa usando o patch. Isto é muito usado no desenvolvimento do kernel do GNU/Linux em que novas versões são lançadas frequentemente e o tamanho kernel completo compactado ocupa cerca de 18MB. Você pode atualizar seu kernel pegando um patch seguinte a versão que possui em ftp://ftp.kernel.org/. Para aplicar um patch que atualizará seu kernel 2.6.23 para a versão 2.6.24 você deve proceder da seguinte forma:
** Descompacte o código fonte do kernel 2.6.23 em /usr/src/linux ou certifique-se que existe um link simbólico do código fonte do kernel para /usr/src/linux.
** Copie o arquivo patch-2.6.24.gz de ftp://ftp.kernel.org/ para /usr/src.
** Use o comando gzip -dc patch-2.6.24|patch -p0 -N -E para atualizar o código fonte em /usr/src/linux para a versão 2.6.24.
Alternativamente você pode primeiro descompactar o arquivo patch-2.6.24.gz com o gzip e usar o comando patch -p0 -N -E &lt;patch-2.6.24 para atualizar o código fonte do kernel. O GNU/Linux permite que você obtenha o mesmo resultado através de diferentes métodos, a escolha é somente sua. Caso deseja atualizar o kernel 2.6.20 para 2.6.24, como no exemplo acima, você deverá aplicar os patches em sequência (do patch 2.6.20 ao 2.6.24). Vale a pena observar se o tamanho total dos patches ultrapassa ou chega perto o tamanho do kernel completo, pois dependendo da quantidade de alterações pode ser mais viável baixar diretamente a nova versão.
Guia foca Linux/Iniciante+Intermediário/Arquivos e daemons de Log Guia foca Linux/Iniciante+Intermediário/Arquivos e daemons de Log/Formato do arquivo de log Guia foca Linux/Iniciante+Intermediário/Arquivos e daemons de Log/Daemons de log do sistema Guia foca Linux/Iniciante+Intermediário/Arquivos e daemons de Log/logger
* 18.8 rar

# Capí­tulo 18 - Compactadores

Esta seção explica o que são e como usar programas compactadores no GNU/Linux, as caracterí­sticas de cada um, como identificar um arquivo compactado e como descompactar um arquivo compactado usando o programa correspondente.
A utilização de arquivos compactados é método útil principalmente para reduzir o consumo de espaço em disco ou permitir grandes quantidades de texto serem transferidas para outro computador através de disquetes.

## O que fazem os compactadores/descompactadores?

Compactadores são programas que diminuem o tamanho de um arquivo (ou arquivos) através da substituição de caracteres repetidos. Para entender melhor como eles funcionam, veja o próximo exemplo:
O que aconteceu realmente foi que a palavra compacta se encontrava 3 vezes na frase acima, e foi substituí­da por um sinal de %. Para descompactar o processo seria o contrário: Ele substituiria % por compacta e nós temos a frase novamente restaurada.
Você deve ter notado que o tamanho da frase compactada caiu quase pela metade. A quantidade de compactação de um arquivo é chamada de taxa de compactação. Assim se o tamanho do arquivo for diminuí­do a metade após a compactação, dizemos que conseguiu uma taxa de compactação de 2:1 (lê-se dois para um), se o arquivo diminuiu 4 vezes, dizemos que conseguiu uma compactação de 4:1 (quatro para um) e assim por diante.
Para controle dos caracteres que são usados nas substituições, os programas de compactação mantém cabeçalhos com todas as substituições usadas durante a compactação. O tamanho do cabeçalho pode ser fixo ou definido pelo usuário, depende do programa usado na compactação.
Este é um exemplo bem simples para entender o que acontece durante a compactação, os programas de compactação executam instruções muito avançadas e códigos complexos para atingir um alta taxa de compactação.
Observações:
* Não é possí­vel trabalhar diretamente com arquivos compactados! É necessário descompactar o arquivo para usa-lo. Note que alguns programas atualmente suportam a abertura de arquivos compactados, mas na realidade eles apenas simplificam a tarefa descompactando o arquivo, abrindo e o recompactando assim que o trabalho estiver concluí­do.
* Arquivos de texto tem uma taxa de compactação muito melhor que arquivos binários, porque possuem mais caracteres repetidos. É normal atingir taxas de compactação de 10 para 1 ou mais quando se compacta um arquivo texto. Arquivos binários, como programas, possuem uma taxa de compactação média de 2:1.
* Note que também existem programas compactadores especialmente desenvolvidos para compactação de músicas, arquivos binários, imagens, textos.

### Tipos de compactação

Existem basicamente dois tipos de compactação, a compactação sem perdas e a compactação com perdas.
Os exemplos a seguir tentam explicar de forma simples os conceitos envolvidos.
A compactação sem perdas, como o próprio nome diz não causa nenhuma perda nas informações contidas no arquivo. Quando você compacta e descompacta um arquivo, o conteúdo é o mesmo do original.
A compactação com perdas é um tipo especí­fico de compactação desenvolvido para atingir altas taxas, porém com perdas parciais dos dados. É aplicada a tipos de arquivos especiais, como músicas e imagens ou arquivos que envolvam a percepção humana.
Sabe-se que o ouvido humano não é tão sensí­vel a determinados sons e frequências, então a compactação de um arquivo de música poderia deixar de gravar os sons que seriam pouco percebidos, resultando em um arquivo menor. Uma compactação do tipo ogg ou mp3 utiliza-se destes recursos. O arquivo resultante é muito menor que o original, porém alguns dados sonoros são perdidos. Você só notaria se estivesse reproduzindo a música em um equipamento de alta qualidade e se tivesse um ouvido bem aguçado. Para efeitos práticos, você está ouvindo a mesma música e economizando muito espaço em disco.
Outro exemplo de compactação com perdas são as imagens jpg. Imagine que você tem uma imagem com 60000 tons de cor diferentes, mas alguns tons são muito próximos de outros, então o compactador resume para 20000 tons de cor e a imagem terá 1/3 do tamanho original e o nosso olho conseguirá entender a imagem sem problemas e quase não perceberá a diferença. Exemplos de extensões utilizadas em imagens compactadas são jpg, png, gif.
Apesar das vantagens da grande taxa de compactação conseguida nos processos com perdas, nem sempre podemos utilizá-lo. Quando compactamos um texto ou um programa, não podemos ter perdas, senão o nosso texto sofre alterações ou o programa não executa. Nem mesmo podemos tem perdas quando compactamos imagens ou musicas que serão utilizadas em processos posteriores de masterização, mixagem ou impressão em alta qualidade.

## Extensões de arquivos compactados

As extensões identificam o tipo de um arquivo e assim o programa o programa necessário para trabalhar com aquele tipo de arquivo. Existem dezenas de extensões que identificam arquivos compactados. Quando um arquivo (ou arquivos) é compactado, uma extensão correspondente ao programa usado é adicionada ao nome do arquivo (caso o arquivo seja compactado pelo gzip receberá a extensão .gz, por exemplo). Ao descompactar acontece o contrário: a extensão é retirada do arquivo. Abaixo segue uma listagem de extensões mais usadas e os programas correspondentes:
* .gz - Arquivo compactado pelo gzip. Use o programa gzip para descompacta-lo (para detalhes veja [#s-cpctd-gzip gzip, Seção 18.3]). .bz2 - Arquivo compactado pelo bzip2. Use o programa bzip2 para descompacta-lo (para detalhes veja [#s-cpctd-bzip2 bzip2, Seção 18.7]).
* .Z - Arquivo compactado pelo programa compress. Use o programa uncompress para descompacta-lo.
* .zip - Arquivo compactado pelo programa zip. Use o programa unzip para descompacta-lo.
* .rar - Arquivo compactado pelo programa rar. Use o programa rar para descompacta-lo.
* .tar.gz - Arquivo compactado pelo programa gzip no utilitário de arquivamento tar. Para descompacta-lo, você pode usar o gzip e depois o tar ou somente o programa tar usando a opção -z. Para detalhes veja [#s-cpctd-gzip gzip, Seção 18.3] e [#s-cpctd-tar tar, Seção 18.6].
* .tgz - Abreviação de .tar.gz.
* .tar.bz2 - Arquivo compactado pelo programa bzip2 no utilitário de arquivamento tar. Para descompacta-lo, você pode usar o bzip2 e depois o tar ou somente o programa tar usando a opção -j. Para detalhes veja [#s-cpctd-bzip2 bzip2, Seção 18.7] e [#s-cpctd-tar tar, Seção 18.6].
* .tar.Z - Arquivo compactado pelo programa compress no utilitário de arquivamento tar. Para descompacta-lo, você pode usar o uncompress e depois o tar ou somente o programa tar usando a opção -Z. Para detalhes veja [#s-cpctd-tar tar, Seção 18.6].

## gzip

É praticamente o compactador padrão do GNU/Linux, possui uma ótima taxa de compactação e velocidade. A extensão dos arquivos compactados pelo gzip é a .gz, na versão para DOS, Windows NT é usada a extensão .z.
gzip [opções] [arquivos]
Onde:

### arquivos

    Especifica quais arquivos serão compactados pelo gzip. Caso seja usado um -, será assumido a entrada padrão. Curingas podem ser usados para especificar vários arquivos de uma só vez (veja [ch-bas.html#s-basico-curingas Curingas, Seção 2.12]).

### -d, --decompress [arquivo]

    Descompacta um arquivo.

### -f

    Força a compactação, compactando até mesmo links.

### -l [arquivo]

    Lista o conteúdo de um arquivo compactado pelo gzip.

### -r

    Compacta diretórios e sub-diretórios.

### -c [arquivo]

    Descompacta o arquivo para a saí­da padrão.

### -t [arquivo]

    Testa o arquivo compactado pelo gzip.

### -[num], --fast, --best

    Ajustam a taxa de compactação/velocidade da compactação. Quanto melhor a taxa menor é a velocidade de compactação e vice versa. A opção --fast permite uma compactação rápida e tamanho do arquivo maior. A opção --best permite uma melhor compactação e uma velocidade menor.
O uso da opção -[número] permite especificar uma compactação individualmente usando números entre 1 (menor compactação) e 9 (melhor compactação). É útil para buscar um bom equilibro entre taxa de compactação/velocidade (especialmente em computadores muito lentos).
Quando um arquivo é compactado pelo gzip, é automaticamente acrescentada a extensão .gz ao seu nome.
O gzip também reconhece arquivos compactados pelos programas zip, compress, compress -H e pack. As permissões de acesso dos arquivos são também armazenadas no arquivo compactado.
Exemplos:
* gzip -9 texto.txt - Compacta o arquivo texto.txt usando a compactação máxima (compare o tamanho do arquivo compactado usando o comando ls -la).
* gzip -d texto.txt.gz - Descompacta o arquivo texto.txt
* gzip -c texto.txt.gz - Descompacta o arquivo texto.txt para a tela
* gzip -9 *.txt - Compacta todos os arquivos que terminam com .txt
* gzip -t texto.txt.gz - Verifica o arquivo texto.txt.gz.

## zip

Utilitário de compactação compatí­vel com pkzip (do DOS) e trabalha com arquivos de extensão .zip. Possui uma ótima taxa de compactação e velocidade no processamento dos arquivos compactados (comparando-se ao gzip).
zip [opções] [arquivo-destino] [arquivos-origem]
Onde:

### arquivo-destino

    Nome do arquivo compactado que será gerado.

### arquivos-origem

    Arquivos/Diretórios que serão compactados. Podem ser usados curingas para especificar mais de um arquivo de uma só vez (veja [ch-bas.html#s-basico-curingas Curingas, Seção 2.12]).

### -r

    Compacta arquivos e sub-diretórios.

### -e

    Permite encriptar o conteúdo de um arquivo .zip através de senha. A senha será pedida no momento da compactação.

### -f

    Somente substitui um arquivo compactado existente dentro do arquivo .zip somente se a versão é mais nova que a atual. Não acrescenta arquivos ao arquivo compactado. Deve ser executado no mesmo diretório onde o programa zip foi executado anteriormente.

### -F

    Repara um arquivo .zip danificado.

### -[NUM]

    Ajusta a qualidade/velocidade da compactação. Pode ser especificado um número de 1 a 9. O 1 permite mí­nima compactação e máxima velocidade, 9 permite uma melhor compactação e menor velocidade.

### -i [arquivos]

    Compacta somente os [arquivos] especificados.

### -j

    Se especificado, não armazena caminhos de diretórios.

### -m

    Apaga os arquivos originais após a compactação.

### -T [arquivo]

    Procura por erros em um arquivo .zip. Caso sejam detectados problemas, utilize a opção -F para corrigi-los.

### -y

    Armazena links simbólicos no arquivo .zip. Por padrão, os links simbólicos são ignorados durante a compactação.

### -k [arquivo]

    Modifica o [arquivo] para ter compatibilidade total com o pkzip do DOS.

### -l

    Converte saltos de linha UNIX (LF) para o formato CR LF (usados pelo DOS). Use esta opção com arquivos Texto.

### -ll

    Converte saltos de linha DOS (CR LF) para o formato UNIX (LF). Use esta opção com arquivos texto.

### -n [extensão]

    Não compacta arquivos identificados por [extensão]. Ele é armazenado sem compactação no arquivo .zip, muito útil para uso com arquivos já compactados.
Caso sejam especificados diversas extensões de arquivos, elas devem ser separadas por : - Por exemplo, zip -n .zip:.tgz arquivo.zip *.txt.

### -q

    Não mostra mensagens durante a compactação do arquivo.

### -u

    Atualiza/adiciona arquivos ao arquivo .zip

### -X

    Não armazena detalhes de permissões, UID, GID e datas dos arquivos.

### -z

    Permite incluir um comentário no arquivo .zip.
Caso o nome de arquivo de destino não termine com .zip, esta extensão será automaticamente adicionada. Para a descompactação de arquivos .zip no GNU/Linux, é necessário o uso do utilitário unzip. Exemplos:
* zip textos.zip *.txt - Compacta todos os arquivos com a extensão .txt para o arquivo textos.zip (compare o tamanho do arquivo compactado digitando ls -la).
* zip -r textos.zip /usr/*.txt - Compacta todos os arquivos com a extensão .txt do diretório /usr e sub-diretórios para o arquivo textos.zip.
* zip -9 textos.zip * - Compacta todos os arquivos do diretório atual usando a compactação máxima para o arquivo textos.zip.
* zip -T textos.zip - Verifica se o arquivo textos.zip contém erros.

## unzip

Descompacta arquivos .zip criados com o programa zip. Este programa também é compatí­vel com arquivos compactados pelo pkzip do DOS.
unzip [opções] [arquivo.zip] [arquivos-extrair] [-d diretório]
Onde:

### arquivo.zip

    Nome do arquivo que deseja descompactar. Podem ser usados curingas para especificar mais de um arquivo para ser descompactado.

### arquivos-extrair

    Nome dos arquivos (separados por espaço) que serão descompactados do arquivo .zip. Caso não seja especificado, é assumido * (todos os arquivos serão descompactados).
Se for usado -x arquivos, os arquivos especificados não serão descompactados. O uso de curingas é permitido.

### -d diretório

    Diretório onde os arquivos serão descompactados. Caso não for especificado, os arquivos serão descompactados no diretório atual.

### -c

    Descompacta os arquivos para stdout (saí­da padrão) ao invés de criar arquivos. Os nomes dos arquivos também são mostrados (veja a opção -p).

### -f

    Descompacta somente arquivos que existam no disco e mais novos que os atuais.

### -l

    Lista os arquivos existentes dentro do arquivo .zip.

### -M

    Efetua uma pausa a cada tela de dados durante o processamento (a mesma função do comando more).

### -n

    Nunca substitui arquivos já existentes. Se um arquivo existe ele é pulado.

### -o

    Substitui arquivos existentes sem perguntar. Tem a função contrária a opção -n.

### -P [SENHA]

    Permite descompactar arquivos .zip usando a [SENHA]. CUIDADO! qualquer usuário conectado em seu sistema pode ver a senha digitada na linha de comando digitada.

### -p

    Descompacta os arquivos para stdout (saí­da padrão) ao invés de criar arquivos. Os nomes dos arquivos não são mostrados (veja a opção -c).

### -q

    Não mostra mensagens.

### -t

    Verifica o arquivo .zip em busca de erros.

### -u

    Idêntico a opção -f só que também cria arquivos que não existem no diretório.

### -v

    Mostra mais detalhes sobre o processamento do unzip.

### -z

    Mostra somente o comentário existente no arquivo.
Por padrão o unzip também descompacta sub-diretórios caso o arquivo .zip tenha sido gerado com zip -r.
Exemplos:
* unzip texto.zip - Descompacta o conteúdo do arquivo texto.zip no diretório atual.
* unzip texto.zip carta.txt - Descompacta somente o arquivo carta.txt do arquivo texto.zip.
* unzip texto.zip -d /tmp/texto - Descompacta o conteúdo do arquivo texto.zip para o diretório /tmp/texto.
* unzip -l texto.zip - Lista o conteúdo do arquivo texto.zip.
* unzip -t texto.zip - Verifica o arquivo texto.zip.

## tar

Na verdade o tar não é um compactador e sim um "arquivador" (ele junta vários arquivos em um só), mas pode ser usado em conjunto com um compactar (como o gzip ou zip) para armazena-los compactados. O tar também é muito usado para cópias de arquivos especiais ou dispositivos do sistema. É comum encontrar arquivos com a extensão .tar, .tar.gz, .tgz, .tar.bz2, .tar.Z, .tgZ, o primeiro é um arquivo normal gerado pelo tar e todos os outros são arquivos gerados através tar junto com um programa de compactação (gzip (.gz), bzip2 (.bz2) e compress (.Z).
tar [opções] [arquivo-destino] [arquivos-origem]
Onde:

### arquivo-destino

    É o nome do arquivo de destino. Normalmente especificado com a extensão .tar caso seja usado somente o arquivamento ou .tar.gz/.tgz caso seja usada a compactação (usando a opção -z).

### arquivos-origem

    Especifica quais arquivos/diretórios serão compactados.

### -c, --create

    Cria um novo arquivo .tar

### -t, --list

    Lista o conteúdo de um arquivo .tar

### -u, --update

    Atualiza arquivos compactados no arquivo .tar

### -f, --file [HOST

    ]F
    Usa o arquivo especificado para gravação ou o dispositivo /dev/rmt0.

### -j, --bzip2

    Usa o programa bzip2 para processar os arquivos do tar

### -l, --one-file-system

    Não processa arquivos em um sistema de arquivos diferentes de onde o tar foi executado.

### -M, --multi-volume

    Cria/lista/descompacta arquivos em múltiplos volumes. O uso de arquivos em múltiplos volumes permite que uma grande cópia de arquivos que não cabe em um disquete, por exemplo, seja feita em mais de um disquete.

### -o

    Grava o arquivo no formato VT7 ao invés do ANSI.

### -O, --to-stdout

    Descompacta arquivos para a saí­da padrão ao invés de gravar em um arquivo.

### --remove-files

    Apaga os arquivos de origem após serem processados pelo tar.

### -R, --record-number

    Mostra o número de registros dentro de um arquivo tar em cada mensagem.

### --totals

    Mostra o total de bytes gravados com a opção --create.

### -v

    Mostra os nomes dos arquivos enquanto são processados.

### -V [NOME]

    Inclui um [NOME] no arquivo tar.

### -W, --verify

    Tenta verificar o arquivo gerado pelo tar após grava-lo.

### x

    Extrai arquivos gerados pelo tar

### -X [ARQUIVO]

    Tenta apagar o [ARQUIVO] dentro de um arquivo compactado .tar.

### -Z

    Usa o programa compress durante o processamento dos arquivos.

### -z

    Usa o programa gzip durante o processamento dos arquivos.

### --use-compress-program [PROGRAMA]

    Usa o [PROGRAMA] durante o processamento dos arquivos. Ele deve aceitar a opção -d.

### -[0-7][lmh]

    Especifica a unidade e sua densidade.
A extensão precisa ser especificada no arquivo de destino para a identificação correta:
* Arquivos gerados pelo tar precisam ter a extensão .tar
* Caso seja usada a opção -j para compactação, a extensão deverá ser .tar.bz2
* Caso seja usada a opção -z para compactação, a extensão deverá ser .tar.gz ou .tgz
* Caso seja usada a opção -Z para a compactação, a extensão deverá ser .tar.Z ou .tgZ
É importante saber qual qual o tipo de compactador usado durante a geração do arquivo .tar pois será necessário especificar a opção apropriada para descompacta-lo (para detalhes veja [#s-cpctd-extensoes Extensões de arquivos compactados, Seção 18.2]).
Exemplos:
* tar -cf index.txt.tar index.txt - Cria um arquivo chamado index.txt.tar que armazenará o arquivo index.txt. Você pode notar digitando ls -la que o arquivo index.txt foi somente arquivado (sem compactação), isto é útil para juntar diversos arquivos em um só.
* tar -xf index.txt.tar - Desarquiva o arquivo index.txt criado pelo comando acima.
* tar -czf index.txt.tar.gz index.txt - O mesmo que o exemplo de arquivamento anterior, só que agora é usado a opção -z (compactação através do programa gzip). Você agora pode notar digitando ls -la que o arquivo index.txt foi compactado e depois arquivado no arquivo index.txt.tar.gz (você também pode chama-lo de index.txt.tgz que também identifica um arquivo .tar compactado pelo gzip)
* tar -xzf index.txt.tar.gz - Descompacta e desarquiva o arquivo index.txt.tar.gz criado com o comando acima.
* gzip -dc index.tar.gz | tar -xf - - Faz o mesmo que o comando acima só que de uma forma diferente: Primeiro descompacta o arquivo index.txt.tar.gz e envia a saí­da do arquivo descompactado para o tar que desarquivará o arquivo index.txt.
* tar -cjf index.txt.tar.bz2 index.txt - Arquiva o arquivo index.txt em index.txt.tar.bz2 compactando através do bzip2 (opção -j).
* tar -xjf index.txt.tar.bz2 - Descompacta e desarquiva o arquivo index.txt.tar.bz2 criado com o comando acima.
* bzip2 -dc index.txt.tar.bz2 | tar -xf - - Faz o mesmo que o comando acima só que de uma forma diferente: Primeiro descompacta o arquivo index.txt.tar.bz2 e envia a saí­da do arquivo descompactado para o tar que desarquivará o arquivo index.txt.
* tar -t index.txt.tar - Lista o conteúdo de um arquivo .tar.
* tar -tz index.txt.tar.gz - Lista o conteúdo de um arquivo .tar.gz.

## bzip2

É um novo compactador que vem sendo cada vez mais usado porque consegue atingir a melhor compactação em arquivos texto se comparado aos já existentes (em consequência sua velocidade de compactação também é menor; quase duas vezes mais lento que o gzip). Suas opções são praticamente as mesmas usadas no gzip e você também pode usa-lo da mesma forma. A extensão dos arquivos compactados pelo bzip2 é a .bz2
bzip2 [opções] [arquivos]
Onde:

### arquivos

    Especifica quais arquivos serão compactados pelo bzip2. Caso seja usado um -, será assumido a entrada padrão. Curingas podem ser usados para especificar vários arquivos de uma só vez (veja [ch-bas.html#s-basico-curingas Curingas, Seção 2.12]).

### -d, --decompress [arquivo]

    Descompacta um arquivo.

### -f

    Força a compactação, compactando até mesmo links.

### -l [arquivo]

    Lista o conteúdo de um arquivo compactado pelo bzip2.

### -r

    Compacta diretórios e sub-diretórios.

### -c [arquivo]

    Descompacta o arquivo para a saí­da padrão.

### -t [arquivo]

    Testa o arquivo compactado pelo bzip2.

### -[num], --fast, --best

    Ajustam a taxa de compactação/velocidade da compactação. Quanto melhor a taxa menor é a velocidade de compactação e vice versa. A opção --fast permite uma compactação rápida e tamanho do arquivo maior. A opção --best permite uma melhor compactação e uma velocidade menor.
O uso da opção -[número] permite especificar uma compactação individualmente usando números entre 1 (menor compactação) e 9 (melhor compactação). É útil para buscar um bom equilibro entre taxa de compactação/velocidade (especialmente em computadores muito lentos).
Quando um arquivo é compactado pelo bzip2, é automaticamente acrescentada a extensão .bz2 ao seu nome. As permissões de acesso dos arquivos são também armazenadas no arquivo compactado.
Exemplos:
* bzip2 -9 texto.txt - Compacta o arquivo texto.txt usando a compactação máxima (compare o tamanho do arquivo compactado usando o comando ls -la).
* bzip2 -d texto.txt.bz2 - Descompacta o arquivo texto.txt
* bzip2 -c texto.txt.bz2 - Descompacta o arquivo texto.txt para a saí­da padrão (tela)
* bzip2 -9 *.txt - Compacta todos os arquivos que terminam com .txt
* bzip2 -t texto.txt.bz2 - Verifica o arquivo texto.txt.bz2.

## rar

rar é um compactador desenvolvido por Eugene Roshal e possui versões para GNU/Linux, DOS, Windows, OS/2 e Macintosh. Trabalha com arquivos de extensão .rar e permite armazenar arquivos compactados em vários disquetes (múltiplos volumes). Se trata de um produto comercial, mas decidi coloca-lo aqui porque possui boas versões Shareware e pode ser muito útil em algumas situações.
rar [ações] [opções] [arquivo-destino.rar] [arquivos-origem]
Onde:

### arquivo-destino.rar

    É o nome do arquivo de destino

### arquivos-origem

    Arquivos que serão compactados. Podem ser usados curingas para especificar mais de um arquivo.

### a

    Compacta arquivos

### x

    Descompacta arquivos

### d

    Apaga arquivos especificados

### t

    Verifica o arquivo compactado em busca de erros.

### c

    Inclui comentário no arquivo compactado

### r

    Repara um arquivo .rar danificado

### l

    Lista arquivos armazenados no arquivo compactado

### u

    Atualiza arquivos existentes no arquivo compactado.

### m

    Compacta e apaga os arquivos de origem (move).

### e

    Descompacta arquivos para o diretório atual

### p

    Mostra o conteúdo do arquivo na saí­da padrão

### rr

    Adiciona um registro de verificação no arquivo

### s

    Converte um arquivo .rar normal em arquivo auto-extráctil. Arquivos auto-extrácteis são úteis para enviar arquivos a pessoas que não tem o programa rar. Basta executar o arquivo e ele será automaticamente descompactado (usando o sistema operacional que foi criado). Note que esta opção requer que o arquivo default.sfx esteja presente no diretório home do usuário. Use o comando find para localiza-lo em seu sistema.

### o

    Substitui arquivos já existentes sem perguntar

### o-

    Não substitui arquivos existentes

### sfx

    Cria arquivos auto-extrácteis. Arquivos auto-extrácteis são úteis para enviar arquivos a pessoas que não tem o programa rar. Basta executar o arquivo e ele será automaticamente descompactado. Note que este processo requer que o arquivo default.sfx esteja presente no diretório home do usuário. Use o comando find para localiza-lo em seu sistema.

### y

    Assume sim para todas as perguntas

### r

    Inclui sub-diretórios no arquivo compactado

### x [ARQUIVO]

    Processa tudo menos o [ARQUIVO]. Pode ser usados curingas

### v[TAMANHO]

    Cria arquivos com um limite de tamanho. Por padrão, o tamanho é especificado em bytes, mas o número pode ser seguido de k (kilobytes) ou m(megabytes).
Exemplo: rar a -v1440k ... ou rar a -v10m ...

### p [SENHA]

    Inclui senha no arquivo. CUIDADO, pessoas conectadas em seu sistema podem capturar a linha de comando facilmente e descobrir sua senha.

### m [0-5]

    Ajusta a taxa de compactação/velocidade de compactação. 0 não faz compactação alguma (mais rápido) somente armazena os arquivos, 5 é o ní­vel que usa mais compactação (mais lento).

### ed

    Não inclui diretórios vazios no arquivo

### isnd

    Ativa emissão de sons de alerta pelo programa

### ierr

    Envia mensagens de erro para stderr

### inul

    Desativa todas as mensagens

### ow

    Salva o dono e grupo dos arquivos.

### ol

    Salva links simbólicos no arquivo ao invés do arquivo fí­sico que o link faz referência.

### mm[f]

    Usa um método especial de compactação para arquivos multimí­dia (sons, ví­deos, etc). Caso for usado mmf, força o uso do método multimí­dia mesmo que o arquivo compactado não seja deste tipo.
Os arquivos gerados pelo rar do GNU/Linux podem ser usados em outros sistemas operacionais, basta ter o rar instalado. Quando é usada a opção -v para a criação de múltiplos volumes, a numeração dos arquivos é feita na forma: arquivo.rar, arquivo.r00, arquivo.r01, etc, durante a descompactação os arquivos serão pedidos em ordem. Se você receber a mensagem cannot modify volume durante a criação de um arquivo .rar, provavelmente o arquivo já existe. Apague o arquivo existente e tente novamente.
Exemplos:
* rar a texto.rar texto.txt - Compacta o arquivo texto.txt em um arquivo com o nome texto.rar
* rar x texto.rar - Descompacta o arquivo texto.rar
* rar a -m5 -v1400k textos.rar * - Compacta todos os arquivos do diretório atual, usando a compactação máxima no arquivo textos.rar. Note que o tamanho máximo de cada arquivo é 1440 para ser possí­vel grava-lo em partes para disquetes.
* rar x -v -y textos.rar - Restaura os arquivos em múltiplos volumes criados com o processo anterior. Todos os arquivos devem ter sido copiados dos disquetes para o diretório atual antes de prosseguir. A opção -y é útil para não precisar-mos responder yes a toda pergunta que o rar fizer.
* rar t textos.rar - Verifica se o arquivo textos.rar possui erros.
* rar r textos.rar - Repara um arquivo .rar danificado.
Guia foca Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux Guia foca Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux/Porque usar a Debian? Guia foca Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux/Pacotes existentes na Debian Guia foca Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux/O que é sid/testing/frozen/stable? Guia foca Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux/Como obter a Debian Guia foca Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux/Programas de configuração Guia foca Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux/Arquivos de inicialização Guia foca Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux/Níveis de Execução Guia foca Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux/Rede no sistema Debian Guia foca Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux/Bug tracking system Guia foca Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux/Onde encontrar a Debian para Download? Guia foca Linux/Iniciante+Intermediário/A distribuição Debian GNU/Linux/Lista de pacotes para uma instalação rápida e manual
* 20.2 apt
** 20.2.13 Corrigindo problemas de dependências e outros erros

# Capí­tulo 20 - Sistema de gerenciamento de pacotes

Este capí­tulo ensina a operação básica do programa de manipulação de pacotes Debian, a instalação, remoção, consulta e checagem de arquivos .deb.

## dpkg

O dpkg (Debian Package) é o programa responsável pelo gerenciamento de pacotes em sistemas Debian. Sua operação é feita em modo texto e funciona através de comandos, assim caso deseje uma ferramenta mais amigável para a seleção e instalação de pacotes, prefira o dselect (que é um front-end para o dpkg) ou o apt (veja [#s-dpkg-apt apt, Seção 20.2]).
dpkg é muito usado por usuários avançados da Debian e desenvolvedores para fins de instalação, manutenção e construção de pacotes.

### Pacotes

Pacotes Debian são programas colocados dentro de um arquivo identificados pela extensão .deb incluindo arquivos necessários para a instalação do programa, um sistemas de listagem/checagem de dependências, scripts de automatização para remoção parcial/total do pacote, listagem de arquivos, etc.
Um nome de pacote tem a forma nome-versão_revisão.deb

### Instalar pacotes

Use o comando: dpkg -i [NomedoPacote] (ou --install) para instalar um pacote em seu sistema. Talvez ele peça que seja instalado algum pacote que depende para seu funcionamento. Para detalhes sobre dependências veja [#s-dpkg-dependencias Dependências, Seção 20.1.3]. É preciso especificar o nome completo do pacote (com a versão e revisão).

### Dependências

Dependências são pacotes requeridos para a instalação de outro pacote. Na Debian cada pacote contém um programa com uma certa função. Por exemplo, se você tentar instalar o pacote de edição de textos supertext que usa o programa sed, você precisará verificar se o pacote sed está instalado em seu sistema antes de tentar instalar o supertext, caso contrário, o pacote supertext pedirá o sed e não funcionará corretamente. Note que o pacote supertext é apenas um exemplo e não existe (pelo menos até agora :-). O programa dselect faz o trabalho de checagem de dependências automaticamente durante a instalação dos pacotes.
A colocação de cada programa em seu próprio pacote parece ser uma dificuldade a mais para a instalação manual de um certo programa. Mas para os desenvolvedores que mantém os mais de 18730 pacotes existentes na distribuição Debian, é um ponto fundamental, porque não é preciso esperar uma nova versão do supertext ser lançada para instalar a versão mais nova do pacote sed. Por este motivo também é uma vantagem para o usuário.

### Listar pacotes existentes no sistema

Use o comando: dpkg -l [pacote] (--list) para isto.
Na listagem de pacotes também será mostrado o "status" de cada um na coluna da esquerda, acompanhado do nome do pacote, versão e descrição básica. Caso o nome do [pacote] seja omitido, todos os pacotes serão listados.
É recomendado usar "dpkg -l|less" para ter um melhor controle da listagem (pode ser longa dependendo da quantidade de programas instalados).

### Removendo pacotes do sistema

Use o comando: dpkg -r NomedoPacote (--remove) para remover um pacote do sistema completamente. Somente é necessário digitar o nome e versão do pacote que deseja remover, não sendo necessário a revisão do pacote.
O comando dpkg -r não remove os arquivos de configuração criados pelo programa. Para uma remoção completa do programa veja [#s-dpkg-purge Removendo completamente um pacote, Seção 20.1.6].

### Removendo completamente um pacote

Use o comando: dpkg -P [NomedoPacote|-a] (--purge) para remover um pacote e todos os diretórios e arquivos de configuração criados. Não é necessário especificar a revisão do pacote. O comando dpkg --purge pode ser usado após uma remoção normal do pacote (usando dpkg -r).
Caso você usar diretamente o comando dpkg --purge, dpkg primeiro removerá o pacote normalmente (como explicado em [#s-dpkg-r Removendo pacotes do sistema, Seção 20.1.5]) e após removido apagará todos os arquivos de configuração.
Caso especifique a opção -a (ou sua equivalente --pending) no lugar do nome do pacote, todos os pacotes marcados para remoção serão removidos completamente do sistema.
Note que o dpkg --purge somente remove arquivos de configuração conhecidos pelo pacote. Em especial, os arquivos de configuração criados para cada usuário do sistema devem ser removidos manualmente. Seria pedir demais que o dpkg também conhecesse os usuários de nosso sistema ;-).

### Mostrar descrição do pacote

Use o comando: dpkg -I NomedoPacote (--info) para mostrar a descrição do pacote. Entre a descrição são mostradas as dependências do pacote, pacotes sugeridos, recomendados, descrição do que o pacote faz, tamanho e número de arquivos que contém.

### Procura de pacotes através do nome de um arquivo

Use o comando: dpkg -S arquivo (--search) para saber de qual pacote existente no sistema o arquivo pertence.

### Status do pacote

Use o comando: dpkg -s pacote (--status) para verificar o status de um pacote em seu sistema, se esta ou não instalado, configurado, tamanho, dependências, maintainer, etc.
Se o pacote estiver instalado no sistema, o resultado será parecido com o do comando dpkg -c [pacote] (--contents).

### Procurando pacotes com problemas de instalação

A checagem de pacotes com este tipo de problema pode ser feita através do comando:
dpkg -C (--audit)
Será listado todos os pacotes com algum tipo de problema, verifique os detalhes do pacote com "dpkg -s" para decidir como corrigir o problema.

### Mostrando a lista de pacotes do sistema

Use o comando:
dpkg --get-selections
para obter uma lista de seleção dos pacotes em seu sistema. A listagem é mostrada na saí­da padrão, que pode ser facilmente redirecionada para um arquivo usando dpkg --get-selections &gt;dpkg.lista.
A listagem obtida com este comando é muito útil para repetir os pacotes usados no sistema usando o dpkg --set-selections.

### Obtendo uma lista de pacotes para instalar no sistema

Use o comando:
dpkg --set-selections &lt;arquivo
para obter a lista de pacotes que serão instalados no sistema. O uso do dpkg --get-selections e dpkg --set-selections é muito útil durante uma necessidade de reinstalação do sistema GNU/Linux ou repetir a instalação em várias máquinas sem precisar selecionar algumas dezenas entre os milhares de pacotes no dselect.
Após obter a lista com dpkg --get-selections, use dpkg --set-selections &lt;arquivo e então entre no dselect e escolha a opção INSTALL, todos os pacotes obtidos via dpkg --set-selections serão automaticamente instalados.

### Configurando pacotes desconfigurados

Pacotes estão desconfigurados quando, por algum motivo, a instalação do mesmo não foi concluí­da com sucesso. Pode ter faltado alguma dependência, acontecido algum erro de leitura do arquivo de pacote, etc. Quando um erro deste tipo acontece, os arquivos necessários pelo pacote podem ter sido instalados, mas os scripts de configuração pós-instalação não são executados.
Use o comando:
dpkg --configure [NomedoPacote]
Para configurar um pacote. O NomedoPacote não precisa conter a revisão do pacote e extensão.

### Listando arquivos de um pacote

Use o comando: dpkg -c arquivo (--contents) para obter a listagem dos arquivos contidos no pacote. É necessário digitar o nome completo do pacote. O comando dpkg -c é útil para listarmos arquivos de pacotes que não estão instalados no sistema.
Para obter a listagem de arquivos de pacotes já instalados no sistema, use o comando: dpkg -L arquivo. É necessário digitar somente o nome do pacote (sem a revisão e extensão).

## apt

O apt é sistema de gerenciamento de pacotes de programas que possui resolução automática de dependências entre pacotes, método fácil de instalação de pacotes, facilidade de operação, permite atualizar facilmente sua distribuição, etc. Ele funciona através de linha de comando sendo bastante fácil de usar. Mesmo assim, existem interfaces gráficas para o apt como o synaptic (modo gráfico) e o aptitude (modo texto) que permitem poderosas manipulações de pacotes sugeridos, etc.
O apt pode utilizar tanto com arquivos locais como remotos na instalação ou atualização, desta maneira é possí­vel atualizar toda a sua distribuição Debian via ftp ou http com apenas 2 simples comandos!
É recomendável o uso do método apt no programa dselect pois ele permite a ordem correta de instalação de pacotes e checagem e resolução de dependências, etc. Devido a sua facilidade de operação, o apt é o método preferido para os usuários manipularem pacotes da Debian.
O apt é exclusivo da distribuição Debian e distribuições baseadas nela e tem por objetivo tornar a manipulação de pacotes poderosa por qualquer pessoa e tem dezenas de opções que podem ser usadas em sua execução ou configuradas no arquivo /etc/apt/apt.conf. Explicarei aqui como fazer as ações básicas com o apt, portanto se desejar maiores detalhes sobre suas opções, veja a página de manual apt-get.

### O arquivo /etc/apt/sources.list

Este arquivo contém os locais onde o apt encontrará os pacotes, a distribuição que será verificada (stable, testing, unstable, Woody, Sarge) e a seção que será copiada (main, non-free, contrib, non-US).
Woody(Debian 3.0) e Sarge(Debian 3.1) são os nomes das versões enquanto stable e unstable são links para as versões estável e testing respectivamente. Se desejar usar sempre uma distribuição estável (como a Woody), modifique o arquivo sources.list e coloque Woody como distribuição. Caso você desejar estar sempre atualizado mas é uma pessoa cuidadosa e deseja ter sempre a última distribuição estável da Debian, coloque stable como versão. Assim que a nova versão for lançada, os links que apontam de stable para Woody serão alterados apontando para Sarge e você terá seu sistema atualizado.
Abaixo um exemplo simples de arquivo /etc/apt/sources.list com explicação das seções:
Você pode interpretar cada parte da seguinte maneira:
* deb - Identifica um pacote da Debian. A palavra deb-src identifica o código fonte.
* http://www.debian.org/debian - Método de acesso aos arquivos da Debian, site e diretório principal. O caminho pode ser http://, ftp://, file:/.
* stable - Local onde serão procurados arquivos para atualização. Você pode tanto usar o nome de sua distribuição (Woody, Sarge) ou sua classificação (stable, testing ou unstable. Note que unstable é recomendada somente para desenvolvedores, máquinas de testes e se você tem conhecimentos para corrigir problemas. Nunca utilize unstable em ambientes de produção ou servidores crí­ticos, use a stable.
* main contrib non-us - Seções que serão verificadas no site remoto.
Note que tudo especificado após o nome da distribuição será interpretado como sendo as seções dos arquivos (main, non-free, contrib, non-US). As linhas são processadas na ordem que estão no arquivo, então é recomendável colocar as linhas que fazem referência a pacotes locais primeiro e mirrors mais perto de você para ter um melhor aproveitamento de banda. O caminho percorrido pelo apt para chegar aos arquivos será o seguinte:
Você notou que o diretório dists foi adicionado entre http://www.debian.org/debian e stable, enquanto as seções main, non-free e contrib são processadas separadamente e finalizando com o caminho binary-[arquitetura], onde [arquitetura] pode ser i386, alpha, sparc, powerpc, arm, etc. dependendo do seu sistema. Entendendo isto, você poderá manipular o arquivo sources.list facilmente.
OBS: Caso tenha mais de uma linha em seu arquivo sources.list de onde um pacote pode ser instalado, ele será baixado da primeira encontrada no arquivo. í‹ recomendável colocar primeiro repositórios locais ou mais perto de você, como recomendado nesta seção.

#### Endereços de servidores e mirrors nacionais da Debian

Segue abaixo uma relação de servidores que podem ser colocados em seu arquivo sources.list:

#### Um modelo de arquivo sources.list

Você pode copiar o modelo do sources.list abaixo para ser usado em sua distribuição Stable ou personaliza-lo modificando a distribuição utilizada e servidores:

### O arquivo /etc/apt/apt.conf

Você pode especificar opções neste arquivo que modificarão o comportamento do programa apt durante a manipulação de pacotes (ao invés de especificar na linha de comando). Se estiver satisfeito com o funcionamento do programa apt, não é necessário modifica-lo. Para detalhes sobre o formato do arquivo, veja a página de manual do apt.conf. Na página de manual do apt-get são feitas referências a parâmetros que podem ser especificados neste arquivo ao invés da linha de comando.

### Copiando a lista de pacotes disponí­veis

O apt utiliza uma lista de pacotes para verificar se os pacotes existentes no sistema precisam ou não ser atualizados. A lista mais nova de pacotes é copiada através do comando apt-get update.
Este comando pode ser usado com alguma frequência se estiver usando a distribuição stable e sempre se estiver usando a unstable (os pacotes são modificados com muita frequência). Sempre utilize o apt-get update antes de atualizar toda a distribuição.

### Utilizando CDs oficiais/não-oficiais/terceiros com o apt

Para usar CDs da Debian ou de programas de terceiros, use o seguinte comando com cada um dos CDs que possui:
Este comando adicionará automaticamente uma linha para cada CD no arquivo /etc/apt/sources.list e atualizará a lista de pacotes em /var/state/apt/lists. Por padrão, a unidade acessada através de /cdrom é usada. Use a opção -d /dev/scd? para especificar um outra unidade de CDs (veja [ch-disc.html#s-disc-id Identificação de discos e partições em sistemas Linux, Seção 5.12] para detalhes sobre essa identificação).
Durante a instalação de um novo programa, o apt pede que o CD correspondente seja inserido na unidade e pressionado &lt;Enter&gt; para continuar. O método acesso do apt através de CDs é inteligente o bastante para instalar todos os pacotes necessários daquele CD, instalar os pacotes do próximo CD e iniciar a configuração após instalar todos os pacotes necessários.
Observação: - CDs de terceiros ou contendo programas adicionais também podem ser usados com o comando "apt-cdrom add".

### Instalando novos pacotes

Use o comando apt-get install [pacotes] para instalar novos pacotes em sua distribuição. Podem ser instalados mais de um pacotes ao mesmo tempo separando os nomes por espaços. Somente é preciso especificar o nome do pacote (sem a versão e revisão).
Se preciso, o apt instalará automaticamente as dependências necessárias para o funcionamento correto do pacote. Quando pacotes além do solicitado pelo usuário são requeridos para a instalação, o apt mostrará o espaço total que será usado no disco e perguntará ao usuário se ele deseja continuar. Após a instalação, o pacote será automaticamente configurado pelo dpkg para ser executado corretamente em seu sistema.

### Removendo pacotes instalado

Use o comando apt-get remove [pacotes] para remover completamente um pacote do sistema. Podem ser removidos mais de um pacote ao mesmo tempo separando os nomes dos pacotes com espaços. O apt-get remove remove completamente o pacote mas mantém os arquivos de configuração, exceto se for adicionada a opção—purge.
É preciso especificar somente o nome do pacote (sem a versão e revisão).

### Atualizando sua distribuição

O apt tem uma grande caracterí­stica: Atualizar toda a sua distribuição de uma forma inteligente e segura. O apt lê a listagem de pacotes disponí­veis no servidor remoto, verifica quais estão instalados e suas versões, caso a versão do pacote seja mais nova que a já instalada em seu sistema, o pacote será imediatamente atualizado.
A cópia dos arquivos pelo apt pode ser feita via FTP, HTTP ou através de uma cópia local dos arquivos no disco rí­gido (um mirror local). Em nenhuma circunstância os pacotes existentes em seu sistema serão removidos ou sua configuração apagada durante um upgrade na distribuição.
Os arquivos de configuração em /etc que foram modificados são identificados e podem ser mantidos ou substituí­dos por versões existentes nos pacotes que estão sendo instalado, esta escolha é feita por você. Se estiver atualizando a Debian Potato (2.2) para Woody (3.0) (ou versão superior), execute os seguintes comandos antes de iniciar a atualização:
para retornar as variáveis de localização ao valor padrão (inglês). Isto é necessário por causa de modificações no sistema de locales, e o excesso de mensagens de erro do perl causaram alguns problemas em meus testes.
Após isto, a atualização da distribuição Debian pode ser feita através de dois simples comandos:
A opção -f faz com que o apt verifique e corrija automaticamente problemas de dependências entre pacotes. Recomendo executa o comando apt-get -f --dry-run dist-upgrade|less para ver o que vai acontecer sem atualizar a distribuição, se tudo ocorrer bem, retire o --dry-run e vá em frente.
A distribuição usada na atualização pode ser:
* Para a mesma versão que utiliza - Para quem deseja manter os pacotes sempre atualizados entre revisões, copiar pacotes que contém correções para falhas de segurança (veja a página web em http://www.debian.org/ para acompanhar o boletim de segurança).
* Para uma distribuição stable - Mesmo que o acima, mas quando uma nova distribuição for lançada, o link simbólico de stable será apontado para próxima distribuição, atualizando instantaneamente seu sistema.
* Para a distribuição testing - Atualiza para a futura distribuição Debian que será lançada, é como a unstable, mas seus pacotes passam por um perí­odo de testes de 2 semanas na unstable antes de serem copiados para esta.
* unstable - Versão em desenvolvimento, recomendada somente para desenvolvedores ou usuários que conhecem a fundo o sistema GNU/Linux e saibam resolver eventuais problemas que apareçam.
A unstable é uma distribuição em constante desenvolvimento e pode haver pacotes problemáticos ou com falhas de segurança. Após o perí­odo de desenvolvimento, a distribuição unstable se tornará frozen.
* frozen - Versão congelada, nenhum pacote novo é aceito e somente são feitas correções de falhas. Após todas as falhas estarem corrigidas, a distribuição frozen se tornará stable
A distribuição que será usada na atualização pode ser especificada no arquivo /etc/apt/sources.list (veja a seção correspondente acima). Caso o método de atualização usado seja via HTTP ou FTP, será necessário usar o comando apt-get clean para remover os pacotes copiados para seu sistema (para detalhes veja a seção seguinte).

### Removendo pacotes baixados pelo apt

Use o comando apt-get clean para apagar qualquer arquivo baixado durante uma atualização ou instalação de arquivos com o apt. Os arquivos baixados residem em /var/cache/apt/archives (download completo) e /var/cache/apt/archives/partial (arquivos sendo baixados - parciais).
Este local de armazenamento é especialmente usado com o método http e ftp para armazenamento de arquivos durante o download para instalação (todos os arquivos são primeiro copiados para serem instalados e configurados).
O apt-get clean é automaticamente executado caso seja usado o método de acesso apt do dselect.

### Procurando por pacotes através da descrição

O utilitário apt-cache pode ser usado para esta função. Ele também possui outras utilidades interessante para a procura e manipulação da lista de pacotes.
Por exemplo, o comando apt-cache search clock mostrará todos os pacotes que possuem a palavra clock na descrição do pacote.

### Procurando um pacote que contém determinado arquivo

Suponha que algum programa esteja lhe pedindo o arquivo perlcc e você não tem a mí­nima idéia de que pacote instalar no seu sistema. O utilitário auto-apt pode resolver esta situação. Primeiro instale o pacote auto-apt e execute o comando auto-apt update para que ele copie o arquivo Contents-i386.gz que será usado na busca desses dados.
Agora, basta executar o comando:
para que ele retorne o resultado:
O pacote que contém este arquivo é o perl e se encontra na seção interpreters dos arquivos da Debian. Para uma pesquisa que mostra mais resultados (como auto-apt search a2ps), é interessante usar o grep para filtrar a saí­da:
Serão mostrados somente os binários, diretórios de documentação, manpages, etc. não serão mostradas.

### Modos eficazes de compilação do código fonte para a Debian

O Debian como qualquer distribuição de Linux, possui o diretório /usr/local que segundo a FHS é o local apropriado para colocação de programas que não fazem parte da distribuição, que seria no caso o de fontes compilados manualmente. Um dos grandes trabalhos de quem pega o código fonte para compilação é a instalação de bibliotecas de desenvolvimento para a compilação ocorrer com sucesso.
O auto-apt facilita magicamente o processo de compilação da seguinte forma: durante o passo ./configure no momento que é pedida uma bibliotecas, dependência, etc. o auto-apt para o processo, busca por pacotes no repositório da Debian, pergunta qual pacote será instalado (caso tenha mais de uma opção), instala e retorna o ./configure do ponto onde havia parado.
Para fazer isso, execute o comando:
E ele se encarregará do resto :-)

### Verificando pacotes corrompidos

Use o comando apt-get check para verificar arquivos corrompidos. A correção é feita automaticamente. A lista de pacotes também é atualizada quando utiliza este comando.

### Corrigindo problemas de dependências e outros erros

Use o comando apt-get -f install (sem o nome do pacote) para que o apt-get verifique e corrija problemas com dependências de pacotes e outros problemas conhecidos.
* 21.9 Diretório /etc/skel

# Capí­tulo 21 - Personalização do Sistema

Este capí­tulo ensina como personalizar algumas caracterí­sticas de seu sistema GNU/Linux.

## Variáveis de Ambientes

É um método simples e prático que permite a especificação de opções de configuração de programas sem precisar mexer com arquivos no disco ou opções. Algumas variáveis do GNU/Linux afetam o comportamento de todo o Sistema Operacional, como o idioma utilizado e o path (veja [ch-run.html#s-run-path path, Seção 7.2]) . Variáveis de ambientes são nomes que contém algum valor e tem a forma Nome=Valor. As variáveis de ambiente são individuais para cada usuário do sistema ou consoles virtuais e permanecem residentes na memória RAM até que o usuário saia do sistema (logo-off) ou até que o sistema seja desligado.
As variáveis de ambiente são visualizadas/criadas através do comando set ou echo $NOME (apenas visualiza) e exportadas para o sistemas com o comando export NOME=VALOR.
Nos sistemas Debian, o local usado para especificar variáveis de ambiente é o /etc/environment (veja [#s-pers-environment Arquivo /etc/environment, Seção 21.8]). Todas as variáveis especificadas neste arquivos serão inicializadas e automaticamente exportadas na inicialização do sistema.
Exemplo: Para criar uma variável chamada TESTE que contenha o valor 123456 digite: export TESTE=123456. Agora para ver o resultado digite: echo $TESTE ou set|grep TESTE. Note que o $ que antecede o nome TESTE serve para identificar que se trata de uma variável e não de um arquivo comum.

### Variáveis numéricas

As variáveis definidas através de:
são, por default, strings. Assim, não estranhe se, depois de:
não acontecer o que seria esperado (a criação do arquivo teste2.txt com a string "Teste 2"). O motivo é que, ao definir n=1, temos que n é uma variável string, então $n+1 simplesmente pega a string e acrescenta +1, formando a string "1+1".
Para fazer aritmética com números inteiros, é preciso definir n como um inteiro, por exemplo, usando-se typeset.

## Modificando o Idioma usado em seu sistema

O idioma usado em seu sistema pode ser modificado facilmente através das variáveis de ambiente. Atualmente a maioria dos programas estão sendo localizados. A localização é um recurso que especifica arquivos que contém as mensagens do programas em outros idiomas. Você pode usar o comando locale para listar as variáveis de localização do sistema e seus respectivos valores. As principais variáveis usadas para determinar qual idioma os programas localizados utilizarão são:
* LANG - Especifica o idioma_PAIS local. Podem ser especificados mais de um idioma na mesma variável separando-os com :, desta forma caso o primeiro não esteja disponí­vel para o programa o segundo será verificado e assim por diante. A lí­ngua Inglesa é identificada pelo código C e usada como padrão caso nenhum locale seja especificado.
Por exemplo: export LANG=pt_BR, export LANG=pt_BR:pt_PT:C
* LC_MESSAGES - Especifica o idioma que serão mostradas as mensagens dos programas. Seu formato é o mesmo de LANG.
* LC_ALL - Configura todas as variáveis de localização de uma só vez. Seu formato é o mesmo de LANG.
As mensagens de localização estão localizadas em arquivos individuais de cada programa em /usr/share/locale/[Idioma]/LC_MESSAGES . Elas são geradas através de arquivos potfiles (arquivos com a extensão .po ou .pot e são gerados catálogos de mensagens .mo. As variáveis de ambiente podem ser especificadas no arquivo /etc/environment desta forma as variáveis serão carregadas toda a vez que seu sistema for iniciado. Você também pode especificar as variáveis de localização em seu arquivos de inicialização .bash_profile, .bashrc ou .profile assim toda a vez que entrar no sistema, as variáveis de localização personalizadas serão carregadas.
Siga as instruções a seguir de acordo com a versão de sua distribuição Debian:

### Debian 4.0

    Acrescente a linha pt_BR ISO-8859-1 no arquivo /etc/locale.gen, rode o utilitário locale-gen para gerar os locales. Agora acrescente as variáveis de localização no arquivo /etc/locale.def seguindo a forma:
Note que o arquivo /etc/environment também pode ser usado para tal tarefa, mas o locales.def foi criado especialmente para lidar com variáveis de localização na Debian 4.0.
Para as mensagens e programas do X-Window usarem em seu idioma local, é preciso colocar as variáveis no arquivo ~/.xserverrc do diretório home de cada usuário e dar a permissão de execução neste arquivo (chmod 755 .xserverrc). Lembre-se de incluir o caminho completo do arquivo executável do seu gerenciador de janelas na última linha deste arquivo (sem o &amp; no final), caso contrário o Xserver será finalizado logo após ler este arquivo.
Abaixo exemplos de localização com as explicações:
* export LANG=pt_BR - Usa o idioma pt_BR como lí­ngua padrão do sistema. Caso o idioma Portugues do Brasil não esteja disponí­vel, C é usado (Inglês).
* export LANG=C - Usa o idioma Inglês como padrão (é a mesma coisa de não especificar LANG, pois o idioma Inglês é usado como padrão).
* export LANG=pt_BR:pt_PT:es_ES:C - Usa o idioma Português do Brasil como padrão, caso não esteja disponí­vel usa o Português de Portugal, se não estiver disponí­vel usa o Espanhol e por fim o Inglês.
* LANG=es_ES ls—help - Executa apenas o comando ls—help usando o idioma es_ES (sem alterar o locale do sistema).
É recomendável usar a variável LC_ALL para especificar o idioma, desta forma todos os outras variáveis (LANG, MESSAGES, LC_MONETARY, LC_NUMERIC, LC_COLLATE, LC_CTYPE e LC_TIME) serão configuradas automaticamente.

## alias

Permite criar um apelido a um comando ou programa. Por exemplo, se você gosta de digitar (como eu) o comando ls—color=auto para ver uma listagem longa e colorida, você pode usar o comando alias para facilitar as coisas digitando: alias ls='ls—color=auto' (não se esqueça da meia aspa 'para identificar o comando'). Agora quando você digitar ls, a listagem será mostrada com cores.
Se você digitar ls -la, a opção -la será adicionada no final da linha de comando do alias: ls—color=auto -la, e a listagem também será mostrada em cores.
Se quiser utilizar isto toda vez que entrar no sistema, veja [#s-pers-bashprofile Arquivo .bash_profile, Seção 21.5] e [#s-pers-bashrc Arquivo .bashrc, Seção 21.6].

## Arquivo /etc/profile

Este arquivo contém comandos que são executados para todos os usuários do sistema no momento do login. Somente o usuário root pode ter permissão para modificar este arquivo.
Este arquivo é lido antes do arquivo de configuração pessoal de cada usuário (.profile(root) e .bash_profile).
Quando é carregado através de um shell que requer login (nome e senha), o bash procura estes arquivos em sequência e executa os comandos contidos, caso existam:
* /etc/profile
* ~/.bash_profile
* ~/.bash_login
* ~/.profile
Ele interrompe a pesquisa assim que localiza o primeiro arquivo no diretório do usuário (usando a sequência acima). Por exemplo, se você tem o arquivo ~/.bash_login e ~/.bash_profile em seu diretório de usuário, ele processará o /etc/profile e após isto o ~/.bash_profile, mas nunca processará o ~/.bash_login (a menos que o ~/.bash_profile seja apagado ou renomeado). Caso o bash seja carregado através de um shell que não requer login (um terminal no X, por exemplo), o seguinte arquivo é executado: ~/.bashrc.
Observação: Nos sistemas Debian, o profile do usuário root está configurado no arquivo /root/.profile. A razão disto é porque se o bash for carregado através do comando sh, ele fará a inicialização clássica deste shell lendo primeiro o arquivo /etc/profile e após o ~/.profile e ignorando o .bash_profile e .bashrc que são arquivos de configuração usados somente pelo Bash. Exemplo, inserindo a linha mesg y no arquivo /etc/profile permite que todos os usuários do sistema recebam pedidos de talk de outros usuários. Caso um usuário não quiser receber pedidos de talk, basta somente adicionar a linha mesg n no arquivo pessoal .bash_profile.

## Arquivo .bash_profile

Este arquivo reside no diretório pessoal de cada usuário. É executado por shells que usam autenticação (nome e senha). .bash_profile contém comandos que são executados para o usuário no momento do login no sistema após o /etc/profile. Note que este é um arquivo oculto pois tem um "." no inicio do nome. Por exemplo colocando a linha: alias ls='ls—colors=auto' no .bash_profile, cria um apelido para o comando ls --colors=auto usando ls, assim toda vez que você digitar ls será mostrada a listagem colorida.

## Arquivo .bashrc

Possui as mesmas caracterí­sticas do .bash_profile mas é executado por shells que não requerem autenticação (como uma seção de terminal no X). Os comandos deste arquivo são executados no momento que o usuário inicia um shell com as caracterí­sticas acima. Note que este é um arquivo oculto pois tem um "." no inicio do nome.

## Arquivo .hushlogin

Deve ser colocado no diretório pessoal do usuário. Este arquivo faz o bash pular as mensagens do /etc/motd, número de e-mails, etc. Exibindo imediatamente o aviso de comando após a digitação da senha.

## Arquivo /etc/environment

Armazena as variáveis de ambiente que são exportadas para todo o sistema. Uma variável de ambiente controla o comportamento de um programa, registram detalhes úteis durante a seção do usuário no sistema, especificam o idioma das mensagens do sistema, etc. Exemplo do conteúdo de um arquivo /etc/environment:

## Diretório /etc/skel

Este diretório contém os modelos de arquivos .bash_profile e .bashrc que serão copiados para o diretório pessoal dos usuários no momento que for criada uma conta no sistema. Desta forma você não precisará configurar estes arquivos separadamente para cada usuário.
Guia foca Linux/Iniciante+Intermediário/Impressão/

## Portas de impressora

Uma porta de impressora é o local do sistema usado para se comunicar com a impressora. Em sistemas GNU/Linux, a porta de impressora é identificada como lp0, lp1, lp2 no diretório /dev, correspondendo respectivamente a LPT1, LPT2 e LPT3 no DOS e Windows. Recomendo que o suporte a porta paralela esteja compilado como módulo no kernel.

## Imprimindo diretamente para a porta de impressora

Isto é feito direcionando a saí­da ou o texto com &gt; diretamente para a porta de impressora no diretório /dev.
Supondo que você quer imprimir o texto contido do arquivo trabalho.txt e a porta de impressora em seu sistema é /dev/lp0, você pode usar os seguintes comandos:
* cat trabalho.txt &gt;/dev/lp0 - Direciona a saí­da do comando cat para a impressora.
* cat &lt;trabalho.txt &gt;/dev/lp0. Faz a mesma coisa que o acima.
* cat -n trabalho.txt &gt;/dev/lp0 - Numera as linhas durante a impressão.
* head -n 30 trabalho.txt &gt;/dev/lp0 - Imprime as 30 linhas iniciais do arquivo.
* cat trabalho.txt|tee /dev/lp0 - Mostra o conteúdo do cat na tela e envia também para a impressora.
Os métodos acima servem somente para imprimir em modo texto (letras, números e caracteres semi-gráficos).

## Imprimindo via spool

A impressão via spool tem por objetivo liberar logo o programa do serviço de impressão deixando um outro programa especifico tomar conta. Este programa é chamado de daemon de impressão, normalmente é o lpr ou o lprng (recomendado) em sistemas GNU/Linux.
Logo após receber o arquivo que será impresso, o programa de spool gera um arquivo temporário (normalmente localizado em /var/spool/lpd) que será colocado em fila para a impressão (um trabalho será impresso após o outro, em sequência). O arquivo temporário gerado pelo programa de spool é apagado logo após concluir a impressão.
Antes de se imprimir qualquer coisa usando os daemons de impressão, é preciso configurar os parâmetros de sua impressora no arquivo /etc/printcap. Um arquivo /etc/printcap para uma impressora local padrão se parece com o seguinte:
É possí­vel também compartilhar a impressora para a impressão em sistemas remotos, isto será visto em uma seção separada neste guia.
Usando os exemplos anteriores da seção Imprimindo diretamente para uma porta de impressora, vamos acelerar as coisas:
* cat trabalho.txt |lpr - Direciona a saí­da do comando cat para o programa de spool lpr.
* cat &lt;trabalho.txt |lpr. Faz a mesma coisa que o acima.
* cat -n trabalho.txt |lpr - Numera as linhas durante a impressão.
* head -n 30 trabalho.txt |lpr - Imprime as 30 linhas iniciais do arquivo.
A fila de impressão pode ser controlada com os comandos:
* lpq - Mostra os trabalhos de impressão atuais
* lprm - Remove um trabalho de impressão
Ou usado o programa de administração lpc para gerenciar a fila de impressão (veja a página de manual do lpc ou digite ? ao iniciar o programa para detalhes).
OBS1: Se a impressora não imprimir ou não for possí­vel compartilhar a porta de impressora paralela com outros dispositivos (tal como o plip), verifique se o módulo parport_pc foi carregado e com os valores de irq e I/O corretos (por exemplo, modprobe parport_pc io=0x378 irq=7). Muitas vezes sua porta paralela pode funcionar sem problemas durante a impressão, mas se ao utilizar plip ocorrerem erros, a causa pode ser essa. Na distribuição Debian, use o programa modconf para configurar os valores permanentemente para o módulo parport_pc.
OBS2: Se tiver mais de uma impressora instalada na máquina, será necessário especificar a opção "-P impressora" para especificar qual impressora deseja imprimir/controlar.

## Impressão em modo gráfico

A impressão em modo gráfico requer que conheça a marca e modelo de sua impressora e os métodos usados para imprimir seus documentos. Este guia abordará somente a segunda recomendação :-)

### Ghost Script

O método mais usados pelos aplicativos do GNU/Linux para a impressão de gráficos do Ghost Script. O Ghost Script (chamado de gs) é um interpretador do formato Pos Script (arquivos .ps) e pode enviar o resultado de processamento tanto para a tela como impressora. Ele está disponí­vel para diversas plataformas e sistema operacionais além do GNU/Linux, inclusive o DOS, Windows, OS/2, etc.
O formato .ps esta se tornando uma padronização para a impressão de gráficos em GNU/Linux devido a boa qualidade da impressão, liberdade de configuração, gerenciamento de impressão feito pelo gs e por ser um formato universal, compatí­veis com outros sistemas operacionais.
Para imprimir um documento via Ghost Script, você precisará do pacote gs, gsfonts (para a distribuição Debian e distribuições baseadas, ou outros de acordo com sua distribuição Linux) e suas dependências. A distribuição Debian vem com vários exemplos Pos Script no diretório /usr/share/doc/gs/example que são úteis para o aprendizado e testes com o Ghost Script.
Hora da diversão:
* Copie os arquivos tiger.ps.gz e alphabet.ps.gz do diretório /usr/share/doc/gs/examples (sistemas Debian) para /tmp e descompacte-os com o comando gzip -d tiger.ps.gz e gzip -d alphabet.ps.gz. Se a sua distribuição não possui arquivos de exemplo ou você não encontra nenhuma referência de onde se localizam, mande um e-mail que os envio os 2 arquivos acima (são 32Kb).
* O Ghost Script requer um monitor EGA, VGA ou superior para a visualização dos seus arquivos (não tenho certeza se ele funciona com monitores CGA ou Hércules Monocromático) .
Para visualizar os arquivos na tela digite:
Para sair do Ghost Script pressione CTRL C. Neste ponto você deve ter visto um desenho de um tigre e (talvez) letras do alfabeto. Se o comando gs alphabet.ps mostrou somente uma tela em branco, você se esqueceu de instalar as fontes do Ghost Script (estão localizadas no pacote gsfonts na distribuição Debian).
* Para imprimir o arquivo alphabet.ps use o comando:
O arquivo alphabet.ps deve ser impresso. Caso aparecerem mensagens como Error: /invalidfont in findfont no lugar das letras, você se esqueceu de instalar ou configurar as fontes do Ghost Script. Instale o pacote de fontes (gsfonts na Debian) ou verifique a documentação sobre como configurar as fontes. Cada uma das opções acima descrevem o seguinte:
** -q, -dQUIET - Não mostra mensagens de inicialização do Ghost Script.
** -dSAFER - É uma opção para ambientes seguros, pois desativa a operação de mudança de nome e deleção de arquivo e permite somente a abertura dos arquivos no modo somente leitura.
** -dNOPAUSE - Desativa a pausa no final de cada página processada.
** -sDEVICE=dispositivo - Dispositivo que receberá a saí­da do Ghost Script. Neste local pode ser especificada a marca o modelo de sua impressora ou um formato de arquivo diferente (como pcxmono, bmp256) para que o arquivo .ps seja convertido para o formato designado.
Para detalhes sobre os dispositivos disponí­veis em seu Ghost Script, digite gs—help|less ou veja a página de manual. Normalmente os nomes de impressoras e modelos são concatenados, por exemplo, bjc600 para a impressora Canon BJC 600, epson para impressoras padrão epson, stcolor para Epson Stylus color, etc. O Hardware-HOWTO contém referências sobre hardware suportados pelo GNU/Linux, tal como impressoras e sua leitura pode ser útil.
** -r&lt;ResH&gt;x&lt;ResV&gt; - Define a resolução de impressão (em dpi) Horizontal e Vertical. Os valores dependem de sua impressora.
** -sPAPERSIZE=tamanho - Tamanho do papel. Podem ser usados a4, legal, letter, etc. Veja a página de manual do gs para ver os outros tipos suportados e suas medidas.
** -sOutputFile=dispositivo - Dispositivo que receberá a saí­da de processamento do gs. Você pode especificar
*** arquivo.epson - Nome do arquivo que receberá todo o resultado do processamento. O arquivo.epson terá toda a impressão codificada no formato entendido por impressoras epson e poderá ser impresso com o comando cat arquivo.epson &gt;/dev/lp0.
Uma curiosidade útil: É possí­vel imprimir este arquivo em outros sistemas operacionais, tal como o DOS digitando: copy /b arquivo.eps prn (lembre-se que o DOS tem um limite de 8 letras no nome do arquivo e 3 na extensão. Você deve estar compreendendo a flexibilidade que o GNU/Linux e suas ferramentas permitem, isso é só o começo.
*** impressao%d.epson - Nome do arquivo que receberá o resultado do processamento. Cada página será gravada em arquivos separados como impressao1.epson, impressao2.epson.
Os arquivos podem ser impressos usando os mesmos métodos acima.
*** /dev/lp0 para uma impressora em /dev/lp0
*** - para redirecionar a saí­da de processamento do gs para a saí­da padrão. É útil para usar o gs com pipes |.
*** \|lpr - Envia a saí­da do Ghost Script para o daemon de impressão. O objetivo é deixar a impressão mais rápida.
Se você é curioso ou não esta satisfeito com as opções mostradas acima, veja a página de manual do gs.

## Magic Filter

O Magic Filter é um filtro de impressão inteligente. Ele funciona acionado pelo spool de impressão (mais especificamente o arquivo /etc/printcap) e permite identificar e imprimir arquivos de diversos tipos diretamente através do comando lpr arquivo.
É um ótimo programa e ALTAMENTE RECOMENDADO se você deseja apenas clicar no botão imprimir e deixar os programas fazerem o resto :-) A intenção do programa é justamente automatizar os trabalhos de impressão e spool.
A maioria dos programas para ambiente gráfico X11, incluindo o Netscape, Word Perfect, Gimp e Star Office trabalham nativamente com o magicfilter.

### Instalação e configuração do Magic Filter

O Magic Filter é encontrado no pacote magicfilter da distribuição Debian e baseadas.
Sua configuração pode ser feita com o programa magicfilterconfig que torna o processo de configuração rápido e fácil para quem não conhece a sintaxe do arquivo /etc/printcap ou não tem muitas exigências sobre a configuração detalhada da impressora.
Após instalar o magicfilter reinicie o daemon de impressão (se estiver usando a Debian, entre no diretório /etc/init.d e como usuário root digite ./lpr restart ou ./lprng restart).
Para testar o funcionamento do magicfilter, digite lpr alphabet.ps e lpr tiger.ps, os arquivos serão enviados para o magicfilter que identificará o arquivo como Pos Script, executará o Ghost Script e retornará o resultado do processamento para o daemon de impressão. O resultado será visto na impressora.
Se tiver problemas, verifique se a configuração feita com o magicfilterconfig está correta. Caso precise re-configurar o magicfilter, digite magicfilterconfig—force (lembre-se que a opção—force substitui qualquer configuração personalizada que tenha adicionado ao arquivo /etc/printcap).

### Outros detalhes técnicos sobre o Magic Filter

Durante a configuração do magicfilter, a seguinte linha é adicionada ao arquivo /etc/printcap:
Não tenho nenhum contrato de divulgação com a epson :-) estou usando esta marca de impressora porque é a mais tradicional e facilmente encontrada. A linha que começa com :if no magicfilter identifica um arquivo de filtro de impressão.
O arquivo /etc/magicfilter/epson9-filter é criado usando o formato do magicfilter, e não é difí­cil entender seu conteúdo e fazer algumas modificações:
Você deve ter notado que para cada tipo de arquivo existe o respectivo programa que é executado, basta você modificar as opções usadas nos programas neste arquivo (como faria na linha de comando) para afetar o comportamento da impressão.
Por exemplo, modificando a resolução para -r240x72 no processamento de arquivos Pos Script (gs), a impressora passará a usar esta resolução.
* 23.2 Número de Cores do ambiente gráfico
** 23.2.3 Ajustando o alinhamento da imagem no X e outras configurações

# Capí­tulo 23 - Configuração do sistema

Este capí­tulo traz explicações sobre algumas configurações úteis que podem ser feitas no sistema. Neste documento assumimos que o kernel do seus sistema já possui suporte a página de código 860 (Portuguesa) e o conjunto de caracteres ISO-8859-1.

## Acentuação

Permite que o GNU/Linux use a acentuação. A acentuação do modo texto é independente do modo gráfico; você pode configurar tanto um como o outro ou ambos. Para maiores detalhes veja [#s-cfg-acentuacao-t Acentuação em modo Texto, Seção 23.1.1] e/ou [#s-cfg-acentuacao-g Acentuação em modo gráfico, Seção 23.1.2].
Note que os mapas de teclado usados em modo texto são diferentes dos usados em modo gráfico. Geralmente os mapas de teclados para o modo gráfico tem uma letra X no nome.

### Acentuação em modo Texto

Caso sua distribuição Debian esteja acentuando corretamente no modo texto você não precisará ler esta seção. Antes de prosseguir, verifique se você possui o pacote console-data instalado em seu sistema com o comando: dpkg -l console-data. Caso não existam, alguns programas de configuração e arquivos de fontes não estarão disponí­veis.
Siga os passos abaixo para colocar e acentuação em funcionamento para o modo Texto na Debian:

#### Mapa de Teclados

    ;; Debian 4.0 (Etch)
       Digite dpkg-reconfigure console-data. Após a tela inicial, selecione a opção Selecionar o mapa de teclados da lista de arquiteturas, qwerty e selecione os passos seguintes de acordo com seu tipo de teclado:
      * Us Internacional - Selecione US American na lista de opções e em seguida Standard e US International (ISO-8859-1).
      * ABNT2 (com cedilha) - Selecione Brazilian na lista de opções.

#### Configurando o Mapa de Teclados

    Digite dpkg-reconfigure console-data. Após a tela inicial, selecione a opção Selecionar o mapa de teclados da lista de arquiteturas, qwerty e selecione os passos seguintes de acordo com o seu tipo de teclado:
   * US Inernacional - Selecione US American na lista de opções de layout e em seguida Standard e depois US International (ISO-8859-1).
   * ABNT2 (com dedilha) - Selecione Brazilian na lista de opções
Após isso, o mapa de teclados correto será carregado de /usr/share/keymaps e será ativado no sistema. Se desejar usar o comando loadkeys manualmente , você precisa copiar o mapa de teclados para um local conhecido no sistema, então copie o arquivo arquivo.kmap para /usr/share/keymaps/i386/qwerty (em sistemas Debian) ou algum outro local apropriado. Note que o arquivo pode ser compactado pelo gzip e copiado para /usr/share/keymaps/i386/qwerty que será lido sem problemas pelo sistema encarregado de configurar o teclado e acentuação.

#### Configurando a fonte de Tela

    Descomente a linha SCREEN_FONT=LatArCyrHeb-16 e modifique-a para CONSOLE_FONT=lat1u-16.psf no arquivo /etc/console-tools/config.
Esta linha diz ao sistema que fonte deve carregar para mostrar os caracteres na tela. A fonte de caracteres deve ser compatí­vel com o idioma local, pois nem todas suportam caracteres acentuados. A fonte preferí­vel para exibir os caracteres acentuados usando padrão ISO é a lat1u-16, o -16 no nome do arquivo significa o tamanho da fonte. As fontes de tela estão disponí­veis no diretório /usr/share/consolefonts. Neste ponto você pode verificar se o seu sistema esta reconhecendo corretamente a acentuação entrando no editor de textos ae e digitando: áãâí . Se todos os acentos apareceram corretamente, parabéns! você já passou pela parte mais difí­cil. Agora o próximo passo é a acentuação no Bash.

#### Acentuação no aviso de comando (bash)

    Para acentuar no Bash (interpretador de comandos) é necessário alterar o arquivo /etc/inputrc e fazer as seguintes modificações:
   * Descomente a linha: "#set convert-meta off" você faz isto apagando o sí­mbolo "#" antes do nome.
Um comentário faz com que o programa ignore linha(s) de comando. É muito útil para descrever o funcionamento de comandos/programas (você vai encontrar muito isso no sistema GNU/Linux, tudo é muito bem documentado).
   * Inclua a seguinte linha no final do arquivo:
set meta-flag on
   * O conteúdo deste arquivo deve ficar assim:
   * Digite exit ou pressione CTRL D para fazer o logout. Entre novamente no sistema para que as alterações façam efeito.
Pronto! você já esta acentuando em modo texto!. Talvez seja necessário que faça alguma alteração em arquivos de configuração de outros programas para que possa acentuar corretamente (veja se existe algum arquivo com o nome correspondente ao programa no diretório /etc).
A distribuição Debian também traz o utilitário kbdconfig que também faz a configuração do mapa de teclados de forma interativa e gravando automaticamente o mapa de teclados em /etc/kbd/default.map.gz. Se preferir usar o kbdconfig ainda será necessário executar os passos acima para habilitação da fonte lat1u-16 e acentuação no bash.

### Acentuação em modo gráfico

A acentuação no modo gráfico é feita de maneira simples:

#### Configuração do mapa de teclados

    Execute o comando dpkg-reconfigure xserver-xorg e informe o tipo de teclado quando perguntado pelo sistema de configuração. A configuração será gravada na seção InputDevice do arquivo /etc/X11/xorg.conf e poderá ser modificada manualmente se necessário.

## Número de Cores do ambiente gráfico

O número de cores do ambiente gráfico pode ser alterado facilmente. Normalmente as distribuições realizam a instalação usando o padrão VESA (que é compatí­vel com qualquer placa de ví­deo) usando 65.000 cores (16 bits), mas por usar VESA são deixados de lado recursos como aceleração de hardware, XV, e recursos 3D necessário pela maioria dos jogos e aplicativos de ví­deo atuais.
A configuração apropriada do driver exige que você execute novamente o procedimento de configuração da distribuição usando o comando dpkg-reconfigure xserver-xorg.
Por exemplo, para configurar minha placa de ví­deo Intel 810, é necessário selecionar o driver i810 na tela de seleção do driver de video do dpkg-reconfigure xserver-xorg. O programa xresprobe pode ser útil caso deseja fazer manualmente ajustes finos na configuração do /etc/X11/xorg.conf. O monitor também poderá ser configurado de acordo com o tamanho da tela (em polegadas).
Com uma configuração correta é possí­vel atingir até 32 bits de cores (pocket pixel) no X. A configuração do X utiliza o número de bits ao invés do número de cores na sua configuração. Abaixo uma tabela comparativa:
Lembre-se que a tabela acima leva em consideração a resolução de ví­deo de 640x480. Caso utilizar uma resolução de 800x600, 1024x768 ou superior, os requerimentos de memória de ví­deo para mostrar o número de cores da tabela acima serão maiores. Para mostrar 1024x768 - 16 milhões de cores serão necessários 2MB de memória de ví­deo, por exemplo. A resolução de 24 bits normalmente traz problemas em alguns chipsets, considere a utilização da resolução de 16 ou 32 bits.
O uso de uma resolução de ví­deo como 800x600 ou superior, também depende do monitor de ví­deo. Nem todos os monitores VGA e SVGAs do mercado suportam resoluções acima de 640x480.
OBS: Se tiver escolha, prefira placas de ví­deo independentes da placa mãe. Normalmente as placas de ví­deo on-board usam parte da memória RAM como memória de ví­deo (memória compartilhada) e isto diminui a performance de ví­deo e a performance do sistema porque se você estiver usando 2MB de memória de ví­deo, terá 2 MB a menos para executar seus programas. O preço destas placas geralmente diminui na proporção do desempenho que oferecem.
Uma boa escolha para uma melhor qualidade e maior velocidade é 16 bits. O motivo disto é que quanto maior a qualidade e a resolução, mais tempo será levado para os pixels serem atualizados no monitor. Veja abaixo como configurar o número de cores para quem esta iniciando o X-Window pelo modo texto e XDM.

### Configurando o número de cores para quem inicia pelo prompt

Após configurar corretamente a resolução de ví­deo aceita pelo seu servidor X com dpkg-reconfigure xserver-xorg (Debian 4.0) use o comando startx -- -bpp 8 no lugar de startx. Note que estou usando 256 cores como exemplo (veja a tabela acima), se quiser usar mais cores e sua placa de ví­deo tiver memória suficiente, use 16, 24 ou 32.
Uma maneira mais prática de iniciar sempre com uma mesma resolução é incluir um alias no arquivo .bashrc em seu diretório: alias startx='startx -- -bpp 8'
Desta forma toda a vez que se digitar startx, será executado o comando da direita do sinal de igual.
OBS: Se alguma coisa der errado e a imagem aparecer distorcida ou simplesmente não aparecer, não se desespere! Pressione simultaneamente CTRL ALT Back Space, esta é a combinação de teclas finaliza imediatamente o servidor X.

### Configurando o número de cores para quem inicia pelo XDM

Assumindo que o seu arquivo /etc/X11/xorg.conf foi gerado corretamente, modifique o arquivo /etc/X11/xdm/Xservers e alterar o final da linha colocando -bpp resolução. Por exemplo, a última linha de meu arquivo Xservers era:
Pronto, basta reiniciar o servidor X (usando CTRL ALT Back Space) ou reiniciando através do arquivo /etc/init.d/xdm usando xdm restart e seu sistema passará a usar 65.000 cores de ví­deo.
OBS: Lembre-se de salvar todos os seus arquivos antes de reiniciar o servidor X, pois todos os programas que estiverem abertos no sistema serão imediatamente fechados.

### Ajustando o alinhamento da imagem no X e outras configurações

Após você ter criado o arquivo de configuração do X com o dpkg-reconfigure xserver-xorg, é possí­vel que a configuração precise de um ajuste fino para o alinhamento correto da imagem no monitor. Muitos monitores modernos possuem teclas para esta função, mas desde que monitor esteja com sua imagem aparecendo corretamente em modo texto, o ajuste deverá ser feito no servidor X. Este ajuste é feito através do utilitário xvidtune.
Entre no modo gráfico como usuário root, abra o xterm e digite xvidtune uma tela aparecerá com um aviso sobre o uso do programa, clique em OK. Recomendo que ative o botão AUTO para que a tela vá se ajustando na medida que você mexe nos ajustes.
Para restaurar a configuração anterior, pressione o botão Restore (não faz efeito caso o botão Apply tenha sido pressionado). Clicando em Quit, você sai do xvidtune sem salvar a configuração. Quando estiver satisfeito com a sua configuração/alinhamento da imagem, clique em Apply, a configuração escolhida estará salva.
* 24.5 Convertendo músicas do formato mp3 para cdr

# Capí­tulo 24 - Executando tarefas diversas no Linux

Este capí­tulo explica como realizar tarefas especí­ficas no sistema, como gravar um CD, assistir filmes, etc. Ele também contém nomes de programas recomendados tanto em modo texto como modo gráfico.

## Gravando CDs e DVDs no Linux

A gravação de CDs no Linux pode ser feita através dos programas cdrecord ou CDRDAO e a gravação de DVDs usando o dvd rw-tools. Neste capí­tulo vou explicar a gravação usando o cdrecord para gravar um CD de dados e audio e o growisofs para a gravação de DVDs de dados. Primeiro instale o cdrecord, mkisofs, dvd rw-tools e cdda2wav em sua máquina (apt-get install cdrecord dvd rw-tools mkisofs cdda2wav).

### Gravando CDs / DVDs de dados

O processo de gravação de um CD/DVD de dados é feito em 2 etapas: primeiro é gerado um arquivo ISO com o programa mkisofs que será a imagem exata do CD que será gravado e a gravação usando o cdrecord ou growisofs (DVD). Caso ainda não tenha configurado seu gravador no Linux ou não tem certeza do seu funcionamento, veja [ch-hardw.html#s-hardw-cfgdisp-cdwritter Configurando um gravador de CD/DVD no Linux, Seção 3.11.3].
Vou assumir que os dados que deseja gravar estão no diretório /dados. Primeiro gere o arquivo ISO:
Na linha acima, você permite que todos possam ler o CD alterando as permissões (-r), o arquivo de saí­da será dados.iso (-o dados.iso), os nomes também terão o í­ndice no formato Joliet (Windows) (-J), o nome de volume será CD_DADOS (-V"CD_DADOS"). Foi colocado . para o diretório raí­z porque estamos dentro do diretório que queremos gravar dados. Não us e "*" para especificar os arquivos, a não ser que queira que todos os arquivos do seus subdiretórios fiquem dentro do raí­z do CD :-)
Antes de gravar você pode testar se o conteúdo do CD está OK montando a imagem ISO:
Você poderá entrar no diretório /tmp/iso e ver como está o conteúdo do seu CD antes da gravação. Qualquer modificação deverá ser feita no diretório /dados e depois gerar novamente o iso com mkisofs. Desmonte o arquivo ISO antes de gravar o CD.
Agora, para gravar um CD (750Mb) execute o comando:
O -v mostra a progressão da gravação. Caso seu gravador de CD esteja configurado com emulação SCSI ou SCSI, o número passado como argumento a -dev deverá ser obtido pelo comando cdrecord -scanbus (por ex. 0,0,0). A opção -data especifica o arquivo iso que contém os dados que serão gravados.
Para gravar um DVD, execute o comando:
Após isto seu CD ou DVD estará gravado e pronto para uso.

### Gravando um CD de audio

A gravação de um CD de audio se divide em 2 etapas: Extração das trilhas de audio para um diretório em formato wav e a gravação. Após inserir o CD de audio na unidade, a extração é feita pelo programa cdda2wav da seguinte forma:
A opção -x extrai usando máxima qualidade, -D/dev/cdrom diz qual é o dispositivo onde o CD de audio está inserido, -d99999 diz a duração total da extração (99999 é um valor que garante a extração de TODO o CD), -S4 diz que a velocidade de extração será de 4X, a -B audio diz para criar arquivos contendo as faixas sequencialmente como audio01.wav, audio02.wav, etc.
Após extrair, você deverá executar o comando:
O comando acima usa o dispositivo gravador /dev/hdc para fazer a gravação do CD de audio. O formato usado é o DAO (-dao), o que garante que não haverá intervalo entre as faixas de CD, útil em CDs ao vivo e que os arquivos *.inf contendo os dados das faixas serão usados para controlar a duração de cada uma (-useinfo *.wav).
Se você quer gravar uma seleção de arquivos .wav ou .cdr, será preciso faze-lo em modo TAO (track at once), mantendo a pausa de 2 segundos entre as músicas. Isto é feito pelo comando:
Estamos dizendo para o cdrecord gravar diversos arquivos de audio (-audio *.wav) e preencher os intervalos dos arquivos de audio com zeros (-pad) pois nem sempre os arquivos tem o múltiplo de setores requeridos para a gravação de arquivos de audio.

### Cópia de CD para CD no mesmo gravador

A cópia de CD/DVD de dados para outro é feita em duas etapas: A extração do arquivo ISO e a gravação do CD. Esse recurso é útil pela economia de tempo que proporciona e porque mantém caracterí­sticas especiais do CD como setor de boot.
Primeiro, extraia o conteúdo do CD/DVD em format raw com o comando:
Confira se no final o número de bytes conferem, isso diz que a extração foi feita com sucesso. O parâmetro if= indica o arquivo de entrada e of= o arquivo de saí­da. Depois disso grave o CD ou DVD com o comando:
Veja a explicação dos parâmetros em [#s-tasks-cdwriting-data Gravando CDs / DVDs de dados, Seção 24.1.1]. Note que você também poderá gravar o CD usando o comando dd:

### Gravação massiva de CDs

Isso é feito pelo programa cdcontrol que permite a gravação de CDs paralelamente, sendo bastante útil para gerar CDs para install fests, distribuições comerciais em massa. Ele mantém um relatório de CDs totais por unidade de disco e também de falhas, também permite a cópia de CDs de inicialização. Ele está disponí­vel em http://cdcontrol.sourceforge.net/. Ele também está disponí­vel como pacote .deb (apt-get install cdcontrol).

### Gravação de CDs diretamente através de arquivos mp3 ou Ogg

Utilize o aplicativo mp3burn para fazer isto. Por exemplo:
A opção -o indica as opções que devem ser passadas ao cdrecord. A opção -audio e -pad são adicionadas automaticamente.

### Backup de dados para 1 ou mais CDs

O programa multicd é a ferramenta que permite esta função.

### Aplicações gráficas para gravação de CDs

Os seguintes aplicativos são interfaces gráficas e amigáveis que usam o cdrecord, cdda2wav e mkisofs para fazer a gravação de seus CDs. Normalmente eles acrescentam uma carga maior para a máquina, mas se você gosta de uma interface amigável para fazer as coisas, ter animações, etc. o preço que paga é a performance :-)
Entre os principais programas, destaco os seguintes: cdrtoaster, cdbakeoven, kreatecd, gcombust, TkDVD

### Criar a capa de frente e verso do CD/DVD

Capas de frente e verso podem ser produzidas com o cdlabelgen.

## Executando ví­deos DIVX

O programa mais recomendado é o mplayer. Após instalar, execute o comando: mplayer -framedrop -vo xv arquivo.avi. A opção -framedrop diz ao mplayer pular frames que ele não conseguir exibir (útil em sistemas que tem CPU lenta).
O gmplayer é a interface gráfica do mplayer e aceita todos os seus parâmetros.

## Assistindo DVDs

Para assistir filmes em DVD recomendo os seguintes programas: ogle, xine e mplayer. Lembre-se de fazer um link de /dev/dvd para seu dispositivo leitor de DVD antes de executar um destes programas.

## Convertendo músicas no formato wav para mp3

A conversão é explicada aqui usando o programa bladeenc. Você pode baixa-lo de http://bladeenc.mp3.no/. O bladeenc foi o escolhido por apresentar a melhor performance e qualidade para conversão da músicas, que é importante para quem tem máquinas menos potentes e processamento leve é valioso para você :-)
A conversão é feita da seguinte forma:
A opção -del diz para apagar os arquivos .wav a medida que são convertidos e -progress=4 para mostrar uma barra de progresso total e outra do arquivo que está sendo processado.

## Convertendo músicas do formato mp3 para cdr

Esta conversão necessária quando deseja gravar um CD de audio a partir de uma seleção de músicas MP3. As explicações aqui são baseadas no programa mpg123, que pode ser instalado com apt-get install mpg123. Execute o seguinte comando para fazer a conversão:
Para fazer a conversão de todos os arquivos mp3 dentro de um diretório, use o comando:
Após feita a conversão de músicas necessárias para completar um CD (normalmente 600MB), vá até [#s-tasks-cdwriting-audio Gravando um CD de audio, Seção 24.1.2].
* 25.2 Compilador

# Capí­tulo 25 - Compilação

Este capí­tulo explica o que é compilação, os principais compiladores e como compilar programas e principalmente o Kernel do GNU/Linux com o objetivo de personaliza-lo de acordo com os dispositivos usados em seu computador e/ou os recursos que planeja utilizar.

## O que é compilação?

É a transformação de um programa em código fonte (programa escrito pelo programador) em linguagem de máquina (programa executável).
Existem centenas de linguagens de programação diferentes umas das outras, cada uma oferece recursos especí­ficos para atender melhor uma necessidade ou caracterí­sticas particulares, algumas são voltadas para bancos de dados, outras somente para a criação de interfaces comunicação (front-ends), aprendizado, etc. Cada linguagem de programação possui comandos especí­ficos que desempenham alguma função, mas todas trabalham com variáveis de memória para a manipulação de dados de entrada/processamento.

## Compilador

É o programa que converte o programa feito pelo programador em linguagem de máquina. Após o processo de compilação o programa estará pronto para ser executado como um arquivo binário.
Existem muitos compiladores no ambiente GNU/Linux, um dos mais usados é o gcc, o compilador para linguagem C.
* 26.12 at

# Capí­tulo 26 - Manutenção do Sistema

Este capí­tulo descreve como fazer a manutenção de seu sistema de arquivos e os programas de manutenção automática que são executados periodicamente pelo sistema.

## Checagem dos sistemas de arquivos

A checagem do sistema de arquivos permite verificar se toda a estrutura para armazenamento de arquivos, diretórios, permissões, conectividade e superfí­cie do disco estão funcionando corretamente. Caso algum problema exista, ele poderá ser corrigido com o uso da ferramenta de checagem apropriada. As ferramentas de checagem de sistemas de arquivos costumam ter seu nome iniciado por fsck e terminados com o nome do sistema de arquivos que verifica, separados por um ponto:
* fsck.ext2 - Verifica o sistema de arquivos EXT2 ou EXT3. Pode também ser encontrado com o nome e2fsck.
* fsck.ext3 - Um alias para fsck.ext2.
* fsck.minix - Verifica o sistema de arquivos Minix.
* fsck.msdos - Verifica o sistema de arquivos Msdos. Pode também ser encontrado com o nome dosfsck.
Para verificar um sistema de arquivos é necessário que ele esteja desmontado caso contrário poderá ocorrer danos em sua estrutura. Para verificar o sistema de arquivos raí­z (que não pode ser desmontado enquanto o sistema estiver sendo executado) você precisará inicializar através de um disquete e executar o fsck.ext2.

### fsck.ext2

Este utilitário permite verificar erros em sistemas de arquivos EXT2 e EXT3 (Linux Native).
fsck.ext2 [opções] [dispositivo]
Onde:

#### dispositivo

    É o local que contém o sistema de arquivos EXT2/EXT3 que será verificado (partições, disquetes, arquivos).

#### -c

    Faz o fsck.ext2 verificar se existem agrupamentos danificados na unidade de disco durante a checagem.

#### -d

    Debug - Mostra detalhes de processamento do fsck.ext2.

#### -f

    Força a checagem mesmo se o sistema de arquivos aparenta estar em bom estado. Por padrão, um sistema de arquivos que aparentar estar em bom estado não são verificados.

#### -F

    Grava os dados do cache no disco antes de iniciar.

#### -l [arquivo]

    Inclui os blocos listados no [arquivo] como blocos defeituosos no sistema de arquivos. O formato deste arquivo é o mesmo gerado pelo programa badblocks.

#### -L [arquivo]

    Faz o mesmo que a opção -l, só que a lista de blocos defeituosos do dispositivo é completamente limpa e depois a lista do [arquivo] é adicionada.

#### -n

    Faz uma verificação de somente leitura no sistema de arquivos. Com esta opção é possí­vel verificar o sistema de arquivos montado. Será assumido não para todas as perguntas e nenhuma modificação será feita no sistema de arquivos.
Caso a opção -c seja usada junto com -n, -l ou -L, o sistema de arquivos será verificado e permitirá somente a atualização dos setores danificados não alterando qualquer outra área.

#### -p

    Corrige automaticamente o sistema de arquivos sem perguntar. É recomendável fazer isto manualmente para entender o que aconteceu, em caso de problemas com o sistema de arquivos.

#### -v

    Ativa o modo verbose (mais mensagens são mostradas durante a execução do programa).

#### -y

    Assume sim para todas as questões.
Caso sejam encontrados arquivos problemáticos e estes não possam ser recuperados, o fsck.ext2 perguntará se deseja salva-los no diretório lost found. Este diretório é encontrado em todas as partições ext2. Não há risco de usar o fsck.ext3 em uma partição EXT2.
Após sua execução é mostrado detalhes sobre o sistema de arquivos verificado como quantidade de blocos livres/ocupados e taxa de fragmentação.
Exemplos: fsck.ext2 /dev/hda2, fsck.ext2 -f /dev/hda2, fsck.ext2 -vrf /dev/hda1.

## reiserfsck

Verifica um sistema de arquivos reiserfs em sistema de arquivos.
reiserfsck [opções] [dispositivo]

### dispositivo

    Dispositivo que contém o sistema de arquivos reiserfs que será verificado.

### -a

    Mostra detalhes sobre o sistema de arquivos e sai

### -j arquivo

    Especifica um arquivo de Journal alternativo usado pelo sistema de arquivos.

### -q quiet

    Não exibe mensagens sobre o status da checagem do sistema de arquivos.

### -S

    Constrói a árvore de todos os blocos do dispositivo.
O reiserfsck possui outros modos de operação além de checagem (o padrão), para detalhes veja a página de manual do programa.
Exemplos: reiserfsck /dev/hda1, reiserfsck -S /tmp/arq-reiserfs.

## fsck.minix

Verifica o sistema de arquivos minix em um dispositivo.
fsck.minix [opções] [dispositivo]
Onde:

### dispositivo

    Partição, disquete ou arquivo que contém o sistema de arquivos Minix que será verificado

### -f

    Verifica o sistema de arquivos mesmo se ele estiver perfeito.

### -r

    Permite reparo manual do sistema de arquivos

### -a

    Permite um reparo automático do sistema de arquivos. É recomendado fazer o reparo manual.

### -v

    Verbose - Mostra detalhes durante a execução do programa

### -s

    Exibe detalhes sobre os blocos de root.
Exemplo: fsck.minix -f /dev/hda8, fsck.minix -vf /dev/hda8

## badblocks

Procura blocos defeituosos em um dispositivo. Note que este apenas pesquisa por blocos defeituosos, sem alterar a configuração do disco. Para marcar os blocos defeituosos para não serem mais usados, utilize a opção -l do fsck (veja [#s-manut-checagem-ext2 fsck.ext2, Seção 26.1.1]).
badblocks [opções] [dispositivo]
Onde:

### dispositivo

    Partição, disquete ou arquivo que contém o sistema de arquivos que será verificado.

### -b [tamanho]

    Especifica o [tamanho] do bloco do dispositivo em bytes

### -o [arquivo]

    Gera uma lista dos blocos defeituosos do disco no [arquivo]. Este lista pode ser usada com o programa fsck.ext2 junto com a opção -l.

### -s

    Mostra o número de blocos checados durante a execução do badblocks.

### -v

    Modo verbose - São mostrados mais detalhes.

### -w

    Usa o modo leitura/gravação. Usando esta opção o badblocks procura por blocos defeituosos gravando alguns padrões (0xaa, 0x55, 0xff, 0x00) em cada bloco do dispositivo e comparando seu conteúdo.
Nunca use a opção -w em um dispositivo que contém arquivos pois eles serão apagados!
Exemplo: badblocks -s /dev/hda6, badblocks -s -o bad /dev/hda6

## defrag

Permite desfragmentar uma unidade de disco. A fragmentação é o armazenamento de arquivos em áreas não sequenciais (uma parte é armazenada no começo a outra no final, etc), isto diminui o desempenho da unidade de disco porque a leitura deverá ser interrompida e feita a movimentação da cabeça para outra região do disco onde o arquivo continua, por este motivo discos fragmentados tendem a fazer um grande barulho na leitura e o desempenho menor.
A desfragmentação normalmente é desnecessária no GNU/Linux porque o sistema de arquivos ext2 procura automaticamente o melhor local para armazenar o arquivo. Mesmo assim, é recomendável desfragmentar um sistema de arquivos assim que sua taxa de fragmentação subir acima de 10%. A taxa de fragmentação pode ser vista através do fsck.ext2. Após o fsck.ext2 ser executado é mostrada a taxa de fragmentação seguida de non-contiguos.
A ferramenta de desfragmentação usada no GNU/Linux é o defrag que vem com os seguintes programas:
* e2defrag - Desfragmenta sistemas de arquivos Ext2.
* defrag - Desfragmenta sistemas de arquivos Minix.
* xdefrag - Desfragmenta sistemas de arquivos Xia.
O sistema de arquivos deve estar desmontado ao fazer a desfragmentação. Se quiser desfragmentar o sistema de arquivos raí­z (/), você precisará inicializar através de um disquete e executar um dos programas de desfragmentação apropriado ao seu sistema de arquivos. A checagem individual de fragmentação em arquivos pode ser feita com o programa frag.
ATENÇÃO: Retire cópias de segurança de sua unidade antes de fazer a desfragmentação. Se por qualquer motivo o programa de desfragmentação não puder ser completado, você poderá perder dados!
e2defrag [opções] [dispositivo]
Onde:

### dispositivo

    Partição, arquivo, disquete que contém o sistema de arquivos que será desfragmentado.

### -d

    Debug - serão mostrados detalhes do funcionamento

### -n

    Não mostra o mapa do disco na desfragmentação. É útil quando você inicializa por disquetes e recebe a mensagem "Failed do open term Linux" ao tentar executar o e2defrag.

### -r

    Modo somente leitura. O defrag simulará sua execução no sistema de arquivos mas não fará nenhuma gravação. Esta opção permite que o defrag seja usado com sistema de arquivos montado.

### -s

    Cria um sumário da fragmentação do sistema de arquivos e performance do desfragmentador.

### -v

    Mostra detalhes durante a desfragmentação do sistema de arquivos. Caso mais de uma opção -v seja usada, o ní­vel de detalhes será maior.

### -i [arquivo]

    Permite definir uma lista de prioridades em que um arquivo será gravado no disco, com isto é possí­vel determinar se um arquivo será gravado no começo ou final da unidade de disco. Esta lista é lida do [arquivo] e deve conter uma lista de prioridades de -100 a 100 para cada inodo do sistema de arquivos. Arquivos com prioridade alta serão gravados no começo do disco.
Todos os inodos terão prioridade igual a zero caso a opção -i não seja usada ou o inodo não seja especificado no [arquivo]. O [arquivo] deverá conter uma série de linhas com um número (inodo) ou um número prefixado por um sinal de igual seguido da prioridade.

### -p [numero]

    Define o [numero] de buffers que serão usados pela ferramenta de desfragmentação na realocação de dados, quanto mais buffers mais eficiente será o processo de realocação. O número depende de quantidade memória RAM e Swap você possui. Por padrão 512 buffers são usados correspondendo a 512Kb de buffer (em um sistema de arquivos de blocos com 1Kb).
Exemplo: e2defrag -n -v /dev/hdb4, e2defrag -r /dev/hda1

## Verificando e marcando setores danificados em um HD

Um dos sintomas de um disco rí­gido que contém setores danificados (bad blocks) é a mudança repentina do sistema de arquivos para o modo somente leitura, o aparecimento de diversas mensagens no syslog indicando falha de leitura do hd, uma pausa se segundos no sistema junto com o led de atividade de disco ligado. Se isto acontece com você, uma forma de solucionar este inconveniente é executar o teste na superfí­cie fí­sica do disco para procurar e marcar os blocos problemáticos como defeituosos.
Em alguns casos, os blocos defeituosos ocorrem isoladamente no disco rí­gido, não aumentando mais sua quantidade, entretanto, se o número de blocos danificados em seu disco está crescendo em um curto espaço de tempo, comece a pensar na troca do disco rí­gido por um outro. Existem empresas que recuperam HDs mas pelo valor cobrado por se tratar de um serviço delicado, só compensa caso você não tenha o backup e realmente precisa dos dados do disco.
Para fazer uma checagem de HD no sistema de arquivos ext2 ou ext3, proceda da seguinte forma:
* Se possí­vel, faça um backup de todos os dados ou dos dados essenciais da partição será checada.
* Inicie o sistema por um disquete de boot ou CD de recuperação. Este passo é útil pois em alguns casos, pode ocorrer a perda de interrupção do disco rí­gido e seu sistema ficar paralisado. Só o método de checar o HD usando um disquete de boot lhe fará agendar uma parada no sistema e notificar os usuários, evitando sérios problemas do que fazendo isto com um sistema em produção.
* Execute o badblocks usando a opção -o para gravar os possí­veis blocos defeituosos encontrados para um arquivo: badblocks -v -o blocos-defeituosos.lista /dev/hd??.
Substitua o dispositivo /dev/hd?? pelo dispositivo que deseja verificar. A checagem do badblocks deverá ser feita para cada partição existente no disco rí­gido. O tempo de checagem dependerá da velocidade do disco rí­gido, velocidade do barramento, cabo de dados utilizado, velocidade de processamento e é claro, do estado do disco rí­gido (quantos setores defeituosos ele tem).
* Após concluir o badblocks, veja se foram encontrados blocos defeituosos. Caso tenha encontrado, siga para o próximo passo.
* Para marcar os blocos encontrados pelo badblocks como defeituosos, execute o comando: fsck.ext3 -l blocos-defeituosos.lista -f /dev/hd??.
Substitua o dispositivo, pelo dispositivo que verificou com o badblocks. O arquivo blocos-defeituosos.list contém a lista de blocos gerada pelo badblocks que serão marcados como defeituosos.
Para mais detalhes sobre as opções de checagem usada pelos programas, veja [#s-manut-badblocks badblocks, Seção 26.4] e [#s-manut-checagem-ext2 fsck.ext2, Seção 26.1.1].

## Limpando arquivos de LOGS

Tudo que acontece em sistemas GNU/Linux pode ser registrado em arquivos de log em /var/log, como vimos anteriormente. Eles são muito úteis por diversos motivos, para o diagnóstico de problemas, falhas de dispositivos, checagem da segurança, alerta de eventuais tentativas de invasão, etc.
O problema é quando eles começam a ocupar muito espaço em seu disco. Verifique quantos Megabytes seus arquivos de LOG estão ocupando através do comando cd /var/log;du -hc. Antes de fazer uma limpeza nos arquivos de LOG, é necessário verificar se eles são desnecessários e só assim zerar os que forem dispensáveis.
Não é recomendável apagar um arquivo de log pois ele pode ser criado com permissões de acesso indevidas (algumas distribuições fazem isso). Você pode usar o comando: echo -n &gt;arquivo ou o seguinte shell script para zerar todos os arquivos de LOG de uma só vez (as linhas iniciante com # são comentários):
Copie o conteúdo acima em um arquivo com a extensão .sh, dê permissão de execução com o chmod e o execute como usuário root. É necessário executar este script para zerar arquivos de log em subdiretórios de /var/log, caso sejam usados em seu sistema.
Algumas distribuições, como a Debian GNU/Linux, fazem o arquivamento automático de arquivos de LOGs em arquivos .gz através de scripts disparados automaticamente pelo cron. ATENÇÃO: LEMBRE-SE QUE O SCRIPT ACIMA APAGARÁ TODOS OS ARQUIVOS DE LOGs DO SEU SISTEMA SEM POSSIBILIDADE DE RECUPERAÇÃO. TENHA ABSOLUTA CERTEZA DO QUE NÃO PRECISARÁ DELES QUANDO EXECUTAR O SCRIPT ACIMA!

## Recuperando partições apagadas

Caso tenha apagado uma partição acidentalmente ou todas as partições do seu disco, uma forma simples de recuperar todos os seus dados é simplesmente recriar todas as partições com o tamanho EXATAMENTE igual ao existente anteriormente. Isto deve ser feito dando a partida com um disquete ou CD de inicialização. Após recriar todas as partições e seus tipos (83, 82 8e, etc), execute novamente o lilo para recriar o setor de boot do HD e garantir que a máquina dará o boot.
A recuperação desta forma é possí­vel porque quando se cria ou apaga uma partição, você está simplesmente delimitando espaço onde cada sistema de arquivos gravará seus dados, sem fazer nenhuma alteração dentro dele. Assim, é também útil manter uma cópia dos tamanhos usados durante o processo de criação das partições para ser usado como recuperação em uma possí­vel emergência.

## Recuperando a senha de root perdida

Uma situação que você deve ter se deparado (ou algum dia ainda vai se deparar) é precisar alterar a senha de root e não sabe ou não lembra a senha atual. Esta situação também pode ser encontrada quando ocorre uma falha de disco, falha elétrica, reparos em uma máquina que não detém sua manutenção, etc. A melhor notí­cia é que a alteração da senha de root é possí­vel e não apresenta problema qualquer para o sistema. Existem várias formas para se fazer isto, a forma que descreverei abaixo assume que você tem acesso a um outro dispositivo de partida que não seja o HD do Linux (CD-ROM, disquetes, outro disco rí­gido, etc). Assim, mesmo que encontre uma senha de BIOS em uma máquina, poderá colocar o disco rí­gido em outra máquina e executar estes procedimentos.
OBS: Estes procedimentos tens fins didáticos e administrativos, não sendo escritos com a intenção de fornecer mal uso desta técnica. Entender a exposição de riscos também ajuda a desenvolver novas técnicas de defesa para sistemas crí­ticos, e estas são totalmente possí­veis e as mais usadas documentadas neste guia.
* Como primeiro passo consiga um CD de partida ou disquete de uma distribuição Linux. Normalmente os mesmos CDs que usou para instalar sua distribuição também são desenvolvidos para permitir a manutenção do sistema, contendo ferramentas diversas e um terminal virtual disponí­vel para trabalhos manuais (tanto de instalação como manutenção).
* Vá até a BIOS da máquina e altere a ordem de inicialização para que seu sistema inicialize a partir do disquete ou CD-ROM (dependendo do método escolhido no passo anterior).
* Inicialize a partir do Disquete/CD-ROM.
* Na maioria dos casos você provavelmente estará utilizando o CD-ROM que usou para instalar sua distribuição. Imediatamente quando o programa de instalação for iniciado, pressione ALT F2 para alternar para o segundo terminal virtual do sistema. O segundo terminal esta sempre disponí­vel nas distribuições distribuições Debian, Red Hat, Conectiva, Fedora, etc.
* O próximo passo será montar sua partição raí­z para ser possí­vel alterar sua senha de root. Para isto, crie um diretório onde a partição será montada (por exemplo, /target) e execute o comando mount: mount /dev/hda1 /target (assumindo que /dev/hda1 é a partição que contém seu sistema de arquivos raí­z (/).
* Entre no diretório /target (cd /target) e torne-o seu diretório raí­z atual com o comando: chroot ..
* digite passwd e entre com a nova senha de superusuário.
* saia do chroot digitando exit
* Digite sync para salvar todas as alterações pendentes para o disco e reinicie o sistema (pressionando-se as teclas CTRL ALT DEL, init 6, reboot).
* Retire o CD da unidade de discos e altere sua BIOS para dar a partida a partir do disco rí­gido.
* Teste e verifique se a senha de root foi alterada.
Normalmente as distribuições seguem o padrão FHS, mantendo binários de administração necessários para recuperação do sistema em caso de panes dentro da partição /, se este não for o caso de sua distribuição (hoje em dia é raro), você terá que montar sistemas de arquivos adicionais (como o /usr, /var) ou então o comando passwd não será encontrado ou terá problemas durante sua execução.

## Tarefas automáticas de manutenção do sistema

Os arquivos responsáveis pela manutenção automática do sistema se encontram em arquivos individuais localizados nos diretórios /etc/cron.daily, /etc/cron.weekly e /etc/cron.montly. A quantidade de arquivos depende da quantidade de pacotes instalado em seu sistema, porque alguns programam tarefas nestes diretórios e não é possí­vel descrever todas, para detalhes sobre o que cada arquivo faz veja o cabeçalho e o código de cada arquivo.
Estes arquivos são executados pelo cron através do arquivo /etc/crontab. Você pode programar quantas tarefas desejar, para detalhes veja [#s-manut-cron cron, Seção 26.11] e [#s-manut-at at, Seção 26.12]. Alguns programas mantém arquivos do cron individuais em /var/spool/cron/crontabs que executam comandos periodicamente.

## cron

O cron é um daemon que permite o agendamento da execução de um comando/programa para um determinado dia/mês/ano/hora. É muito usado em tarefas de arquivamento de logs, checagem da integridade do sistema e execução de programas/comandos em horários determinados.
As tarefas são definidas no arquivo /etc/crontab e por arquivos individuais de usuários em /var/spool/cron/crontabs/[usuário] (criados através do programa crontab). Adicionalmente a distribuição Debian utiliza os arquivos no diretório /etc/cron.d como uma extensão para o /etc/crontab.
Para agendar uma nova tarefa, basta editar o arquivo /etc/crontab com qualquer editor de texto (como o ae e o vi) e definir o mês/dia/hora que a tarefa será executada. Não é necessário reiniciar o daemon do cron porque ele verifica seus arquivos a cada minuto. Veja a seção [#s-manut-cron-formato O formato de um arquivo crontab, Seção 26.11.1] para entender o formato de arquivo cron usado no agendamento de tarefas.

### O formato de um arquivo crontab

O arquivo /etc/crontab tem o seguinte formato:
Onde:

#### Minuto

    Valor entre 0 e 59

#### Hora

    Valor entre 0 e 23

#### Dia do Mês

    Valor entre 0 e 31

#### Mês

    Valor entre 0 e 12 (identificando os meses de Janeiro a Dezembro)

#### Dia da Semana

    Valor entre 0 e 7 (identificando os dias de Domingo a Sábado). Note que tanto 0 e 7 equivalem a Domingo.

#### usuário

    O usuário especificado será usado para executar o comando (o usuário deverá existir).

#### comando

    Comando que será executado. Podem ser usados parâmetros normais usados na linha de comando.
Os campos do arquivo são separados por um ou mais espaços ou tabulações. Um asterisco * pode ser usado nos campos de data e hora para especificar todo o intervalo disponí­vel. O hí­fen - serve para especificar perí­odos de execução (incluindo a o número inicial/final). A ví­rgula serve para especificar lista de números. Passos podem ser especificados através de uma /. Veja os exemplos no final desta seção.
O arquivo gerado em /var/spool/cron/crontabs/[usuário] pelo crontab tem o mesmo formato do /etc/crontab exceto por não possuir o campo usuário (UID), pois o nome do arquivo já identifica o usuário no sistema.
Para editar um arquivo de usuário em /var/spool/cron/crontabs ao invés de editar o /etc/crontab use crontab -e, para listar as tarefas daquele usuário crontab -l e para apagar o arquivo de tarefas do usuário crontab -r (adicionalmente você pode remover somente uma tarefa através do crontab -e e apagando a linha correspondente).
OBS: Não esqueça de incluir uma linha em branco no final do arquivo, caso contrário o último comando não será executado.
O cron define o valor de algumas variáveis automaticamente durante sua execução; a variável SHELL é definida como /bin/sh, PATH como /usr/bin:/bin, LOGNAME, MAILTO e HOME são definidas através do arquivo /etc/passwd. Os valores padrões destas variáveis podem ser substituí­dos especificando um novo valor nos arquivos do cron.
Exemplos de um arquivo /etc/crontab:

## at

O at agenda tarefas de forma semelhante ao cron com uma interface que permite a utilização de linguagem natural nos agendamentos. Sua principal aplicação é no uso de tarefas que sejam disparadas somente uma vez. Uma caracterí­stica deste programa é a execução de aplicativos que tenham passado de seu horário de execução, muito útil se o computador é desligado com frequência ou quando ocorre uma interrupção no fornecimento de energia.
Para utilizar o at, instale-o com o comando: apt-get install at. O próximo passo é criar os arquivos /etc/at.allow e at.deny. Estes arquivos são organizados no formato de um usuário por linha. Durante o agendamento, é verificado primeiro o arquivo at.allow (lista de quem pode executar comandos) e depois o at.deny (lista de quem NÃO pode executar comandos). Caso eles não existam, o agendamento de comandos é permitido a todos os usuários.
Abaixo seguem exemplos do agendamento através do comando at:

### echo ls | at 10am today

    Executa as 10 da manha de hoje

### echo ls | at 10

    05 today
    Executa as 10:05 da manha de hoje

### echo ls | at 10

    05pm today
    Executa as 10:05 da noite de hoje

### echo ls | at 22

    05 today
    Executa as 22:05 da noite de hoje

### echo ls | at 14

    50 tomorrow
    Executa o comando amanhã as 14:50 da tarde

### echo ls | at midnight

    Executa o comando a meia noite de hoje

### echo ls | at midnight tomorrow

    Executa o comando a meia noite de amanhã

### echo ls | at noon

    Executa o comando de tarde (meio dia).

### at -f comandos.txt teatime

    Executa os comandos especificados no arquivo "comandos.txt" no horário do café da tarde (as 16:00 horas).

### at -f comandos.txt now +3 minutes

    Executa os comandos especificados no arquivo "comandos.txt" daqui a 3 minutos. Também pode ser especificado "hours" ou "days".

### at -f comandos.txt tomorrow 3 hours

    Executa os comandos especificados no arquivo "comandos.txt" daqui a 3 horas no dia de amanhã. (se agora são 10:00, ela será executada amanhã as 13:00 da tarde).
Todas as tarefas agendadas são armazenadas em arquivos dentro do diretório /var/spool/cron/atjobs. A sintaxe de comandos para gerenciar as tarefas é semelhante aos utilitários do lpd: Para ver as tarefas, digite atq. Para remover uma tarefa, use o comando atrm seguido do número da tarefa obtida pelo atq.
* 27.46 Arquivo /etc/timezone

# Capí­tulo 27 - Principais arquivos de configuração do diretório /etc

Este capí­tulo descreve a função, parâmetros e exemplos de utilização de alguns arquivos/diretórios de configuração em /etc. Estes arquivos estão disponí­veis por padrão na instalação básica do GNU/Linux, o que assegura um máximo de aproveitamento deste capí­tulo. Não serão descritos aqui arquivos de configuração especí­ficos de servidores ou daemons (com exceção do inetd).

## Diretório /etc/alternatives

Este diretório contém links para diversos aplicativos padrões utilizados pelo sistema. Dentre eles são encontrados links para o editor do sistema e o xterm padrão usado pelo sistema.
Por exemplo, se você quiser usar o editor jed ao invés do ae ou vi, remova o link editor com o comando rm editor, localize o arquivo executável do jed com which jed e crie um link para ele ln -s /usr/bin/jed editor. De agora em diante o editor padrão usado pela maioria dos aplicativos será o jed.

## Arquivo /etc/default/devpts

Este arquivo contém algumas configurações para os pseudo terminais em /dev/pts.

## Arquivo /etc/default/rcS

Contém variáveis padrões que alteram o comportamento de inicialização dos scripts em /etc/rcS.d
Por exemplo, se quiser menos mensagens na inicialização do sistema, ajuste o valor da variável VERBOSE para no.
OBS: Somente modifique aquilo que tem certeza do que está fazendo, um valor modificado incorretamente poderá causar falhas na segurança de sua rede ou no sistemas de arquivos do disco.

## Arquivo /etc/console-tools/config

Este arquivo contém configurações padrões do pacote console-tools para as fontes de tela e mapas de teclado usados pelo sistema. A fonte de tela é especificada neste arquivo (as fontes disponí­veis no sistema estão localizadas em /usr/share/consolefonts).
Os arquivos de mapa de teclados estão localizados no diretório /usr/share/keymaps/.

## Diretório /etc/menu-methods

Este diretório contém uma lista de arquivos que são executados pelo programa update-menu para criar os menus dos programas.

## Arquivo /etc/menu-methods/translate_menus

Este arquivo permite fazer a tradução de nomes de menus, identificação ou tí­tulos usados no ambiente gráfico.

## Arquivo /etc/networks

Este diretório contém as configurações das interfaces (placas) de rede do sistema e outras opções úteis para a configuração/segurança da rede.

## Arquivo /etc/network/interfaces

Este é o arquivo de configuração usado pelos programas ifup e ifdown, respectivamente para ativar e desativar as interfaces de rede.
O que estes utilitários fazem na realidade é carregar os utilitários ifconfig e route através dos argumentos passados do arquivo /etc/network/interfaces, permitindo que o usuário iniciante configure uma interface de rede com mais facilidade.
Abaixo um exemplo do arquivo interfaces é o seguinte:
As interfaces e roteamentos são configurados na ordem que aparecem neste arquivo. Cada configuração de interface inicia com a palavra chave iface. A próxima palavra é o nome da interface que deseja configurar (da mesma forma que é utilizada pelos comandos ifconfig e route). Você pode também usar IP aliases especificando eth0:0 mas tenha certeza que a interface real (eth0) é inicializada antes.
A próxima palavra especifica a familia de endereços da interface; Escolha inet para a rede TCP/IP, ipx para interfaces IPX e IPv6 para interfaces configuradas com o protocolo IPV6.
A palavra static especifica o método que a interface será configurada, neste caso é uma interface com endereço estático (fixo).
Outros métodos e seus parâmetros são especificados abaixo (traduzido da página do arquivo interfaces):

### O método loopback

    É usado para configurar a interface loopback (lo) IPv4.

### O método static

    É usado para configurar um endereço IPv4 fixo para a interface. As opções que podem ser usadas com o métodos static são as seguintes (opções marcadas com * no final são requeridas na configuração):

   ### address endereço *

       Endereço IP da Interface de rede (por exemplo, 192.168.1.1).

   ### netmask máscara *

       Máscara de rede da Interface de rede (por exemplo, 255.255.255.0).

   ### broadcast endereço

       Endereço de Broadcast da interface (por exemplo, 192.168.1.255).

   ### network endereço

       Endereço da rede (por exemplo, 192.168.0.0).

   ### gateway endereço

       Endereço do gateway padrão (por exemplo, 192.168.1.10). O gateway é o endereço do computador responsável por conectar o seu computador a outra rede. Use somente se for necessário em sua rede.

### O método dhcp

    Este método é usado para obter os parâmetros de configuração através de um servidor DHCP da rede através das ferramentas: dhclient, pump (somente Kernels 2.2.x) ou dpcpcp (somente kernels 2.0.x e 2.2.x)

   ### hostname nome

       Nome da estação de trabalho que será requisitado. (pump, dhcpcd)

   ### leasehours leasttime

       Lease time preferida em horas (pump)

   ### leasetime leasetime

       Lease time preferida em segundos (dhcpcd)

   ### vendor vendedor

       Identificador do vendedor (dhcpcd)

   ### client identificação

       Identificação do cliente (dhcpcd)
Exemplo:

### O método bootp

    Este método pode ser usado para obter um endereço via bootp:

   ### bootfile arquivo

       Diz ao servidor para utilizar arquivo como arquivo de inicialização

   ### server endereço

       Especifica o endereço do servidor bootp.

   ### hwaddr endereço

       Usa endereço como endereço de hardware no lugar do endereço original.
Algumas opções se aplicam a todas as interfaces e são as seguintes:

### noauto

    Não configura automaticamente a interface quando o ifup ou ifdown são executados com a opção -a (normalmente usada durante a inicialização ou desligamento do sistema).

### pre-up comando

    Executa o comando antes da inicialização da interface.

### up comando

    Executa o comando após a interface ser iniciada.

### down comando

    Executa o comando antes de desativar a interface.

### pre-down comando

    Executa o comando após desativar a interface.
Os comandos que são executados através das opções up, pre-up e down podem aparecer várias vezes na mesma interface, eles são executados na sequência que aparecem. Note que se um dos comandos falharem, nenhum dos outros será executado. Você pode ter certeza que os próximos comandos serão executados adicionando || true ao final da linha de comando.

## Arquivo /etc/networks/options

Este arquivo contém opções que serão aplicadas as interfaces de rede durante a inicialização do sistema. Este arquivo é lido pelo script de inicialização /etc/init.d/network que verifica os valores e aplica as modificações apropriadas no kernel.

## Diretório /etc/pam.d

Este diretório possui arquivos de configuração de diversos módulos PAM existentes em seu sistema.

## Diretório /etc/ppp

Contém arquivos de configuração usados pelo daemon pppd para fazer uma conexão com uma rede PPP externa, criados manualmente ou através do pppconfig.

## Diretório /etc/security

Este diretório contém arquivos para controle de segurança e limites que serão aplicados aos usuários do sistema. O funcionamento de muitos dos arquivos deste diretório depende de modificações nos arquivos em /etc/pam.d para habilitar as funções de controle, acesso e restrições.

## Arquivo /etc/security/access.conf

É lido no momento do login do usuário e permite definir quem terá acesso ao sistema e de onde tem permissão de acessar sua conta. O formato deste arquivo são 3 campos separados por :, cada linha contendo uma regra de acesso.
O primeiro campo deve conter o caracter ou - para definir se aquela regra permitirá ( ) ou bloqueará(-) o acesso do usuário.
O segundo campo deve conter uma lista de logins, grupos, usuário@computador ou a palavra ALL (confere com tudo) e EXCEPT (exceção).
O terceiro campo deve conter uma lista de terminais tty (para logins locais), nomes de computadores, nomes de domí­nios (iniciando com um .), endereço IP de computadores ou endereço IP de redes (finalizando com .). Também pode ser usada a palavra ALL, LOCAL e EXCEPT (atinge somente máquinas locais conhecidas pelo sistema).
Abaixo um exemplo do access.conf

## Arquivo /etc/security/limits.conf

Define limites de uso dos recursos do sistema para cada usuário ou grupos de usuários. Os recursos são descritos em linhas da seguinte forma:
O domí­nio pode ser um nome de usuário, um grupo (especificado como @grupo) ou o curinga *.
O tipo pode ser soft para o limite mí­nimos e hard para o limite máximo. O campo item pode ser um dos seguintes:
* core - limita o tamanho do arquivo core (KB)
* data - tamanho máximo de dados (KB)
* fsize - Tamanho máximo de arquivo (KB)
* memlock - Espaço máximo de endereços bloqueados na memória (KB)
* nofile - Número máximo de arquivos abertos
* rss - Tamanho máximo dos programas residentes (KB)
* stack - Tamanho máximo de pilha (KB)
* cpu - Tempo máximo usado na CPU (MIN)
* nproc - Número máximo de processos
* as - Limite de espaço de endereços
* maxlogins - Número máximo de logins deste usuário
* priority - Prioridade que os programas deste usuário serão executados
Abaixo um exemplo de arquivo /etc/security/limits.conf:

## Arquivo /etc/crontab

Arquivo que contém a programação de programas que serão executados em horários/datas programadas.
Veja [ch-manut.html#s-manut-cron cron, Seção 26.11] para mais detalhes sobre o formato deste arquivo e outras opções.

## Arquivo /etc/fstab

Contém detalhes para a montagem dos sistemas de arquivos do sistema. Veja [ch-disc.html#s-disc-fstab fstab, Seção 5.13.1] para detalhes sobre o formato deste arquivo.

## Arquivo /etc/group

Lista de grupos existentes no sistema. Veja [ch-cmdc.html#s-cmdc-incluirgrupo Adicionando o usuário a um grupo extra, Seção 12.10] para mais detalhes sobre o formato deste arquivo.

## Arquivo /etc/gshadow

Senhas ocultas dos grupos existentes no sistema (somente o usuário root pode ter acesso a elas). Use o utilitário shadowconfig para ativar/desativar o suporte a senhas ocultas.

## Arquivo /etc/host.conf

Veja [ch-rede.html#s-rede-dns-a-hostconf /etc/host.conf, Seção 15.6.2.2].

## Arquivo /etc/hostname

Arquivo lido pelo utilitário hostname para definir o nome de sua estação de trabalho.

## Arquivo /etc/hosts

Banco de dados DNS estático que mapeia o nome ao endereço IP da estação de trabalho (ou vice versa). Veja [ch-rede.html#s-rede-dns-a-hosts /etc/hosts, Seção 15.6.2.3] para mais detalhes sobre o formato deste arquivo.

## Arquivo /etc/hosts.allow

Controle de acesso do wrapper TCPD que permite o acesso de determinadas de determinados endereços/grupos aos serviços da rede. Veja [ch-rede.html#s-rede-seg-tcpd-a /etc/hosts.allow, Seção 15.8.3.1] para detalhes sobre o formato deste arquivo.

## Arquivo /etc/hosts.deny

Controle de acesso do wrapper TCPD que bloqueia o acesso de determinados endereços/grupos aos serviços da rede. Este arquivo é somente lido caso o /etc/hosts.allow não tenha permitido acesso aos serviços que contém. Um valor padrão razoavelmente seguro que pode ser usado neste arquivo que serve para a maioria dos usuários domésticos é:
caso o acesso ao serviço não tenha sido bloqueado no hosts.deny, o acesso ao serviço é permitido.
Veja [ch-rede.html#s-rede-seg-tcpd-d /etc/hosts.deny, Seção 15.8.3.2] para detalhes sobre o formato deste arquivo.

## Arquivo /etc/hosts.equiv

Veja [ch-rede.html#s-rede-seg-tcpd-e /etc/hosts.equiv e /etc/shosts.equiv, Seção 15.8.3.3].

## Arquivo /etc/inetd.conf

Veja [ch-rede.html#s-rede-servicos-inetd-c /etc/inetd.conf, Seção 15.7.2.1].

## Arquivo /etc/inittab

Este é o arquivo de configuração utilizado pelo programa init para a inicialização do sistema. Para mais detalhes sobre o formato deste arquivo, consulte a página de manual do inittab.

## Arquivo /etc/inputrc

Este arquivo contém parâmetros para a configuração do teclado. Veja o final da seção [ch-cfg.html#s-cfg-acentuacao-t Acentuação em modo Texto, Seção 23.1.1] e a página de manual do inputrc para mais detalhes.

## Arquivo /etc/issue

Contém um texto ou mensagem que será mostrada antes do login do sistema.

## Arquivo /etc/issue.net

Mesma utilidade do /etc/issue mas é mostrado antes do login de uma seção telnet. Outra diferença é que este arquivo aceita os seguintes tipos de variáveis:
* %t - Mostra o terminal tty atual.
* %h - Mostra o nome de domí­nio completamente qualificado (FQDN).
* %D - Mostra o nome do domí­nio NIS.
* %d - Mostra a data e hora atual.
* %s - Mostra o nome do Sistema Operacional.
* %m - Mostra o tipo de hardware do computador.
* %r - Mostra a revisão do Sistema Operacional.
* %v - Mostra a versão do Sistema Operacional.
* %% - Mostra um simples sinal de porcentagem (%).

## Arquivo /etc/lilo.conf

Arquivo de configuração do gerenciador de partida lilo. Veja [ch-boot.html#s-boot-lilo LILO, Seção 6.1] e [ch-boot.html#s-boot-lilo-exemplo Um exemplo do arquivo de configuração lilo.conf, Seção 6.1.3].

## Arquivo /etc/login.defs

Definições de configuração para o pacote login

## Arquivo /etc/modules

Veja [ch-kern.html#s-kern-arquivos-modules /etc/modules, Seção 16.12.1].

## Arquivo /etc/modules.conf

Veja [ch-kern.html#s-kern-arquivos-modulesconf modules.conf, Seção 16.12.2].

## Arquivo /etc/motd

Mostra um texto ou mensagem após o usuário se logar com sucesso no sistema. Também é usado pelo telnet, ftp, e outros servidores que requerem autenticação do usuário (nome e senha).

## Arquivo /etc/mtab

Lista os sistemas de arquivos montados atualmente no sistema. Sua função é idêntica ao /proc/mounts.

## Arquivo /etc/networks

Veja [ch-rede.html#s-rede-dns-a-networks /etc/networks, Seção 15.6.2.4].

## Arquivo /etc/passwd

É o arquivo mais cobiçado por Hackers porque contém os dados pessoais do usuário como o login, uid, telefone e senha (caso seu sistema esteja usando senhas ocultas, a senha terá um * no lugar e as senhas reais estarão armazenadas no arquivo /etc/shadow).

## Arquivo /etc/printcap

Banco de dados de configuração da impressora, usado por daemons de impressão como o lpr e lprng.

## Arquivo /etc/protocols

Veja [ch-rede.html#s-rede-outros-protocols /etc/protocols, Seção 15.9.2].

## Arquivo /etc/resolv.conf

Veja [ch-rede.html#s-rede-dns-a-resolv /etc/resolv.conf, Seção 15.6.2.1].

## Arquivo /etc/serial.conf

Configurações das portas seriais do sistema. Veja a página de manual do serial.conf e a página de manual do utilitário setserial para detalhes de como configurar adequadamente a taxa de transmissão serial conforme seu dispositivo.

## Arquivo /etc/services

Veja [ch-rede.html#s-rede-outros-services /etc/services, Seção 15.9.1].

## Arquivo /etc/shadow

Este arquivo armazena as senhas criptografadas caso estiver usando o recurso de senhas ocultas. Este arquivo somente pode ser lido pelo usuário root.

## Arquivo /etc/shells

Contém uma lista de interpretadores de comando (shells) válidos no sistema.

## Arquivo /etc/syslog.conf

Contém configurações para definir o que será registrado nos arquivos de log em /var/log do sistema. Veja a página de manual syslog.conf e dos programas klog e syslogd para entender o formato usado neste arquivo.

## Arquivo /etc/timezone

Contém a sua localização para cálculo correto do seu fuso-horário local.
Obs: em outras distribuições, os arquivos podem ser diferentes. Por exemplo, no Fedora e Mandriva, o arquivo é /etc/localtime, e não é um arquivo editável (porém pode ser alterado usando-se cp: cp /usr/share/zoneinfo/Portugal /etc/localtime adota a hora padrão de Portugal como a hora do sistema; obviamente, o bom senso recomenda que a hora do sistema seja sempre GMT).
* 28.3 Recebimento de E-Mails através do fetchmail
** 28.3.1 Processamento de mensagens através do procmail

# Capí­tulo 28 - Conectando seu computador a Internet

Este capí­tulo descreve como configurar seu sistema para se conectar a Internet, navegar, enviar/receber mensagens, etc.

## Conectando-se a Internet
### Conectando através de ADSL

A conexão através de banda larga em sistemas Debian é realizada através do programa pppoeconf ou modificando manualmente os arquivos de configuração em /etc/ppp. Esta seção explicará como configurar a conexão em modo bridge e assume que você já tem o modem conectado e sua placa de rede configurada. Para criar uma conexão internet através do pppoeconf entre como usuário root no sistema, digite pppoeconf e siga os passos de configuração:
* Na primeira tela, ele perguntará se deseja que o modem seja detectado automaticamente. Selecione sim. O sistema procurará e detectará o modem no sistema (assegure-se que ele esteja ligado durante essa etapa).
* Ao detectar o modem siga adiante e informe o nome de usuário para conexão. O nome do usuário deve ser completo, na forma nome@provedor.xx.yy
* Em seguida informe a senha usada para autenticação
* Nas próximas telas, selecione o valor padrão para MTU e MSS (a não ser que seu provedor DSL solicite a alteração).
* Na tela sobre se a conexão deve ser iniciada na inicialização do sistema, selecione "Sim".
No sistema Fedora, pode-se usar o programa system-config-network

### Conectando através de Internet Discada

Para conectar usando internet discada é utilizada a placa de Fax-Modem. A conexão através de sistemas Debian é fácil, e todo o trabalho de configuração pode ser feito através do programa pppconfig ou modificando manualmente os arquivos em /etc/ppp. Para criar uma conexão internet através do pppconfig, entre como usuário root no sistema, digite pppconfig e siga os passos de configuração (esta configuração serve para usuários domésticos e assume que você possui o kernel com suporte a PPP):
* No primeiro menu, escolha a opção Create para criar uma nova conexão. As outras opções disponí­veis são Change para modificar uma conexão a Internet criada anteriormente, Delete para apagar uma conexão. A opção Quit sai do programa.
* Agora o sistema perguntará qual será o nome da conexão que será criada. O nome provider é o padrão, e será usado caso digite pon para iniciar uma conexão internet sem nenhum argumento.
* O próximo passo é especificar como os servidores de nomes serão acessados. Escolha Static se não tiver nenhum tipo de rede local ou None para usar os servidores especificados no arquivo /etc/resolv.conf.
Aperte a tecla TAB e tecle ENTER para seguir para o próximo passo.
* Agora digite o endereço do servidor DNS especificado pelo seu provedor de acesso. Um servidor DNS converte os nomes como www.blablabla.com.br para o endereço IP correspondente para que seu computador possa fazer conexão.
Tecle ENTER para seguir para o próximo passo.
* Você pode digitar um endereço de um segundo computador que será usado na resolução de nomes DNS. Siga as instruções anteriores caso tiver um segundo servidor de nomes ou ENTER para continuar.
* Agora você precisará especificar qual é o método de autenticação usado pelo seu provedor de acesso. O Password Autentication Protocol é usado pela maioria dos provedores de acesso. Desta forma escolha a opção PAP
* Agora entre com o seu login no provedor de acesso, ou seja, o nome para acesso ao sistema que escolheu no momento que fez sua assinatura.
* Agora especifique a sua senha.
* O próximo passo será especificar a taxa de transmissão da porta serial do micro. O valor de 115200 deve funcionar com todas as configurações mais recentes.
Uma configuração serial DTE detalhada pode ser feita com a ferramenta setserial.
* Agora será necessário selecionar o modo de discagem usado pelo seu fax-modem. Escolha tone para linha digital e pulse se possuir uma linha telefônica analógica.
Pressione TAB e tecle ENTER para prosseguir.
* Agora digite o número do telefone para fazer conexão com o seu provedor de acesso.
* O próximo passo será a identificação do seu fax-modem, escolha YES para que seja utilizada a auto-detecção ou NO para especificar a localização do seu fax-modem manualmente.
* Se você quiser especificar mais detalhes sobre sua configuração, como strings de discagem, tempo de desconexão, auto-discagem, etc., faça isto através do menu Advanced.
Escolha a opção Finished para salvar a sua configuração e retornar ao menu principal. Escolha a opção Quit para sair do programa.
Pronto! todos os passos para você se conectar a Internet estão concluí­dos, basta digitar pon para se conectar e poff para se desconectar da Internet. Caso tenha criado uma conexão com o nome diferente de provider você terá que especifica-la no comando pon (por exemplo, pon provedor2).
A conexão pode ser monitorada através do comando plog e os pacotes enviados/recebidos através do pppconfig.
Para uma navegação mais segura, é recomendável que leia e compreenda alguns í­tens que podem aumentar consideravelmente a segurança do seu sistema em [ch-rede.html#s-rede-seg Segurança da Rede e controle de Acesso, Seção 15.8], [ch-rede.html#s-rede-seg-tcpd-a /etc/hosts.allow, Seção 15.8.3.1], [ch-rede.html#s-rede-seg-tcpd-d /etc/hosts.deny, Seção 15.8.3.2]. A seção [ch-rede.html#s-rede-dns-a-resolv /etc/resolv.conf, Seção 15.6.2.1] pode ser também útil.

### Conectando através de roteador

Existem vários tipos diferentes de roteador, e cada um tem um modo diferente de fazer a conexão.
Como regra geral, o que foi feito para se conectar usando ADSL não vale para conectar usando um roteador.

### Conectando a uma rede wireless

Para conectar-se à uma rede wireless, primeiro é preciso verificar se existe (e funciona) o hardware para isso, e se existe uma rede wireless no local.
Um comando útil para verificar tudo isso é:
que lista os dispositivos wireless do computador e as redes. Caso não haja nenhum dispositivo wireless no computador, é necessário configurar este hardware; para isto ver Guia do Linux/Hardware/Configurações de Dispositivos. Usuários da distribuição Ubuntu podem consultar a documentação no site da distribuição.

## Referências

* ↑ Compartilhamento de conexão ADSL, no site fedora.wiki.br
* ↑ WirelessTroubleShootingGuide, em http://help.ubuntu.com

## Navegando na Internet

Existem diversos tipos de navegadores web para GNU/Linux e a escolha depende dos recursos que pretende utilizar (e do poder de processamento de seu computador).
Para navegar na Internet com muitos recursos, você pode usar o navegador Firefox, ele suporta plug-ins, extensões adicionais, java, flash, etc. Você também tem a escolha do Mozilla que inspirou a criação do Netscape e outros navegadores derivados.
O dillo é uma boa alternativa para aqueles que desejam um navegador em modo gráfico, mas eles não tem suporte a Java e Frames.
Os usuários e administradores de servidores que operam em modo texto e precisam de navegadores para testes, podem optar pelo Lynx ou o links. Uma listagem mais detalhada e recursos requeridos por cada navegador podem ser encontrados em [ch-aplic.html#s-aplic-b-internet Internet, Seção 30.1.3].

## Recebimento de E-Mails através do fetchmail

É o programa mais tradicional no recebimento de mensagens através dos serviços pop3, imap, pop2, etc. no GNU/Linux. Ele pega as mensagens de seu servidor pop3 e as entrega ao MDA local ou nos arquivos de e-mails dos usuários do sistema em /var/mail
Todo o funcionamento do fetchmail é controlado pelo arquivo ~/.fetchmailrc. Segue abaixo um modelo padrão deste arquivo:
Este arquivo é lido pelo fetchmail na ordem que foi escrito. Veja a explicação abaixo sobre o arquivo exemplo:
* A palavra poll especifica o servidor de onde suas mensagens serão baixadas, o servidor especificado no exemplo é pop3.seuprovedor.com.bt. A palavra skip pode ser especificada, mas as mensagens no servidor especificado por skip somente serão baixadas caso o nome do servidor de mensagens for especificado através da linha de comando do fetchmail.
* protocol é o protocolo que será usado para a transferência de mensagens do servidor. O fetchmail utilizará a auto-detecção de protocolo caso este não seja especificado.
* user define o nome do usuário no servidor pop3.seuprovedor.com.br, que no exemplo acima é gleydson.
* password define a senha do usuário gleydson (acima), especificada como sua_senha no exemplo.
* keep é opcional e serve para não apagar as mensagens do servidor após baixa-las (útil para testes e acesso a uma única conta de e-mail através de vários locais, como na empresa e sua casa por exemplo).
* fetchall baixa todas as mensagens do provedor marcadas como lidas e não lidas.
* is gleydson here é um modo de especificar que as mensagens obtidas de pop3.seuprovedor.com.br do usuário gleydson com a senha sua_senha serão entregues para o usuário local gleydson no diretório /var/mail/gleydson.
As palavras is e here são completamente ignoradas pelo fetchmail, servem somente para dar um tom de linguagem natural na configuração do programa e da mesma forma facilitar a compreensão da configuração.
Se possuir várias contas no servidor pop3.seuprovedor.com.br, não é necessário repetir toda a configuração para cada conta, ao invés disso especifique somente os outros usuários do mesmo servidor:
Note que todos os e-mails das contas gleydson, conta2 e conta3 do servidor de mensagens pop3.seuprovedor.com.br são entregues ao usuário local gleydson (arquivo /var/mail/gleydson).
Agora você pode usar um programa MUA como o mutt ou pine para ler localmente as mensagens. O armazenamento de mensagens no diretório /var/mail é preferido pois permite a utilização de programas de notificação de novos e-mais como o comsat, mailleds, biff, etc.
Também é possí­vel utilizar um processador de mensagens ao invés do MTA para a entrega de mensagens. O programa procmail é um exemplo de processador de mensagens rápido e funcional que pode separar as mensagens em arquivos de acordo com sua origem, destino, assunto, enviar respostas automáticas, listas de discussão, envio de arquivos através de requisição, etc. Veja [#s-inter-procmail Processamento de mensagens através do procmail, Seção 28.3.1] para detalhes.
Para mais detalhes sobre outras opções especí­ficas de outros protocolos, checagem de mensagens, criptografia, etc, veja a página de manual do fetchmail.

### Processamento de mensagens através do procmail

O processamento de mensagens pode ser usado para inúmeras finalidades, dentre elas a mais comum é separar uma mensagem em arquivos/diretórios de acordo com sua origem, prioridade, assuntos, destinatário, conteúdo, etc., programar auto-respostas, programa de férias, servidor de arquivos, listas de discussão, etc.
O procmail é um programa que reúne estas funções e permitem muito mais, dependendo da habilidades e conhecimento das ferramentas GNU/Linux para saber integra-las corretamente. Toda a operação do procmail é controlada pelo arquivo /etc/procmailrc e ~/.procmailrc. Abaixo um modelo do arquivo ~/.procmailrc usado para enviar todas as mensagens contendo a palavra GNU/Linux no assunto para o arquivo mensagens-linux:
A variável de ambiente MAILDIR especifica o diretório que serão armazenadas as mensagens e logs das operações do procmail. A variável DEFAULT especifica a caixa de correio padrão onde todas as mensagens que não se encaixam nas descrições do filtro do procmailrc serão enviadas. A variável LOGFILE especifica o arquivo que registrará todas as operações realizadas durante o processamento de mensagens do procmail.
O arquivo mensagens-linux é criado dentro do diretório especificado por MAILDIR.
Para que o procmail entre em ação toda vez que as mensagens forem baixadas via fetchmail, é preciso modificar o arquivo .fechmailrc e incluir a linha mda /usr/bin/procmail -d %T no final do arquivo e retirar as linhas is [usuáriolocal] here para que o processamento das mensagens seja feita pelo MDA local (neste caso, o procmail).
Se quiser que o procmail seja executado pelo MDA local, basta criar um arquivo ~/.forward no diretório do usuário e incluir a linha exec /usr/bin/procmail (note que em algumas implementações do exim, o procmail é executado automaticamente caso um arquivo ~/.procmailrc seja encontrado, caso contrário será necessário adicionar a linha "/usr/bin/procmail" ao arquivo ~/.forward (somente exim).
Para mais detalhes, veja a página de manual do procmail, procmailrc e HOWTOs relacionados com e-mails no GNU/Linux.
* 29.4 Servidor X

# Capí­tulo 29 - X Window (ambiente gráfico)

Este capí­tulo do guia traz explicações sobre o ambiente gráfico X Window System.

## O que é X Window?

É um sistema gráfico de janelas que roda em uma grande faixa de computadores, máquinas gráficas e diferentes tipos de máquinas e plataformas Unix. Pode tanto ser executado em máquinas locais como remotas através de conexão em rede.

## A organização do ambiente gráfico X Window

Em geral o ambiente gráfico X Window é dividido da seguinte forma:
* O Servidor X - É o programa que controla a exibição dos gráficos na tela, mouse e teclado. Ele se comunica com os programas cliente através de diversos métodos de comunicação.
O servidor X pode ser executado na mesma máquina que o programa cliente esta sendo executado de forma transparente ou através de uma máquina remota na rede.
* O gerenciador de Janelas - É o programa que controla a aparência da aplicação. Os gerenciadores de janelas (window managers) são programas que atuam entre o servidor X e a aplicação. Você pode alternar de um gerenciador para outro sem fechar seus aplicativos.
Existem vários tipos de gerenciadores de janelas disponí­veis no mercado entre os mais conhecidos posso citar o Window Maker (feito por um Brasileiro), o After Step, Gnome, KDE, twm (este vem por padrão quando o servidor X é instalado), Enlightenment, IceWm, etc. A escolha do seu gerenciador de janelas é pessoal, depende muito do gosto de cada pessoa e dos recursos que deseja utilizar.
* A aplicação cliente - É o programa sendo executado.
Esta organização do ambiente gráfico X traz grandes vantagens de gerenciamento e recursos no ambiente gráfico UNIX, uma vez que tem estes recursos você pode executar seus programas em computadores remotos, mudar totalmente a aparência de um programa sem ter que fecha-lo (através da mudança do gerenciador de janelas), etc.

## Iniciando o X

O sistema gráfico X pode ser iniciado de duas maneiras:
* Automática - Usando um gerenciador de seção como xdm, gdm ou wdm que apresenta uma tela pedindo nome e senha para entrar no sistema (login). Após entrar no sistema, o X executará um dos gerenciadores de janelas configurados.
* Manual - Através do comando startx, ou xinit (note que o startx e xstart são scripts que fazem uma configuração completa do ambiente e em algumas distribuições também o procedimento de configuração de autenticação do ambiente antes de executar o xinit) . Neste caso o usuário deve entrar com seu nome e senha para entrar no modo texto e então executar um dos comandos acima. Após executar um dos comandos acima, o servidor X será iniciado e executará um dos gerenciadores de janelas configurados no sistema.

## Servidor X

Como dito acima, o servidor X controla o teclado, mouse e a exibição dos gráficos em sua tela. Para ser executado, precisa ser configurado através do arquivo /etc/X11/xorg.conf, usando dpkg-reconfigure xserver-xorg, ou usando o utilitário xf86cfg (modo texto).
A finalização do servidor X é feita através do pressionamento simultâneo das teclas CTRL, ALT, Back Space. O servidor X é imediatamente terminado e todos os gerenciadores de janelas e programas clientes são fechados.
CUIDADO: Sempre utilize a opção de saí­da de seu gerenciador de janelas para encerrar normalmente uma seção X11 e salve os trabalhos que estiver fazendo antes de finalizar uma seção X11. A finalização do servidor X deve ser feita em caso de emergência quando não se sabe o que fazer para sair de um gerenciador de janelas ou de um programa mal comportado.
Recomendo fazer a leitura de [ch-run.html#s-run-fechando Fechando um programa quando não se sabe como sair, Seção 7.15] caso estiver em dúvidas de como finalizar um programa mal comportado ou que não sabe como sair.
Guia foca Linux/Iniciante+Intermediário/Aplicativos para Linux Guia foca Linux/Iniciante+Intermediário/Aplicativos para Linux/Aplicativos Básicos Guia foca Linux/Iniciante+Intermediário/Aplicativos para Linux/Listagem de Aplicativos para GNU/Linux {{Índice|*31.1 Páginas de Manual
* 31.2 Info Pages
* 31.3 Help on line
* 31.4 help
* 31.5 apropos/whatis
* 31.6 locate
* 31.7 which
* 31.8 Documentos HOWTO's
** 31.8.1 Listagem de HOWTO's
*** 31.8.1.1 Introdução ao Sistema / Instalação / Configurações / Kernel
*** 31.8.1.2 Adaptação do GNU/Linux para idiomas específicos
*** 31.8.1.3 Discos / Sistemas de Arquivos / Desempenho
*** 31.8.1.4 Escrita de Documentação / Editores
*** 31.8.1.5 Hardware
*** 31.8.1.6 Software
*** 31.8.1.7 Plataformas não Intel (x86)
*** 31.8.1.8 Programação / Compiladores / Banco de Dados
*** 31.8.1.9 Computação Paralela / Clusters
*** 31.8.1.10 Configuração de Teclado / Vídeo / Console
*** 31.8.1.11 Ambiente Gráfico
*** 31.8.1.12 Suporte ao Sistema / Grupos de Usuários / Listas de Discussão
*** 31.8.1.13 Migração / Convivência com Outras Plataformas
*** 31.8.1.14 Tarefas Específicas
*** 31.8.1.15 Rede / Administração / Firewall / Proxy / Segurança
*** 31.8.1.16 Outros
** 31.8.2 Listagem de Mini-HOWTO's
*** 31.8.2.1 Introdução ao Sistema / Instalação / Configuração / Kernel
*** 31.8.2.2 Discos / Sistema de Arquivos / Desempenho
*** 31.8.2.3 Escrita de Documentação / Editores
*** 31.8.2.4 Hardware
*** 31.8.2.5 Software
*** 31.8.2.6 Plataformas não Intel (x86)
*** 31.8.2.7 Programação / Compiladores / Banco de Dados
*** 31.8.2.8 Configuração de Teclado / Video / Console
*** 31.8.2.9 Ambiente Gráfico
*** 31.8.2.10 Migração/Convivência com outras plataformas
*** 31.8.2.11 Tarefas Específicas
*** 31.8.2.12 Rede / Administração / Firewall / Segurança
*** 31.8.2.13 Outros
* 31.9 Documentação de Programas
* 31.10 FAQ
* 31.11 RFC's
* 31.12 Internet
** 31.12.1 Páginas Internet de Referência
** 31.12.2 Listas de discussão
* 31.13 Netiqueta
** 31.13.1 Recomendações Gerais sobre a Comunicação Eletrônica
** 31.13.2 Email
** 31.13.3 Talk
** 31.13.4 ICQ
** 31.13.5 Listas de Discussão via Email

## Páginas de Manual

As páginas de manual acompanham quase todos os programas GNU/Linux. Elas trazem uma descrição básica do comando/programa e detalhes sobre o funcionamento de opção. Uma página de manual é visualizada na forma de texto único com rolagem vertical. Também documenta parâmetros usados em alguns arquivos de configuração.
A utilização da página de manual é simples, digite:
man [seção] [comando/arquivo]
onde:

### seção

    É a seção de manual que será aberta, se omitido, mostra a primeira seção sobre o comando encontrada (em ordem crescente).

### comando/arquivo

    Comando/arquivo que deseja pesquisar.
A navegação dentro das páginas de manual é feita usando-se as teclas:
* q - Sai da página de manual
* PageDown ou f - Rola 25 linhas abaixo
* PageUP ou w - Rola 25 linhas acima
* SetaAcima ou k - Rola 1 linha acima
* SetaAbaixo ou e - Rola 1 linha abaixo
* r - Redesenha a tela (refresh)
* p ou g - Inicio da página
* h - Ajuda sobre as opções da página de manual
* s - Salva a página de manual em formato texto no arquivo especificado (por exemplo: /tmp/ls).
Cada seção da página de manual contém explicações sobre uma determinada parte do sistema. As seções são organizadas em diretórios separados e localizadas no diretório /usr/man. Os programas/arquivos são classificados nas seguintes seções:
* Programas executáveis ou comandos internos
* Chamadas do sistema (funções oferecidas pelo kernel)
* Chamadas de Bibliotecas (funções dentro de bibliotecas do sistema)
* Arquivos especiais (normalmente encontrados no diretório /dev)
* Formatos de arquivos e convenções (/etc/inittab por exemplo).
* Jogos
* Pacotes de macros e convenções (por exemplo man)
* Comandos de Administração do sistema (normalmente usados pelo root)
* Rotinas do kernel (não padrões)
A documentação de um programa também pode ser encontrada em 2 ou mais categorias, como é o caso do arquivo host_access que é documentado na seção 3 (bibliotecas) e 5 (formatos de arquivo). Por este motivo é necessário digitar man 5 hosts_access para ler a página sobre o formato do arquivo, porque o comando man procura a página de manual nas seções em ordem crescente e a digitação do comando man hosts_access abriria a seção 3.
As páginas de manual contém algumas regras para facilitar a compreensão do comando:
* Texto Negrito - Deve ser digitado exatamente como é mostrado
* [bla bla bla] - Qualquer coisa dentro de são opcionais
Exemplo, man ls, man 5 hosts_access.

## Info Pages

Idêntico as páginas de manual, mas é usada navegação entre as páginas. Se pressionarmos &lt;Enter&gt; em cima de uma palavra destacada, a info pages nos levará a seção correspondente. A info pages é útil quando sabemos o nome do comando e queremos saber para o que ele serve. Também traz explicações detalhadas sobre uso, opções e comandos.
Para usar a info pages, digite:
info [comando/programa]
Se o nome do comando/programa não for digitado, a info pages mostra a lista de todos os manuais de comandos/programas disponí­veis. A navegação da info pages é feita através de nomes marcados com um "*" (hipertextos) que se pressionarmos &lt;Enter&gt;, nos levará até a seção correspondente. A info pages possui algumas teclas de navegação úteis:
* q - Sai da info pages
* ? - Mostra a tela de ajuda (que contém a lista completa de teclas de navegação e muitos outras opções).
* n - Avança para a próxima página
* p - Volta uma página
* u - Sobre um ní­vel do conteúdo (até checar ao í­ndice de documentos)
* m - Permite usar a localização para encontrar uma página do info. Pressione m, digite o comando e tecle &lt;Enter&gt; que será levado automaticamente a página correspondente.
* d - Volta ao í­ndice de documentos.
Existem muitos outras teclas de navegação úteis na info pages, mas estas são as mais usadas. Para mais detalhes, entre no programa info e pressione ?.
Exemplo, info cvs.

## Help on line

Ajuda rápida, é útil para sabermos quais opções podem ser usadas com o comando/programa. Quase todos os comandos/programas GNU/Linux oferecem este recurso que é útil para consultas rápidas (e quando não precisamos dos detalhes das páginas de manual). É útil quando se sabe o nome do programa mas deseja saber quais são as opções disponí­veis e para o que cada uma serve. Para acionar o help on line, digite:
[comando] --help
comando - é o comando/programa que desejamos ter uma explicação rápida.
O Help on Line não funciona com comandos internos (embutidos no Bash), para ter uma ajuda rápida sobre os comandos internos, veja [#s-ajuda-help help, Seção 31.4].
Por exemplo, ls—help.

## help

Ajuda rápida, útil para saber que opções podem ser usadas com os comandos internos do interpretador de comandos. O comando help somente mostra a ajuda para comandos internos, para ter uma ajuda similar para comandos externos, veja [#s-ajuda-helponline Help on line, Seção 31.3]. Para usar o help digite:
help [comando]
Por exemplo, help echo, help exit

## apropos/whatis

Apropos procura por programas/comandos através da descrição. É útil quando precisamos fazer alguma coisa mas não sabemos qual comando usar. Ele faz sua pesquisa nas páginas de manual existentes no sistema e lista os comandos/programas que atendem a consulta. Para usar o comando apropos digite:
apropos [descrição]
Digitando apropos copy, será mostrado todos os comandos que tem a palavra copy em sua descrição (provavelmente os programas que copiam arquivos, mas podem ser mostrados outros também).

## locate

Localiza uma palavra na estrutura de arquivos/diretórios do sistema. É útil quando queremos localizar onde um comando ou programa se encontra (para copia-lo, curiosidade, etc). A pesquisa é feita em um banco de dados construí­do com o comando updatedb sendo feita a partir do diretório raí­z / e sub-diretórios. Para fazer uma consulta com o locate usamos:
locate [expressão]
A expressão deve ser o nome de um arquivo diretório ou ambos que serão procurados na estrutura de diretórios do sistema. Como a consulta por um programa costuma localizar também sua página de manual, é recomendável usar "pipes" para filtrar a saí­da do comando (para detalhes veja [ch-redir.html#s-redir-pipe | (pipe), Seção 14.5] .
Por exemplo, para listar os diretórios que contém o nome "cp": locate cp. Agora mostrar somente arquivos binários, usamos: locate cp|grep bin/

## which

Localiza um programa na estrutura de diretórios do path. É muito semelhante ao locate, mas a busca é feita no path do sistema e somente são mostrados arquivos executáveis .
which [programa/comando].
* Integridade de Dados.
Tenham bom proveito.MML

## Documentos HOWTO's

São documentos em formato texto, html, etc, que explicam como fazer determinada tarefa ou como um programa funciona. Normalmente são feitos na linguagem SGML e convertidos para outros formatos (como o texto, HTML, Pos Script) depois de prontos.
Estes trazem explicações detalhadas desde como usar o bash até sobre como funciona o modem ou como montar um servidor internet completo. Os HOWTOÂ´s podem ser encontrados no diretório do projeto de documentação do GNU/Linux (LDP) em ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/ ou traduzidos para o Português pelo LDP-BR em http://www.tldp.org/projetos/howto/traduzidos.php. Caso tenha optado por instalar o pacote de HOWTO's de sua distribuição GNU/Linux, eles podem ser encontrados em: /usr/doc/how-to

### Listagem de HOWTO's

Esta seção tem a intenção de facilitar a localização de um documento que trata do assunto desejado ou te despertar a curiosidade sobre alguns assuntos do SO-GNU/Linux através da descrição contida nos documentos. Segue abaixo uma listagem de HOWTO's do projeto LDP organizadas por sub-seções com a descrição do assunto que cada um deles aborda.

#### Introdução ao Sistema / Instalação / Configurações / Kernel
##### Access-HOWTO

    O HOWTO de Acesso ao GNU/Linux cobre o uso de tecnologia adaptada para tornar o GNU/Linux acessí­vel í queles que não o utilizam. Ele cobre áreas onde ele pode usar soluções tecnológicas adaptadas.

##### Bash-Prompt-HOWTO

    Explica como criar e controlar um terminal e aviso de comando xterm, incluindo sequências de escape incorporadas para passar o nome do usuário, diretório atual, hora, uso de cores ANSI, etc.

##### Bootdisk-HOWTO

    Explica como criar seu próprio disco de inicialização/raí­z para o GNU/Linux.

##### BootPrompt-HOWTO

    Este documento reúne a maioria dos parâmetros de inicialização que podem ser passados ao kernel do GNU/Linux durante a inicialização do sistema. Também explica como o kernel classifica os argumentos de inicialização e também os softwares usados para inicialização do kernel do GNU/Linux.

##### Compaq-Remote-Insight-Board-HOWTO

    Descreve como instalar o Linux no servidor Compaq ProLiant.

##### Config-HOWTO

    Este documento ensina como fazer um ajuste fino em sua máquina GNU/Linux recém instalada rápido e fácil. Neste documento você encontrará um conjunto de configurações para as aplicações e serviços mais populares.

##### Distribution-HOWTO

    Este documento tem a intenção de ajudar novos usuários escolherem uma distribuição GNU/Linux e ajudar usuários experientes a avaliar o estado do marketing no GNU/Linux Ele não planeja ser uma lista completa de distribuições GNU/Linux para todas as plataformas, mas ao invés disso se focaliza nas distribuições em Inglês baseadas no processador Intel, disponí­veis em CD-ROM e acessí­veis a usuários novatos no sistema.

##### From-PowerUp-To-Bash-Prompt-HOWTO

    Contém uma breve descrição sobre o que acontece no sistema GNU/Linux, do momento que liga o seu computador até o login no aviso do bash. Ele é organizado por pacotes para torna-lo fácil para pessoas que desejam construir um sistema através do código fonte. Entendendo isto será útil quando precisar resolver problemas ou configurar o seu sistema.

##### Installation-HOWTO

    Este documento descreve como obter e instalar o software GNU/Linux. Ele é o primeiro documento que um novo usuário GNU/Linux dev ler para iniciar no sistema.

##### INFO-SHEET

    Este documento oferece informações básicas sobre o sistema operacional GNU/Linux, incluindo uma explicação sobre o sistema, uma lista de caracterí­sticas, alguns requerimentos e alguns recursos.

##### Kernel-HOWTO

    Este é um guia detalhado de configuração do kernel, compilação, upgrades e problemas para sistemas baseados.

##### PLIP-Install-HOWTO

    Descreve como instalar uma distribuição GNU/Linux em um computador sem placa Ethernet, ou CD-ROM, mas apenas com uma unidade de disquetes local e um servidor NFS remoto conectado via um cabo paralelo.

##### Reading-List-HOWTO

    Lista os livros mais valiosos para uma pessoa que deseja aprender o sistema operacional Unix (especialmente o GNU/Linux).

##### Software-Building-HOWTO

    Guia compreensivo de como construir e instalar distribuições de softwares "genéricas" UNIX sob o GNU/Linux. Adicionalmente existe alguma cobertura dos binários pré-empacotados "rpm" e "deb".

##### Tips-HOWTO

    Este documento descreve algumas dicas difí­ceis de encontrar e truques que fazem o GNU/Linux um pouco melhor.

##### Unix-and-Internet-Fundamentals-HOWTO

    Este documento descreve a base de funcionamento dos computadores da classe PC, sistemas operacionais Unix e a Internet em linguagem não técnica.

##### User-Authentication-HOWTO

    Explica como as informações de usuário e grupo são armazenadas e como os usuários são autenticados no sistema GNU/Linux (PAM) e como melhorar a autenticação de seu sistema.

#### Adaptação do GNU/Linux para idiomas especí­ficos
##### Belarusian-HOWTO

    Adicionando o suporte ao idioma Belarusian no Linux.

##### Belgian-HOWTO

    Este documento ensina a configuração do sistema GNU/Linux para o idioma Belgo.

##### Chinese-HOWTO

    Este documento explica como configurar o idioma Chinês no GNU/Linux.

##### Cyrillic-HOWTO

    Explica como utilizar o GNU/Linux com o idioma Russo.

##### Danish-HOWTO

    Descreve como configurar o GNU/Linux e vários aplicativos GNU/Linux para este idioma.

##### Esperanto-HOWTO

    Configuração do GNU/Linux para o idioma Esperanto.

##### Finnish-HOWTO

    Descreve como usar o sistema GNU/Linux no idioma Finlandês.

##### Francophones-HOWTO

    Descreve como usar o GNU/Linux no idioma Francês.

##### German-HOWTO

    Descreve como usar o GNU/Linux com o idioma Alemão.

##### Hebrew-HOWTO

    Descreve como configurar o GNU/Linux para exibir caracteres Hebreus no X-Window e Console.

##### Hellenic-HOWTO

    Guia para configuração do GNU/Linux.

##### Italian-HOWTO

    Descreve como configurar o GNU/Linux no idioma Italiano.

##### Polish-HOWTO

    Configurando seu sistema GNU/Linux para o idioma Polonês.

##### Portuguese-HOWTO

    Configurando seu sistema GNU/Linux para o idioma Português.

##### Serbian-HOWTO

    Configurando seu sistema GNU/Linux para o idioma Servio.

##### Slovenian-HOWTO

    Como configurar os parâmetros do sistema GNU/Linux para este idioma.

##### Spanish-HOWTO

    Configurando o sistema GNU/Linux para o idioma Espanhol.

##### Thai-HOWTO

    Descreve como usar o idioma Tailandês com o GNU/Linux.

##### Turkish-HOWTO

    Configurando o GNU/Linux para o idioma Turco.

#### Discos / Sistemas de Arquivos / Desempenho
##### Filesystems-HOWTO

    Descreve sistemas de arquivos e o acesso aos sistemas de arquivos.

##### Large-Disk-HOWTO

    Tudo sobre a geometria e o limite de 1024 cilindros para os discos.

##### LVM-HOWTO

    Um HOWTO descritivo sobre o GNU/Linux LVM.

##### Loopback-Encrypted-Filesystem-HOWTO

    Este documento explica como criar e utilizar um sistema de arquivos que, quando montado por um usuários, encripta transparentemente e dinamicamente seu conteúdo. O sistema de arquivos é armazenado em um arquivo regular, que pode ser oculto ou nomeado para algo que não chama a atenção, como algo que nunca seria procurado. Isto permite um alto ní­vel de segurança dos dados armazenados.

##### Multi-Disk-HOWTO

    Este documento descreve como utilizar da melhor maneira múltiplos discos e partições em um sistema GNU/Linux. Muitos dos detalhes descritos aqui podem também ser aplicados a outros sistemas operacionais multi-tarefas.

##### MultiOS-HOWTO

    Este documento cobre os procedimentos para utilizar discos rí­gidos removí­veis para instalar e gerenciar múltiplos sistemas operacionais alternativos enquanto deixa um disco rí­gido simples fixo para proteger o sistema operacional primário. É muito escalável e oferece uma boa grade de proteção e um ambiente de disco estável para o sistema operacional primário.

##### Optical-Disk-HOWTO

    Este documento descreve a instalação e configuração de unidades de disco óticos para GNU/Linux.

##### Root-RAID-HOWTO

    Este documento somente se aplica a ferramentas RAID ANTIGAS, versão 0.50 e inferiores. Os detalhes contidos neste documento se tornaram obsoletos com a vasta melhoria das ferramentas RAID 0.90 e acompanhadas do patch nos kernels das séries 2.0.37, 2.2x e 2.3x.

##### SCSI-Programming-HOWTO

    Este documento fala sobre a programação da interface SCSI genérica no GNU/Linux.

##### UMSDOS-HOWTO

    O UMSDOS é um sistema de arquivos GNU/Linux. Ele oferece uma alternativa do sistema de arquivos EXT2. Sua maior caracterí­stica é a coexistência com os dados DOS existentes, compartilhando a mesma partição.

#### Escrita de Documentação / Editores
##### C-editing-with-VIM-HOWTO

    Oferece dicas para editar arquivos desta linguagem e com sintaxe similar como C e Java.

##### Emacs-Beginner-HOWTO

    Este documento introduz os usuários GNU/Linux no editor Emacs. Ele assume o mí­nimo de conhecimento com o editor de texto vi ou similar.

##### Emacspeak-HOWTO

    Este documento descreve como um usuário pode usar o sistema com um sintetizador de voz no lugar do monitor de ví­deo. Ele descreve como ter o GNU/Linux rodando em seu PC e como configura-lo para falar. Ele também sugere como aprender sobre o Unix.

##### HOWTO-HOWTO

    Lista de ferramentas, processos e dicas para ajudar os autores de HOWTO's aumentarem sua produtividade.

##### LinuxDoc Emacs Ispell-HOWTO

    Este documento é de interesse de escritores e tradutores dos HOWTO's do GNU/Linux ou qualquer outro papel para o Projeto de Documentação do GNU/Linux. Ele oferece dicas sobre o uso de ferramentas incluindo o Emacs e Ispell.

##### TeTeX-HOWTO

    Este documento cobre a instalação básico e uso das implementações TeTeX, TeX e LaTeX sob as maiores distribuições de GNU/Linux Inglesas e pacotes auxiliares como o GhostScript.

##### Vim-HOWTO

    Este documento é uma guia para configurar rapidamente o editor colorido Vim nos sistemas Unix e GNU/Linux. Os detalhes aqui aumentarão a produtividade dos programadores porque o editor Vim suporta a colorização de código e fontes negrito, aumentando a "legibilidade" do código do programa. A produtividade do programador aumenta de 2 a 3 vezes com um editor colorido como Vim.

#### Hardware
##### 3Dfx-HOWTO

    Este documento descreve o suporte do GNU/Linux aos chips aceleradores 3Dfx. Também lista alguns hardwares suportados, descreve como configurar os drivers e responde perguntas frequêntes.

##### 4mb-Laptops

    Como instalar o Linux em um notebook com 4MB de RAM e com HDs menores que 200 MB.

##### Acer Laptop-HOWTO

    Descreve como instalar o Linux em notebooks Acer.

##### Busmouse-HOWTO

    Descreve como instalar, configurar e usar um barramento de mouse sob o GNU/Linux. Ele contém uma lista de barramentos suportados e tenta responder as questões mais frequêntes relacionadas ao assunto.

##### CDServer-HOWTO

    Oferece as dicas e passos para criar um servidor de CD no Linux para serem compartilhados via rede com Windows e outros sistemas operacionais.

##### CPU-Design-HOWTO

    Oferece referências para mostrar como uma CPU é projetada e fabricada. Bastante interessante para estudantes de computação e outros profissionais da área.

##### Ftape-HOWTO

    Este HOWTO discute o controlador de unidades tape para GNU/Linux.

##### HP-HOWTO

    Este documento descreve o uso dos produtos disponí­veis no catálogo Hewlett-Packard (HP) com o GNU/Linux e alguns programas free software. Ele explica o estado do suporte para hardwares, softwares utilizados e respostas para alguns questões frequêntes.

##### Hardware-HOWTO

    Este documento lista a maioria dos hardware suportados pelo GNU/Linux e lhe ajuda a localizar os controladores necessários.

##### Jaz-Drive-HOWTO

    Este HOWTO cobre a configuração e uso dos drivers Iomega 1Gb e 2Gb sob o GNU/Linux.

##### Kodak-Digitalcam-HOWTO

    Fazendo uma câmera Kodak digital funcionar sob GNU/GNU/Linux.

##### Laptop-HOWTO

    Os Notebooks são diferentes de computadores desktops/torres. Eles usam certos hardwares como cartões PCMCIA, portas infravermelho, baterias, estações de encaixe. Frequentemente seus hardwares são mais limitados (i.e. espaço em disco, velocidade da CPU) então sua performance se torna menor. Em algumas instâncias, os notebooks podem se tornar uma substituição ao sistema desktop. O suporte de hardware para o GNU/Linux (e outros sistemas operacionais) é algumas vezes mais limitado (i.e. chips gráficos, modens internos). Os Notebooks frequentemente utilizam hardware especializado, no qual a localização de um controlador adequado pode se tornar uma dificuldade. Os Notebooks são utilizados em ambientes móveis, assim existe a necessidade de múltiplas configurações e estratégias adicionais de segurança.

##### Modem-HOWTO

    Ajuda com a seleção, conexão, configuração, resolução de problemas e compreensão de modens de um PC. Veja o Serial-HOWTO para detalhes sobre múltiplas placas seriais.

##### PCI-HOWTO

    Informações sobre o que funciona com o GNU/Linux e placas PCI e que o não funciona.

##### Plug-and-Play-HOWTO

    Este documento ajuda a compreensão e operação do Plug-and-Play e como incluir o suporte do seu sistema GNU/Linux ao Plug-and-Play.

##### Serial-HOWTO

    Este documento descreve caracterí­sticas da porta serial ao invés de outros detalhes que devem ser cobertos pelos documentos Modem-HOWTO, PPP-HOWTO, Serial-Programming-HOWTO, ou Text-Terminal-HOWTO. Ele lista detalhes sobre múltiplas placas seriais contendo informações técnicas detalhadas sobre a própria porta serial em mais detalhes do que os encontrados nos HOWTO's acima e deve ser o suficiente para correção de problemas quando o problema é a própria porta serial. Se estiver trabalhando com um Modem, PPP (usado para acesso a Internet através de uma Linha telefônica), ou um Terminal baseado em modo texto, seus respectivos HOWTO's devem ser primeiramente consultados.

##### Serial-Programming-HOWTO

    Explica como programar comunicações com dispositivos através de uma porta serial em um computador com o GNU/Linux.

##### UPS-HOWTO

    Este documento te ajudará a conectar um uninterruptable power supply (No Break) em seu computador GNU/Linux... se tiver a sorte de possuir um...

##### Wacom-Tablet-HOWTO

    Instalação do (não somente) Wacom graphic tablets sob o GNU/Linux e / ou xfree86.

##### Wearable-HOWTO

    Computação móvel com GNU/Linux.

##### Winmodems-and-Linux-HOWTO

    Este documento contém detalhes sobre a configuração de Winmodems no GNU/Linux.

#### Software
##### AI-Alife-HOWTO

    Este howto contém informações primárias sobre, e links para, várias bibliotecas relacionadas com o AI, aplicativos, etc. que funcionam na plataforma GNU/Linux. Todos eles (pelo menos) livres para uso pessoal.

##### Apache-Overview-HOWTO

    Oferece uma visão do servidor Web Apache e projetos relacionados.

##### Commercial-HOWTO

    Este documento contém uma listagem de programas comerciais e aplicações que são oferecidas para o GNU/Linux

##### Glibc2-HOWTO

    Este documento cobre a instalação e uso da Biblioteca GNU C versão 2 nos sistemas GNU/Linux.

##### RPM-HOWTO

    Explica como utilizar o sistema de gerenciamento de pacotes RPM.

##### Program-Library-HOWTO

    Este documento para programadores discute como criar e usar bibliotecas no GNU/Linux. Estas incluem bibliotecas estáticas, bibliotecas compartilhadas e bibliotecas carregadas dinamicamente.

##### Secure-Programs-HOWTO

    Este documento oferece um conjunto de designs e regras de implementação para escrever programas seguros para os sistemas Unix e Linux. Tais programas incluem programas aplicativos usados para visualizadores de dados remotos, scripts CGI, servidores de rede, programas setuid/setgid. Guias especí­ficos sobre C, C , Java, Perl, Python, e Ada95 estão incluí­dos.

##### Software-RAID-0.4x-HOWTO

    RAID significa "Redundant Array of Inexpensive Disks", e significa ser um método de criar um rápido e confiável subsistema de unidades de disco ao invés de discos individuais. O RAID pode se prevenir de falhas de disco e pode também aumentar a performance obtida através de uma simples unidade de disco. Este documento é um tutorial/HOWTO/FAQ para usuários do kernel do Linux com extensões MD, as ferramentas associadas, e seu uso. A extensão MD implementa o RAID-0 (striping), RAID-1 (mirroring), RAID-4 e RAID-5 no software. O que significa que, com MD, nenhum hardware especial ou controladoras de disco são requeridas para obter muitos dos benefí­cios do RAID.

##### Software-RAID-HOWTO

    Este documento descreve como usar o software RAID sob o GNU/Linux. Ele endereça uma versão especí­fica da camada de software do RAID, nomeada camada RAID 0.90, feita por Ingo Molnar e outros. Esta é a camada RAID que será padronizada no Linux-2.4, e também é a versão usada por kernels 2.2 do GNU/Linux vendidos por alguns vendedores. O suporte RAID 0.90 está disponí­vel com patches para os kernels do 2.0 e 2.2 do GNU/Linux e também é considerado ser mais estável que o antigo suporte RAID já incluí­do nestes kernels.

##### Software-Release-Practice-HOWTO

    Este documento descreve boas práticas de lançamento para o projeto de código-aberto GNU/Linux. Seguindo estas práticas, será fácil e possí­vel para os usuários construir seu código e usa-lo, e para outros desenvolvedores entender seu código e cooperar com você para melhora-lo. Este documento deve ser lido por desenvolvedores iniciantes. Desenvolvedores experientes devem revisa-lo quando desejarem lançar um novo projeto. Este documento é revisado periodicamente para refletir a evolução das boas práticas de lançamento.

#### Plataformas não Intel (x86)
##### Alpha-HOWTO

    Este documento é uma visão rápida das CPUs Alpha, chipsets e sistemas existentes.

##### MILO-HOWTO

    Este documento descreve o MIniLOader, um programa para sistemas baseados na arquitetura Alpha que pode ser usado para inicializar a máquina e carregar o GNU/Linux. O Linux Miniloader do Alpha (seu nome completo) é também conhecido como MILO.

##### MIPS-HOWTO

    Esta FAQ descreve o porte do MIPS para o sistema operacional Linux, problemas comuns e suas soluções, disponibilidade e mais. Ele também tenta ser um pouco útil a outras pessoas que desejam ler esta FAQ em uma tentativa de encontrar informações que atualmente seriam cobertas em outro lugar.

##### SRM-HOWTO

    Este documento descreve como inicializar no Linux/Alpha usando o console SRM, que é a firmware de console também usada para inicializar o Unix Compaq Tru64 (também conhecido com Digital Unix e OSF/1) e OpenVMS.

#### Programação / Compiladores / Banco de Dados
##### Assembly-HOWTO

    Este documento descreve como programar em linguagem Assembler usando ferramentas de programação livres, focalizando-se no desenvolvimento para ou do Sistema Operacional GNU/Linux, mais na plataforma IA-32 (i386).

##### Bash-Prog-Intro-HOWTO

    Este documento tem a intenção de te ajudar a iniciar na programação de shell scripts. Ele não tem a intenção de ser uma documento avançado.

##### C Programming-HOWTO

    Discute os métodos para evitar problemas de memória no C e também te ajudará a programar corretamente na linguagem C . As informações contidas neste documento se aplicam a todos os sistemas operacionais que são GNU/Linux, DOS, BeOS, Apple Macintosh OS, Windows 95/98/NT/2000, OS/2, Sistemas IBM (MVS, AS/400, etc...), VAX VMS, Novell Netware, todos os tipos de Unix como o Solaris, HPUX, AIX, SCO, Sinix, BSD, etc., e todos os outros sistemas operacionais que suportam o compilador "C " (quase todos os sistemas operacionais deste planeta!).

##### C-C Beautifier-HOWTO

    Este documento ajudará a formatar (de forma organizada) os programas C/C assim será mais legí­vel e seguirá os padrões de codificação C/C . As informações deste documento se aplica a quase todos os sistemas operacionais do planeta!

##### DB2-HOWTO

    Este documento explica como instalar o DB2 Universal Database versão 7.1 para GNU/Linux nas seguintes distribuições baseadas no Intel x86: Caldera Caldera OpenLinux 2.4, Debian, Red Hat Linux 6.2, SuSE Linux 6.2 e 6.3, e TurboLinux 6.0. Após instalar o DB2, você pode usar um banco de dados de exemplo, conectar-se ao servidor DB2 de uma máquina remota e administrar o DB2 usando o DB2 Control Center.

##### Enterprise-Java-for-Linux-HOWTO

    Como configurar um ambiente Java Enterprise no GNU/Linux incluindo o Java Development Kit, um servidor Web, suportando Java servlets, acessando um banco de dados via JDBC e suportado Enterprise Java Beans (EJBs).

##### GCC-HOWTO

    Este documento explica como configurar o compilador GNU C e bibliotecas de desenvolvimento sob o GNU/Linux e te dá uma visão de compilação, linkagem, execução e programas de depuração.

##### IngresII-HOWTO

    Este documento cobre a instalação do Ingres II Relational Database management System no GNU/Linux. Ele cobre a configuração de ambos o Kit de desenvolvimento e versão completa do Ingres. Algumas seções explicam como iniciar o uso do Ingres.

##### Oracle-7-HOWTO

    Um guia para instalar e configurar o Servidor do Banco de Dados Oracle em um sistema GNU/Linux.

##### Oracle-8-HOWTO

    Com este HOWTO, é um pouco de sorte, você será capaz de ter o Oracle 8i Enterprise Edition para GNU/Linux instalado, criar um banco de dados e conectar a ele através de um computador remoto. O foco principal deste guia é o RedHat 6.0, no entanto ele pode funcionar em outros distribuições recentes após algumas modificações.

##### PHP-HOWTO

    Ensina como desenvolver programas em PHP e também migrar todas as aplicações GUI do Windows 95 para o poderoso conjunto PHP HTML DHTML XML Applets Java Javascript. As explicações descritas neste documento se aplicam a todo os sistemas operacionais para onde o PHP está portado que são: Linux, Windows 95/98/NT/2000, OS/2, todos os tipos de Unix como o Solaris, HPUX, AIX, SCO, Sinix, BSD, etc...

##### PostgreSQL-HOWTO

    Este documento é um "guia prático" para rapidamente colocar para funcionar um banco de dados SQL e suas ferramentas de comunicação em um sistema Unix. Ele também discute a linguagem padrão Internacional ANSI/ISO SQL e revisa os méritos/vantagens do SQL Database engine desenvolvido pela Internet ao redor do mundo em um ambiente de desenvolvimento aberto. Também como configurar a próxima geração do banco de dados relacional a objetos SQL "PostgreSQL" em um sistema Unix que pode ser usado como um Servidor de Aplicativos de banco de dados ou como um Servidor de banco de dados Web.

##### TclTk-HOWTO

    Este documento descreve o uso do Tcl no GNU/Linux, uma linguagem de scripting. Ela é uma linguagem interpretada fácil de aprender que usa pouca digitação para obter um alto ní­vel de programação e desenvolvimento rápido de aplicativos (RAD). O Tk toolkit é um ambiente de programação para criar interfaces gráficas do usuário (GUI) sob o Sistema X Window. Suas capacidades incluem a possibilidade de estender e incluir em outros aplicativos, desenvolvimento rápido e fácil de usar. Juntos o Tcl e Tk oferecem muitos benefí­cios para o desenvolvedor e usuário. As interfaces baseadas no Tk tendem a ser mais personalizáveis e dinâmicas que aquelas feitas de toolkits C ou C . O Tk implementa o Visual e Uso do Motif. Um grande número de aplicações X interessantes são implementadas completamente em Tk, com nenhum comandos especí­ficos de aplicativo.

#### Computação Paralela / Clusters
##### Beowulf-HOWTO

    Este documento é uma introdução a arquitetura de Supercomputador Beowulf e oferece informações sobre programação paralela, incluindo links para documentos mais especí­ficos e páginas internet.

##### Cluster-HOWTO

    Como configurar clusters de computador GNU/Linux de alta performance.

##### Parallel-Processing-HOWTO

    O Processamento Paralelo é uma forma de acelerar a execução de um programa dividindo o programa em múltiplos fragmentos que podem ser executados simultaneamente, cada um em seu próprio processador. Um programa sendo executado em N processadores pode ser executado N vezes mais rápido que seria usando somente um processador. Este documento discute os quatro métodos para realizar processamento paralelo que estão disponí­veis aos usuários do sistema operacional GNU/Linux: Sistemas Linux SMP, Sistemas Linux em Clusters de rede, execução paralela usando as instruções multimí­dia do processador (i.e. MMX) e processadores (paralelos) conectados no sistema GNU/Linux.

##### SMP-HOWTO

    Este HOWTO revisa principais assuntos (e eu espero que soluções) relacionadas com as configurações SMP sob o GNU/Linux.

#### Configuração de Teclado / Ví­deo / Console
##### Font-HOWTO

    Como usar e configurar corretamente tipos de fontes no ambiente GNU/Linux.

##### Framebuffer-HOWTO

    Descreve como utilizar dispositivos framebuffer no GNU/Linux com uma variedade de plataformas. Isto também inclui como ajustar telas multi-headed.

##### Keyboard-and-Console-HOWTO

    Este documento contém algumas informações sobre o teclado e console no GNU/Linux, e o uso de caracteres não-ASCII. Ele descreve o GNU/Linux 2.0.

##### Text-Terminal-HOWTO

    Explica o que são os terminais texto, como funcionam, como instalar e configura-los e oferece muitos detalhes de como conserta-los. Se não tiver um manual do terminal, poderá ser de grande ajuda. Enquanto é escrito para terminais reais no sistema GNU/Linux alguns deles também são aplicáveis a emulação de terminal e pode ser útil para sistemas não Linux.

##### Unicode-HOWTO

    Explica como alterar seu sistema GNU/Linux para utilizar a codificação de texto baseada no UTF-8. -

#### Ambiente Gráfico
##### MGR-HOWTO

    O MGR (ManaGeR) é um sistema de janelas gráfico. O servidor MGR oferece um gerenciador de janelas embutido e emulação de terminal gráfico em janela em monitor colorido ou monocromático. O MGR é controlado por menus pop-up, por interação do teclado e por sequencias de escapa escrita em pseudo-terminais pelo software cliente.

##### XFree86-HOWTO

    Este documento descreve como obter, instalar e configurar a versão 4.0 do XFree86 do X Window System (X11R6) para sistemas GNU/Linux. Ele é um guia passo a passo para configurar o XFree86 em seu sistema.

##### XFree86-Touch-Screen-HOWTO

    Descreve como configurar um dispositivo de entrada touch screen sob o XFree86.

##### XFree86-Video-Timings-HOWTO

    Como configurar os modos de ví­deo de sua placa/monitor sob o XFree86.

##### XWindow-User-HOWTO

    Este documento contém detalhes sobre a configuração do ambiente X Windows para o usuário GNU/Linux, também como o administrador de sistemas iniciantes tentando aprender os mais diversos tipos de opções de configuração e detalhes do X Window. É assumido um conhecimento básico de configurações de software e instalação.

##### Xinerama-HOWTO

    Este documento descreve como configurar o XFree86 versão 4.0 com monitores multimí­dia com as extensões Xinerama.

#### Suporte ao Sistema / Grupos de Usuários / Listas de Discussão
##### Consultants-HOWTO

    Contém uma lista de empresas e consultores oferecendo suporte comercial relacionado ao sistema GNU/Linux.

##### Online-Troubleshooting-HOWTO

    Este documento direciona usuários GNU/Linux a lugares disponí­veis na Internet que oferecem acesso a uma vasta quantidade de documentos úteis relacionados ao sistema em situações de problema.

##### User-Group-HOWTO

    Este documento descreve como fundar, manter e organizar um grupo de usuários GNU/Linux.

#### Migração / Convivência com Outras Plataformas
##### DOS-Win-to-Linux-HOWTO

    Este documento tem a intenção de ajudar o leitor traduzir seu conhecimento do DOS e Windows para o ambiente GNU/Linux, também como oferecer dicas de manipulação de arquivos e utilização de recursos entre os dois sistemas.

##### VMS-to-Linux-HOWTO

    Este documento é escrito para todos aqueles que tem usado o VMS e agora precisam migrar para o GNU/Linux um clone gratuito do UNIX. A transição é feita (felizmente) através de uma comparação passo a passo de comandos e ferramentas existentes.

#### Tarefas Especí­ficas
##### Astronomy-HOWTO

    Este documento compartilha dicas e recursos para utilizar soluções do GNU/Linux no mundo da Astronomia.

##### CD-Writing-HOWTO

    Este documento explica como gravar CD-ROMs sob o GNU/Linux.

##### CDROM-HOWTO

    Este documento descreve como instalar, configurar e usar uma unidade de CD-ROM sob o GNU/Linux. Ele lista hardwares suportados e responde a um número de questões frequêntes.

##### CVS-RCS-HOWTO

    Este documento é um guia prático para rapidamente configurar o sistema de controle do código fonte CVS/RCS. Este documento também possui shell scripts personalizados que são trocados no topo do CVS. Estes scripts oferecem uma interface fácil entre o usuário e o CVS.

##### DVD-Playing-HOWTO

    Uma explicação fácil de seguir de como obter seu DVD funcionando no GNU/Linux.

##### Diskless-HOWTO

    Este documento descreve como configurar uma máquina sem disco rí­gido no GNU/Linux.

##### Java-Decompiler-HOWTO

    Este documento te ajudará a descompilar programas class feitos em Java. Este documento contém uma lista de descompiladores que podem reverter o engineer os arquivos Java class e gerar arquivos de código fonte Java. Isto é muito útil se você não tem o arquivo com o código fonte Java.

##### JavaStation-HOWTO

    Este HOWTO descreve como ativar o SO GNU/Linux no NC Sun Java Station.

##### KickStart-HOWTO

    Este documento descreve como usar o sistema Linux RedHat para instalar rapidamente o sistema em um grande número de máquinas GNU/Linux.

##### Kiosk-HOWTO

    Este documento oferece um guia para ajustar um kiosk baseado em WWW usando o GNU/Linux, X11R6, FVWM2, Netscape Navigator 4.X e um trackball customizado.

##### Linux-From-Scratch-HOWTO

    Este documento descreve o processo de criar seu próprio sistema GNU/Linux do nada através de uma distribuição já instalada, usando nada mais que o código fonte dos softwares que precisamos.

##### MP3-HOWTO

    Este documento descreve o hardware, software e processos necessários, para encodificar, tocar, mixar e decodificar arquivos de som MP3 sob o GNU/Linux.

##### Majordomo-MajorCool-HOWTO

    Este documento tem a intenção de guiar o usuário através do software de gerenciamento de listas de discussão Majordomo e MajorCool. O MajorCool é um utilitário para gerenciar listas Majordomo via script CGI; muitas pessoas que não estão familiar com o Majordomo baseado em modo texto podem preferir uma interface mais amigável via web do MajorCool.

##### Mutt-GnuPG-PGP-HOWTO

    Este documento explica como configurar rapidamente o Mutt-i, PGP e GnuPG em suas diferentes versões (2.6.x, 5.x e GnuPG), nada dos problemas que podem ocorrer enquanto envia e-mails criptografados e assinados para ser lidos por clientes de e-mail que não são compatí­veis com PGP/MIME como definido na RFC 2015 e em outros sistemas operacionais.

##### NC-HOWTO

    Este documento tenta descrever como colocar uma Netstation da IBM em sua rede local usando um computador GNU/Linux como servidor.

##### NCD-HOWTO

    Este documento tenta descreve como colocar uma ThinSTAR NCD em sua rede local usando um computador GNU/Linux como servidor.

##### PalmOS-HOWTO

    Este documento explica como usar seu dispositivo Palm OS com um sistema GNU/Linux. Este HOWTO não aborda somente o sistema operacional GNU/Linux.

##### Printing-HOWTO

    Este é o Printing HOWTO do GNU/Linux, uma coleção de informações sobre como gerar, ver, imprimir e enviar fax de tudo sob o GNU/Linux (e outros UNIXes em geral).

##### Printing-Usage-HOWTO

    Descreve como usar o sistema de spooling oferecido pelo sistema operacional GNU/Linux. Este HOWTO é um documento suplementar ao Linux Printing Setup, que discute a instalação e configuração do sistema de impressão do GNU/Linux.

##### Psion-HOWTO

    Este documento descreve como usar Palmtops Psion com o GNU/Linux, mas não cobre a execução do Linux no Palmtop Psion. Veja o projeto Linux 7k em http://www.calcaria.net.

##### Quake-HOWTO

    Este documento explica como instalar, executar e corrigir problemas no Quake, QuakeWorld e Quake II em um sistema GNU/Linux Intel.

##### RedHat-CD-HOWTO

    Descreve como fazer seus próprios CDs da distribuição Red Hat, a estrutura da distribuição e também como incluir RPMs atualizados na distribuição.

##### Sound-HOWTO

    Este documento descreve o suporte ao som no GNU/Linux, arquiteturas de som suportadas e como incluir o suporte ao som no kernel. Este documento também responde algumas questões frequêntes sobre o suporte ao som no GNU/Linux.

##### Sound-Playing-HOWTO

    Este documento lista aplicativos que podem tocar vários formatos de sons no GNU/Linux.

##### VME-HOWTO

    Este documento mostra como executar o GNU/Linux em seu Pentium VMEbus e outros barramentos PCI baseados no design de processador VMEbus.

#### Rede / Administração / Firewall / Proxy / Segurança
##### AX25-HOWTO

    Talvez o GNU/Linux seja o único sistema operacional no mundo que possui suporte nativo e padrão ao protocolo de pacotes de rádio AX.25 usado por Operadores de Rádio Amador ao redor do mundo. Este documento explica como instalar e configurar este suporte.

##### Adv-Routing-HOWTO

    Roteamento avançado. Explicações sobre o iproute2, traffic shaper e netfilter.

##### Bandwidth-Limiting-HOWTO

    Descreve como configurar o servidor Linux para limitar banda.

##### BRIDGE-STP-HOWTO

    Este documento explica o que é uma ponte entre redes e como criar uma utilizando o Spanning Tree Protocol (STP). Este é um método de manter os dispositivos Ethernet conectados e funcionando em múltiplos caminhos. Os participantes negociam a troca através do caminho mais curto através do STP.

##### Cable-Modem

    Fornece instruções de como usar o Linux para se conectar a um provedor de Cable modem.

##### Chroot-BIND8-HOWTO

    Este documento descreve a instalação do servidor de nomes BIND 8 para ser executado em uma jaula chroot e como um usuário não-root, para oferecer segurança adicional e minimizar efeitos potenciais que podem comprometer a segurança.

##### Cyrus-IMAP

    Um guia compreensivo para a instalação, configuração e execução do Cyrus Imap e Cyrus SASL.

##### DNS-HOWTO

    Como configurar seu servidor DNS em pouco tempo.

##### Diald-HOWTO

    Este documento mostra alguns cenários tí­picos para iniciar o uso do Diald facilmente. Este cenários incluem uma conexão de um computador local a um provedor usando o PPP através de um modem sem usar o pon/poff ou ppp-pon/ppp-off para um servidor proxy/firewall com diferentes conexões Internet através de vários provedores.

##### Diskless-root-NFS-HOWTO

    Explica como configurar um servidor e clientes para operação sem disco através de uma rede.

##### DSL-HOWTO

    Este documento examina a famí­lia DSL de serviços Internet de alta velocidade. Descreve como instalar, configurar depurar.

##### Ethernet-HOWTO

    Este documento é uma coleção de dados sobre dispositivos Ethernet que podem ser usados no GNU/Linux e como configura-los. Note que este HOWTO está focalizado no hardware e aspectos de baixo ní­vel de controladores das placas ethernet e não cobre assuntos de software como os programas ifconfig e route (veja o Network-HOWTO se procura por estes materiais).

##### Firewall-HOWTO

    Descreve os sistemas básicos de firewall e alguns detalhes de como ajustar firewalls proxy e de filtragem de pacotes em sistemas baseados no GNU/Linux.

##### IP-Masquerade-HOWTO

    Este documento descreve como ativar a caracterí­stica IP Masquerade no GNU/Linux. O IP Masquerade é uma forma do Network Address Translation ou NAT que permite que computadores conectados internamente que não tem um ou mais endereços Internet registrados ter a habilidade de se comunicar com a Internet via uma única máquina GNU/Linux com um único endereço IP.

##### IPCHAINS-HOWTO

    Descreve como obter, instalar e configurar o programa avançado de firewall para o GNU/Linux e algumas idéia de como usa-lo.

##### IPX-HOWTO

    Descreve como obter, instalar e configurar as várias ferramentas disponí­veis para o sistema operacional GNU/Linux para utilizar o suporte do protocolo IPX no kernel do GNU/Linux.

##### Infrared-HOWTO

    Uma introdução ao GNU/Linux e dispositivos infra-vermelho e como usar programas oferecidos pelo projeto Linux/IrDA.

##### ISP-Hookup-HOWTO

    Descreve como usar o GNU/Linux para conectar a um Provedor Internet via modem dial-up via conexão TCP/IP. Também como o procedimento de discagem inicial e estabelecimento de IP, recebimento de email e news.

##### ISP-Setup-RedHat-HOWTO

    Descreve como configurar serviços de ISP no Red Hat. Domí­nios, virtual hosts, pop3 e emails.

##### Intranet-Server-HOWTO

    Este documento descreve como configurar uma Intranet usando o GNU/Linux como um servidor que se comunica com Unix, Netware, NT e Windows.

##### Java-CGI-HOWTO

    Este documento explica como configurar seu servidor para permitir programas CGI escritos em Java e como usar Java para escrever programas CGI.

##### LDAP-HOWTO

    Informações sobre a instalação, configuração, execução e manutenção de um Servidor LDAP (Lightweight Directory Access Protocol) em uma máquina GNU/Linux é descrita neste documento. Existe também detalhes sobre como criar bancos de dados LDAP, como atualizar e apagar informações no banco de dados, como implementar roaming access e como usar o Livro de Endereços do Netscape.

##### LDAP-Implementation-HOWTO

    Descreve aspectos técnicos de armazenamento de dados de aplicações em um servidor LDAP.

##### Mail-Administrator-HOWTO

    Este documento descreve a configuração e uso do Correio Eletrônico (E-mail) sob o GNU/Linux. É primariamente mais indicado para administradores do que usuários.

##### Mail-User-HOWTO

    Este documento é uma introdução ao mundo do Correio Eletrônico sob o GNU/Linux

##### Masquerading-Simple-HOWTO

    Descreve de forma prática como conectar diversas máquinas de sua rede Interna a Internet.

##### MindTerm-SSH-HOWTO

    Este documento descreve como usar o SSH o programa MindTerm baseado em Java para criar de forma rápida, segura e confiável uma VPN sobre redes inseguras.

##### Multicast-HOWTO

    Este HOWTO tenta cobrir muitos aspectos relacionados com o multicast sobre redes TCP/IP. Assim, muitas informações que não são especí­ficas do sistema Linux (apenas no caso de não usar o GNU/Linux... ainda).

##### NFS-HOWTO

    Como configurar servidores e clientes NFS&gt;

##### NetMeeting-HOWTO

    Descreve como fazer o Microsoft NetMeeting se integrar com o Linux.

##### NIS-HOWTO

    Este documento descreve como configurar o GNU/Linux como um cliente NIS (YS) ou NIS e como instala-lo como um servidor NIS.

##### Network-boot-HOWTO

    Descreve como configurar um servidor Linux para permitir que estações sem disco rí­gido façam boot via rede e iniciem o sistema Linux (é uma regravação parcial do Diskless-howto).

##### Net-HOWTO

    Este documento cobre as área de software e tecnologias de rede no GNU/Linux.

##### Networking-Overview-HOWTO

    O propósito deste documento é lhe oferecer uma visão das capacidades de rede do sistema operacional GNU/Linux e oferecer ponteiros para outros documentos e detalhes de implementação.

##### PPP-HOWTO

    Este documento mostra como conectar seu PC GNU/Linux a um servidor PPP (Protocolo Ponto a Ponto), como usar o PPP para ligar duas redes e oferece um método de configurar seu computador GNU/Linux como um servidor PPP. Este documento também oferece ajuda na solução de problemas relacionados com o PPP.

##### Qmail-VMailMgr-Courier-imap-HOWTO

    Este documento é sobre a construção de um servidor de e-mail que suportará hospedagem de domí­nios dinâmicos e oferecerá os serviços smtp, pop3 e imap, usando uma poderosa alternativa ao sendmail.

##### Remote-Serial-Console-HOWTO

    A porta RS232 permite que o Linux ser controlado de um terminal ou modem conectado a uma porta serial assí­ncrona. Este documento descreve como configurar o Linux para se conectar ao console serial.

##### Sat-HOWTO

    Descreve base e referências sober a tecnologia SAP, as caracterí­sticas de larga banda para download, etc.

##### Serial-Laplink-HOWTO

    Descreve como criar uma conexão serial entre dois computadores para compartilhamento de dados. Este permite também efetuar conexões seriais entre outros tipos de sistemas operacionais como Windows 9X, NT.

##### SMB-HOWTO

    Este é o HOWTO SMB. Ele descreve como usar o protocolo Server Message Block (SMB), também chamado de Session Message Block, NetBIOS ou protocolo LanManager, com o GNU/Linux e usando o Samba.

##### Securing-Domain-HOWTO

    Este documento descreve as coisas que provavelmente deve fazer quando desejar configurar uma rede de computadores sob seu próprio domí­nio. Ele cobre a configuração de parâmetros de rede, serviços de rede e configurações de segurança.

##### Security-HOWTO

    Este documento é uma visão geral dos assuntos de segurança que enfrente o administrador de sistemas GNU/Linux Ele cobre a filosofia geral de segurança e um número de exemplos especí­ficos de como melhorar a segurança de seu sistema GNU/Linux Também estão incluí­dos ponteiros para materiais relacionados com programas e segurança.

##### Shadow-Password-HOWTO

    Este documento tenta descrever como obter, instalar e configurar o Linux password Shadow Suite. Também discute como obter e reinstalar outros softwares e daemons de rede que requerem acesso as senhas do usuário.

##### SSL-RedHat-HOWTO

    Fornece referências sobre como o PKI e SSL funcionam juntos

##### Tango-HOWTO

    Descreve a instalação, configuração e correção de problemas básicos do Pervasive Software's Tango Application Server no Sun Solaris e vários sabores de GNU/Linux.

##### Thinclient-HOWTO

    Como converter computadores comuns em rápidos terminais usando o poder de seu computador principal, você precisará de: Um computador rápido para atuar como servidor, um computador cliente (antigo e não desejado). Placas de rede compatí­veis com o GNU/Linux. Uma conexão entre os computadores. Como centralizar a administração do sistema usando o NFS (i.e. colocando todo o sistema de arquivos de um cliente rápido no servidor).

##### UUCP-HOWTO

    Este documento descreve a configuração do UUCP sob o GNU/Linux. Você deve ler este documento se planejar conectar a sites remotos via UUCP via modem, conexão direta ou via Internet. Provavelmente não precisará ler este documento se não souber o que é UUCP ou se seu computador não possuir este suporte.

##### VMailMgr-HOWTO

    Explica como configurar o suporte ao VMailMgr serviços de domí­nio virtual pop3 em conjunto com o Qmail.

##### VoIP-HOWTO

    Ensina como configurar o sistema Linux para comunicação via voz usando a Internet. Descreve protocolos e métodos para transmissão de voz aproveitando recursos de redes de baixa velocidade.

##### VPN-HOWTO

    Descreve como configurar uma Virtual Private Network com o GNU/Linux.

##### VPN-Masquerade-HOWTO

    Descreve como configurar um Firewall GNU/Linux para o masquerade em tráfego baseado no IPsec- e PPTP Virtual Private Network Traffic, permitindo estabelecer uma conexão VPN sem perder a segurança e flexibilidade de sua conexão Internet com o firewall GNU/Linux e permitindo fazer um servidor VPN disponí­vel que não possui um endereço IP registrado na Internet. Também estão incluí­dos detalhes de como configurar um cliente e servidor VPN.

##### Virtual-Services-HOWTO

    Este documento fala sobre tudo que precisa saber para virtualizar um serviço.

##### Windows-LAN-Server-HOWTO

    Ajuda na configuração do Linux em ambientes onde existiam primariamente máquinas executando o Windows 9x.

##### Wireless-HOWTO

    Explica como como configurar uma rede sem fio em ambiente Linux, limitações, requerimentos, etc.

##### WWW-HOWTO

    Explica como configurar serviços WWW sob o GNU/Linux (ambos cliente e servidor). Ele não tenta ser um manual detalhada mas uma visão e um bom ponto de referência.

##### WWW-mSQL-HOWTO

    Descreve como construir um banco de dados cliente/servidor usando a WWW e HTML para a interface com o usuário.

##### phhttpd-HOWTO

    O phttpd é um acelerador HTTP. Ele serve uma rápida requisição estática HTTP através de um sistema de arquivos locai e passa as requisições menos dinâmicas para um servidor de espera. Suas caracterí­sticas são uma compreensão do I/O e um cache de conteúdo agressivo que o ajuda a fazer um trabalho eficiente.

#### Outros
##### Benchmarking-HOWTO

    Este documento discute assuntos relacionados ao desempenho dos sistemas Linux e recomenda algumas ferramentas para medida do desempenho do sistema.

##### DOSEMU-HOWTO

    Ensina como utilizar, configurar o emulador do ambiente DOS para Linux.

##### Ecology-HOWTO

    Este documento discute métodos de como os computadores com o GNU/Linux podem ser usados para proteger nosso ambiente, usando caracterí­sticas como economia de energia ou papel. Como ele não requer grandes requerimentos de hardware, o GNU/Linux pode ser usado com computadores antigos e tornar seu ciclo de vida longo. Os jogos podem ser usados em ambientes educativos e estão disponí­veis programas para simular os processos ecológicos.

##### Process-Monitor-HOWTO

    Este documento descreve como monitorar os processos (programas) no Linux/Unix e como reinicia-los automaticamente se eles são destruí­dos sem intervenção manual. Este documento também tem URLs para FAQs sobre "Processos no Unix".

##### VAR-HOWTO

    Contém uma lista de empresas de serviço que não fabricam hardwares ou criam pacotes de softwares, mas incluem valores ao produtos existentes.

### Listagem de Mini-HOWTO's

Segue abaixo uma listagem de Mini-HOWTO's do projeto LDP organizados por sub-seções com a descrição do assunto que cada um deles aborda.

#### Introdução ao Sistema / Instalação / Configuração / Kernel
##### Alsa-sound

    Descreve a instalação dos controladores de som ALSA para Linux. Estes controladores de som podem ser usados em substituição aos controladores de com regular, como são totalmente compatí­veis.

##### Install-From-ZIP

    Descreve como instalar o GNU/Linux através de um zip drive conectado a porta paralela usando a distribuição Slackware do GNU/Linux.

##### Install-Strategies

    Descreve algumas formas de instalação para aqueles que tem a intenção de fazer dual boot entre o Linux e Windows.

##### Lego

    Mostra soluções em software livre para utilização com os kits de robótica da The Lego Group's Mindstorm Robotics Invention System (RIS).

##### Kerneld

    Explica como configurar e utilizar o daemon kerneld.

##### Loadlin Win95

    Este documento descreve como usar o Loadlin com o Windows 95 para inicializar o GNU/Linux.

##### Modules

    Explica como incluir seu suporte no kernel, configurar e utilizar módulos no GNU/Linux.

##### Path

    Descreve truques comuns e problemas com as variáveis de ambiente no GNU/Linux/Unix, especialmente a variável PATH. PATH é uma lista de diretórios onde os comandos são pesquisados. Os detalhes se aplicam a distribuição Debian 1.3.

##### Pre-Installation-Checklist

    Você é um novato no Linux? Você é um guru no Linux? Em ambos os casos esta checklist será de grande ajuda para você. Quantas vezes você se encontrou com problemas no meio de um processo de instalação do GNU/Linux porque algum detalhe vital sobre o hardware alvo não é conhecido?

##### Post-Installation-Checklist

    Lembra alguns passos que devem ser verificados logo após a instalação de um novo sistema Linux.

##### RPM Slackware

    Este documento descreve como ter o RPM instalado e funcionando corretamente sob o Slackware.

##### Update

    Descreve como se manter atualizado sobre o desenvolvimento no mundo GNU/Linux.

##### Upgrade

    Dicas e truques de como atualizar de uma distribuição GNU/Linux para outra.

##### VAIO Linux

    Explica a instalação do GNU/Linux em computadores Sony VAIO.

#### Discos / Sistema de Arquivos / Desempenho
##### Automount

    Descreve a montagem automática de sistemas de arquivos autofs, como configura-lo e alguns problemas que devem ser evitados.

##### Ext2fs-Undeletion

    Imagina isto: Você passou os últimos três dias sem dormir, sem comer. Sua compulsão hacker foi paga: você finalizou aquele programa que lhe dará fama e reconhecimento. Todo o que você precisa fazer é coloca-lo no Metalab. Oh, e apagar aqueles arquivos de backup do Emacs. Assim você fadigado digita rm * ~.. E bem mais tarde você notou o espaço extra naquele comando. Você simplesmente apagou todo o seu trabalho! Mas a ajuda está na mão. Este documento oferece uma discussão de como recuperar arquivos apagados através do Second Extend File System (EXT2). Talvez, você será capaz de lançar aquele programa depois disso...

##### Ext2fs-Undeletion-Dir-Struct

    Fornece um complemento ao ext2-undeletion-howto e descreve formas de recuperar estrutura de diretórios de forma segura.

##### Hard-Disk-Upgrade

    Como copiar um sistema GNU/Linux de um disco para outro.

##### Loopback-Root-FS

    Este documento explica como usar o dispositivo de loopback do Linux para criar um formato nativo de sistema de arquivos através de uma partição DOS sem reparticionamento.

##### Partition-Rescue-mini-HOWTO

    Como recuperar uma partição pelo GNU/Linux.

##### Quota

    Descreve como ativar a quota nos sistemas de arquivos para usuários e grupos de uma máquina GNU/Linux.

##### Swap-Space

    Descreve como compartilhar sua partição swap do GNU/Linux com o Windows.

##### Ultra-DMA

    Explica como usar Ultra-DMA como discos rí­gidos e interfaces Ultra ATA, Ultra 33 e Ultra66 com o GNU/Linux.

##### ZIP-Drive

    Este documente oferece uma referência rápida para a configuração e uso da unidade de ZIP drive Iomega com o GNU/Linux.

#### Escrita de Documentação / Editores
##### DocBook-Install

    Descreve de forma rápida e prática como ajustar novatos a ter de forma rápida o DocBook instalado para processamento de arquivos SGML em HTML.

##### Howtos-with-LinuxDoc

    Descreve como escrever documentos HOWTOs usando o LinuxDoc (referência para iniciantes).

##### Man-Page

    Descreve o que deve ter em mente quando estiver escrevendo documentação on-line -- também chamada de página de manual (man page).

#### Hardware
##### 3-Button-Mouse

    Como ter um mouse serial de 3 botões funcionando no GNU/Linux.

##### ACP-Modem

    Descreve como configurar e utilizar a caracterí­stica ACP (Mwave) de máquinas IBM, como o IBM Thinkpad.

##### BTTV-Mini-HOWTO-0.3

    Este documento descreve o hardware, software e procedimentos necessários para se usar um chipset baseado no bt8x8 frame grabber ou placa sintonizadora de TV sob o GNU/Linux.

##### Boca

    Instalando uma placa serial Boca 16-portas (Boca 2016) no GNU/Linux.

##### GTEK-BBS-550

    Ensina como configurar a placa serial de 8 portas GTEK's BBS-550 com 16C550 UARTS. Somente uma IRQ pode ser usada para todas 8 portas. Ele não requer qualquer controlador no GNU/Linux no entanto o kernel precisa ter o suporte a portas seriais.

##### Handspring-Visor

    Usando o Visor com o GNU/Linux e sua porta USB.

##### IO-Port-Programming

    Este documento descreve a programação de portas I/O de hardware.

#### Software
##### ADSM-Backup

    Descreve como instalar e usar um cliente para o sistema de backup comercial ADSM para Linux Intel.

##### Bzip2

    Explica como usar o programa de compactação bzip2.

##### GIS-GRASS

    Este documento descreve como adquirir, instalar e configurar o poderoso sistema de informações cientí­ficas e geográficas de domí­nio público (GIS): o Geographic Resources Analysis Support System (GRASS).

##### LILO

    O LILO é o gerenciador de inicialização mais usado na plataforma Intel do Linux. Este documento descreve alguns tipos de instalações do LILO.

#### Plataformas não Intel (x86)
##### Mac-Terminal

    Descreve o 1,002nd uso para um Macintosh (grin) morto: como configurar o Mac para uso como um terminal GNU/Linux.

#### Programação / Compiladores / Banco de Dados
##### Programming-Languages

    Uma breve comparação das maiores linguagens de programação para o GNU/Linux e maiores bibliotecas para para criação de interfaces gráficas com o usuário (GUIs) sob o GNU/Linux.

#### Configuração de Teclado / Video / Console
##### Intkeyb

    Mini-Howto experimental para o GNU/Linux para a configuração de teclados.

#### Ambiente Gráfico
##### 3D-Modelling

    Oferece detalhes sobre instruções de instalação de um ambiente desktop de renderização e modelamento usando o RedHat Linux.

##### FDU

    Como corrigir fontes feias e ilegí­veis no X.

##### LBX

    O LBX (Low Bandwidth X) é uma extensão do servidor X que realiza compressão no protocolo X. Isto significa que pode ser usado em conjunto com aplicativos X e um servidor X que estão separados através de uma conexão de rede de baixa velocidade, para aumentar o tempo de resposta.

##### Nvidia-OpenGL-Configuration

    Ensina como instalar os drivers OpenGL para a placa de ví­deo Nvidia.

##### Remote-X-Apps

    Descreve como executar aplicativos X remotos.

##### TT-XFree86

    Ensina como usar fontes true type com o XFree 4.0.x

##### XDM-Xterm

    Ensina como utilizar o XDM para gerenciar terminais X. Uma referência completa do assunto pode ser encontrada no Thin-client HOWTO.

##### XFree86-Second-Mouse

    Instruções de como usar um segundo mouse no X.

##### X-Big-Cursor

    Descreve como usar cursores grandes no X.

##### XFree86-XInside

    Como converte um modeline XFree86 em um XInside/XiGraphics.

##### Xterm-Title

    Explica como usar sequências de escape para alterar dinamicamente os tí­tulos e í­cones de janelas de um xterm.

#### Migração/Convivência com outras plataformas
##### Linux DOS Win95 OS2

    Este documento oferece um procedimento para fazer 4 sistemas operacionais coexistirem no mesmo disco rí­gido.

##### Linux FreeBSD

    Descreve como usar o Linux e FreeBSD no mesmo sistema.

##### Linux NT-Loader

    Descreve como usar o gerenciador de inicialização do Windows NT para iniciar o GNU/Linux. Este processo foi testado com o Windows NT 4.0 WorkStation.

##### Linux Solaris

    Descreve como usar o Linux (X86) e Solaris (x86) no mesmo computador.

##### Linux Win95

    Descreve como usar o Linux e Windows 95-98 na mesma máquina.

##### Loadlin Win95-98-ME

    Descreve como usar o Loadlin com o Windows 95/98/ME para inicializar no Linux.

##### Multiboot-with-GRUB

    Descreve como instalar o Windows 98, 2000, DOS e Linux usando o GRUB.

##### Multiboot-with-LILO

    Descreve como usar múltipla inicialização entre o Windows 95, Windows NT e Linux.

#### Tarefas Especí­ficas
##### Backup-With-MSDOS

    Descreve como usar uma unidade de tape compatí­vel com o GNU/Linux instalado em uma máquina DOS para fazer o backup do sistema de arquivos de uma máquina GNU/Linux.

##### Battery-Powered

    Descreve como reduzir o consumo de energia do sistema GNU/Linux através de alguns ajustes de configuração. Isto será útil para qualquer um quer executar o GNU/Linux em um sistema de computador portátil. Também contém dicas de uso da bateria. Se estiver usando o GNU/Linux em um sistema desktop, você provavelmente não precisará ler todo este documento.

##### Clock

    Como manter o relógio de seu computador na hora.

##### Coffee

    Uma dos mais extremos dos documentos. Eu já pensei se era possí­vel usar o GNU/Linux para fazer café... e descobri que o GNU/Linux faz café!
Por um longo tempo a humanidade estava se perguntando se um computador podia fazer café... As pessoas precisam de café para não dormirem na frente do computador. Todo mundo sabe que é melhor programar de noite...

##### Divert-Sockets-mini-HOWTO

    Descreve como obter, compilar e usar os soquetes divert FreeBSD sob o GNU/Linux 2.2.12.

##### Home-Electrical-Control

    Contém referências para fazer o Linux controlar praticamente qualquer dispositivo elétrico.

##### Leased-Line

    Configurando seu modem e pppd para usar 2 pares de cabos leased line.

##### Linux-Modem-Sharing

    Descreve como configurar o sistema GNU/Linux para compartilhar um modem conectado a este sistema com outros através de uma rede TCP/IP.

##### Mail2News

    Descreve como enviar mensagens de uma lista de discussão para um servidor news.

##### MP3-CD-Burning

    Uma referência completa para a criação de CDs de audio e dados de arquivos MP3.

##### MSSQL6-Openlink-PHP-ODBC

    Ensina como conectar o servidor de banco de dados MS SQL 6.x ou superior via ODBC do PHP3 (e superior) compilado com os drivers Openlink sob o Linux.

##### NCD-X-Terminal

    Descreve como conectar um terminal NCD X a um computador UNIX.

##### NFS-Root

    Este documento tenta explicar como configurar uma estação de trabalho "sem disco" no GNU/Linux, que monta seu sistema de arquivos raí­z via NFS.

##### NFS-Root-Client-mini-HOWTO

    O propósito deste documento é explicar como criar um cliente dos diretórios raí­z em um servidor que está usando clientes com NFS root montados.

##### Netscape Proxy

    Este documento descreve o processo de configurar uma REDE (INTRANET) em casa. Então configura o NETSCAPE das máquinas dos clientes para acessarem a internet.

##### News-Leafsite

    Este documento ajudará a configuração de um pequeno leafsite para a Usenet News usando o Leadnode do pacote free software.

##### Offline-Mailing

    Explica como usar o sistema de mensagens do GNU/Linux off-line, receber emails para múltiplos usuários somente com uma conta de e-mail, e sem estar 24-24 horas on-line na Internet. Se você não pode pagar uma linha para estar conectado por 24-24 horas e ainda deseja que seus usuários recebem emails em sua máquina Linux; também não pague por uma conta multi-drop em seu provedor, você pode usar este sistema usando somente um endereço de e-mail para dividir seus endereços de e-mails dos usuários.

##### Outlook-to-Unix-Mailbox

    Mostra formas de converter mensagens de email do Microsoft Outlook (exceto do Outlook Express) para formatos de arquivos tí­picos do Unix.

##### Pager

    Ensina como compilar, instalar e configurar um Gateway de emails para Pager.

##### Partition

    Descreve como criar partições em discos rí­gidos IDE e SCSI. Também é coberta a recuperação de tabelas de partição perdidas.

##### Partition-Rescue

    Descreve formas para recuperar uma partição de disco apagada.

##### Process-Accounting

    Descreve como ativar a conta de processos em uma máquina GNU/Linux, o uso de vários comandos de contabilização de processos.

##### RCS

    Este documento cobre a instalação e uso básicos do RCS, o GNU Revision Control System sob o GNU/Linux.

##### Saving-Space

    Este documento mostra maneiras de diminuir sua instalação GNU/Linux consumindo o mí­nimo possí­vel de espaço.

##### Secure-POP SSH

    Este documento explica como usar conexões POP seguras via ssh.

##### Small-Memory

    O propósito deste documento é descrever como executar o GNU/Linux em um sistema com pequena quantidade de memória. Assumindo que a compra de memória esta fora de questão aqui.

##### Soundblaster-AWE

    Descreve como instalar e configurar a placa de som Sound Blaster 32 (SB AWE 32, SB AWE 64) da Creative Labs em um Sistema Linux usando a extensão do driver de som AWE escrito por Takashi Iwai.

##### StarOffice

    Instalando o StarOffice 3.1 da StarDivision no GNU/Linux.

##### TT-Debian

    Descreve como configurar o suporte das fontes True Type na Debian.

##### TkRat

    Este documento foi escrito para qualquer um que tem interesse em usar seu computador GNU/Linux para enviar e receber E-mails pela Internet.

##### Visual-Bell

    Explica como usar o termcap para configurar um aviso visual no sistema ao invés do beep e como desativar o sinal de audio.

##### Wacom-USB-mini-HOWTO

    Descreve como configurar um Wacom Graphire USB tablet para uso no GNU/Linux (console e X), iniciando com a configuração do kernel para o ní­vel da aplicação.

##### WordPerfect

    Discute a execução do WordPerfect no GNU/Linux incluindo uma breve discussão sobre o WordPerfect 7.0.

##### ZIP-Install

    Este documento somente é útil para aqueles que possuem a versão em porta paralela de um ZIP drive e que deseja fazer o backup do sistema GNU/Linux em um disco ZIP.

##### call-back-mini-HOWTO

    Descreve como configurar um call-back usando um sistema GNU/Linux e um modem.

#### Rede / Administração / Firewall / Segurança
##### ADSL

    Configurando o GNU/Linux para funcionar com Asymmetric Digital Subscriber Loop (ADSL), uma nova tecnologia de acesso digital de alta velocidade através de linhas disponí­vel através da Telcos. O ADSL é uma das tecnologias disponí­veis da famí­lia da digital subscriber line (DSL) disponí­veis para usuários residenciais e comerciais usando copper loops, oferecendo velocidades que variam de 384kbps a 1.5Mbps. Este documento contém uma introdução ao ADSL e informações de como instalar, configurar e colocar o ADSL para funcionar.

##### Apache SSL PHP fp

    Este documento explica como construir um servidor web que suportará conteúdo web dinâmico via a linguagem de scripting PHP/FI, transmissão de dados segura baseado no SSL do Netscape, execução segura de CGI's e extensões do M$ Frontpage Server.

##### Apache-mods

    Detalhes sobre a instalação do servidor web baseado no Apache configurado para manipular DSO e vários módulos úteis incluindo perl, ssl, e php.

##### Bridge

    Este documento descreve como ajustar uma ponte ethernet (bridge). O que é uma ponte ethernet? É um dispositivo que controla os pacotes de dados dentro de uma subrede na tentativa de cortar o excesso de tráfego. Uma ponte é colocada normalmente entre dois grupos separados de computadores que falam entre eles, mas não muito com computadores no outro grupo. Um bom exemplo disto é considerar um grupo de Macintoshes e um grupo de máquinas Unix. Ambos destes grupos de máquinas tendem falar uma com as outras, e o tráfego que produzem na rede causam colisões para as outras máquinas que estão tentando falar uma com a outra. Uma ponte pode ser colocada entre estes dois grupos de computadores. A tarefa da ponte é então examinar o destino dos pacotes de dados um por vez e decidir o que passar ou não para o outro lado do segmento ethernet. O resultado é uma rede rápida com menos colisões.

##### Bridge Firewall

    Como configurar uma ponte com um firewall.

##### Bridge Firewall DSL

    Configurando um sistema GNU/Linux para funcionar como um firewall e ponte com uma conexão de rede DSL.

##### Cipe Masq

    Como configurar uma VPN usando o Cipe em um firewall GNU/Linux masquerading.

##### Compressed-TCP

    Seções TCP/IP compactadas usando ferramentas como SSH.

##### DHCP

    Este documento tenta responder questões básicas de como configurar seu computador GNU/Linux para servir de cliente ou servidor DHCP.

##### DPT-Hardware-RAID

    Como ajustar o hardware RAID sob o GNU/Linux.

##### Domain

    Este documento explica as coisas que você provavelmente deve fazer quando desejar construir uma rede de computadores sob seu próprio domí­nio. Ele cobre a configuração dos parâmetros de rede, serviços de rede e segurança.

##### FTP

    Como usar clientes e servidores FTP.

##### Fax-Server

    Descreve os métodos mais simples de configurar um servidor de fax em seu sistema GNU/Linux. O fax está disponí­vel aos usuários do seu sistema local e rede de usuários.

##### Firewall-Piercing

    Métodos de usar PPP através de telnet para tornar os materiais da rede transparentes através de um firewall Internet.

##### Home-Network-mini-HOWTO

    Um tutorial simples de configuração do sistema Red Hat 6 e variantes para operar como um gateway na internet para uma pequena rede doméstica ou de escritório. Entre os tópicos cobertos estão incluí­dos masquerading, DNS, DHCP e segurança básica.

##### IP-Alias

    Descreve como utilizar vários IPs em uma única interface de rede. Em adição, estão incluí­das instruções de como ajustar a máquina para receber e-mais em IPs alises.

##### IP-Subnetworking

    Descreve porque e como subdividir uma rede IP - que está usando uma simples classe de rede A, B ou C para funcionar corretamente em diversas redes interconectadas.

##### IPMasquerading Napster

    Descreve como permitir usuários através de um sistema IPMasquerade usar o Napster.

##### ISP-Connectivity

    Descreve como configurar o PPP, conectar-se ao seu Provedor, configurar o E-mail e news, obter um IP permanente (se disponí­vel), obter um nome de domí­nio.

##### Mail-Queue

    Queue E-mails remotos Entregar e-mails locais as configurações necessárias para fazer o Sendmail enviar mensagens locais ***Agora*** e entregar mensagens remotas "quando quiser".

##### Netrom-Node

    Este documento descreve como configurar o pacote de utilitários ax25 para Rádio Amadores.

##### PLIP

    Este documento lhe ajudará a usar sua porta Paralela para conexão entre computadores.

##### ppp-ssh

    Descreve como configurar uma rede VPN usando ssh sobre ppp.

##### PortSlave

    Configurando e usando um roteador Linux para conexão remota, radius, console serial.

##### Proxy-ARP-Subnet

    Este documento discute o uso do Proxy Address Resolution Protocol (ARP) com subrede em ordem para fazer uma pequena rede de computadores visí­vel a outra sub rede IP (eu chamo isto de sub-subrede). isto faz todas as máquinas na rede local (rede 0 onde estamos agora) aparecer como se estivessem conectadas a rede principal (rede 1).

##### Public-Web-Browser

    A idéia básica é dar acesso web a pessoas que desejam, limitando suas habilidades de causar problemas.

##### Qmail MH

    Ensina como usar o Qmail em conjunto com o MH.

##### Remote-Boot

    Este documento descreve como configurar um servidor de inicialização robusto e seguro para um grupo de PCS, permitindo cada cliente escolher em tempo de inicialização qual sistema operacional executar.

##### SLIP-PPP-Emulator

    Descreve como obter seu computador Linux conectado a um site genérico via emulador SLIP/PPP, tal como SLiRP ou TIA.

##### Sendmail UUCP

    Como utilizar o Sendmail em conjunto com o UUCP.

##### Sendmail-Address-Rewrite

    Breve descrição de como ajustar o arquivo de configuração do sendmail para o usuário doméstico que utiliza o acesso dial-up a

##### Sybase-PHP-Apache

    Explica como usar o PHP Apache para acesso a uma base de dados Sybase-ASE.

##### Term-Firewall

    Métodos de usar o "term" para tornar os materiais de rede transparentes através de um firewall TCP que parece não ser capaz.

##### Token-Ring

    Fazendo o Token Ring funcionar no GNU/Linux.

##### TransparentProxy

    Como configurar um servidor proxy transparente de cache HTTP usando somente o GNU/Linux e o Squid.

##### VPN

    Ensina como configurar uma Virtual Protected Network no GNU/Linux.

#### Outros
##### Advocacy

    Este documento oferece sugestões de como a comunidade Linux pode defender efetivamente o uso do Linux.

##### BogoMips

    Detalhes sobre BogoMips. Este texto foi criado a partir de vários arquivos GNU/Linux no arquivo HOWTO/mini/BogoMips.

##### Commercial-Port-Advocacy

    Este documento discute métodos que podem ser usados como aproximação de empresas comerciais para convence-las a portar seus programas para o GNU/Linux.

## Documentação de Programas

São documentos instalados junto com os programas. Alguns programas também trazem o aviso de copyright, changelogs, modelos, scripts, exemplos e FAQs (perguntas frequêntes) junto com a documentação normal.
Seu princí­pio é o mesmo do How-to; documentar o programa. Estes arquivos estão localizados em:
/usr/doc/[programa].
Programa é o nome do programa ou comando procurado.

## FAQ

FAQ é um arquivo de perguntas e respostas mais frequêntes sobre o programa. Normalmente os arquivos de FAQ estão localizados junto com a documentação principal do programa em /usr/share/doc/[programa].

## RFCs

São textos que contém normas para a padronização dos serviços e protocolos da Internet (como a porta padrão de operação, comandos que devem ser utilizados, respostas) e outros detalhes usados para padronizar o uso de serviços Internet entre as mais diversas plataformas de computadores, com o objetivo de garantir a perfeita comunicação entre ambos. As RFCs podem ser obtidas de http://rfc.net.
O arquivo de uma RFC segue o formato RFC Número, onde RFC descreve que o documento é uma RFC e Número é o seu número de identificação, como o documento RFC1939 que documenta o funcionamento e comandos do protocolo POP3. Os arquivos de RFCs podem ser encontrados no pacote doc-rfc da distribuição Debian e baseadas .
Segue abaixo o í­ndice principal do diretório de RFCs que poderá ser usado para localizar RFCs especí­ficas de um determinado serviço/assunto:

### 0001

    PADRÕES OFICIAIS DO PROTOCOLO INTERNET. J. Reynolds, R. Braden. Março 2000. (Formato: TXT=86139 bytes) (Deixa obsoleto RFC2500, RFC2400, RFC2300, RFC2200, RFC2000, RFC1920, RFC1880, RFC1800, RFC1780, RFC1720, RFC1610, RFC1600, RFC1540, RFC1500, RFC1410, RFC1360, RFC1280, RFC1250, RFC1200, RFC1140, RFC1130, RFC1100, RFC1083) (Também RFC2600)

### 0002

    Números designados. J. Reynolds, J. Postel. Outubro 1994. (Formato: TXT=458860 bytes) (Também RFC1700)

### 0003

    Requerimentos do sistema. R. Braden. Outubro 1989. (Formato: TXT=528939 bytes) (Também RFC1122, RFC1123)

### 0004

    Requerimentos do Gateway. R. Braden, J. Postel. Junho 1987. (Formato: TXT=125039 bytes) (Também RFC1009)

### 0005

    Protocolo Internet. J. Postel. Setembro 1981. (Formato: TXT=241903 bytes) (Também RFC0791, RFC0950, RFC0919, RFC0922, RFC792, RFC1112)

### 0006

    User Datagram Protocol. J. Postel. Agosto 1980. (Formato: TXT=5896 bytes) (Também RFC0768)

### 0007

    Transmission Control Protocol. J. Postel. September 1981. (Formato: TXT=172710 bytes) (Também RFC0793)

### 0008

    Protocolo Telnet. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=44639 bytes) (Também RFC0854, RFC0855)

### 0009

    File Transfer Protocol. J. Postel, J. Reynolds. Outubro 1985. (Formato: TXT=148316 bytes) (Também RFC0959)

### 0010

    SMTP Service Extensions. J. Klensin, N. Freed, M. Rose, E. Stefferud &amp; D. Crocker. Novembro 1995. (Formato: TXT=23299 bytes) (Deixa obsoleto RFC1651) (Também RFC821, RFC1869)

### 0011

    Standard for the format of ARPA Internet text messages. D. Crocker. 13-Ago-1982. (Formato: TXT=109200 bytes) (Deixa obsoleto RFC1653) (Também RFC0822)

### 0012

    Network Time Protocol. D. Mills. Setembro 1989. (Formato: TXT=193 bytes) (Também RFC1119)

### 0013

    Domain Name System. P. Mockapetris. Novembro 1987. (Formato: TXT=248726 bytes) (Também RFC1034, RFC1035)

### 0014

    Mail Routing and the Domain System. C. Partridge. Janeiro 1986. (Formato: TXT=18182 bytes) (Também RFC0974)

### 0015

    Simple Network Management Protocol. J. Case, M. Fedor, M. Schoffstall, J. Davin. Maio 1990. (Formato: TXT=72876 bytes) (Também RFC1157)

### 0016

    Structure of Management Information. M. Rose, K. McCloghrie. Maio 1990. (Formato: TXT=82279 bytes) (Deixa obsoleto RFC1065) (Também RFC1155)

### 0017

    Management Information Base. K. McCloghrie, M. Rose. March 1991. (Formato: TXT=142158 bytes) (Deixa obsoleto RFC1158) (Também RFC1213)

### 0018

    Exterior Gateway Protocol. D. Mills. Abril 1984. (Formato: TXT=63836 bytes) (Também RFC0904)

### 0019

    NetBIOS Service Protocols. NetBIOS Working Group. Março 1987. (Formato: TXT=319750 bytes) (Também RFC1001, RFC1002)

### 0020

    Echo Protocol. J. Postel. Maio 1983. (Formato: TXT=1237 bytes) (Também RFC0862)

### 0021

    Discard Protocol. J. Postel. Maio 1983. (Formato: TXT=1239 bytes) (Também RFC0863)

### 0022

    Character Generator Protocol. J. Postel. Maio 1983. (Formato: TXT=6842 bytes) (Também RFC0864)

### 0023

    Quote of the Day Protocol. J. Postel. Maio 1983. (Formato: TXT=1676 bytes) (Também RFC0865)

### 0024

    Active Users Protocol. J. Postel. Maio 1983. (Formato: TXT=2029 bytes) (Também RFC0866)

### 0025

    Daytime Protocol. J. Postel. Maio 1983. (Formato: TXT=2289 bytes) (Também RFC0867)

### 0026

    Time Server Protocol. J. Postel. Maio 1983. (Formato: TXT=3024 bytes) (Também RFC0868)

### 0027

    Binary Transmission Telnet Option. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=8965 bytes) (Também RFC0856)

### 0028

    Echo Telnet Option. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=10859 bytes) (Também RFC0857)

### 0029

    Suppress Go Ahead Telnet Option. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=3712 bytes) (Também RFC0858)

### 0030

    Status Telnet Option. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=4273 bytes) (Também RFC0859)

### 0031

    Timing Mark Telnet Option. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=7881 bytes) (Também RFC0860)

### 0032

    Extended Options List Telnet Option. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=3068 bytes) (Também RFC0861)

### 0033

    Trivial File Transfer Protocol. K. Sollins. Julho 1992. (Formato: TXT=24599 bytes) (Também RFC1350)

### 0034

    Routing Information Protocol. C. Hedrick. Junho 1988. (Formato: TXT=91435 bytes) (Também RFC1058)

### 0035

    ISO Transport Service on top of the TCP (Version: 3). M. Rose, D. Cass. Maio 1978. (Formato: TXT=30662 bytes) (Também RFC1006)

### 0036

    Transmission of IP and ARP over FDDI Networks. D. Katz. Janeiro 1993. (Formato: TXT=22077 bytes) (Também RFC1390)

### 0037

    An Ethernet Address Resolution Protocol. David C. Plummer. Novembro 1982. (Formato: TXT=21556 bytes) (Também RFC0826)

### 0038

    A Reverse Address Resolution Protocol. Ross Finlayson, Timothy Mann, Jeffrey Mogul, Marvin Theimer. Junho 1984. (Formato: TXT=9345 bytes) (Também RFC0903)

### 0039

    Interface Message Processor: Especificações para a Interconexão de um computador e um IMP (Revisado). BBN. Dezembro 1981. (fora de linha)

### 0040

    Host Access Protocol specification. Bolt Beranek and Newman. Agosto 1993. (Formato: TXT=152740 bytes) (Deixa obsoleto RFC0907) (Também RFC1221)

### 0041

    Standard for the transmission of IP datagrams over Ethernet networks. C. Hornig. Abril 1984. (Formato: TXT=5697 bytes) (Também RFC0894)

### 0042

    Standard for the transmission of IP datagrams over experimental Ethernetnetworks. J. Postel. Abril 1984. (Formato: TXT=4985 bytes) (Também RFC0895)

### 0043

    Standard for the transmission of IP datagrams over IEEE 802 networks. J. Postel, J.K. Reynolds. Agosto 1993. (Formato: TXT=34359 bytes) (Deixa obsoleto RFC0948) (Também RFC1042)

### 0044

    DCN Local-Network Protocols. D.L. Mills. Agosto 1993. (Formato: TXT=65340 bytes) (Também RFC0891)

### 0045

    Internet Protocol on Network System's HYPERchannel: Protocol Specification. K. Hardwick, J. Lekashman. Augosto 1993. (Formato: TXT=100836 bytes) (Também RFC1044)

### 0046

    Transmitting IP traffic over ARCNET networks. D. Provan. Agosto 1993. (Formato: TXT=16565 bytes) (Deixa obsoleto RFC1051) (Também RFC1201)

### 0047

    Nonstandard for transmission of IP datagrams over serial lines: SLIP. J.L. Romkey. Agosto 1993. (Formato: TXT=12578 bytes) (Também RFC1055)

### 0048

    Standard for the transmission of IP datagrams over NetBIOS networks. L.J. McLaughlin. Agosto 1993. (Formato: TXT=5579 bytes) (Também RFC1088)

### 0049

    Standard for the transmission of 802.2 packets over IPX networks. L.J. McLaughlin. Agosto 1993. (Formato: TXT=7902 bytes) (Também RFC1132)

### 0050

    Definitions of Managed Objects for the Ethernet-like Interface Types. F. Kastenholz. Julho 1994. (Formato: TXT=39008, bytes) (Deixa obsoleto RFC1623, RFC1398) (Também RFC1643)

### 0051

    The Point-to-Point Protocol (PPP). W. Simpson, Editor. Julho 1994. (Formato: TXT=151158 bytes) (Deixa obsoleto: RFC1549) (Também RFC1661, RFC1662)

### 0052

    The Transmission of IP Datagrams over the SMDS Service. D. Piscitello, J. Lawrence. Março 1991. (Formato: TXT=24662 bytes) (Também RFC1209)

### 0053

    Post Office Protocol - Version 3. J. Myers &amp; M. Rose. Maio 1996. (Formato: TXT=47018 bytes) (Deixa Obsoleto: RFC1725) (Também RFC1939)

### 0054

    OSPF Version 2. J. Moy. Abril 1998. (Formato: TXT=447367 bytes) (Também RFC2328)

### 0055

    Multiprotocol Interconnect over Frame Relay. C. Brown, A. Malis. Setembro 1998. (Formato: TXT=74671 bytes) (Deixa Obsoleto: RFC1490, RFC1294) (Também RFC2427)

### 0056

    RIP Version 2. G. Malkin. Novembro 1998. (Formato: TXT=98462 bytes) (Atualiza RFC1723, RFC1388) (Também RFC2453)

### 0057

    RIP Version 2 Protocol Applicability Statement. G. Malkin. Novembro 1994. (Formato: TXT=10236 bytes) (Também RFC1722)

### 0058

    Structure of Management Information Version 2 (SMIv2. K. McCloghrie, D. Perkins, J. Schoenwaelder. Abril 1999. (Formato: TXT=89712 bytes) (Deixa Obsoleto RFC1902) (Também RFC2578, RFC2579)

### 0059

    Remote Network Monitoring Management Information Base. S. Waldbusser. Maio 2000. (Formato: TXT=198676 bytes) (Deixa Obsoleto RFC1757) (Também RFC2819)

## Internet

Certamente o melhor suporte ao GNU/Linux é via Internet, veja abaixo alguns locais úteis de onde pode obter ajuda ou se atualizar.

### Páginas Internet de Referência

Existem boas páginas Internet Nacionais e Internacionais sobre oGNU/Linux e assuntos relacionados com este sistema. A maioria trazem documentos e explicações sobre configuração, instalação, manutenção, documentação, suporte, etc.
Estas páginas podem ser encontradas através de ferramentas de busca. Entre outras páginas, posso citar as seguintes:
* http://debian-br.cipsga.org.br/ Projeto Debian-Br. A Debian é uma distribuição de Linux conhecida por sua qualidade, grande número de pacotes, estabilidade, facilidade de atualização, desenvolvimento aberto, segurança, ferramentas de gerenciamento de servidores e comprometimento com o software livre.
A Debian é feita originalmente em inglês e traduzida por grupos em vários lugares do mundo. O projeto Debian-br destina-se a colaborar na tradução da Debian para o Português (nossa lí­ngua-mãe). Através desse projeto, todos poderão, da forma colaborativa como na Debian, trazer essa excelente distribuição em nosso idioma! Participe:
** Você pode pegar um documento pra traduzir
** Reformular a página do projeto
** Programando para o projeto
** Sendo um desenvolvedor da Debian
** A pagina do projeto é a http://debian-br.cipsga.org.br/
** Revisar documentação
** Ou participar de outras tarefas do seu interesse!
Entre em contato com o responsável pelo projeto pelo email debian-br@listas.cipsga.org.br para saber como entrar no projeto ou visite a página http://debian-br.cipsga.org.br/. Todos os interessados estão convidados a participar do projeto!
* http://debian-br.cipsga.org.br/contador-debian/contador.html - O contador Debian é uma página idealizada para que fossem geradas estatí­sticas fáceis de se aplicar quanto ao número e caracterí­sticas próprias de cada grupo de usuários Debian no Brasil.
Sua base é construí­da em PHP com uso do banco de dados MySQL, hospedado no Source Forge é mantido pelo pessoal do projeto Debian-BR o contador tem também a facilidade de integrar-se com o bot apt-br facilitando a vida dos usuários do canal IRC do projeto. Responsável pela página: Gustavo Noronha dockov@zaz.com.br endereço: http://debian-br.cipsga.org.br/contador-debian/contador.html
* http://www.br-linux.org/ - Boletim diário com as noticias mais recentes sobre GNU/Linux, testes, redes, descrição/configuração/ avaliação de programas, entrevistas, downloads, dica do dia, mecanismo de busca no site, links, etc. Em Português.
Responsável pela página: Augusto Campos brain@matrix.com.br endereço: http://www.br-linux.org/.
* http://www.olinux.com.br/ - Trata o GNU/Linux com o foco jornalí­stico e tem a intenção de prover informações eficazes e esclarecedoras capazes de instruir, reciclar e tornar acessí­vel aos usuários o conhecimento e aprofundamento de temas relacionados a plataforma GNU/Linux.
Publicação diária de Artigos que são feitos para que o usuário possa resolver problemas e tirar dúvidas deste sistema. Assuntos diversos sobre programas, serviços e utilitários. Também conta com seções de programação, jogos, segurança e entrevistas com personalidades do cenário software livre/código aberto. Atualização diária. Responsável pela página: Linux Solutions baptista@linuxsolutions.com.br endereço: http://www.olinux.com.br/.
* http://come.to/linuxworld/ - Informações sobre distribuições Linux, downloads, gerenciadores de janelas (Enlightenment, Window Maker, etc) temas com fotos ilustrativas, seção programa do mês (onde é falado sobre um programa interessante), seção sobre jogos (para as pessoas enviarem suas dúvidas de jogos). Em Português.
Esta home page também traz uma seção onde as pessoas escrevem suas dúvidas, que são recebidas pelo responsável pela página, solucionadas e respondidas. Responsável pela página: Luiz Estevão Baptista de Oliveira luizestevao@yahoo.com endereço: http://come.to/linuxworld/.
* http://www.linuxsecurity.com.br/ - Boletins de segurança, publicações de textos nacionais, traduções de sites especializados em segurança, programas relacionados com criptografia e segurança no ambiente Linux. A página requer um navegador com suporte a Java.
Endereço: http://www.linuxsecurity.com.br/.
* http://www.tldp.org/ - Projeto de documentação do GNU/Linux no Brasil. Toda a documentação traduzida para o Português do Brasil pode ser encontrada lá.
Responsável pela página: ricardo@conectiva.com.br endereço: http://www.tldp.org/.
* http://expansion.onweb.cx/ - Site que visa juntar e divulgar principalmente a documentação do GNU/Linux, sejam HOW-TOs ou simples dicas.
Responsável pela página: netstart@linuxbr.com.br endereço: http://expansion.onweb.cx/.
* http://www.guiadohardware.net/ - Site de Hardware, conta com notí­cias diárias, cursos on-line, artigos, tutoriais, análises de equipamentos, fórum, dicionário de termos, dicas sobre overclock, palm pilot e sessão FAQ com mais de 300 dúvidas respondidas.
Atualizações diárias, possui um serviço de envio de dicas por e-mail. Responsável pela página: Carlos E. Morimoto morimoto@guiadohardware.net endereço: http://www.guiadohardware.net/.
* http://br.linuxchix.org/ -
O LinuxChix Brasil, assim como o Projeto LinuxChix internacional, é uma comunidade para mulheres que gostam de Linux, e para apoiar as mulheres na computação em geral. As participantes vão desde novatas í usuárias experientes, e incluem programadoras profissionais e amadoras, administradoras de sistemas e documentadoras técnicas. Responsável pela página: Lista LinuxChix linuxchix@listas.cipsga.org.br endereço: http://www.guiadohardware.net/.
* http://www.noticiaslinux.com.br/ -
Notí­cias diárias sobre GNU/Linux e Software Livre no site, por e-mail ou RSS. Responsável pela página: deivison@noticiaslinux.com.br endereço: http://www.noticiaslinux.com.br/
* http://www.linux.org/ - Página oficial do GNU/Linux mantida pela Transmeta (a empresa que Linus Torvalds vem trabalhando atualmente). Muita referência sobre GNU/Linux, distribuições, hardwares, softwares, downloads, etc.
Responsável pela página: webmaster@linux.org endereço: http://www.linux.org/.
* http://counter.li.org/ - Este é um serviço que tem o objetivo de contar os usuários, máquinas, grupos de usuários Linux existentes ao redor do mundo. Te encorajo a se registrar neste site e indica-lo aos seus amigos, é de graça, você estará contribuindo para o aumento das estatí­sticas do número de usuários no mundo, paí­s, sua cidade, etc.
O site também conta com um sistema de estatí­sticas de usuários, máquinas e grupos de usuários espalhados ao redor do mundo. Você pode saber em poucos segundos a quantidade de usuários Linux em seu paí­s, cidade, etc. Responsável pela página: Harald T. Alvestrand harald@alvestrand.no endereço: http://counter.li.org/.
* http://metalab.unc.edu/ - O ponto de referência mais tradicional de softwares GNU/Linux do mundo. Você pode encontrar desde dicas, documentação (todos os How-Tos) até diversas distribuições GNU/Linux.
Responsável pelo site: webmaster@sunsite.unc.edu endereço: http://metalab.unc.edu/.
* http://www.themes.org/ - Neste site você encontra milhares de temas divididos em categorias para os mais diversos gerenciadores de janelas no GNU/Linux. O site é muito pesado, por causa das fotos, é recomendável um bom fax-modem ou muita paciência.
Responsável pela página: webmaster@themes.org endereço: http://www.themes.org/.
* http://www.oreill.com/safari/ - Neste site você encontra os livros publicados sobre a licença OpenBook da Orreil. Na maioria livros que não atende mais propósitos atualmente e livros em que os autores concordaram em licenciar sob os termos OpenBook.
Endereço: http://www.oreill.com/safari/.
Caso conhecer uma página de Internet que contenha materiais úteis a comunidade GNU/Linux ou desejar incluir a sua, entre em contato para sua inclusão na próxima versão do guia junto com uma descrição da página.

### Listas de discussão

São grupos de usuários que trocam mensagens entre si, resolvem dúvidas, ajudam na configuração de programas, instalação, etc. É considerado o melhor suporte ao GNU/Linux pois qualquer participante pode ser beneficiar das soluções discutidas. Existem milhares de listas de discussões sobre o GNU/Linux espalhadas pelo mundo, em Português existem algumas dezenas.
Algumas listas são especí­ficas a um determinado assunto do sistema, algumas são feitas para usuários iniciantes ou avançados, outras falam praticamente de tudo. Existem desde usuários iniciantes, hackers, consultores, administradores de redes experientes e gurus participando de listas e oferecendo suporte de graça a quem se aventurar em instalar e usar o sistema GNU/Linux.
A lista de discussão funciona da seguinte forma: você se inscreve na lista enviando uma mensagem ao endereço de inscrição, será enviada um pedido de confirmação por e-mail, simplesmente dê um reply na mensagem para ser cadastrado. Pronto! agora você estará participando do grupo de usuários e receberá todas as mensagens dos participantes do grupo. Assim você poderá enviar sua mensagem e ela será vista por todos os participantes da lista.
Da mesma forma, você pode responder uma dúvida de outro usuário da lista ou discutir algum assunto, tirar alguma dúvida sobre a dúvida de outra pessoa, etc.
Não tenha vergonha de enviar sua pergunta, participar de listas de discussão é uma experiência quase obrigatório de um Linuxer. Abaixo segue uma relação de listas de discussão em Português com a descrição, endereço de inscrição, e o que você deve fazer para ser cadastrado:

#### debian-user-portuguese@lists.debian.org

    Lista de discussão para usuários Portugueses da Debian. Também são discutidos assuntos relacionados ao Linux em geral. A inscrição é aberta a todos os interessados.
Para se inscrever, envie uma mensagem para debian-user-portuguese-request@lists.debian.org contendo a palavra subscribe no assunto da mensagem. Será enviada uma mensagem a você pedindo a confirmação da inscrição na lista de discussão, simplesmente dê um reply na mensagem (responder) e você estará cadastrado e poderá enviar e receber mensagens dos participantes.

#### debian-news-portuguese@lists.debian.org

    A Debian é extremamente bem estruturada quanto a divulgações e notí­cias, várias listas de email e várias páginas compõe essa base. A Debian Weekly News é especialmente importante pois dá uma visão geral do que se passou na Debian durante a semana. E não traz apenas traduções mas também adições dos acontecimentos atuais da Debian no Brasil, ou projetos concluí­dos ou lançados pela equipe Debian-br (http://debian-br.cipsga.org.br/).
Essa lista NÃO é usada para resolução de dúvidas e problemas, apenas para o RECEBIMENTO de notí­cias relacionadas a Debian. Não poste mensagens nela! Para se inscrever, envie uma mensagem para debian-news-portuguese-request@lists.debian.org contendo a palavra subscribe no assunto da mensagem. Será enviada uma mensagem a você pedindo a confirmação da inscrição na lista de discussão, simplesmente dê um reply na mensagem (responder) e você passará a receber as notí­cias sobre a Debian em Português.

#### linux-br@unicamp.br

    Lista de discussão que cobre assuntos diversos. Esta lista é voltada para usuários com bons conhecimentos no GNU/Linux, são abordados assuntos como redes, configurações, etc. Esta é uma lista moderada, o que significa que a mensagem que envia passam por uma pessoa que verifica (modera) e a libera caso estejam dentro das normas adotada na lista. É uma lista de alto ní­vel e recomendada para quem deseja fugir de mensagens como não consigo instalar o Linux, não sei compilar o kernel, o que eu faço quando vejo uma tela com o nome login:?, etc.
Para se inscrever nesta lista, envie uma mensagem para: linux-br-request@unicamp.br contendo a palavra subscribe no assunto da mensagem e aguarde o recebimento da confirmação da inscrição. Apenas responda a mensagem de confirmação para se inscrever. Para se descadastrar envie uma mensagem para o mesmo endereço mas use a palavra unsubscribe.

#### dicas-l@unicamp.br

    Esta lista envia diariamente uma dica de Unix, sistemas da Microsoft ou novidades da Internet.
Para se inscreve nesta lista de discussão, envie uma mensagem para: dicas-l-request@unicamp.br contendo a palavra subscribe no corpo da mensagem e aguarde o recebimento da confirmação da inscrição. Apenas responda a mensagem de confirmação para confirmar sua inscrição na lista. Para se descadastrar envie uma mensagem para o mesmo endereço mas use a palavra unsubscribe.
Esta listagem deveria estar mais completa, mas eu não lembro de todas as listas!. Também recomendo dar uma olhada em [#s-ajuda-netiqueta-listas Listas de Discussão via Email, Seção 31.13.5] que descreve recomendações de comportamento em listas de discussão.

## Netiqueta

São recomendações que tem como objetivo facilitar a para comunicação através dos recursos de uma rede. O nome Netiqueta vem de "Etiqueta de Rede" (Net Etiquete). O material desta seção foi escrito com base nos anos de observação que tive via internet e também com referência a rfc 1855.

### Recomendações Gerais sobre a Comunicação Eletrônica

* Como recomendação geral, lembre-se que a conversa via internet é feita sempre de uma para outra pessoa ou de uma para várias pessoas, e que a forma de comunicação é a mesma que utilizaria se estivesse de frente a frente com a pessoa. Nunca diga algo que não diria se estivesse diante da outra pessoa. Existem pessoas que por estar atrás de um monitor, se sentem "maiores" se esquecendo disso e causando prejuí­zos de comunicação (e sem imaginar que a pessoa do outro lado da linha existe).
Apesar do modo que as frases são escritas expressarem o jeito que a outra pessoa está do outro lado da linha e seu tom de comunicação no decorrer da conversar, existem algumas coisas que não podem ser totalmente expressadas através da Internet, como por exemplo a expressão da "face" das pessoas. Para isto foram criados sí­mbolos chamados smileys que expressam a face da outra pessoa em determinado momento, e dependendo do sentido da conversa, um smiley pode expressar corretamente a intenção de sua frase. Os mais usados são os seguintes:
Para entender o sentido do smiley, veja ele de lado (45 graus). Use os smileys em suas conversações, mas com cautela. Não espere que a inclusão de um smiley sorridente ":-)" deixe o destinatário da mensagem contente com um comentário rude ou insulto.
* ESCREVER EM MAIÚSCULAS significa gritar quando escrever mensagens eletrônicas.
* Use *asteriscos* para destacar uma palavra ou frase. _Isso_ indica uma palavra/frase sublinhada.
* Se você troca mensagens com pessoas do mundo todo, não espere que um japonês responda logo seu e-mail que enviou as 15:00 da tarde. A essa hora no paí­s dele, ele está roncando forte na cama e sonhando com a placa 3D que vai ganhar para melhorar o desempenho de seus jogos de Linux.
* Durante a comunicação com pessoas de diferentes regiões (ou paí­ses), evite a utilização de gí­rias, ou expressões regionais. Uma interpretação em uma determinada região não garante que ela tenha o mesmo significado para seu destinatário, as vezes pode ser até ofensiva.
* Assuma que sua mensagem está trafegando sobre uma via não segura, desta forma não envie informações pessoais que não enviaria em uma carta comum. O uso de criptografia pode garantir melhor segurança na transmissão de dados.

### Email

* Tenha o hábito de colocar sempre um assunto na mensagem que envia para identificar seu conteúdo.
* Respeite os direitos autorais das mensagens de e-mail. Se precisar encaminhar mensagens, preserve seu conteúdo original.
* Procure limitar o tamanho da linha a 70 caracteres. Muitos usuários utilizam cliente de e-mail em modo texto, e nem todo mundo usa a mesma resolução que você.
* Caso o e-mail que responda tenha mais que 100 linhas, é recomendável colocar a palavra "LONGA" no assunto da mensagem. Se possí­vel corte as partes não necessárias da mensagens de respostas tendo o cuidado de não "cortar" de forma mal educada a mensagem de outra pessoa.
* Não espere que o espaçamento ou desenhos ASCII usados em uma mensagem sejam mostrados corretamente em todos os sistemas.
* Utilize sempre uma assinatura no final da mensagem para identificar você e principalmente seu endereço de e-mail. Em alguns cliente de e-mail, o campo Reply-to é bagunçado, e em e-mails redirecionados o endereço de resposta é excluí­do. A assinatura facilita encontrar o remetente da mensagem. Tente manter a assinatura em um tamanho de no máximo 4 linhas.
* Não repasse mensagens de corrente por e-mail. Elas tem somente o objetivo de espalhar boatos na Internet e se espalhar. Normalmente elas vem com uma história bonita e no final diz se não repassar acontecerá tudo ao contrário com você ou algo do tipo. Não vai acontecer nada! ignore isso e não entre na corrente!
Pelas polí­ticas da Internet, você pode ter sua conta de e-mail perdida se fizer mal uso dele.

### Talk

* Use sempre quebra de linhas ao escrever suas mensagens, use pelo menos 70 caracteres para escrever suas mensagens de talk. Evita escrever continuamente até a borda para fazer quebra de linha automática, alguns clientes de talk não aceitam isso corretamente.
* Sempre que termina uma frase, deixe uma linha em branco (tecle enter 2 vezes) para indicar que a outra pessoa pode iniciar a digitação.
* Sempre se despeça da outra pessoa e espere ela responder antes de fechar uma seção de conversação. O respeito mútuo durante um diálogo é essencial :-)
* Lembre-se que o talk normalmente interrompe as pessoas que trabalham nativamente no console. Evite dar talk para estranhos, pois podem fazer uma má impressão de você. Tente antes estabelecer outros meios de comunicação.
* Se a outra pessoa não responder, não assuma de cara que ela está ignorando você ou não levando sua conversa muito bem. Ela pode simplesmente estar ocupada, trabalhando, ou com problemas no cliente de talk. Alguns cliente de talk dão problemas durante a comunicação remota, lembre-se também que sua comunicação é via UDP :-)
* Se a pessoa não responder seus talks durante certo tempo, não deixe ele infinitamente beepando a pessoa. Tente mais tarde :-)
* Seja atencioso caso utilize mais de uma seção de talk ao mesmo tempo.
* O talk também leva em consideração sua habilidade de digitação. Muitos erros e correções contí­nuas fazem a outra pessoa ter uma noção de você, suas experiências, etc ;-)

### ICQ

O ICQ é uma excelente ferramenta de comunicação em tempo real, usada principalmente para localizar quando uma pessoa está on-line. Este documento inclui algumas recomendações de ICtiQueta (Etiqueta no ICQ) para melhor os usuários aproveitarem melhor esta ferramenta.
* De atenção ao status do ICQ da outra pessoa. Se ela estiver "on-line" ou "free for chat" significa que ela está desocupada e que pode conversar naquele instante. Se estiver como não perturbe, envie somente mensagens se for mesmo preciso.
* Seja também sensato ao usar o ICQ. Não entre nele caso não possa conversar, ou avise isso mudando seu status para o mais adequado para a situação, assim os outros poderão entender que está longe do computador, não disponí­vel ou ocupado.
* É recomendável ser prudente quanto ao envio de mensagens no ICQ, não envie mais do que 4 mensagens seguidas, pois a outra pessoa terá dificuldades para responder a todas elas mais outra que talvez possa estar recebendo de outras.
* Guarde seu login e senha de ICQ em um lugar seguro. Caso ela seja perdida, você terá trabalho para avisar a todos de sua lista de contato.
* Caso alguém de sua lista de contatos esteja sempre on-line e não lhe envia mensagens há muito tempo, não fique com a impressão de que ela não quer trocar mais mensagens com você. Pode ser apenas que ela tenha reinstalado seu programa de ICQ e não tenha anotados todos seus UIN's.
Normalmente quando se envia uma mensagem para a pessoa, o UIN é automaticamente cadastrado em sua lista.
* Não pense que a opção "Requer Autorização" te de o controle total de quem terá ou não seu número de ICQ em sua lista. Utilize as opções de privacidade para configurar.
* Sempre que enviar uma URL, procure descrever algo para seu interlocutor na mensagem.
* No modo de chat, use as recomendações descritas sobre o talk (em [#s-ajuda-netiqueta-talk Talk, Seção 31.13.3]).
* Como em toda comunicação on-line, seja cauteloso quando a pessoa que conversa. Nem sempre quem conversamos do outro lado é a pessoa que esperamos encontrar. Lembre-se que um registro falso e uma identidade pode ser criada sem dificuldades por qualquer pessoa.

### Listas de Discussão via Email

* Tente se manter dentro do assunto quando responder mensagens de listas. Seja claro e explicativo ao mesmo tempo :-)
* Sempre coloque um assunto (subject) na mensagem. O assunto serve como um resumo do problema ou dúvida que tem. Alguns usuários, principalmente os que participam de várias listas de discussão, verificam o assunto da mensagem e podem simplesmente descartar a mensagem sem lê-la porque as vezes ele não conhece sobre aquele assunto.
* Nunca use "Socorro!", "Help!" ou coisa do gênero como assunto, seja objetivo sobre o problema/dúvida que tem: "Falha ao carregar módulo no do kernel", "SMAIL retorna a mensagem Access denied", "Novidades: Nova versão do guia Foca Linux" ;-).
* Procure enviar mensagens em formato texto ao invés de HTML para as listas de discussão pois isto faz com que a mensagem seja vista por todos os participantes (muitos dos usuários GNU/Linux usam leitores de e-mail que não suportam formato html) e diminui drásticamente o tamanho da mensagem porque o formato texto não usa tags e outros elementos que a linguagem HTML contém (muitos dos usuários costumam participar de várias listas de discussão, e mensagens em HTML levam a um excesso de tráfego e tempo de conexão).
* Tenha cautela e bom censo em suas mensagens para listas e grupos de discussão, considere que cada mensagem que posta é são arquivadas para futura referência.
* Quando o conteúdo das mensagem tomar outro rumo, é ético modificar o assunto do e-mail para se adequar ao novo conteúdo da mensagem. Por exemplo, Correção nas regras de Netiqueta para Conversa de pessoa para pessoa (Era: Correção das regras de Netiqueta).
* Quando a conversa em grupo sair do assunto e envolver apenas duas pessoas, é conveniente retirar os endereços das pessoas/listas do CC.
* Não mande arquivos grandes para as listas, principalmente se eles tiverem mais que 40Kb de tamanho. Se precisar enviar arquivos maiores que isso, envie diretamente para os e-mails dos interessados depois de perguntar.
* Quando enviar mensagens para listas de discussão, seja educado e cordial quanto ao conteúdo de sua mensagem. Envie CC's para as pessoas que dizem respeito ao assunto, assim com a lista.
* Tente ignorar ou não responda mensagens de "Guerras" em listas (Flame Wars), caso queira reponde-la por algum tipo de agressão de quem mandou a mensagem, esperar para responde-la a noite (nunca é garantida uma boa resposta no momento que está de cabeça quente). Lembre-se de quando responde uma mensagem de "Flame War" a "altura" de quem mandou seus ataques, está sendo igualmente tão baixo quando o "ní­vel" dessa pessoa.
* Caso se desentenda com alguma pessoa em uma lista de discussão, não envie mensagens agressivas para a listas, se precisar, faça isso diretamente para a pessoa! Você pode se arrepender disso mais tarde.
* Não culpe o administrador da lista pelos usuários que participam dela. Notifique somente usuários que não estejam colaborando com a lista e outras coisas que prejudiquem seu funcionamento. Administradores preservam o funcionamento das listas, e não o policiamento dos usuários.
* Não use auto respostas para listas de discussão. Pelos inconvenientes causados, você pode ser descadastrado ou banido de se inscrever na lista/newsgroup.
* Salve as mensagens de inscrição que recebe da lista. Ela contém detalhes sobre seus recursos, e a senha usada muitas vezes para se descadastrar dela ou modificar suas permissões de usuário. O administrador pode te ajudar nessa tarefa, mas não espere que ele esteja sempre disponí­vel para realizar tarefas que podem ser feitas pelo próprio usuário.
* Muitas pessoas reclamam do excesso de mensagens recebidas das listas de discussão. Se você recebe muitas mensagens, procure usar os filtros de mensagens para organiza-las. O que eles fazem é procurar por campos na mensagem, como o remetente, e enviar para um local separado. No final da filtragem, todas as mensagens de listas de discussão estarão em locais separados e as mensagens enviadas diretamente a você entrarão na caixa de correio principal, por exemplo.
Um filtro de mensagens muito usado no GNU/Linux é o procmail, para maiores detalhes consulte a documentação deste programa. O Netscape também tem recursos de filtros de mensagem que podem ser criadas facilmente através da opção "Arquivo/Nova SubPasta" ("File/New Subfolder") do programa de E-mail. Então defina as regras através do menu "Editar/Filtros de Mensagens" ("Edit/Message filters") clicando no botão "Novo"("New").