Me gustaría poder ver las secuencias de comandos / disparadores asociados con un paquete que se debe actualizar para poder decir, por ejemplo, si el servidor web se reiniciará. No puedo encontrar una opción de aptitud para mostrarme eso (o apt / dpkg); lo mejor que puedo obtener es el contenido (archivos). ¿Hay alguna combinación de simuladores / verbosos / contenidos que me haya perdido que muestre esto?
Además, si un paquete resulta en algo que sucede, como un reinicio del servicio, que no quiero que ocurra en este momento, ¿hay alguna forma de instalar el paquete sin ejecutar algunos o todos los scripts?
Respuestas:
Puede imprimir el archivo de control y alguna otra información con
dpkg -I package.deb
, o usardpkg -e package.deb
para extraer solo los archivos de información de control.Además, puede hacer una prueba en seco para ver qué haría dpkg con
--dry-run
:fuente
DEBIAN
directorio con elcontrol
archivo y los diversos archivos de script que se ejecutarán.postinst
suele ser muy interesante, ya que se ejecutará después de que el paquete se haya instalado correctamente.No, no conozco ninguna forma de hacerlo usando aptitude.
Puedes mirar los guiones directamente; los scripts que se ejecutan durante la actualización están contenidos en el paquete. Descomprima el deb usando ar:
Luego mire
control.tar.gz
, contiene los guiones.fuente
También existe la
--debug
opción paradpkg
, como ensudo dpkg --debug=72200 -i package.deb
Hay varias opciones disponibles para la salida detallada y se pueden combinar.
Puede ver todas las opciones disponibles ejecutando:
dpkg --debug=help
.fuente
No, no puede ejecutar parte de un script de mantenedor, no hay ganchos para que eso suceda.
Solo puede ver lo que haría el script examinándolo a mano. Una vez más, ninguna "ejecución en seco" puede decirle exactamente qué hará y qué no hará, solo "Ejecutaré la postinst con estos argumentos".
Estas son las razones por las que tenemos entornos de prueba y puesta en escena.
fuente