Posts com Tag ‘apt’

Algumas vezes nos deparamos com a mensagem do aptitude (ou apt-get) de que existem “pacotes que foram instalados automaticamente e já não são necessários”. Mas estamos falando daquelas situações onde existe uma lista muito grande de pacotes nesta situação mas, no entanto, isto não é verdade pois os pacotes estão em uso e são necessários.

Isso acontece em função de alternância pelo usuário da utilização entre aptitude, apt-get e synaptic. Ou ainda devido ao fato de que o usuário ter removido algum meta-pacote que estava como “manual” e agora todos os outros pacotes ficaram como “automático”, o que significa que o sistema pensa que não há ninguém usando.

A diferença entre “manual” e “automático” é a seguinte. Quando o usuário manda o gerenciador de pacote instalar um pacote, ele marca esse pacote como “manual” e todas as suas dependências como “automático”. Essa diferença é importante porque pacotes “auto” que não estão relacionados com nenhum pacote “manual” é considerado pelo aptitude como não mais em uso pelo sistema. E poderiam (deveriam!) ser removidos.

Ou seja, quando se instala um pacote, o aptitude irá instalar automaticamente outros pacotes de que depende. Estes pacotes são marcados como tendo sido “instalado automaticamente”; aptitude irá monitorá-los e fará sua remoção quando nenhum outro pacote instalado manualmente estiver dependendo deste pacote [1]. Eles irão aparecer na tela do aptitude como “pacotes que estão sendo removidos porque não são mais usados​​”.

Entendendo um pouco mais
Para instalar um pacote, geralmente é necessário instalar vários outros (para atender suas dependências). Por exemplo, se você deseja instalar o pacote clanbomber, você também deve instalar o pacote libclanlib2. Se você remover clanbomber novamente, você provavelmente já não precisa do pacote libclanlib2; aptitude irá tentar detectar e remover automaticamente o pacote libclanlib2.

Como em qualquer processo automático, há um potencial para que as coisas derem errado. Por exemplo, mesmo que um pacote esteja inicialmente instalado na forma “automaticamente”, ele pode vir a ser útil em seu próprio direito. Através do aptitude, o usuário pode cancelar a flag “automático” a qualquer momento, pressionando m; se o pacote já está sendo removido, o usuário pode usar a opção “pacote → Instalar (+)” para cancelar a remoção e limpar a indicação de “automático”.

A solução
Para resolver esse problema, o procedimento mais saudável é executar o seguinte comando:

# aptitude full-upgrade

Este comando irá tentar atualizar os pacotes, incluindo o tratamento dos problemas de dependência: ele irá instalar e remover pacotes até que todas as dependências estejam satisfeitas. Removerá todos os pacotes marcados como “automático”, o que vai fazer o usuário perder vários pacotes que estão sendo utilizando agora. No entanto, como os arquivos de configuração serão mantidos, basta que o usuário, em seguida, instale tudo que sentir falta.
OBS: não se deve instalar bibliotecas, mas deixar que essa tarefa seja realizada pelo próprio gerenciador. Deve ser instalado apenas os pacotes principais.

Em síntese, este procedimento irá refazer a lista de pacotes e dependências de forma correta.

[1] Mais precisamente: eles serão removidos quando não há caminho via “Depende”, “PreDependência”, ou “Recomendação” para eles a partir de um pacote instalado manualmente. Se a variável do aptitude “Aptitude::Keep-Suggests” for “true” (obs: o default é “false”), a relação de “Pacotes Sugeridos” também será suficiente para manter um pacote instalado (portanto, não será automaticamente removido).

Referências
1- Managing automatically installed packages
2- Ajuda – Muitos pacotes no apt “não sendo usados”!
3- Manual do aptitude (alcançado via comando “man aptitude” no terminal).

Anúncios

Este post se refere ao computador LG R590-U.BE53P1, tipo 5200.

Vem sendo de certa forma comum existir desconfortos para encontrar drivers Linux para as máquinas. Isto vale para o adaptador ethernet, wireless, áudio e vídeo, principalmente estes. Vamos tratar cada procedimento adotado para deixar este computador da LG funcionando corretamente com o Linux, distribuição Debian.

 

1. Configurando a interface wireless Realtek no LG R590 no Debian
Quando da instalação do sistema operacional, já fora detectada a falta de um firmware no repositório Debian, conforme reprodução abaixo de parte da mensagem que fora mostrada naquele momento no terminal:

“parte de seu hardware precida de arquivos de firmware não-livre para funcionar. Os arquivos de firmware que estão faltando são: rtlwifi/rtl8192sefw.bin”.

Ao final da instalação, pode-se observar que a interface wifi ainda não se encontra funcionando. Como veremos adiante, o firmware faltante que fora detectada pelo BIOS é justamente relativo a controladora wifi da máquina.

1.1) Primeiros passos – a identificação
a) Listar as PCI existentes
O utilitário lspci mostra informações sobre os barramentos PCI da máquina e sobre os “devices” conectados a estes.

$ lspci -v
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10)
	Subsystem: Quanta Microsystems, Inc Device 0308
	Flags: fast devsel, IRQ 16
	I/O ports at 3000 [size=256]
	Memory at d8100000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: 

Pelo quadro acima vemos que a informação de driver em uso não aparece. Confirmando que falta este firmware. O “device” foi percebido, mas está sem uso em função da inexistência do software de firmware.
$ lspci -nn
02:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller [10ec:8172] (rev 10)

Relembrando, conforme post “Entendendo os drivers Linux para arquitetura de barramento PCI“: a identificação de um dispositivo PCI é realizada através de 32 bits, da seguinte maneira:
dddd:bb:dd.f onde:
– cada domínio é identificado por 16 bits (“dddd”), podendo receber até 256 barramentos;
– cada barramento é identificado por 8 bits (“bb”), podendo receber até 32 dispositivos;
– cada dispositivo é identificado por 5 bits (“dd”), podendo existir até 32 dispositivos em cada barramento PCI;
– a função de cada dispositivo é identificado por 3 bits (“f”), podendo existir até 8 funções.

Logo, interpretando o caso acima, temos na máquina afeta uma controladora de rede no barramento número 02, identificada como o device número 00 deste barramento. Fazendo a leitura completa da saída do comando lspci, pode-se ver que esta máquina tem 5 barramentos identificados por 00, 01, 02, 03 e ff.

A tabela de dispositivos pci lidos a partir do BIOS está em /sys/bus/pci/devices/. No caso deste controlador de rede, suas informações podem ser obtidas em /sys/bus/pci/devices/0000:02:00.0/. Daí, usando-se os dois comandos abaixo:
$ cat /sys/bus/pci/devices/0000:02:00.0/vendor
$ cat /sys/bus/pci/devices/0000:02:00.0/device

pode-se tirar:
– o “vendor” identifica que o fabricante do hardware: é informado 0x10ec (e do sitio PCI Vendor and Device Lists vemos que este número identifica a Realtek Semiconductor Co., Ltd.)
– o “device” é onde o fabricante do hardware informa qual a identificação do dispositivo: é informado 0x8172 (e do sitio PCI Vendor and Device Lists vemos que este número identifica o device “Single-Chip IEEE 802.11b/g/n 1T2R WLAN Controller with PCI Express Interface”).

O circuito integrado (CI) em chip único Realtek RTL8191SE, é um CI MIMO (“Multiple In, Multiple Out”) que implementa solução Wireless LAN (WLAN) com especificação 802.11n (com suporte à IEEE 802.11b and 802.11g) trabalhando na banda de 2.4GHz. Ele integra um MAC, uma capacidade de banda básica 1T2R, e RF em um único “chip”. O RTL8191SE fornece uma solução completa de um cliente “wireless” de alta performance.

Indo ao sitio da Realtek, há como baixar drivers para Linux para este dispositivo. Escolha no menu: Communications Network ICs -> Wireless Lan ICs -> Wlan NIC -> IEEE 802.11b/g/n Single-Chip -> Software -> RTL8192SE e baixe o arquivo correspondente ao seu kernel. No caso do kernel 3.2.60, o arquivo a ser baixado é o 92ce_se_de_linux_mac80211_0005.1230.2011.tar.gz. Para o kernel anterior ao 2.6.24, o arquivo a ser baixado é o rtl819se_linux_2.6.0019.1207.2010.tar.gz.

1.2) Debian 6 (Squeeze)
Acessando os softwares de firmware do CI Realtek, e considerando que o kernel em uso na máquina é o 2.6.23, deve-se baixar o arquivo rtl819se_linux_2.6.0019.1207.2010.tar.gz que contém o driver adequado.

O arquivo baixado deve ser desempacotado e compilado. Certifique-se que sua máquina tem instalado os seguintes aplicativos:

# apt-get install linux-headers-$(uname -r)
# apt-get install gcc
# apt-get install make
# apt-get install binutils

É importantíssimo que a mesma versão do compilador (gcc) que foi utilizado para gerar  o kernel Linux também seja utilizada para compilar os drivers.  Proceda da seguinte maneira:

a) Verificar a versão do gcc utilizada pelo kernel:

$ cat /proc/version
Linux version 2.6.23-5-amd64 (Debian 2.6.23-38) (ben@decadent.org.uk) (gcc version 4.3.5 (Debian 4.3.5-4)

Vemos que a versão do gcc utilizada para compilar o kernel foi a versão 4.3.

b) verificar a versão em uso na máquina:
$ gcc -v
gcc version 4.4.5 (Debian 4.4.5-8)

ou através de:

$ cd /usr/bin
/usr/bin$ ls -l gcc*
lrwxrwxrwx 1 root root gcc -> gcc-4.4
-rwxr-xr-x 1 root root gcc-4.4
-rwxr-xr-x 1 root root gcc-4.3

Logo, observamos uma diferença.  Se a máquina não estiver com o gcc-4.3 instalado, faça sua instalação (pode ser facilmente através do Synaptic). Em seguida, execute:


/usr/bin# rm gcc
/usr/bin# ln -s gcc-4.3 gcc

Para certificar-se, visualize agora qual o compilador gcc que está ativo:
$ gcc -v
gcc version 4.3.5 (Debian 4.3.5-4)

Só então execute os seguintes comandos:


$ tar -xvzf rtl819se_linux_2.6.0019.1207.2010.tar.gz
$ cd rtl819se_linux_2.6.0019.1207.2010
$ make
# make install
Reinicie o computador agora....

OBS:
a) O módulo tem que ser recompilado toda vez que o número do kernel linux mudar.
b) O driver usa wlan0, e utilizando o comando lspci obtem-se DEVICE 8172 na linha 02:00.0. Se mostrado na linha 03:00.0 poderá também ser wlan1.
c) Em caso de necessidade de suporte quanto ao funcionamento do driver, pode ser tentado ajuda através do email wlanfae@realtek.com

1.3) Debian 7 (Wheezy)
Ao seguir o roteiro acima, baixando o arquivo 92ce_se_de_linux_mac80211_0005.1230.2011.tar.gz já que no momento o kernel da máquina 3.2.60, e seguindo os mesmos passos descritos para o Debian 6, após o reboot da máquina esta estará com a interface wifi funcionando normalmente.

Observe agora que a saída do comando lspci indica qual o driver em uso:

$ lspci -v
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10)
	Subsystem: Quanta Microsystems, Inc Device 0308
	Flags: bus master, fast devsel, latency 0, IRQ 16
	I/O ports at 3000 [size=256]
	Memory at d8100000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: 
	Kernel driver in use: rtl8192se

1.4) Debian 8 (Jessie)
Mais fácil ainda. Basta:
a) colocar em /etc/apt/sources.list a seção non-free. Por exemplo, algo assim:
deb http://ftp.br.debian.org/debian/ jessie main non-free
b) atualizar:
# apt-get update
c) instalar pacote de firmware (por linha de comando ou utilizando o synaptic):
# apt-get install firmware-realtek
d) reiniciar a máquina
# reboot

Pronto, a interface wifi deverá estar funcionando.

1.5) Comandos úteis
a) verificar se a placa wifi está bloqueada:
# rfkill list wlan (para wifi)
# rfkill list all (para wifi e bluetooth)

obs: inicialmente, fazer a instalação do aplicativo (apt-get install rfkill)
Se tudo estiver desbloqueado uma resposta do tipo deve ser fornecida:

1: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no
7: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no

 


b) desbloquear a placa (caso esteja bloqueada):
# rfkill unblock wlan (para wifi)
# rfkill unblock all (para wifi e bluetooth)
# /etc/init.d/network-manager restart (reiniciar a rede)

2. Configurando o adaptador de video Nvidia Geforce GT335M no Debian

O lap-top LG modelo LGR58 vem equipado com um processador gráfico NVIDIA GeForce da serie 300M (modelo GeForce GT 335M – mobile), com 1GB de memória dedicada.

# lspci -v

01:00.0 VGA compatible controller: NVIDIA Corporation GT215 [GeForce GT 335M] (rev a2) (prog-if 00 [VGA controller])
	Subsystem: LG Electronics, Inc. Device 0832
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at d2000000 (32-bit, non-prefetchable) [size=16M]
	Memory at c0000000 (64-bit, prefetchable) [size=256M]
	Memory at d0000000 (64-bit, prefetchable) [size=32M]
	I/O ports at 4000 [size=128]
	Expansion ROM at d3080000 [disabled] [size=512K]
	Capabilities: [60] Power Management version 3
	Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [78] Express Endpoint, MSI 00
	Capabilities: [b4] Vendor Specific Information: Len=14 <?>
	Capabilities: [100] Virtual Channel
	Capabilities: [128] Power Budgeting <?>
	Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
	Kernel driver in use: nouveau

 

Observe que está sendo utilizado o driver genérico “nouveau” para esta interface, e não o driver especializado da própria Nvidea.

a) Faça o download do driver do produto Geforce GT335M, diretamente do sitio da Nvidia.

b) Desinstalar o driver da Nouveau

A distribuição Debian já vem com um driver alternativo e aberto Nouveau para controladoras de vídeo da nVidia (Driver Open Source de Aceleração para placas nVidia) incluído no seu kernel Linux. O Fedora 11 já inclui este driver e a Canonical incluiu também no Ubuntu 10.04. A distribuição Debian também vem disponibilizando este driver em seus repositórios. O projeto nouveau visa à construção de drivers de código aberto de alta qualidade para placas nVidia. “Nouveau” [nuvo] em francês significa “novo”.

Preferi usar o próprio driver fornecido pela nVidea. Neste caso, devemos desinstalar os pacotes Nouveau:

Utilize o Synaptic e marque para desinstalar os pacotes nouveau:
libdrm-nouveau1a
libdrm-nouveau1a:i386
xserver-xorg-video-nouveau-dbg

Adicione ao arquivo (ou crie este arquivo se ainda não existir) /etc/modprobe.d/blacklist.conf as seguintes linhas:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

Agora reinicie o computador. Isto fará com o que o driver nouveau ainda em uso não seja mais utilizado. Após a reiniciação, verifique se realmente o driver nouveau não mais está obtendo a seguinte resposta ao comando abaixo:
# lshw -c video | grep 'configuration'
configuration: latency=0

c) Saia do servidor X (abra um terminal em modo texto – por exemplo, através de ctrl+alt+F1) e cancele todas aplicacoes OpenGL:

# /etc/init.d/gdm stop (se está usando gdm) ou
# /etc/init.d/gdm3 stop (se está usando gdm3)
# /etc/init.d/lightdm stop (se está usando o lightdm)

OBS: o gerenciador de login (para detalhes veja o post Gerenciadores de login no Debian) que está em uso pode ser facilmente identificado através de duas formas:
– pelo comando: $ cat /etc/X11/default-display-manager

– pela leitura do deamon ativo no sistema:

$ ps -A | grep gdm para saber se está usando gdm ou gdm3; ou
$ ps -A | grep lig para saber se está usando lightdm; ou
$ ps -A | grep kdm para saber se está usando kdm

d) Mude para a pasta contendo o driver, fazendo o arquivo baixado ter privilégios de ser executado:
# chmod +x NVIDIA-Linux-x86-256.44.run (para versão 32 bits), ou
# chmod +x NVIDIA-Linux-x86_64-340.32.run (para versão 64 bits)

e) Se ainda nao tiver instalado os arquivos listados abaixo, faça-o agora:

# apt-get install linux-headers-$(uname -r)
# apt-get install gcc
# apt-get install make
# apt-get install binutils

f) Por seguranca, faça uma cópia da configuração do servidor X:
#cp /etc/X11/xorg.conf /etc/X11/xorg.conf-original

g) Fazer a instalação do driver:
# ./NVIDIA-Linux-x86_64-340.32.run (para versão 64 bits)
O arquivo .run e’ um arquivo de auto extracao. Quando executado, ele extrai os conteúdos do arquivo e executa o utilitário nvidia-installer, o qual provê uma interface iterativa para o usuário fazer a instalação. Após a instalação reinicie o computador.

h) Verificar se o driver nvidia realmente está em uso
Após reiniciar o computador, verifique se o driver em uso é o nvidea:
– verificação-1: pelo comando abaixo, obtendo a seguinte resposta:
# lshw -c video | grep 'configuration'
configuration: driver=nvidia latency=0

– verificação-2: pelo comando lspci, obtendo a seguinte resposta:

# lspci -v

01:00.0 VGA compatible controller: NVIDIA Corporation GT215 [GeForce GT 335M] (rev a2) (prog-if 00 [VGA controller])
	Subsystem: LG Electronics, Inc. Device 0832
	Flags: bus master, fast devsel, latency 0, IRQ 44
	Memory at d2000000 (32-bit, non-prefetchable) [size=16M]
	Memory at c0000000 (64-bit, prefetchable) [size=256M]
	Memory at d0000000 (64-bit, prefetchable) [size=32M]
	I/O ports at 4000 [size=128]
	[virtual] Expansion ROM at d3080000 [disabled] [size=512K]
	Capabilities: [60] Power Management version 3
	Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [78] Express Endpoint, MSI 00
	Capabilities: [b4] Vendor Specific Information: Len=14 <?>
	Capabilities: [100] Virtual Channel
	Capabilities: [128] Power Budgeting <?>
	Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
	Kernel driver in use: nvidia

i) Alguns problemas que podem ser encontrados
i.1) se a versão do compilador GCC do kernel for diferente da versão do compilador instalado em seu sistema, quando desta etapa do procedimento de instalação  do driver ocorrerá uma mensagem de aviso e parada para o usuário abortar ou continuar a instalação.  No meu caso, a mensagem informava que o kernel usou o GCC4-3 e a versão atual é a GCC4-4. Por segurança, é melhor abortar e fazer a instalação do driver com a versão do compilador GCC compatível com a utilizada para compilar o kernel.  Para isto proceda da seguinte forma:

  • instale a versão do GCC 4-3 (utilize o synaptic, por exemplo)
  • verifique a versão do gcc atual:
    $gcc -v
    gcc version 4.4.5 (Debian 4.4.5-8)
  • verifique o local do compilador GCC.$ which gcc
    /usr/bin/gcc

    onde poderá se observar que gcc não passa de um link simbólico para o arquivo -> gcc-4.4
  • crie uma variável de ambiente CC, com valor de GCC4-3, pois no processo de instalação do driver esta será consultada e utilizada:
    # CC=gcc-4.3
    # export CC

Os comandos acima determinam que o conteúdo da variável CC é gcc-4.3, e o export CC é para tornar a variavel CC global  e poder ser visualizada em todos shells.
Para certificar-se, visualize o conteúdo da variável CC através do comando:
# env
Agora sim, dê início a instalação do driver novamente.

i.2) Se obtiver uma mensagem de erro relativo a não encontrar o apontador da árvore do kernel, proceda da seguinte forma:
# cd /usr/src
/usr/src# ln -s linux-headers-3.6.3-amd64/ linux

OBS: no caso acima para o kernel em uso que era o 3.6.3-amd64

i.3) Uma possível configuração para usar a interface RGB para um projetor: use o comando abaixo dentro do X (ou seja, com a interface gráfica sendo executada).
# nvidia-settings
Configure o que for necessário para o /etc/X11/xorg.conf e salve as modificações. Depois reinicialize o X e vai dar certo.

No meu caso, para ter a saída de vídeo reproduzida numa TV através da interface RGB fiz a seguinte configuração:

  • configuração para a tela do laptop LGD (DFP-0 on GPU-0):
    Configuration: TwinView
    resolução: 1024 x 768 60Hz
    position: absolute
  • configuração para o monitor TV LG Electronics LG TV (CRT-0 on GPU-0):
    Configuration: TwinView
    resolução: 1024x768 Auto
    Position: Clones

3. Mais informações:
1- Pacote Debian AMD64, ia64 ou i386 para Intel i5?
2- Blog do Jairo Sanches – Atheros AR8131 no Linux
3- To install Debian testing
4- Instalar o driver wireless RTL8191/8192SE
5- NVIDIA GeForce
6- Repositorios Debian
7- Migrando o Debian para o Squeeze
8- Debian Sources List Generator
9- Nouveau: driver open source de aceleração para placas nVidia
10- Como usar o o driver alternativo e aberto Nouveau
11- Debian – Package firmware-realtek
12- Entendendo melhor como funcionam os drivers em máquinas Linux
13- HDMI Audio on NVIDIA GPUs

AMD64, x64 ou x86-64 é o nome genérico dada à família (arquitetura) de processadores baseados na tecnologia de 64 bit, utilizada pelos processadores tanto da Intel como da AMD (AMD64 & Intel EM64T). É um superconjunto da arquitetura x86, que, por sua vez, tem esta denominação pelo fato dos primeiros processadores desta arquitetura terem sido identificados somente por números terminados com a seqüência “86”: o 8086, o 80186, o 80286, o 80386 e o 80486. Os processadores x86-64 também podem executar programas x86 (de 32-bit ou 16-bit). Assim, resumindo, arquitetura é o tipo de hardware com que o computador foi construído.

A mais popular é a arquitetura Intel/AMD. Na maioria dos casos utiliza-se as imagens para “i386”. Se o computador tem um processador de 64 bits, AMD ou Intel, deve-se optar por uma imagem “amd64” (apesar da “i386” funcionar bem). Mas a imagem “ia64” não vão funcionar. Apenas os processadores Itanium (que são da Intel, e para servidores de alto desempenho) roda o IA-64, que é incompativel com o resto. O IA64 só consegue executar nativamente aplicativos 64 bits . Para os demais processadores que suportam 64-bit, deve-se usar o pacote AMD64. O nome AMD64 é porque os primeiros 64-bit eram AMD, e o nome perdura até hoje, mas serve para os intel 64-bit. Para processadores 64bits o pacote AMD64 teoricamente dará um melhor desempenho.

É bom citar que a imagem de 32 bits tem a capacidade de controlar até 4GB de memória RAM. Assim, se seu PC tem um processador de 64 bits AMD ou Intel, você provavelmente deve optar as imagens AMD64 (apesar da i386 funcionar bem). Mas as imagens IA64 não vão funcionar.

Veja mais:
1- Qual das inúmeras imagens eu devo baixar? (FAQ – Debian)
2- Debian – hardwares suportados
3- Arquitetura de processadores baseados na tecnologia de 64 bit
4- EM64T – implementação da Intel da AMD64
5- Forum Guiadohardware: duvida….ia64 e amd64

O APT utiliza um arquivo que lista todos os ‘repositórios’ de onde os pacotes serão obtidos. Esse arquivo é o /etc/apt/sources.list. As entradas deste arquivo normalmente seguem o seguinte formato:

deb http://site/debian/ nome_distribuicao secao1 secao2 secao3
deb-src http://site/debian/ nome_distribuicao secao1 secao2 secao3

Exemplo:
deb http://ftp.br.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.br.debian.org/debian/ squeeze main contrib non-free

O arquivo /etc/apt/sources.list pode conter vários tipos de linha. O APT sabe lidar com repositórios do tipo http, ftp, arquivo, ssh, etc.

Versões e seções das distribuições Debian

Os pacotes Debian estão distribuídos pelas seguintes versões:
Stable: este é o último lançamento oficial da distribuição Debian. Ela é estável e com software bem testado.
Testing: contém pacotes que devem se tornar parte da próxima distribuição estável (“stable”). A “testing” não recebe as atualizações rápidas de segurança.
Unstable: contém os pacotes mais recentes no Debian. Após o pacote atingir o critério de estabilidade e qualidade de empacotamento, ele será incluído na testing.

Observações:
(a) na prática, os pacotes das versões “Testing” e “Unstable” são atualizados dinamicamente (diferente dos pacotes do “Stable” que recebem apenas atualizações de segurança).
(b)  as atualizações de segurança ficam disponíveis apenas para a versão “etable”.

Já as seções do repositório Debian são as seguintes:
Main: seção do repositório do Debian que contém a distribuição oficial Debian.
Contrib: pacotes nesta seção são livremente licenciados pelo detentor do copyright mas dependem de outros pacotes que não são livres.
Non-Free: pacotes nesta seção têm algumas condições na licença que restringem o uso ou redistribuição do software.

Comandos:

  • # apt-get update
    Atualiza a lista de pacotes disponíveis.
  • # apt-get upgrade
    Atualiza as versões dos pacotes que já estão instalados na máquina.
  • $ apt-cache search palavra_chave
    Procura por um pacote através de uma palavra chave (exemplo: “apt-cache search mysql” irá exibir todos os pacotes que possuem aquela palavra chave em seu nome/descrição).
  • $apt-cache show palavra_chave
    Para obter maiores informações no repositório sobre um determinado pacote. No caso do pacote já estar instalado no sistema e haver uma versão mais nova, será informações sobre ambos os pacotes: a primeira a ser listada é a disponível e a segunda, a que já se encontra instalada. (exemplo: apt-cache show dia).
  • apt-cache showpkg palavra_chave
    Para uma informação mais geral sobre um determinado pacote. Exemplo: $ apt-get showpkg postgresql
  • $ apt-cache depends palavra_chave
    Para saber as dependências de um pacote. Exemplo: $ apt-cache depends postgresql
  • $ apt-cache policy postgresql
    Verifica as instalações realizadas do postgreSQL na máquina, bem como as versões disponíveis para instalaćão
  • # apt-get install nome_pacote
    Comando para instalar um pacote, após listagem de pacotes estar atualizada (apt-get update).
  • # apt-get install -d nome_pacote
    Comando para apenas baixar o pacote, mas não instalá-lo. O arquivo e suas dependências serão salvos em /var/cache/apt/archives/ . Exemplo: # apt-get install -d postgresql
  • # apt-get remove nome_pacote
    Remover um pacote (se o pacote a ser removido tem dependência de outros pacotes, e o APT irá remover todos os pacotes que dependam dele. Não existe nenhuma forma de remover um pacote usando o APT sem remover também os pacotes que dependem do pacote em questão).
  • $ find /var/cache/apt/ -name *.deb
    Listar os pacotes em cache mantidos pelo apt.  O apt faz um cache dos programas que foram instalados, o que pode ser útil quando for fazer várias instalações com os mesmos programas, sem ter que baixar tudo de novo. O apt mantém os programas mesmo que tenham sido desinstalados. Mas com o tempo, torna-se um espaço ocupado inutilmente no HD.   OBS: uma instalação manual de um pacote via comando “dpkg” não gera um cache do arquivo.
  • # apt-get clean
    Comando para limpar o cache do apt no computador local.
  • $ du -h /var/cache/apt/
    Para saber o tamanho ocupado pelo cache do apt.
  • $ dpkg -l
    Comando para listar todos os pacotes instalados.  Seja ele instalado via comando apt ou instalado manualmente via comando “dpkg”.
  • # dpkg  -i googleearth_5.1.3533.1731-0medibuntu1_i386.deb
    Faz a instalação manual do pacote googleearth, versão 5.1…..
  • # dpkg -P googleearth
    Faz a remoção completa (“purge”) do arquivo googleearth anteriormente instalado.

Em casos de erros
Caso uma instalação quebre durante o processo e o usuário fique impossibilitado de instalar e remover pacotes, usar os dois comandos a seguir:


# apt-get -f install
# dpkg --configure -a

Para saber mais:
1- APT HOWTO: Gerenciando pacotes no debian: Instalacao, atualização….
2- Debian Sources List Generator
3- Migrando para o Debian Squeeze

Você está compilando um programa e, de repente, boom! Há um erro porque falta um arquivo .h que você não tem. O auto-apt pode te salvar de coisas assim. Ele pede para instalar os pacotes caso sejam necessários pausando o processo dependente e depois de instalado o pacote, continuando.

Primeiro instale o auto-apt:
#apt-get install auto-apt

Depois, o que você faz, basicamente, é executar:

# auto-apt run comando

Onde `comando’ é o comando a ser executado que pode vir a precisar de um arquivo qualquer. Por exemplo:

# auto-apt run ./configure

Ele irá então pedir para instalar os pacotes necessários e irá chamar o apt-get automaticamente. Caso você esteja no X, uma interface gráfica substituirá a interface de texto padrão.

O auto-apt mantém bancos de dados que devem ser atualizados para que ele tenha real eficácia, isso é feito chamando os comandos auto-apt update, auto-apt updatedb e auto-apt update-local.

Veja mais em:
Como usar o apt

Estando com um ambiente Gnome instalado e desejando instalar pacotes a partir de um CD adicional, a primeira ação é cadastrar o CD na lista de repositórios (/etc/apt/sources.list):

#apt-cdrom add

Colocando o novo Cd contendo pacotes debian na unidade de disco e abrindo o synaptics, este aplicativo já mostrará a lista de pacotes possíveis de serem instalados a partir deste disco.

No entanto, se o sistema não tiver o synaptic instalado ainda, estando este aplicativo no novo CD, instale-o da seguinte forma:

#mount /media/cdrom
#cd /media/cdrom/pool/main/s/synaptic
#dpkg -i synaptic_versao_xxx.deb

A pasta que contém os pacotes disponíveis no CD é “pool/main”, entramos na pasta dos pacotes que começam com a letra “s” e depois na pasta do pacote que queremos instalar (synaptic). Pronto, após estes comandos o pacote synaptic já estará disponível para uso no sistema.