O Apt lida com dependências entre pacotes instalados a partir de seus repositórios ou *.deb
arquivos. No entanto, e o software com o qual os usuários compilaram e instalaram a partir da fonte ./configure && make && make install
sem antes criar um .deb
arquivo? É possível que o Apt remova os pacotes necessários para esses softwares? Instalar o software da fonte /opt
ou /usr/local
fazer a diferença?
debian
apt
dependencies
Elena
fonte
fonte
Respostas:
O APT não sabe nada sobre o software que foi instalado manualmente. Ele não sabe de quais bibliotecas esse software precisa ou algo assim.
Quando o APT instala um pacote apenas para atender às dependências de outro pacote, esse pacote é marcado como instalado automaticamente. Se você remover todos os pacotes que dependem de um pacote instalado automaticamente, esse pacote será removido quando você executar
apt-get autoremove
; frontends de nível superior para o APT geralmente oferecem isso após outras manutenções. Para evitar a remoção de pacotes necessários ao software instalado localmente, marque esses pacotes como instalados manualmente: ou a chave no aptitude.apt-mark manual PACKAGE-NAME
m
Para encontrar quais pacotes de biblioteca um executável binário precisa, execute
ldd /path/to/executable
. Para cada linha que contém , execute para exibir o nome do pacote que contém essa biblioteca. Para scripts, mostra o intérprete usado pelo script; verifique se esse intérprete permanece instalado. Encontrar que bibliotecas são usadas por um script pode ser difícil, não há uma maneira universal de fazer isso./usr/lib/SOMETHING
dpkg -S /usr/lib/SOMETHING
head -n 1 /path/to/script
Se você instalou manualmente uma versão mais recente de um pacote presente em sua distribuição, observe as dependências do pacote da distribuição e marque-as como instaladas manualmente.
fonte
apt-get
no Debian Jessie não tem amanual
opção. Para essas dicas de instalação manual vs. automática (matic) que tenho usadoapt-mark
. (apt-mark manual pkg
,apt-mark showmanual pkg
,apt-mark auto pkg
, Etc.)apt-mark
, obrigado.apt
edpkg
absolutamente pode remover o software exigido por outro software instalado localmente que esteja fora do escopo do sistema de gerenciamento de pacotes. Não há simplesmente nenhuma maneira paraapt
edpkg
saber que esse software pode existir.O local em que esse software está instalado não faz diferença: pode estar
/opt
ou/usr/local
nos diretórios pessoais dos usuários (nesse caso, mesmo o administrador do sistema pode não estar ciente de sua presença), ou em qualquer lugar, na verdade.Tecnicamente,
apt
oudpkg
pode até remover o software exigido por outro software que faz parte do sistema de gerenciamento de pacotes, se o último não declarar que depende do software anterior. No entanto, o processo de criação de pacotes deb inclui automação para ajudar a impedir que os mantenedores de pacotes se esqueçam de declarar uma dependência como essa.fonte