web-dev-qa-db-fra.com

apt upgrade: Echec de l'exécution de l'opération: Aucun fichier ou répertoire de ce type

Après la mise à niveau de 14.04 à 16.04, apt-got a quelque peu gâché mon système xenial et je ne sais pas comment le réparer. C'est ce que je reçois (après apt update).
Quelqu'un peut-il offrir des conseils sur la façon de résoudre ce problème?

$ Sudo apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  libsimgearcore3.4.0v5 libsimgearscene3.4.0v5 linux-headers-4.4.0-97 linux-headers-4.4.0-97-generic linux-image-4.4.0-97-generic linux-image-extra-4.4.0-97-generic
Use 'Sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] 
Setting up snapd (2.28.5~14.04) ...
Failed to execute operation: No such file or directory
dpkg: error processing package snapd (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 snapd
E: Sub-process /usr/bin/dpkg returned an error code (1)

J'ai aussi essayé de lancer apt -f install et j'ai obtenu ce qui suit:

$ Sudo apt -f install
[Sudo] password for ron: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libsimgearcore3.4.0v5 libsimgearscene3.4.0v5 linux-headers-4.4.0-97 linux-headers-4.4.0-97-generic linux-image-4.4.0-97-generic linux-image-extra-4.4.0-97-generic
Use 'Sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up snapd (2.28.5~14.04) ...
Failed to execute operation: No such file or directory
dpkg: error processing package snapd (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 snapd
E: Sub-process /usr/bin/dpkg returned an error code (1)

$ Sudo dpkdg --configure -a me donne:

$ Sudo dpkg --configure -a
Setting up snapd (2.28.5~14.04) ...
Failed to execute operation: No such file or directory
dpkg: error processing package snapd (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 snapd

Sudo apt-get --remove purge snapd retourne:

$ Sudo apt-get --remove purge snapd
[Sudo] password for ron: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  cgroup-lite libsimgearcore3.4.0v5 libsimgearscene3.4.0v5 linux-generic-lts-xenial linux-headers-4.4.0-97 linux-headers-4.4.0-97-generic linux-image-4.4.0-97-generic
  linux-image-extra-4.4.0-97-generic squashfs-tools
Use 'Sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  snapd*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 74.5 MB disk space will be freed.
Do you want to continue? [Y/n] 
(Reading database ... 661915 files and directories currently installed.)
Removing snapd (2.28.5~14.04) ...
Failed to stop snapd.autoimport.service: Unit snapd.autoimport.service not loaded.
Failed to stop snapd.socket: Unit snapd.socket not loaded.
Failed to stop snapd.service: Unit snapd.service not loaded.
dpkg: error processing package snapd (--purge):
 subprocess installed pre-removal script returned error exit status 5
Errors were encountered while processing:
 snapd
Sudo aE: Sub-process /usr/bin/dpkg returned an error code (1)
1
stdcerr

Cette réponse par @vskubriev peut détenir la clé pour forcer le retrait.

Essentiellement:
Ajoutez exit 0 après le Shebang à /var/lib/dpkg/info/snapd.prerm. Puis exécutez les commandes suivantes.

dpkg --purge --force-all snapd
apt-get update

Réinstallez éventuellement en exécutant apt-get install snapd

Si la réponse de @ vskubriev vous aide à voter, il n'y a pas ici.

2
J. Starnes

Comme il semble que vous ayez mis à niveau de 14.04 avec snapd installé à 16.04, et pour une raison quelconque, le package snapd n’a pas été remplacé, vous laissant avec ce problème, vous pouvez procéder comme suit pour supprimer le package:

 #: Sudo rm /var/lib/dpkg/info/snapd.p*rm
#: Sudo apt-get remove --purge snapd 

Cela supprimera les scripts de pré/post-suppression et devrait permettre au paquet d'être ensuite supprimé en cas d'échec du script. Si vous avez besoin de snapd (car vous avez déjà installé des snaps auparavant), vous pouvez simplement lancer:

 #: Sudo apt update 
 #: Sudo apt install snapd 
0
dobey