Configurando rede no GNU/Linux

Desde que foi criado, o Linux é um sistema de rede… E mesmo que na sua casa tenha somente seu computador e você não esteja conectado à Internet, seu Linux continua sendo um sistema de rede.

Atualmente as distros trazem o Network Manager, que já ajuda o usuário a configurar a rede rapidamente. Mas, se você é um administrador de sistemas, não irá trabalhar com uma interface gráfica o tempo todo; assim, é importante conhecer os comandos e arquivos de configuração de rede.

Antes de falar sobre os arquivos de configuração, vou falar sobre as interfaces de rede, que são os dispositivos que irão formatar os pacotes e repassá-los através de cabo de rede, wireless, fibra ótica, etc.

Todos computadores que utilizam o protocolo TCP/IP, possuem uma interface de rede lógica, chamada loopback que responde no endereço 127.0.0.1. A interface loopback (lo), faz com que o sistema converse com ele mesmo. É o que chamo de “máquina bater papo com seu eu interior”.

Isso é bacana porque, se você quer criar um servidor DNS (servidor de resolução de nomes), um servidor de e-mail ou de FTP, poderá fazê-lo mesmo que não esteja em uma rede com muitos computadores; ou, caso esteja em uma rede, pode testar os serviços localmente.

Além da interface de loopback, também configuramos a placa de rede – no linux ela é identificada pelo dispositivo ethX, onde X é o número do dispositivo. Por exemplo, eth0 é o primeiro dispositivo de rede existente no computador.

Para configurar a placa de rede, é necessário que o módulo esteja no ar. Eu já falei em outro post, como configurar o módulo da placa de rede… para relembrar, clique aqui. Com o módulo no ar, podemos designar um IP para a placa; para isso usamos o comando ifconfig. Por exemplo:

#ifconfig eth0 192.168.0.10

Onde:

eth0 – Device da placa de rede, ou seja a interface de rede.

192.168.0.10 – É o endereço que estou designando para essa interface.

Essa forma de configuração de rede é temporária; caso reinicie a máquina, a configuração será perdida… é uma configuração básica quando você precisa testar por exemplo, saber se a placa está OK, se designar um IP ela vai conseguir conexão na rede, etc.

Para a configuração da rede ficar definitiva no sistema, devemos editar os seguintes arquivos:

/etc/hostname – Nome da máquina
/etc/hosts – Resolução de nomes locais
/etc/network/interfaces – Informação sobre IP

Os arquivos acima, são para configuração em distribuições Debian e suas variantes! Em sistemas Red Hat e suas variantes, os arquivos são:

/etc/sysconfig/network – Nome da máquina e informações da rede
/etc/hosts – Resolução de nomes
/etc/syscofig/network-scripts/ifcfg-ethX – Informação sobre IP

No caso de Red Hat e suas variantes, para cada placa instalada no computador, existe um arquivo de configuração… por isso o “X” na linha /etc/syscofig/network-scripts/ifcfg-ethX.

E no Slackware:

/etc/HOSTNAME – Nome da máquina e informações da rede
/etc/hosts – Resolução de nomes
/etc/networks/etc/rc.d/rc.inet1 – Informação sobre IP

Bem, nos meus posts, sempre falo em Debian, que é a distribuição que uso… então, aqui vou falar sobre a configuração em ambientes Debian.

O primeiro arquivo que editamos é o /etc/hostname. Esse arquivo é utilizado para definir o nome da nossa máquina:

# echo “nixi” > /etc/hostname

Acima, apenas inseri o nome da minha máquina (nixi) no arquivo hostname. Só que as configurações do nome, só estarão disponíveis quando eu reiniciar a máquina. Para usar o nome sem a necessidade de reiniciar, basta fazer:

# hostname nixi

E aí já estarei usando o novo nome. Ahn, o comando acima, além de definir um nome prá máquina, também pode ser usado para mostrar o nome da máquina… para isso, basta digitar:

# hostname
nixi

O segundo arquivo, é o /etc/hosts… ele serve para resolver o nome da máquina pelo IP dela. É como se fosse um servidor DNS, só que é local, isto é, somente para a minha máquina! Esse arquivo tem a seguinte estrutura:

# cat /etc/hosts
127.0.0.1       localhost.localdomain   localhost

Onde:
127.0.0.1 – IP da máquina

localhost.localdomainFQDNFully Qualified Domain Name – é o nome completo da máquina; isto é, o nome (localhost) e o domínio (localdomain)

localhost – nome da máquina

A utilidade desse arquivo? Bem, imagine que você queira acessar algumas máquinas e não quer ficar digitando o IP delas! Se você não tem DNS, pode colocar o nome e o IP das máquinas que deseja acessar nesse arquivo. Por exemplo, se quiser fazer ping para a máquina asmith, ao invés de digitar o IP dela, poderia incluir a seguinte linha no arquivo /etc/hosts:

192.168.0.150    asmith.nixi.com.br    asmith

Quando for fazer o ping, ao invés de digitar o IP, posso fazer:

# ping asmith
PING asmith.nixi.com.br (192.168.0.150) 56(84) bytes of data.
64 bytes from asmith.nixi.com.br (192.168.0.150): icmp_seq=1 ttl=64 time=0.156 ms
64 bytes from asmith.nixi.com.br (192.168.0.150): icmp_seq=2 ttl=64 time=0.122 ms
64 bytes from asmith.nixi.com.br (192.168.0.150): icmp_seq=3 ttl=64 time=0.044 ms

Lembrando que essa é uma configuração local! Então, se quiser que outras máquinas resolvam os nomes, tem que configurar nelas também… mas se for pensar em configurar muuuuuitas máquinas, é melhor ter um DNS (assunto para um futuro post!) e deixar o /etc/hosts resolver somente o nome da nossa máquina. No caso, da minha máquina local, o arquivo ficou assim:

# cat /etc/hosts
127.0.0.1       localhost.localdomain   localhost
192.168.0.100   nixi.org.br        nixi

O próximo arquivo a ser configurado é o /etc/network/interfaces, responsável por armazenar as configurações de IP de todas as placas de rede. Em distribuições Red Hat e variantes, cada placa tem seu arquivo específico; no Debian, as configurações de todas interfaces são feitas em um único arquivo. Abaixo, exemplo de configuração para IP fixo; isto é, toda vez que a máquina iniciar, sempre irá usar esse IP:

auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

Onde:
auto eth0 – Indica que a interface será inicializada no boot. Caso não defina essa linha, mesmo que o serviço de rede esteja iniciado, as configurações dessa interface não serão carregadas.

iface eth0 inet static – Indica se a interface terá IP fixo ou não. Aqui, estamos falando que a interface eth0 terá IP fixo.

address– Endereço IP

netmask – Máscara de rede

network – Endereço da rede

broadcast – IP que varre a rede inteira para determinar quais IP’s estão ativos

gateway – IP da máquina que fará a saída dos pacotes para Internet

Essa configuração é usada quando a máquina tem um IP fixo! Caso a máquina seja um cliente de DHCP; isto é, quando existe um servidor que distribui os IP’s para as máquinas que estão na rede, a configuração desse arquivo fica assim:

auto eth0
iface eth0 inet dhcp

Fica uma configuração simples… porque o servidor DHCP será o responsável por configurar o IP, máscara, rede, broadcast, gateway e resolução DNS para o cliente!

Após configurar o arquivo, para que as alterações sejam realizadas, devemos parar e iniciar o serviço de rede:

# /etc/init.d/networking stop
# /etc/init.d/networking start

Para checar as novas configurações da placa de rede:

# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:47:ba:19
inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe47:ba19/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:47639 errors:0 dropped:0 overruns:0 frame:0
TX packets:33167 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:65097967 (62.0 MiB)  TX bytes:2828496 (2.6 MiB)
Interrupt:19 Base address:0x2000

Ainda falando sobre o arquivo /etc/network/interfaces, lá existe a linha gateway. Para uma máquina ser capaz de encontrar outra através de uma rede, é necessário que ela saiba como ir de uma rede para outra. O ‘caminho’ que permite uma máquina de uma rede se comunicar com outra de rede diferente, se chama roteamento.

Uma rota, é um par de endereços composto por destino e gateway e indica que, se você estiver tentando alcançar este destino, deve se comunicar através desse gateway. A famosa ‘rota default’, é a rota utilizada por um roteador quando não há nenhuma outra rota conhecida existente para o endereço de destino de um pacote. E todos os pacotes para destinos desconhecidos pela tabela do roteador são enviados para o endereço de rota padrão.

O comando para visualizar a tabela de rotas é o route:

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

Vejam que a última linha indica o IP 192.168.0.1, que é justamente o IP que foi configurado na linha gateway do arquivo /etc/network/interfaces. A opção -n no comando, é para mostrar em formato numérico, isto é, o comando não tentará resolver os IP’s para nomes.

O comando route também é usado para criar uma rota manualmente, seja por motivo de não ter adicionado a linha gateway no arquivo, ou até mesmo por querer utilizar uma outra rota. Para isso, executa-se o comando abaixo:

# route add default gw 192.168.0.1

Onde:

add – para adicionar a rota

default gw 192.168.0.1 – indica que está configurando a rota default com o IP 192.168.0.1

Esse comando faz a mesma coisa que a linha gateway indicada no arquivo /etc/network/interfaces. A diferença é que essa configuração é perdida caso a máquina reinicie, enquanto no arquivo é uma configuração definitiva.

Outras formas ver a tabela de rotas:

# cat /proc/net/route

# netstat -nr

E, para finalizar essa parte da configuração de rede, tem mais um arquivo que editamos quando configuramos rede no Linux. É o arquivo /etc/resolv.conf; responsável por buscar o servidor DNS para resolver nomes na rede.

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 http://www.wordpress.com em um endereço IP é chamada de resolvedor de nomes.

Então, é no arquivo /etc/resolv.conf que indicamos o nome de domínio DNS da nossa rede, e qual o servidor DNS irá resolver as consultas de nomes.

Exemplo de um arquivo resolv.conf:

search nixi.org.br
nameserver 4.2.2.2

Onde:

search – Lista de pesquisa para a procura do nome de servidor; normalmente é determinado pelo domínio do servidor local.

nameserver – Endereço IP do servidor de nomes que o resolvedor deve pesquisar; são utilizados na ordem em que estão listados.

É importante observar que, se for um cliente dhcp, o resolv.conf será sobrescrito com a informação recebida do servidor DHCP.

Abordei no post a configuração em sistemas Debian; apesar de não utilizar sistemas Slackware ou Red Hat, segue links que irão ajudar na configuração de rede nessas duas distros:

SlackwareConfiguration Help

Red Hat e derivadosHowto Red hat enterprise Linux 5 configure the network card

Referências:
Manual Completo do Linux – Guia do Administrador
Evi Nemeth et al, Pearson Books

Capítulo 15 – Rede

Bem, é isso… até o próximo post! 🙂

Instalação de pacotes com o apt

Nesse post, vou falar sobre instalação de pacotes usando o aptadvanced package tool. O apt é um front-end para o dpkg e reúne um conjunto de ferramentas para gerenciar pacotes de uma forma automatizada. Isso quer dizer que, quando usamos o apt para instalar um programa, ele também instala ou atualiza as dependências de todos pacotes necessários para o funcionamento do programa.

Assim como o dpkg, o apt trabalha em linha de comando, mas não assusta: conhecendo ele, fica fácil de usar 😉 !

Podemos instalar pacotes pelo apt usando o CD de instalação ou pela Internet, através de repositórios ftp ou http, que são configurados no arquivo /etc/apt/sources.list.

Vamos entender como o arquivo sources.list trabalha. Ele contém os locais onde o apt irá buscar os pacotes e a distribuição utilizada. E falando sobre distribuição, temos:

stable – é a versão atual totalmente homologada pela equipe do Debian. O codinome da versão stable atual do Debian é Lenny.

testing – é a próxima versão do Debian que está sendo testada para se tornar stable. O codinome da versão testing atualmente é Squeeze.

unstable – versão em constante desenvolvimento; pacotes nessa versão podem conter bugs ou falhas de segurança. O codinome da versão unstable é Sid.

O arquivo sources.list possui a seguinte estrutura:

deb uri distribuição componente

Onde:

deb – Indica um pacote Debian; pode ser deb (pacote pré-compilado) ou deb-src (código fonte).

uri – Indica o endereço do repositório dos pacotes, que pode ser http ou ftp

distribuição – versão do Debian, que pode ser stable, testing ou unstable.

componente – seção da licença que será verificada no site remoto. Pode ser main (contém apenas softwares livres, de acordo com a DFSGDebian Free Software Guidelines), contrib (contém software livre que depende de software proprietário) ou non-free (contém software de código fechado ou que não se enquadra na DFSG).

Um exemplo básico de repositório válido para o sources.list se encontra abaixo:

[1] deb http://http.us.debian.org/debian stable main contrib non-free

[2] deb http://security.debian.org stable/updates main contrib non-free

Com o repositório [1], temos acesso a pacotes pré-compilados (deb) no servidor http://http.us.debian.org/debian, da versão stable e que contenham qualquer tipo de licença (main, contrib ou non-free). A linha [2] temos acesso ao repositório de atualizações de segurança para a versão stable.

Para adicionar o CD como mirror, colocamos o cd 1 no driver e executamos o comando apt-cdrom:

# apt-cdrom add

Este comando adiciona automaticamente uma linha para cada CD no arquivo /etc/apt/sources.list; quando for instalar um novo programa, o apt irá solicitar que o CD correspondente seja inserido na unidade e pressionado <Enter> para continuar.

Após adicionar o mirror, seja para baixar pacotes pela Internet ou pelo CD, vamos atualizar a lista de pacotes do apt. Para isso usamos o apt-get com a opção update:

# apt-get update

Com o comando acima, o apt irá criar uma lista de todos pacotes disponíveis no mirror, seja pela net ou pelo CD. É importante executar esse comando porque o apt usa essa lista de pacotes para verificar se esses precisam ou não ser atualizados; e cada vez que executamos o update, uma lista mais nova de pacotes é copiada.

Para instalar pacotes, usamos o apt-get com a opção install:

# apt-get install <nome_do_pacote>

Pode instalar mais de um pacote na mesma linha, separando os nomes por espaços; diferente do dpkg que pede o nome do .deb completo (com a versão e revisão). Caso existam dependências, o apt irá instalar automaticamente; se for necessário instalar pacotes além do pedido pelo usuário, o apt mostra o espaço em disco que será usado e pergunta ao usuário se ele deseja continuar. Caso a resposta seja negativa, a instalação é abortada.

Como exemplo, vamos instalar o vlock, que é um programa para bloquear terminais em modo texto:

# apt-get install vlock

Lendo listas de pacotes… Pronto
Construindo árvore de dependências
Lendo informação de estado… Pronto
Os NOVOS pacotes a seguir serão instalados:
vlock
0 pacotes atualizados, 1 pacotes novos instalados, 0 a serem removidos e 9 não atualizados.
É preciso baixar 38,1kB de arquivos.
Depois desta operação, 221kB adicionais de espaço em disco serão usados.
Obter:1 http://ftp.debian.org stable/main vlock 2.2.2-3 [38,1kB]
Baixados 38,1kB em 5s (7459B/s)
Selecionando pacote previamente não selecionado vlock.
(Lendo banco de dados … 20701 arquivos e diretórios atualmente instalados).
Desempacotando vlock (de …/vlock_2.2.2-3_i386.deb) …
Processando gatilhos para man-db …
Configurando vlock (2.2.2-3) …

Agora, supondo que eu queira remover o pacote, o comando é praticamente o mesmo… basta trocar a opção install por remove:

# apt-get remove vlock

Lendo listas de pacotes… Pronto
Construindo árvore de dependências
Lendo informação de estado… Pronto
Os pacotes a seguir serão REMOVIDOS:
vlock
0 pacotes atualizados, 0 pacotes novos instalados, 1 a serem removidos e 9 não atualizados.
Depois desta operação, 221kB de espaço em disco serão liberados.
Você quer continuar [S/n]? s
(Lendo banco de dados … 20731 arquivos e diretórios atualmente instalados).
Removendo vlock …
Processando gatilhos para man-db …

O que coloquei acima, é o básico para se usar do apt! Mas existem outras opções interessantes para conhecer. Por exemplo, imagine que eu queira instalar um cliente de mensagem instantâne e não saiba o nome dele. Basta usar o comando apt-cache para localizar o pacote!

# apt-cache search msn
emesene – platform independent MSN Messenger client
kopete – instant messenger for KDE
licq-plugin-msn – MSN plug-in for Licq
centerim – um cliente de mensagens instantâneas multiprotocolo em modo texto
amsn – um mensageiro MSN escrito em Tcl
pidgin – graphical multi-protocol instant messaging client for X

Acima, pedi para localizar pacotes que contenham msn… vejam além do nome do pacote, também tem uma breve descrição do que o pacote faz. Ai, basta eu usar a lista para localizar o pacote que quero instalar.

Agora, caso deseje fazer uma atualização dos pacotes instalados, bastam dois comandos:

# apt-get update

# apt-get upgrade

O update é necessário para atualizar a lista de pacotes dos repositórios que estão cadastrados no sources.list. E a opção upgrade é quem vai atualizar os pacotes já instalados no sistema. Lembrando que, se estiver usando o CD como seu repositório, a opção upgrade não atualiza nada; afinal de contas sempre serão os mesmos pacotes.

Se você tiver acesso a Internet, é preferível comentar as linhas referentes ao CD. Linhas iniciadas com “#” no sources.list, são ignoradas. E não esqueça de, após comentar o arquivo, executar novamente o update para atualizar a lista de pacotes.

Ainda falando sobre atualização, se quero atualizar um Debian que esteja utilizando a versão Etch (4), para a versão mais nova – Lenny (5), basta editar o sources.list:

deb http://http.us.debian.org/debian lenny main contrib non-free

deb http://security.debian.org lenny/updates main contrib non-free

Após fazer a alteração, basta executar o update:

# apt-get update

E em seguida, usar o dist-upgrade para atualizar a distro:

# apt-get dist-upgrade

Agora, para encerrar sobre o apt… quando instalamos pacotes via apt, os .deb são guardados no diretório /var/cache/apt/archives. Dependendo de quantos programas você instala, ou atualiza, esses .deb vão ocupando espaço no HD… então, para fazer uma limpeza, basta usar a opção clean do apt-get:

# apt-get clean

Esse comando limpa o diretório /var/cache/apt/archives e libera mais espaço no HD.

Para conhecer mais sobre o apt:

# man apt

Até o próximo post! 🙂

Instalação de pacotes com o dpkg

Nesse post, vou falar sobre instalação de pacotes no modo texto no Debian. Qualquer distribuição Linux sempre irá ter um gerenciador de pacotes que irá adicionar, lista ou remover programas. Seria como o “Adicionar/Remover Programas” do Windows!

Um pacote debian, é identificado pela extensão .deb; dentro dele, são colocados os programas e todos arquivos necessários para a instalação do pacote.

O Debian utiliza o dpkg (debian package), o apt (advanced package tool) e o aptitude para gerenciamento de pacotes. Esse post vai abordar a instalação de pacotes utilizando o dpkg.

Após a instalação do sistema, sempre queremos saber o que foi instalado. Para isso, podemos usar o dpkg para listar os pacotes instalados:

# dpkg -l

O comando acima (-l de list), irá retornar uma lista de todos pacotes que estão instalados no sistema. Isso vai produzir uma saída bem extensa… então, se quisermos saber se apenas um determinado pacote está instalado, podemos filtrar a saída do comando.

Vamos supor que eu queira checar se o pacote eject está instalado:

# dpkg -l | grep eject
ii  eject        2.1.5+deb1-4    ejects CDs and operates …

Pela saída do comando, vemos que o pacote está instalado. Caso não retorne nada, o pacote não está instalado.

Para fazer instalação de um pacote, é necessário indicar ao dpkg a fonte, isto é, local onde estão os pacotes; esse local pode ser um diretório no disco ou ainda, o CD de de instalação da distro. No cd, o diretório que contém os pacotes é o pool/main.

Vamos ver um exemplo… imagine que o pacote bzip2 não esteja instalado. O primeiro passo, é montar o cd do debian:

# mount /media/cdrom

Como coloquei acima o diretório que contém todos os pacotes disponíveis no cd é o pool/main. Para acessá-lo, depois do cd montado:

# cd /media/cdrom/pool/main

O Debian trabalha de forma organizada, e no diretório main encontramos todos diretórios de pacotes em ordem alfabética. Para conferir, basta executar o comando ls no diretório:

# ls

Antes de instalar, vamos checar se o pacote bzip2 está instalado. Para isso:

# dpkg -l | grep bzip2

Como o comando não me retornou nada, significa que o pacote não está instalado. Com o cd montado, temos que entrar no diretório b para verificar se o pacote está disponível no cd que montei… caso contrário, terei que acessar o segundo cd da distro, até encontrar o pacote. Na atual versão Debian – Lenny, ao todo são 31 CD’s, sendo que, no primeiro você já encontra pacotes suficientes para uma instalação básica, incluindo parte gráfica.

Continuando:

# pwd
/media/cdrom/pool/main/

# cd b/

# ls
base-passwd bibtool binutils bonobo bzip2

# cd bzip2/

# ls
bzip2_1.0.5-1_i386.deb libbz2-1.0_1.5.0_i386.deb

Acima, o que fizemos foi entrar no diretório dos pacotes que começam com a letra b e depois no diretório do pacote que queremos instalar, no caso bzip2. Mas antes de instalar, vamos ler as informações do pacote:

# dpkg -I bzip2_1.0.5-1_i386.deb

Package: bzip2
Version: 1.0.5-1
Architecture: i386
Maintainer: Anibal Monsalve Salazar <anibal@debian.org>
Installed-Size: 124
Depends: libbz2-1.0 (= 1.0.5-1), libc6 (>= 2.7-1)
Suggests: bzip2-doc
Replaces: libbz2 (<< 0.9.5d-3)
Section: utils
Priority: optional
Homepage: http://www.bzip.org/
Description: high-quality block-sorting file compressor …

A opção -I é de info; muito útil para sabermos as dependências do pacote e também uma descrição sobre o mesmo. Na saída do comando acima, em vermelho, temos a linha de dependência.

Uma dependência nada mais é do que outro programa que já deveria estar instalado para que, no nosso caso, o bzip2 possa ser instalado. Sendo assim, temos que verificar se os pacotes que são dependências estão instalados:

# dpkg -l | grep libbz2-1.0
ii  libbz2-1.0        1.0.5-1     high-quality block-sorting …

# dpkg -l | grep libc6
ii  libc6         2.7-18     GNU C Library: Shared libraries

Vemos acima que os pacotes que o bzip2 depende, já estão instalados… mas caso não aparecessem ai, teria que instalar!

Depois de consultar as informações sobre o programa e suas possíveis dependências, vamos fazer a instalação. Para isso,utilizamos a opção -i (install):

# dpkg -i bzip2_1.0.5-1_i386.deb
Selecionando pacote previamente não selecionado bzip2.
(Lendo banco de dados … 20704 arquivos e diretórios atualmente instalados).
Desempacotando bzip2 (de bzip2_1.0.5-1_i386.deb) …
Configurando bzip2 (1.0.5-1) …
Processando gatilhos para man-db …

E para saber se está instalado corretamente:

# dpkg -l | grep bzip2
ii  bzip2                             1.0.5-1                high-quality block-sorting file compressor – utilities

Do que foi colocado acima, é o que geralmente usamos para gerenciar pacotes no dpkg; foi mostrado como instalar pacotes do CD-ROM, lembrando que você também pode baixar pacotes da Internet, e instalar utilizando o dpkg; basta informar o local onde está o pacote. Por exemplo, se você baixou um pacote no seu home, terá que informar ao dpkg onde está o pacote a ser instalado.

Além disso, existem outras opções do dpkg que são interessantes:

✔ Consultar a qual pacote pertence um determinado arquivo (binário, arquivo de configuração) do sistema:

# dpkg -S /etc/crontab

✔ Verificar o status de um pacote através do nome, conforme listagem do comando dpkg -l. Seria mais ou menos como a opção -I, ele mostra se está instalado ou não, descrição, dependências, etc:

# dpkg -s passwd

✔ Listar todos arquivos que fazem parte do programa instalado:

# dpkg -L base-files

✔ Listar todos arquivos existentes em um programa que ainda não foi instalado:

# dpkg -c eterm_0.9.5-1_i386.deb

OBS: Nessa opção, temos que passar como parâmetro o nome do pacote completo, com a extensão .deb, pois o mesmo ainda não foi instalado no sistema.

✔ Remover um pacote:

# dpkg -r laptop-detect

Caso esse pacote que está sendo removido for dependente de outro, é necessário primeiro remover a dependência. A opção -r também pode ser usada com o – -purge; essa opção também remove os arquivos de configuração do pacote, e dai não fica arquivo perdido no sistema.

# dpkg –purge eject

Bem, é isso ai… para conhecer mais sobre o dpkg:

# man dpkg

No próximo post, vou falar sobre instalação de pacotes usando o apt. Até la! 😉

E a distribuição perfeita é…

Bem, não existe uma distribuição perfeita… existe sim, a distribuição que melhor nos atende e que gostamos de trabalhar com ela!

Estava eu panguando na net nas pontes de feriado de novembro em que fui trabalhar, quando achei um site bem legal, o Linux Distribution Chooser, que tem um teste sobre qual linux escolher.

Claro que o teste não tem a pretensão de dizer exatamente qual a distribuição é certa para você, mas pode dar grandes dicas para te ajudar a escolher uma distribuição.

Uma coisa legal, o teste permite que se escolha a linguagem (tem pt-br!!!).

Ahn, em tempo: minhas indicações foram Ubuntu, Debian, Ark Linux e Kubuntu.

Sendo que, meus preferidos (ou seja, o que eu realmente uso) são Debian e Kubuntu…