56 votes

Comment puis-je afficher les actions que l'installation d'un paquet .deb va prendre?

Je voudrais pouvoir voir les scripts/déclencheurs associés à un package devant être mis à jour afin de pouvoir dire, par exemple, s'il entraînera le redémarrage du serveur web. Je ne trouve pas d'option d'aptitude pour me montrer cela (ou apt/dpkg); le mieux que je peux obtenir est le contenu (fichiers). Existe-t-il une combinaison de commutateurs simulate/verbeux/contenus que j'aurais manqué qui permettrait d'afficher cela ?

De plus, si un package entraîne quelque chose - comme un redémarrage de service - que je ne veux pas que se produise pour le moment, y a-t-il un moyen d'installer le package sans exécuter une partie ou la totalité des scripts ?

36voto

Dan C. Points 2115

Vous pouvez imprimer le fichier de contrôle et quelques autres informations avec dpkg -I package.deb, ou utiliser dpkg -e package.deb pour extraire seulement les fichiers d'informations de contrôle.

De plus, vous pouvez faire une simulation pour voir ce que dpkg ferait avec --dry-run :

dpkg --dry-run -i package.deb

11voto

Andrew Grimm Points 928

Non, je ne connais pas de moyen de le faire en utilisant aptitude.

Vous pouvez regarder les scripts directement ; les scripts qui s'exécutent pendant la mise à niveau sont contenus dans le package. Décompressez le deb en utilisant ar:

ar -x package.deb

Ensuite, regardez dans control.tar.gz, il contient les scripts.

11voto

estibordo Points 256

Il y a également l'option --debug pour dpkg, comme dans sudo dpkg --debug=72200 -i package.deb

Il existe plusieurs options disponibles pour obtenir une sortie verbeuse et elles peuvent être combinées.

Vous pouvez voir toutes les options disponibles en exécutant : dpkg --debug=help.

pi@kaldi:~ $ dpkg --debug=help
Option de débogage dpkg, --debug= ou -D:

 Numéro  Réf. dans le code   Description
      1  général          Informations générales utiles sur l'avancement
      2  scripts          Appel et état des scripts de maintenance
     10  eachfile         Sortie pour chaque fichier traité
    100  eachfiledetail   Beaucoup de sortie pour chaque fichier traité
     20  conff            Sortie pour chaque fichier de configuration
    200  conffdetail      Beaucoup de sortie pour chaque fichier de configuration
     40  depcon           Dépendances et conflits
    400  depcondetail     Beaucoup de sortie sur les dépendances/conflits
  10000  triggers         Activation et traitement des déclencheurs
  20000  triggersdetail   Beaucoup de sortie concernant les déclencheurs
  40000  triggersstupid   Quantités ridicules de sortie concernant les déclencheurs
   1000  veryverbose      Beaucoup de bavardage sur le répertoire dpkg/info par exemple
   2000  stupidlyverbose  Des quantités insensées de bavardage

Les options de débogage peuvent être mixées en utilisant un ou binaire.
Notez que les significations et les valeurs sont susceptibles de changer.

1voto

Ryan Sampson Points 2898

Non, vous ne pouvez pas exécuter une partie d'un script de maintenance, il n'y a pas de crochets pour que cela se produise.

Vous ne pouvez voir ce que le script fera qu'en l'examinant manuellement -- encore une fois, aucun "essai à sec" ne peut vous dire exactement ce qu'il fera ou ne fera pas, seulement "Je vais exécuter le postinst avec ces arguments".

Voilà pourquoi nous avons des environnements de staging et de test.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X