Quitter le forum et retourner au site

Et son debuguait APT ?

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
Messages : 725
Inscription : lun. 26 mai 2008, 21:05
Distribution : Debian, Ubuntu
Niveau : Moitié plein !
Localisation : Guebwiller

Et son debuguait APT ?

Message par le Manchot Masqué »

Sous Promox 8.1.4, je suis tombé par hasard sur un

Code : Tout sélectionner

apt remove systemd-timesyncd
restant coincé sans raisons...
C'est la première fois en 25 ans que je vois ce phénomène, apt étant connu pour être particulièrement robuste et fiable, et l'ayant largement démontré toutes ces années, même lors de montées de versions plantées généralement par des erreurs de manip bien humaines, et restant à moitié finalisées...
Quoi qu'il en soit, j'ai voulu aller plus loin, en activant TOUTES les options de debuguage que l'on trouve dans

Code : Tout sélectionner

man apt.conf
, ce qui m'a donné la commande suivante (un peu lourde, certes, mais très instructive...) :

Code : Tout sélectionner

apt -oDebug::pkgProblemResolver=1 -oDebug::NoLocking=1 -oDebug::pkgDPkgPM=1 -oDebug::IdentCdrom=1 -oDebug::Acquire::cdrom=1 -oDebug::Acquire::ftp=1 -oDebug::Acquire::http=1 -oDebug::Acquire::https=1 -oDebug::Acquire::gpgv=1 -oDebug::aptcdrom=1 -oDebug::BuildDeps=1 -oDebug::Hashes=1 -oDebug::IdentCDROM=1 -oDebug::NoLocking=1 -oDebug::pkgAcquire=1 -oDebug::pkgAcquire::Auth=1 -oDebug::pkgAcquire::Diffs=1 -oDebug::pkgAcquire::RRed=1 -oDebug::pkgAcquire::Worker=1 -oDebug::pkgAutoRemove=1 -oDebug::pkgDepCache::AutoInstall=1 -oDebug::pkgProblemResolver=1 -oDebug::pkgDepCache::Marker=1 -oDebug::pkgDPkgPM=1 -oDebug::pkgDPkgProgressReporting=1 -oDebug::pkgOrderList=1 -oDebug::pkgPackageManager=1 -oDebug::pkgPolicy=1 -oDebug::pkgProblemResolver=1 -oDebug::pkgProblemResolver::ShowScores=1 -oDebug::pkgDepCache::Marker=1 -oDebug::sourceList=1 -oDebug::RunScripts=1 remove systemd-timesyncd
Je vous donne la fin de la (longue) sortie...

Code : Tout sélectionner

...
The following packages will be REMOVED:
  systemd-timesyncd
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 151 kB disk space will be freed.
Do you want to continue? [Y/n] 
Beginning to order
** Pass A
Visit systemd-timesyncd:amd64 from DoRun
Leave systemd-timesyncd:amd64 1,0
** Pass B
Visit systemd-timesyncd:amd64 from DoRun
Leave systemd-timesyncd:amd64 1,0
** Pass C
Visit systemd-timesyncd:amd64 from DoRun
Leave systemd-timesyncd:amd64 1,0
** Pass D
Visit systemd-timesyncd:amd64 from DoRun
Leave systemd-timesyncd:amd64 1,0
** Unpack ordering done
  systemd-timesyncd:amd64 0,0
Done ordering
Running external script with list of all .deb file: '/usr/bin/apt-listchanges --apt || test $? -lt 10'
Running external script with list of all .deb file: '/usr/sbin/dpkg-preconfigure --apt || true'
echo 'systemd-timesyncd:amd64 deinstall' | /usr/bin/dpkg --set-selections 
/usr/bin/dpkg --status-fd 16 --no-triggers --force-depends --abort-after=1 --remove systemd-timesyncd:amd64 
/usr/bin/dpkg --status-fd 16 --configure --pending
Difficile de dire si c'est le pending qui m'empêche de virer le paquet. Là il m'a rendu tout de suite la main sur le terminal, mais sans les options, il reste coincé et seul un CTRL-C permet de reprendre la main.
Tant pis : j'y suis finalement allé en mode manuel :

Code : Tout sélectionner

dpkg -r systemd-timesyncd
et là aucun problème : ça a marché du premier coup sans broncher !
Bref, si un jour vous tombez sur une opération qui échoue en apt, il vous reste toujours le mode manuel en dpkg pour tenter de vous en sortir !
À bon entendeur !
Répondre