Como usar o APT Capítulo 2 - Configurações Básicas

2.1 O arquivo /etc/apt/sources.list

Para seu funcionamento, o APT utiliza-se de um arquivo que lista as `fontes' de onde ele obterá os pacotes. Esse arquivo é o /etc/apt/sources.list.
As entradas desse arquivo são normalmente formadas assim:
deb http://host/debian distribuição seção1 seção2 seção3
deb-src http://host/debian distribuição seção1 seção2 seção3
É lógico que essas entradas são fictícias e não devem ser usadas. A primeira palavra das linhas, deb e deb-src indicam o tipo de repositório: se guarda pacotes binários (deb), ou seja, os pré-compilados que normalmente usamos ou se guarda pacotes fonte (deb-src), que são o fonte original do programa mais o arquivo de controle Debian (.dsc) e o diff.gz contendo as modificações necessárias para se debianizar o programa.
Normalmente encontramos nos sources.list padrões do Debian o seguinte:
# See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free

# Uncomment if you want the apt-get source function to work
#deb-src http://http.us.debian.org/debian stable main contrib non-free
#deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
Basicamente, isso é o necessário. A primeira linha com deb aponta para o repositório oficial, a segunda para o non-US e a terceira para as atualizações de segurança.
As duas últimas linhas estão comentadas, (têm um `#' no início) o que faz com que o apt-get as ignore. Elas são do estilo deb-src, ou seja, têm os pacotes fonte do Debian. Se você costuma baixar fontes de programas para testar ou recompilar, descomente-as.
O arquivo /etc/apt/sources.list pode conter vários tipos de linhas. O APT sabe lidar com repositórios httpftpfile (arquivos locais, por exemplo, um diretório que contenha uma ISO montada) e ssh, até onde eu sei.
Não se esqueça de rodar apt-get update depois de modificar o arquivo /etc/apt/sources.list. Você precisa fazer isso para que o APT obtenha as listas de pacotes das fontes que você especificou.


2.2 Como usar o APT localmente

Algumas vezes você tem um monte de pacotes .deb que gostaria de usar o APT para instalar, para que as dependências fossem automaticamente resolvidas.
Para isso crie um diretório e nele coloque os .deb que você quer ter indexados. Por exemplo:
# mkdir /root/debs
Você pode modificar as definições do arquivo de controle dos pacotes diretamente no repositório usando um arquivo override. Dentro desse arquivo você pode definir algumas opções para se sobreporem ao que vem junto do pacote. Ele tem a seguinte forma:
pacote prioridade seção
Pacote é o nome do pacote, prioridade é low, medium ou high e seção é a seção a qual ele pertence. O nome do arquivo não importa, ele vai ser passado como argumento para o comando dpkg-scanpackages mais tarde. Se você não quer usar um arquivo override use /dev/null.
Ainda no diretório /root faça:
# dpkg-scanpackages debs arquivo | gzip > debs/Packages.gz
Na linha acima, arquivo é o arquivo override, o comando gera um arquivo Packages.gz que contém informações diversas sobre os pacotes que serão usadas pelo APT. Para usar os pacotes, finalmente, adicione:
deb file:/root debs/
Depois é só usar os comandos do APT normalmente. Você também pode gerar um repositório de fontes. Para isso use o mesmo procedimento, mas leve em conta que precisa ter os arquivos .orig.tar.gz.dsc e .diff.gz no diretório e use Sources.gz ao invés de Packages.gz. O programa a ser usado também difere. É o dpkg-scansources. Fica assim:
# dpkg-scansources debs | gzip > debs/Sources.gz
Note que o dpkg-scansources não precisa de um arquivo override. A linha pro sources.list fica:
deb-src file:/root debs/

2.3 Decidindo qual mirror incluir no sources.list: netselect, netselect-apt

Uma dúvida muito freqüente, principalmente dos usuários mais novos, é "qual mirror do Debian colocar no sources.list". Para decidir qual o mirror existem várias maneiras. Os mais experientes provavelmente já terão um script pronto medindo os tempos de ping entre os diversos mirrors. Mas já existe um programa que faz isso para nós: netselect.
Para instalar o netselect, como sempre:
# apt-get install netselect
Executando-o sem parâmetros mostra a ajuda. Executando-o com uma lista separada por espaços de hosts (mirrors), ele retornará um escore e um dos hosts. Esse escore leva em consideração o tempo estimado de ping e o número de hops (hosts pelos quais uma requisição de rede deve passar para chegar no host destino), e é inversamente proporcional à velocidade estimada de download (ou seja, quanto menor, melhor). O host retornado é o que obteve o menor escore (a lista dos escores pode ser obtida acrescentanto a opção -vv). Veja o seguinte exemplo:
# netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
365 ftp.debian.org.br
#
Isso significa que, dos mirrors incluídos como parâmetros do netselect, ftp.debian.org.br foi o melhor, com um escore de 365. (Atenção!! Como isso foi feito do meu computador e a topografia da rede é extremamente diferente dependendo do ponto de contato, esse valor não necessariamente reflete corretamente a velocidade em outros computadores).
Agora, basta colocar o mirror mais rápido encontrado pelo netselect no arquivo /etc/apt/sources.list (veja O arquivo /etc/apt/sources.list, Seção 2.1) e seguir as dicas em Gerenciando pacotes, Capítulo 3.
Observação: uma lista de mirrors pode sempre ser encontrada no arquivo http://www.debian.org/mirror/mirrors_full.
A partir da versão 0.3.ds1 o pacote fonte netselect inclui o pacote binário netselect-apt, que automatiza o processo descrito acima. Basta usar como parâmetro do script a distribuição (se não for mencionada, stable é adotada como padrão) e o arquivo /etc/apt/sources.list é gerado com os melhores mirrors da seção main e non-US e gravado no diretório atual. O exemplo a seguir gera um sources.list da distribuição stable.
$ ls sources.list
ls: sources.list: File or directory not found
# netselect-apt stable
(...)
# ls -l sources.list
sources.list
#
Lembre-se: o arquivo sources.list gerado no diretório atual deve ser movido para o diretório /etc/apt.
Depois basta seguir as dicas em Gerenciando pacotes, Capítulo 3.

2.4 Colocando um CDROM na sources.list

Se você preferir usar um CDROM para instalar seus pacotes ou atualizar seu sistema automaticamente com o APT, você pode colocá-lo na suasources.list. Para fazer isso, rode o apt-cdrom assim:
# apt-cdrom add
com o CDROM do Debian no drive. Ele irá montar o CDROM, caso seja o certo e irá buscar as informações de pacote dele. Caso sua configuração de CDROM esteja um pouco confusa, você pode usar as seguintes opções:
-h           - ajuda do programa
-d diretório - ponto de montagem do CDROM
-r - renomear um CDROM reconhecido
-m - não montar
-f - modo rápido (não atualiza lista de pacotes)
-a - scan minucioso
Por exemplo:
# apt-cdrom -d /home/kov/meucdrom add
Você ainda pode identificar o CDROM apenas, sem adicioná-lo:
# apt-cdrom ident
Note que esse programa só funciona caso seu CDROM esteja bem configurado em seu /etc/fstab.

0 comentários:

Postar um comentário