Irei mostrar de forma breve alguns dos principais comandos e opções utilizadas no gerenciamento de pacotes
Debian.
Padrão Debian
- Arquivo: .deb
- Gerenciador de pacotes: dpkg
- Gerenciador + repositório: apt-get
- Outros comandos: dpkg-reconfigure, apt-cache, dselect, aptitude, alien
Padrão RPM/RedHat
- Arquivo: .rpm
- Gerenciador de pacotes: $rpm
- Gerenciador + repositório: yum
- Outros comandos: yumdowloader, rmp2cpio
Considerações importantes:
- Cada sistema deve usar um sistema de gerenciamento único.
- Um pacote é um conjunto de arquivos relacionados a uma aplicação: executáveis, cfgs, bibliotecas, manuais etc, além de informações sobre dependências.
- Os gerenciadores de pacotes mantêm uma base de dados relacionando todos os pacotes, seus arquivos e dependências.
/etc/apt/sources.list
Esse arquivo contem todas as fontes, é daqui que o apt-get faz o download da versão correta dos programas.
O arquivo de configuração de repositórios para pacotes .deb é /etc/apt/sources.list, contém a lista de servidores ou mídias onde podem ser encontrados os pacotes para a distribuição. Geralmente, opta-se por trabalhar com repositórios em rede (LAN ou WAN), pois a dinâmica de atualização dos pacotes funciona muito mais.
dpkg
Instala e manipula arquivos .deb. Ele também faz operações de consultas em pacotes já instalados.
O dpkg não faz controle de dependências de pacotes, ele não faz download automático, nada disso, é preciso ter o pacote já baixado.
Opções:
- -i : instala um pacote.
- -x : extrai conteúdo de um pacote.
- -r : remove um pacote, mas mantem os arquivos de configuração do pacote.
- -P : --purge - remove completamente o pacote e arquivos de configuração.
- -l : lista pacotes instalados.
- -c : exibe o conteúdo de um arquivo de pacote .deb ou --contents (não instalado)
- -L : lista os arquivos que pertencem a tal pacote.
- -S : exibe quais arquivos foram copiados para o sistema após a instalação do pacote.
- -s : exibe o status do pacote.(instalado no sistema)
- -p : exibe informações detalhadas sobre pacote já instalado.
- --get-selections : lista todos os pacotes instalados.
- -I : mostra informações sobre um pacote não instalado.
Exemplos:
Instala o pacote 'ldap-utils' através de um arquivo de pacote .deb:
# dpkg -i ldap-utils_2.4.21-0ubuntu5.2_i386.deb
Expurga o pacote slapd:
# dpkg -P slapd
Remove o pacote samba sem remover seus arquivos:
# dpkg -r samba
Mostra o conteúdo do arquivo de pacote ldap-utils_2.4.21-0ubuntu5.2_i386.deb:
# dpkg -c ldap-utils_2.4.21-0ubuntu5.2_i386.deb
Mostra detalhes sobre o pacote samba, que já está instalado:
# dpkg -p samba
dpkg-reconfigure
É usado para imprimir pacotes que exigem uma interação de configuração com o usuário.
Esse comando é usado para ajudar o usuário na instalação e configuração de algum pacote.
Exemplo:
dpkg-reconfigure tzdata (mostra a tela de configuração do timezone)
dpkg-reconfigure keyboard-configuration (configuração do teclado)
Não tem muitas opções, basta saber só o básico.
dselect
É uma interface gráfica do apt, em modo texto, seleciona os pacotes para remover, instalar.
apt-get
Os comandos do apt tem um repositório, um conjunto de URL, onde ele consulta os pacotes e softwares que se pretende instalar ou remover.
Gerenciador de arquivos e dependências de pacotes através de repositórios do Debian, este gerenciador consulta os dados de /etc/apt/sources.list.
Toda vez que eu executo o comando apt ele vai consultar a base de dados, no sources.list, aonde que está aquele pacote, qual a ultima versão e vai fazer o update, download e instalação do pacote.
Ele toma conta de tudo, das dependências do pacote, faz o download de tudo e a instalação de tudo, tendo como principal beneficio a resolução e instalação de dependências.
# apt-get update (obtém informações atualizadas das fontes)
# apt-get upgrade (realiza a atualização de todos os pacotes)
# apt-get dist-upgrade (realiza a atualização de todos os pacotes, desde que não haja quebra de dependências)
# apt-get install (instala um pacote e suas dependências a partir de repositórios que estão listados
dentro de /etc/apt/sources.list)
Exemplos:
# apt-get install
apt-get install zsh (instala esse pacote, verifica a versão mais atual, a origem, de onde ele vai fazer download e quais os pacotes dependentes).
Opções:
- -s : simula a instalação do pacote.
- -d: apenas faz o download dos pacotes para o diretório /var/cache/apt/archives/.
- -y : assume como “Yes” todas as respostas de instalação.
- --reinstall : reinstala um pacote.
# apt-get remove (remove o pacote mas mantem alguns arquivos de configuração)
# apt-get purge (remove o pacote e os arquivos de configuração)
# apt-get check (verifica as consistencias checa a base de dados do gerenciador de pacotes)
# apt-get clean (remove algum arquivo temporário e faz uma limpeza na base de dados)
# apt-get --download-only install zsh (faz o download do pacote, não instala)
O download fica no caminho: /var/cache/apt/archives
# apt-cache (comando utilizado para mostrar as informações que ele tem na base de dados dele, na base de pacotes Debian dele)
# apt-cache pkgnames (lista de pacotes instalados no sistema)
# apt-cache show vim (mostra as informações do vim, dependências, descrição dele, e outras informações)
# apt-cache depends vim (mostra os pacotes que o vim depende, pacotes que ele precisa para o vim funcionar)
vim
Depends: vim-common
Depends: vim-runtime
Depends: libacl1
Depends: libc6
Depends: libgpm2
# aptitude (ele também tem uma interface gráfica através de menus, mais complexa que o dselect)
É uma interface mais amigável para o apt. É possível visualizar a lista de pacotes disponíveis para instalação de uma forma muito organizada.
As opções do aptitude são as mesmas do apt-get.
Exemplos:
Instala o pacote samba através de um repositório:
# aptitude install samba
Atualiza a base da dados do apt:
# aptitude update
Remove o pacote samba:
# aptitude remove samba
# aptitude safe-upgrade (faz a mesma coisa que o apt-get dist-upgrade)
# aptitude search csh (pesquisa todos os pacotes que tem csh no nome dos pacotes, é bom que vc verifica qual o pacote ideal para se instalar)
# aptitude purge csh (remove o pacote csh e todos os arquivos de configuração)
# alien (ele converte e instala pacotes binários alien)
- converte arquivos rpm em .deb e ao inverso.
- instala tbm no sistema debian pacote que é rpm.
# ls *deb
zsh_5.1.1-3_amd64.deb
# alien -r zsh_5.1.1-3_amd64.deb (transforma esse pacote .deb em um pacote rpm para Red Hat)
zsh-5.1.1-4.x86_64.rpm generated
# alien -i zsh-5.1.1-4.x86_64.rpm (instala o pacote, o sistema Debian instala o pacote rpm, executa o dpkg)