Revista Do Linux
 


 
EDIÇÃO DO MÊS
 CD do Mês


 Capa
 Entrevista
 Estudo de Caso 1
 Estudo de Caso 2
 Software
 Programação
 Ferramenta
 Serviço Público
 Comunidade
 Emulador
 Banco de Dados
 WEB
 Corporativo
 Distro
assinantes
 

Sistema "Redondo"

Conheça um pouco da ferramenta que permite atualizar seu sistema sem traumas de dependência

Em muitas distribuições, principalmente nas baseadas em pacotes rpm, instalar um programa ou atualizá-lo pode ser um procedimento trabalhoso. Em alguns casos, recebemos a mensagem do sistema alertando que este pacote possui “dependências”, o que significa que ele possui arquivos necessários que estão em outros pacotes. Em muitos casos, é preciso pesquisar em que pacote se encontra a biblioteca x ou o arquivo y. Muitas distribuições procuram um método para resolver esse problema. Neste artigo, vamos falar um pouco do APT (Advanced Package Tool) disponível no Conectiva Linux a partir da versão 6.0.

O APT é um conjunto de ferramentas utilizadas para gerenciar os pacotes de uma forma automatizada, de maneira que, quando for solicitada a instalação de um pacote, este irá procurar os arquivos que complementam o pacote a ser instalado. Este recurso, além de instalar, também pode remover ou atualizar todos os pacotes necessários para o funcionamento do pacote que foi escolhido. O APT traz a funcionalidade de instalação dos pacotes, tanto através do CD-ROM como por FTP. A atualização é possível por FTP ou por CD preparado para esta atualização.

Os comandos utilizados pelo APT possuem uma sintaxe simples, como mostra o exemplo abaixo:

[root@localhost]# apt-get install netscape.

Detalhando este comando teríamos:

apt-get  é a chamada feita ao aplicativo
install  é a sintaxe que informa que função o apt deverá executar:
install  instala o pacote desejado
remove  remove o pacote desejado
dist-upgrade  verifica e atualiza os pacotes mais novos na distribuição (disponível somente por FTP)
netscape.:  Pacote que queremos instalar. O “.” (ponto) indica que o apt deverá instalar todos os pacotes que iniciem com o nome netscape. Ex: netscape, netscape-common, netscape-navigator, etc.

Este seria o comando para instalar com o APT. Caso o Netscape necessite de algum outro pacote ou biblioteca, o APT irá procurar qual pacote adicional deverá instalar. Para que o APT consiga procurar estes pacotes, é preciso apontar o local onde ele deverá procurar a lista de índices. Primeiro, temos que ter o APT instalado. Utilize o comando abaixo para verificar se o APT está instalado em seu sistema. Caso não esteja, utilize o CD do Conectiva e instale-o, seguindo os passos abaixo:

Para verificar se o pacote do APT está instalado em seu sistema:

[root@localhost root]#rpm -qa |grep apt

Se os pacotes referentes ao APT não forem listados, utilize os comandos abaixo para instalá-lo:

[root@localhost]# mount /mnt/cdrom
[root@localhost]# rpm -ivh  /mnt/cdrom/conectiva/RPMS/apt*

Os arquivos de configuração ficam no diretório /etc/apt. Entre os arquivos que estão nesta pasta, o sources.list é o que nos interessa, pois nele estão os caminhos dos repositórios onde o APT deverá buscar no índice de pacotes.

rpm [cncbr] ftp://atualizacoes.conectiva.com.br 7.0/conectiva updates
rpm cdrom:[Conectiva Linux 7.0 - CD1]/ conectiva main

Temos, acima, duas linhas de exemplo que podem ser encontradas no arquivo sources.list. A primeira aponta para um repositório de FTP, que já vem configurado por default no arquivo. A segunda linha mostra um exemplo de configuração do primeiro CD do Conectiva Linux 7.0.

Mas vamos ao que interessa: Como posso configurar meu APT para pegar os arquivos dos CDs de instalação ou as atualizações do site de FTP disponibilizados pela Conectiva e seus mirrors?

O primeiro exemplo mostra como adicionar o CD 1 do Conectiva Linux 7.0

[root@localhost]# apt-cdrom add -a 

Assim o APT identificará os índices que estão contidos no CD. Este comando deve ser repetido para todos os CDs, à medida que forem sendo utilizados. Edite o arquivo sources.list e comente as linhas que apontam para o FTP, deixando apenas as linhas referentes ao cd-rom como o exemplo abaixo:

# rpm [cncbr] ftp://atualizacoes.conectiva.com.br 7.0/conectiva updates
rpm cdrom:[Conectiva Linux 7.0 - CD1]/ conectiva main

Para trabalhar com FTP, não há necessidade de se inserir os índices dos CDs. Caso eles já estejam no arquivo, comente-os. Abaixo segue um exemplo da entrada utilizada pelo APT através do FTP:

[root@localhost root]# mcedit /etc/apt/sources.list

rpm [cncbr] ftp://atualizacoes.conectiva.com.br 7.0/conectiva updates

A linha acima é simples. A parte [cncbr] informa que os pacotes baixados pela Internet serão checados por uma chave GPG. Isto, para garantirmos que o pacote recebido não foi alterado, e possa conter algo que prejudique nosso sistema. Mas para usar esta linha, configure o GPG na sua máquina. Para isso, siga a receita abaixo:

Monte o primeiro CD do Conectiva Linux:

[root@localhost]# mount /mnt/cdrom

em seguida, instale a chave pública:

[root@localhost]# gpg --import /mnt/cdrom/RPM-GPG-KEY

A outra parte informa qual é o endereço do FTP e o diretório onde estão os pacotes. Por fim, a palavra updates, que informa quais são os pacotes de atualizações. Veja que na linha do cdrom 1, a última palavra também é updates, porém não são as mais recentes.

Estando os arquivos configurados e conectados na Internet, para utilizarmos a atualização através do FTP, digite:

[root@localhost]# apt-get update

Assim, o APT irá gerar uma base de arquivos de previsão, para saber quais os pacotes que existem e quais as dependências. Para instalar, remover ou atualizar, basta utilizar os comandos citados anteriormente.

Uma vez solicitado ao APT para instalar algum pacote ou efetuar uma atualização (upgrade ou dist-upgrade), ele fará download dos pacotes necessários em /var/cache/apt/archives/partial/ e, após verificar seus hashes e tamanhos de MD5, moverá estes pacotes para /var/cache/apt/archives/.

Pode-se assim assumir que todo arquivo no diretório archives/ foi verificado.

Utilize o comando apt-get clean para excluir os arquivos do diretório archives/ e archives/partial/:

[root@localhost]# apt-get clean                                            

Através destas configurações sem muitos conceitos técnicos, estamos com a ferramenta APT funcionando, pronta para instalar, remover ou atualizar programas, de forma simples sem precisar ficar se preocupando em encontrar as dependências.

Comandos úteis e mais utilizados do APT

apt-get update: Atualiza o banco de dados local do apt-get com os arquivos pkglist do servidor.

apt-get update check: Verifica a integridade dos pacotes rpm e do banco usado pelo apt. Execute este comando quando tiver dúvidas quanto à integridade dos pacotes do seu sistema. É recomendável executá-lo antes de efetuar uma atualização de distribuição.

apt-get install algum-pacote: Instala algum pacote novo, solucionando e carregando automaticamente os pacotes dos quais o aplicativo a ser instalado depende. Caso o pacote algum-pacote já esteja instalado, ele atualiza pela versão mais recente.

apt-get source algum-pacote: Faz o download dos fontes de um pacote (SRPM). Note que é preciso haver uma linha com o TIPO rpm-src no arquivo sources.list para que este comando execute.

apt-get upgrade: Procura por pacotes desatualizados no sistema e os atualiza automaticamente. Atualizará todos os pacotes antigos no sistema. Para atualizar um pacote e suas dependências, utilize o comando apt-get install pacote_a_ser_atualizado

apt-get dist-upgrade: Semelhante ao apt-get upgrade, mas instala todos os pacotes básicos e tenta atualizar tudo, instalando novos pacotes caso seja necessário. É uma maneira mais fácil de fazer uma atualização de sua distribuição.

apt-get remove algum-pacote: Remove o pacote algum-pacote e todos os demais pacotes que dele dependam.

apt-get clean: Remove os arquivos encontrados no diretório cache (/var/cache/apt/archives/), liberando um pouco de espaço no seu disco de sistema. É uma maneira automática de apagar os arquivos que já foram instalados e que não são mais necessários.

para saber mais;

distro.conectiva.com.br/atualizacoes/#apt


Paulo Roberto Oliveira Junior - casper@bbs2.sul.com.br

Marcelo Martins - mmartins@bbs2.sul.com.br


A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade
Anuncie na Revista do Linux