¿Cómo puedo obtener un código de salida 'detallado' para apt-get
que errores como este
Package google-chrome is a virtual package provided by:
google-chrome-stable 29.0.1547.76-r223446
google-chrome-beta 30.0.1599.47-1
You should explicitly select one to install.
E: Package 'google-chrome' has no installation candidate
tener un código de salida diferente al de errores de descarga como este
Err http://dl.google.com/linux/chrome/deb/ stable/main google-chrome-stable amd64 29.0.1547.76-r223446
Something wicked happened resolving 'dl.google.com:http' (-11 - System error)
Actualmente, ambos errores salen con 100
Básicamente, me gustaría que los errores de descarga salgan con un código diferente al de los errores como el primero. Si es posible, me gustaría que cada error específico tenga un código de salida diferente, pero el ejemplo anterior es el mínimo que necesito. ¿Cómo puedo hacer esto en una instalación vainilla de Ubuntu sin software adicional (con la excepción de aptitude
)?
apt-get --download-only
primero.apt-cache policy X
?apt-cache policy google-chrome
no le da una línea con la palabra "Candidato", mientras que loapt-cache policy google-chrome-stable
haría.Respuestas:
No es una respuesta completa, pero primero puede probar la existencia de paquetes haciendo
apt-cache policy X
y seleccionando la salida para "Candidato (ninguno)" o "No se pudo encontrar el paquete X", etc.fuente
Creo que este no es un caso de XY, y solo desea poder depurar apt-get en general. Bajo tales supuestos aquí está mi respuesta.
De la
man apt.conf
:Por lo tanto, solo necesita activar las reglas para cada uno de los comportamientos de depuración de
apt-get
:Esos 3 son los primeros que recomienda la página de manual, y el primero lo ayudará a depurar el primer error que muestre. Para el segundo, puede necesitar:
https
,ftp
,cdrom
.La página de manual tiene muchos más, puede enumerarlos fácilmente usando
man apt.conf | grep -A5 -i debug
.Todo esto debe escribirse utilizando la sintaxis correcta y se aceptan valores booleanos:
o si quieres usar varias líneas:
Si desea ejecutar solo una instancia de apt-get, puede usar el modificador
-o
/--option
:Otro método es crear su archivo de configuración personalizado y cargarlo con el modificador
-c
/--config-file
:Acerca de cambiar los códigos de salida, creo que no puede hacerlo a menos que cambie el código fuente.
apt-get
es una pieza de software de última generación , como tal, tiene métodos avanzados para depurar el proceso sin la necesidad de depender de códigos de salida.fuente
apt-get
, no todo el tiempo.-o
opción para ejecutar comandos ad-hoc. Actualicé mi respuesta.apt-cache policy PACKAGE
, como dijo Jos. Yo estaba tratando de comprobar si un paquete se puede instalar, puede que no haya pedido a mi pregunta correcta, pero esto es una buena respuesta