Apt maneja las dependencias entre los paquetes instalados desde sus repositorios o *.deb
archivos. Sin embargo, ¿qué pasa con el software que los usuarios han compilado e instalado desde la fuente ./configure && make && make install
sin crear .deb
primero un archivo? ¿Es posible que Apt pueda eliminar los paquetes necesarios para dichos softwares? ¿Instalar software desde la fuente /opt
o /usr/local
marcaría la diferencia?
debian
apt
dependencies
Elena
fuente
fuente
Respuestas:
APT no sabe nada sobre el software que se instaló manualmente. No sabe qué bibliotecas necesita ese software ni nada.
Cuando APT instala un paquete solo para cumplir con las dependencias de otro paquete, este paquete se marca como instalado automáticamente. Si elimina todos los paquetes que dependen de un paquete instalado automáticamente, ese paquete se elimina cuando se ejecuta
apt-get autoremove
; Las interfaces de nivel superior para APT generalmente ofrecerán hacerlo después de otro mantenimiento. Para evitar eliminar los paquetes que necesita el software instalado localmente, marque estos paquetes como instalados manualmente: o la clave en aptitude.apt-mark manual PACKAGE-NAME
m
Para encontrar qué paquetes de biblioteca necesita un ejecutable binario, ejecute
ldd /path/to/executable
. Para cada línea que contenga , ejecute para mostrar el nombre del paquete que contiene esa biblioteca. Para guiones, muestra el intérprete utilizado por el guión; asegúrese de que este intérprete permanezca instalado. Encontrar qué bibliotecas utiliza un script puede ser difícil, no hay una forma universal de hacerlo./usr/lib/SOMETHING
dpkg -S /usr/lib/SOMETHING
head -n 1 /path/to/script
Si ha instalado manualmente una versión más reciente de un paquete que está presente en su distribución, observe las dependencias del paquete de la distribución y márquelas como instaladas manualmente.
fuente
apt-get
en Debian Jessie no tiene lamanual
opción. Para estas sugerencias de instalación manual versus automática (matic) que he estado usando en suapt-mark
lugar. (apt-mark manual pkg
,apt-mark showmanual pkg
,apt-mark auto pkg
, Etc.)apt-mark
, gracias.apt
ydpkg
absolutamente puede eliminar el software requerido por otro software instalado localmente que esté fuera del alcance del sistema de administración de paquetes. Simplemente no hay manera para queapt
ydpkg
para saber que podría existir este tipo de software.La ubicación donde se instala dicho software no hace ninguna diferencia: podría estar
/opt
o/usr/local
en los directorios de inicio de los usuarios (en cuyo caso, incluso el administrador del sistema puede no ser consciente de su presencia), o en cualquier lugar, realmente.Técnicamente
apt
odpkg
incluso podría eliminar el software requerido por otro software que es parte del sistema de administración de paquetes, si este último software no declara que depende del software anterior. Sin embargo, el proceso para crear paquetes deb incluye automatización para ayudar a evitar que los mantenedores de paquetes se olviden de declarar una dependencia como esa.fuente