terça-feira, 9 de julho de 2013

FERRAMENTAS PARA O GERENCIAMENTO DE PACOTES E SERVIÇOS – PARTE 01

A instalação de programas e serviços em distribuições Linux, embora pareça um processo complicado, torna-se trivial com a utilização de ferramentas que auxiliam nesse processo, resolvendo problemas de dependências e inconsistências durante a instalação. Mas para que esse processo seja concluído com êxito, é necessário o conhecimento das ferramentas de gerenciamento de pacotes utilizadas em cada distribuição.


CONCEITO SOBRE PACOTES E DEPENDÊNCIAS
Pacotes são conjuntos de arquivos que tem por objetivo a instalação de softwares ou serviços no mundo Linux. Ao instalar um determinado software, diversos arquivos podem ser necessários para seu funcionamento, e para isso, vários arquivos são necessários, o que é conhecido como dependência de pacotes.
Ao instalar um software suas dependências também precisam ser instaladas, para garantir que os recursos presentes no software possam funcionar corretamente. Essas dependências estão disponíveis nos chamados Repositórios, que são os locais onde são armazenados os arquivos necessários para manutenção de determinada distribuição. Poderíamos comparar as dependências com as dlls presentes no mundo Windows, que são os arquivos que contêm as bibliotecas necessárias para o funcionamento dos programas.


UTILIZANDO O APT-GET
O apt-get é o gerenciador de pacotes das distribuições derivadas no Debian como Ubuntu, Kubuntu, dentre outros. A principal função do apt-get é baixar pacotes dos repositórios oficiais das distribuições de forma a manter o sistema sempre atualizado.
Abaixo seguem alguns comandos utilizados via apt-get e um comentário sobre seu funcionamento:
Obs: Comandos precedidos pelo símbolo # podem ser executados sem privilégios de root. Já os comandos precedidos de $ necessitam que se execute como administrador.

# apt-get update

Atualiza os pacotes que puderem ser atualizados. É recomendado que se execute esse comando ao final de uma instalação, para garantir que os pacotes estejam atualizados

# apt-get install

Comando utilizado para a instalação de um programa. A sintaxe é apt-get install <<nome do pacote>>
Automaticamente serão instaladas também todas as dependências necessárias para o funcionamento do aplicativo.

No exemplo acima observamos que para a instalação do apache2 serão necessários outros pacotes (dependências) que são automaticamente selecionados para instalação. No caso temos apache2-mpm-worker apache2-utils apache2.2-common. Além disso, são sugeridos outros pacotes que podem oferecer funcionalidades extras. No exemplo temos apache2-doc apache2-suexec apache2-suexec-custom.



ATUALIZANDO UM PACOTE JÁ INSTALADO
Para atualizar um pacote já instalado, é necessário atualizar o banco de dados do apt-get, e depois proceder como se fosse instalar o pacote novamente.

#apt-get update
#apt-get install apache 2


ATUALIZANDO TODOS OS PACOTES DO SISTEMA
Se você deseja fazer uma atualização em todos os pacotes do sistema de uma só vez, utilize a opção upgrade. Essa opção instala, se disponível, uma versão mais nova de todos os pacotes já instalados. Pacotes com versões mais novas mas que possam exigir modificações de outros pacotes, não serão atualizados.

#apt-get update
#apt-get upgrade

Dependendo do quão atualizado está sua distribuição, pode ser necessário o download de uma grande quantidade de dados.
 Pode-se deixar também que o próprio apt-get cuide de todas as dependências para você, de forma a ter uma atualização menos propensa a erros.
A opção dist-upgrade já consegue atualizar pacotes que necessitem que dependências também sejam atualizadas, através de um sistema de resolução de conflitos, que buscará atualizar os pacotes mais importantes em detrimento dos menos importantes, o que poderá implicar na remoção de determinados pacotes menos utilizados.

#apt-get update
#apt-get dist-upgrade

Exemplo de uma atualização utilizando o apt-get upgrade e o apt-get dist-upgrade para um mesmo computador. Note a quantidade maior de arquivos disponíveis para atualização quando se utiliza o apt-get dist-upgrade

Atualização utilizando o apt-get upgrade

Atualização utilizando o apt-get dist-upgrade



REMOVER UM DETERMINADO PACOTE
A remoção de pacotes também pode ser feita utilizando-se o apt-get, seguido da opção remove e do nome do pacote.
Um exemplo para a remoção do pacote apache2 seria:

#apt-get remove apache2


Durante a remoção, o apt-get também pode se encarregar de remover pacotes que não serão necessários. Para isso há uma variante do remove, que também elimina os pacotes de dependências instalados e que não serão mais necessários.

#apt-get autoremove apache2


Enquanto o parâmetro remove somente se preocupa em remover o pacote, a opção autoremove desinstala também as suas dependências.



FORÇAR A REINSTALAÇÃO DE UM PACOTE
Há casos onde por motivos diversos se apaga algum arquivo de configuração, ou mesmo quando há falhas no HD que danifiquem arquivos importantes.
Para essas situação podemos forçar uma reinstalação de determinado pacote usando o parâmetro --reinstall.

#apt-get install --reinstall apache2


FONTES:
MORIMOTO, Carlos E. Servidores Linux: Guia Prático. Porto Alegre: Sul Editores, 2011.

Nenhum comentário:

Postar um comentário