|
| |
Software
Conheça os detalhes do funcionamento do
apt-get,
a ferramenta que facilita a
atualização do Linux
A atualização do Linux é fundamental
para manter a segurança do sistema. Quando uma falha de segurança é
encontrada, a correção é rápida e a atualização, disponibi-lizada na
Internet. A ferramenta que facilita a vida do administrador de sistemas é o
apt-get. Esta ferramenta procura na Internet os pacotes atualizados e
realiza a atualização destes pacotes de forma transparente e automática,
inclusive resolvendo todas as “dependências”.
Dependências
O tratamento de dependências é uma
característica importante em sistemas de gerenciamento de pacotes. Ele
ajuda a manter a consistência do sistema, assegurando que tudo o que é
necessário para o funcionamento de um determinado programa esteja
instalado, na versão esperada.
Porém, ferramentas como rpm ou dpkg
apresentam um tratamento de dependências limitado. Elas se restringem à
checagem das dependências de um pacote e a avisar o usuário que as
operações relacionadas àquele pacote não poderão ser executadas até que
todas as dependências sejam resolvidas. A instalação do pacote Pingus, por
exemplo, envolve os seguintes passos:
1) Fazer o download do pacote Pingus.
2) Instalar com rpm -ivh; receber
mensagens do gerenciador de pacotes avisando sobre bibliotecas não
encontradas chamadas libClanLib.so e libSDL.so.
3) Descobrir quais pacotes contêm estas
bibliotecas (www.rpmfind.net...).
4) Fazer o download dos pacotes ClanLib
e SDL.
5) Instalar estas bibliotecas; receber
novamente mensagens do gerenciador de pacotes, desta vez reclamando da
falta de uma tal de libHermes.so.1; ficar impaciente com o gerenciador de
pacotes.
6) Repetir os passos 3 e 4 para o
pacote Hermes e instalá-lo.
7) Finalmente, instalar o Pingus.
Situações parecidas podem ser
encontradas na remoção de pacotes, já que um determinado pacote não pode
ser desinstalado até que todos os pacotes que dependem dele sejam
previamente removidos.
A atualização de pacotes é similar à
instalação. Não basta simplesmente obter uma nova versão e instalá-la. O
novo pacote pode apresentar diferentes dependências em relação ao anterior,
necessitando de novos pacotes ou versões diferentes de alguns já instalados.
Naturalmente, tais tarefas poderiam e
deveriam ser executadas automaticamente pelo gerenciador de pacotes, e não
pelo usuário. E é exatamente isto que o APT — Advanced Pa-ckage Tool
(Ferramenta Avançada para Pacotes) — faz. Ele pode instalar, remover e
atualizar pacotes, gerenciando dependências e downloads de pacotes
automaticamente. Os mesmos passos descritos acima podem ser executados pelo
APT, conforme mostrado na tabela 1:
Em virtude de o apt-get executar
tarefas de manutenção do sistema, como atualizações de programas, de forma
totalmente automática, os usuários podem sempre manter seu sistema em dia.
Por exemplo, configurá-lo para obter atualizações de segurança de pacotes
instalados pode ser tão simples quanto efetuar “apt-get upgrade”
periodicamente.
APT e
pacotes RPM
O APT foi escrito inicialmente por
desenvolvedores do Debian (Brian White, Jason Gun-thorpe e outros
voluntários). Conseqüentemente, ele suportava somente sistemas Debian e seu
geren-ciador de pacotes dpkg. Embora tenha sido escrito para ser
razoavelmente independente do sistema subjacente ao gerenciamento de
pacotes, ninguém havia escrito uma versão dele compatível co m o RPM. Ao
invés disso, muitos esforços independentes criaram programas diferentes
para executar tarefas parecidas em sistemas que usam RPM.
O autorpm, rpmfind, up2date/RHUN,
urpmi/rpmdrake/Mandrake Update e muitos outros executam operações
similares. A tabela 2 mostra um resumo comparativo das características
presentes em cada uma das ferramentas:
O APT parece estar melhor implementado
que seus similares específicos para RPM e, após uma rápida avaliação
empírica, também parece ser mais rápido. Daí ter sido escrito um suporte
RPM para o APT. Este suporte faz com que o APT possa ser usado para
instalar pacotes RPM em sistemas baseados em RPM como Conectiva, Mandrake,
Red Hat e SuSE. A maior parte das ferramentas de terceiros baseadas em APT
- senão todas pode igualmente ser portada com relativa facilidade para
também poder trabalhar com pacotes RPM.
A versão atual RPM para APT é baseada
no APT 0.3.19 e é mantida separadamente da versão oficial do APT. Esforços
estão sendo envidados para adicionar as alterações de suporte a RPM à
versão oficial do APT, a qual contém algumas novas ca-racterísticas e um
novo código para melhor suportar diferentes sistemas de empacotamentos.
Assim que essa versão esteja concluída, espera-se que as próximas versões
oficiais do APT venham com suporte a RPM.
Synaptic
O Synaptic é um frontend gráfico que
possui todas as funções do apt-get, o que possibilita a atualização do
sistema sem a necessidade de digitar comandos na no console. Apresenta dois
painéis, um com a lista dos pacotes e outro com a descrição detalhada dos
componentes de um pacote. Para instalar, selecione o pacote e clique em
instalar. Para remover, selecione um pacote e clique em remover. Simples,
não?
Tabela 1
[root@zaphod ~]# apt-get install pingus
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be
installed:
ClanLib Hermes ImageMagick
The following NEW packages will be
installed:
ClanLib Hermes ImageMagick pingus
0 packages upgraded, 4 newly installed,
0 to remove and 9 not upgraded.
Need to get 2596kB of archives. After
unpacking 9357kB will be used.
Do you want to continue? [Y/n] y
Get:1 ftp://mapi2
latest/conectiva/extra ClanLib 0.5.0-5cl [1087kB]
Get:2 ftp://mapi2
latest/conectiva/extra Hermes 1.3.2-2cl [61.6kB]
Get:3 ftp://mapi2 latest/conectiva/main
ImageMagick 5.2.4-3cl [1034kB]
Get:4 ftp://mapi2
latest/conectiva/extra pingus 0.4.1-2cl [413kB]
Fetched 2596kB in 0s (3619kB/s)
Executing RPM (-Uvh)...
Preparing...
########################################### [100%]
1:pingus
########################################### [ 25%]
2:ClanLib
########################################### [ 50%]
3:ImageMagick
########################################### [ 75%]
4:Hermes
########################################### [100%]
Tabela 2
Quadro comparativo entre as diferentes
ferramentas de atualização e seus
recursos
APT autorpm rpmfind up2date/RHUN
*drake*/urpmi Download de pacotes Sim Sim Sim Sim Sim
Resolução de depend. Sim Não Sim Sim(1)
Sim(1)
Instalação de pacotes Sim
Não Sim Não Sim
Remoção de pacotes Sim Não
Não Não Sim
Atualização de pacotes Sim
Sim Sim Sim Sim
Atualização do sistema Sim Não Sim Sim
Sim
Serv.http/ftp padrão(2) Sim Sim Não Não
Sim
Interf. linha de comando Sim Sim Sim Não
Sim
Interf. baseada em Curses Sim Não Não
Não Não
Interface X11 Sim Não Sim Sim Sim
Operação não interativa Sim Não Sim Sim
Não
Autenticação de pacotes Sim(4) Não Sim ?
Sim
Autenticação espelho(3) Sim(4) ? ? ? ?
Importância da Atualiz.(5) Sim(4) Não ?
Sim Sim
1) Resolução de dependências até um
número fixo ou configurável de passagens.
2) Normalmente todas as ferramentas
requerem um índice especial de pacotes no servidor. Esse arquivo contém
informações sobre os pacotes disponíveis; é um arquivo comum que pode ser
baixado de servidores ftp ou http modificados, facilitando a configuração
de sites espelho.
3) A autenticação de pacotes verifica
automaticamente se o pacote baixado é realmente o que o fornecedor
entregou. A autenticação de espelhos verifica se o conteúdo de um espelho é
o mesmo do site original.
4) Esta característica foi incluída na
versão RPM do APT, mas ainda não foi portada para a versão oficial.
5) Quando um pacote está sendo
atualizado, mostra o motivo da atualização. É útil quando o usuário deseja
saber se uma atualização está relacionada à segurança ou apenas a um
aprimoramento.
| | |
|
|
|
|