apt upgrade: Не удалось выполнить операцию: нет такого файла или каталога

После обновления с 14.04 до 16.04 apt-get каким-то образом запутался в моей системе xenial, и я не уверен, как это исправить. Это то, что я получаю (после apt update).

$ 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)

Я также попытался запустить apt -f install и получил следующее:

$ 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 дает мне:

$ 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 возвращается:

$ 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
задан 28 November 2017 в 06:10

6 ответов

Этот ответ @vskubriev может содержать ключ для принудительного удаления.

По существу: добавьте exit 0 после shebang в /var/lib/dpkg/info/snapd.prerm. Затем выполните следующие команды:

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

При необходимости переустановите, запустив apt-get install snapd

Если ответ @ vskubriev помогает отменить его там не здесь.

2
ответ дан 22 May 2018 в 15:56
  • 1
    действительно? Ничего себе, это круто, я не знал об этих сценариях rm! Благодаря! – cerr 30 November 2017 в 06:00
  • 2
    я тоже, пока не исследовал ваш вопрос. Это одна из причин, которые я придерживаюсь на сайтах stackexchange. – J. Starnes 30 November 2017 в 09:36

Этот ответ @vskubriev может содержать ключ для принудительного удаления.

По существу: добавьте exit 0 после shebang в /var/lib/dpkg/info/snapd.prerm. Затем выполните следующие команды:

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

При необходимости переустановите, запустив apt-get install snapd

Если ответ @ vskubriev помогает отменить его там не здесь.

2
ответ дан 18 July 2018 в 02:43

Этот ответ @vskubriev может содержать ключ для принудительного удаления.

По существу: добавьте exit 0 после shebang в /var/lib/dpkg/info/snapd.prerm. Затем выполните следующие команды:

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

При необходимости переустановите, запустив apt-get install snapd

Если ответ @ vskubriev помогает отменить его там не здесь.

2
ответ дан 24 July 2018 в 17:38

Похоже, что вы обновили с 14.04 с установленным snapd, до 16.04, и по какой-то причине пакет snapd не заменился, оставив вас с этой проблемой, вы можете выполнить следующее, чтобы удалить пакет:

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

Это приведет к удалению сценариев удаления до / после удаления, и должно позволить пакету быть удаленным по мере сбоя сценария. Если вам нужен snapd (потому что вы уже установили некоторые снимки ранее или такие), вы можете просто запустить:

#: sudo apt update #: sudo apt install snapd
0
ответ дан 22 May 2018 в 15:56

Похоже, что вы обновили с 14.04 с установленным snapd, до 16.04, и по какой-то причине пакет snapd не заменился, оставив вас с этой проблемой, вы можете выполнить следующее, чтобы удалить пакет:

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

Это приведет к удалению сценариев удаления до / после удаления, и должно позволить пакету быть удаленным по мере сбоя сценария. Если вам нужен snapd (потому что вы уже установили некоторые снимки ранее или такие), вы можете просто запустить:

#: sudo apt update #: sudo apt install snapd
0
ответ дан 18 July 2018 в 02:43

Похоже, что вы обновили с 14.04 с установленным snapd, до 16.04, и по какой-то причине пакет snapd не заменился, оставив вас с этой проблемой, вы можете выполнить следующее, чтобы удалить пакет:

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

Это приведет к удалению сценариев удаления до / после удаления, и должно позволить пакету быть удаленным по мере сбоя сценария. Если вам нужен snapd (потому что вы уже установили некоторые снимки ранее или такие), вы можете просто запустить:

#: sudo apt update #: sudo apt install snapd
0
ответ дан 24 July 2018 в 17:38

Другие вопросы по тегам:

Похожие вопросы: