¿Cómo funciona la actualización con los programas instalados desde el archivo .deb?

11

Tengo algunas dificultades para entender exactamente cómo funciona toda la actualización en Ubuntu y una buena práctica para instalar software.

Entiendo que tengo un /etc/apt/sources.listarchivo donde se enumeran todos mis repositorios, y que estos repositorios se consultan cuando los uso apt-get update, para luego ser usados ​​con, por ejemplo
apt-get upgrade. Esto tiene mucho sentido y recientemente lo instalé spotifyagregando
deb http://repository.spotify.com stable non-freea esta lista de "fuentes".

Pero luego me confundí ...

Cuando fui a descargar Google Chrome, simplemente tuve que descargar y tomar un .debarchivo, y Chrome se instaló sin problemas ... pero no veo ninguna entrada nueva en /etc/apt/sources.list...

Entonces, ¿cómo apt-get updatesaber dónde consultar sobre las actualizaciones de Chrome? ¿Se ha agregado de alguna manera a uno de los repositorios ya enumerados en el archivo de fuentes?

Me gustaría que todo mi software instalado esté incluido en la función de actualización.

Kirbies
fuente

Respuestas:

10

Esto es de hecho un poco complicado. Primero, aptes un front-end para el dkpgque realmente se maneja la instalación / eliminación de paquetes. Entonces, /etc/apt/sources.list(y cualquier archivo en /etc/apt/sources.list.d/) son leídos por apt, no dpkg.

Ahora, cuando descargue un .debarchivo manualmente, aptestará omitiendo y lo utilizará dpkg -i packagename.debpara instalarlo. Esto significa que la base de datos de apt no se actualizará y que el aptsistema no tendrá conocimiento del paquete que instaló. En otras palabras, apt-get upgradese Nunca actualizar los paquetes instalados manualmente.

Dicho esto, en chromerealidad es una excepción a la regla. Cuando vaya a su página de descarga, verá este mensaje:

 ingrese la descripción de la imagen aquí

En la parte inferior está esta nota:

Nota: Instalar Google Chrome agregará el repositorio de Google para que su sistema mantenga actualizado automáticamente Google Chrome. Si no desea el repositorio de Google, haga "sudo touch / etc / default / google-chrome" antes de instalar el paquete.

Esto significa que el .debpaquete incluye un script que agregará el repositorio de Google a su sistema (específicamente, creará un archivo en /etc/apt/sources.list.d/), asegurando así que chrome se actualizará cuando lo use apt-get.

terdon
fuente
Ok, tiene sentido ... pero ¿hay alguna forma de administrar fácilmente las actualizaciones de todos mis paquetes instalados manualmente?
Kirbies
2
@Morten no, eso es exactamente por qué aptexiste, etc., si sales de ese sistema estás solo. Hay trucos, pero rara vez vale la pena el esfuerzo por los pocos paquetes que puede instalar manualmente.
terdon
1
El administrador de paquetes en realidad no le importa si un paquete ha sido instalado por dpkg o apt. Si encuentra una versión más nueva de un paquete en los repositorios, se instala esa versión más nueva.
Florian Diesch
@FlorianDiesch sí, por supuesto. Mi punto era para paquetes que no están en los repositorios.
terdon
1

apt busca en las fuentes enumeradas /etc/apt/sources.listy también en todos los archivos /etc/apt/source.list.d. Tendrá un archivo como google-chrome.listen el /etc/apt/sources.list.dque tendrá la siguiente línea:

deb http://dl.google.com/linux/chrome/deb/ stable main

Esto se usa como la fuente para actualizar google-chrome.

Cuando descargó el archivo deb para google-chrome manualmente y lo instaló, un script en el archivo deb creó este archivo, para que no tenga que buscar actualizaciones manualmente.

Jobin
fuente