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