¿Podría Apt eliminar los paquetes que necesita el software que los usuarios han instalado desde la fuente?

14

Apt maneja las dependencias entre los paquetes instalados desde sus repositorios o *.debarchivos. Sin embargo, ¿qué pasa con el software que los usuarios han compilado e instalado desde la fuente ./configure && make && make installsin crear .debprimero un archivo? ¿Es posible que Apt pueda eliminar los paquetes necesarios para dichos softwares? ¿Instalar software desde la fuente /opto /usr/localmarcaría la diferencia?

Elena
fuente
1
Puede instalar un paquete equivs como sustituto de un paquete instalado desde el origen, para obligar a sus dependencias a permanecer instaladas.
Faheem Mitha

Respuestas:

13

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-NAMEm

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/SOMETHINGdpkg -S /usr/lib/SOMETHINGhead -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.

Gilles 'SO- deja de ser malvado'
fuente
apt-geten Debian Jessie no tiene la manualopción. Para estas sugerencias de instalación manual versus automática (matic) que he estado usando en su apt-marklugar. ( apt-mark manual pkg,apt-mark showmanual pkg , apt-mark auto pkg, Etc.)
Lekensteyn
@Lekensteyn quise decir apt-mark, gracias.
Gilles 'SO- deja de ser malvado'
14

apty dpkgabsolutamente 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 que apty dpkgpara saber que podría existir este tipo de software.

La ubicación donde se instala dicho software no hace ninguna diferencia: podría estar /opto /usr/localen 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 apto dpkgincluso 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.

Celada
fuente