Et son debuguait APT ?
Publié : lun. 11 mars 2024, 13:48
Sous Promox 8.1.4, je suis tombé par hasard sur un 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, ce qui m'a donné la commande suivante (un peu lourde, certes, mais très instructive...) :
Je vous donne la fin de la (longue) sortie...
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 :
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 !
Code : Tout sélectionner
apt remove systemd-timesyncd
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
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
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
Tant pis : j'y suis finalement allé en mode manuel :
Code : Tout sélectionner
dpkg -r systemd-timesyncd
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 !