Назад | Перейти на главную страницу

Как я могу изгнать определенный пакет Ubuntu, который дает сбой при выполнении сценария после установки?

У меня установлен пакет libssl-dev, возможно, потому, что я не уверен, обошел ли я диспетчер пакетов, и он виден из диспетчера пакетов, но не исчезнет.

root@li393-189:/home/jonathan/python-amazon-product-api-0.2.5# aptitude purge l
ibssl-dev
The following packages will be REMOVED:  
  libssl-dev{p} 
The following partially installed packages will be configured:
  apt 
0 packages upgraded, 0 newly installed, 1 to remove and 84 not upgraded.
Need to get 0 B of archives. After unpacking 4,929 kB will be freed.
Do you want to continue? [Y/n/?] Y
Setting up apt (0.8.16~exp12ubuntu10.10) ...
gpg: Invalid option "--primary-keyring"
gpg: [don't know]: invalid packet (ctb=03)
gpg: read_keyblock: read error: invalid packet
gpg: enum_keyblocks(read) failed: invalid keyring
gpg: WARNING: nothing exported
dpkg: error processing apt (--configure):
 subprocess installed post-installation script returned error exit status 2
No apport report written because MaxReports is reached already
                                                              Errors were encountered while processing:
 apt
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install.  Trying to recover:
Setting up apt (0.8.16~exp12ubuntu10.10) ...
gpg: Invalid option "--primary-keyring"
gpg: [don't know]: invalid packet (ctb=03)
gpg: read_keyblock: read error: invalid packet
gpg: enum_keyblocks(read) failed: invalid keyring
gpg: WARNING: nothing exported
dpkg: error processing apt (--configure):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 apt

root@li393-189:/home/jonathan/python-amazon-product-api-0.2.5# 

Я хочу, чтобы установленный в настоящее время libssl-dev был заменен установкой нового пакета. Никакая конфигурация aptitude, которую я еще не видел, не удалит ее.

Как удалить существующий пакет, чтобы переустановить его с нуля?

--РЕДАКТИРОВАТЬ--

@Brigo, я пробовал использовать aptitude, а не просто apt-get, но apt-get дает то, что мне кажется очевидным эквивалентом:

root@li393-189:/home/jonathan/python-amazon-product-api-0.2.5# apt-get remove l
ibssl-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  libssl-dev
0 upgraded, 0 newly installed, 1 to remove and 84 not upgraded.
1 not fully installed or removed.
After this operation, 4,929 kB disk space will be freed.
Do you want to continue [Y/n]? Y
Setting up apt (0.8.16~exp12ubuntu10.10) ...
gpg: gpg: Invalid option "--primary-keyring"
[don't know]: invalid packet (ctb=03)
gpg: read_keyblock: read error: invalid packet
gpg: enum_keyblocks(read) failed: invalid keyring
gpg: WARNING: nothing exported
dpkg: error processing apt (--configure):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 apt
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@li393-189:/home/jonathan/python-amazon-product-api-0.2.5# 

--РЕДАКТИРОВАТЬ--

Вот результат предлагаемого обновления sh -x / usr / bin / apt-key.

Спасибо,

root@li393-189:~# sh -x /usr/bin/apt-key update
+ set -e
+ unset GREP_OPTIONS
+ mktemp
+ SECRETKEYRING=/tmp/tmp.yKRn2OqlH3
+ trap rm -f '/tmp/tmp.yKRn2OqlH3' 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
+ GPG_CMD=gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.yKRn2OqlH3
+ id -u
+ [ 0 -eq 0 ]
+ GPG_CMD=gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.yKRn2OqlH3 --trustdb-name /etc/apt/trustdb.gpg
+ GPG=gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.yKRn2OqlH3 --trustdb-name /etc/apt/trustdb.gpg
+ MASTER_KEYRING=/usr/share/keyrings/ubuntu-master-keyring.gpg
+ ARCHIVE_KEYRING=/usr/share/keyrings/ubuntu-archive-keyring.gpg
+ REMOVED_KEYS=/usr/share/keyrings/ubuntu-archive-removed-keys.gpg
+ ARCHIVE_KEYRING_URI=http://archive.ubuntu.com/ubuntu/project/ubuntu-archive-keyring.gpg
+ TMP_KEYRING=/var/lib/apt/keyrings/maybe-import-keyring.gpg
+ [ update = --keyring ]
+ TRUSTEDFILE=/etc/apt/trusted.gpg
+ apt-config shell TRUSTEDFILE Apt::GPGV::TrustedKeyring
+ eval
+ apt-config shell TRUSTEDFILE Dir::Etc::Trusted/f
+ eval TRUSTEDFILE='/etc/apt/trusted.gpg'
+ TRUSTEDFILE=/etc/apt/trusted.gpg
+ [ -r /etc/apt/trusted.gpg ]
+ GPG=gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.yKRn2OqlH3 --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg
+ GPG=gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.yKRn2OqlH3 --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg
+ TRUSTEDPARTS=/etc/apt/trusted.gpg.d
+ apt-config shell TRUSTEDPARTS Dir::Etc::TrustedParts/d
+ eval TRUSTEDPARTS='/etc/apt/trusted.gpg.d/'
+ TRUSTEDPARTS=/etc/apt/trusted.gpg.d/
+ [ -d /etc/apt/trusted.gpg.d/ ]
+ run-parts --list /etc/apt/trusted.gpg.d/ --regex ^.*\.gpg$
+ command=update
+ [ -z update ]
+ shift
+ [ update != help ]
+ which gpg
+ update
+ [ ! -f /usr/share/keyrings/ubuntu-archive-keyring.gpg ]
+ requires_root
+ id -u
+ [ 0 -ne 0 ]
+ gpg --ignore-time-conflict --no-options+  --no-default-keyring --secret-keyring /tmp/tmp.yKRn2OqlH3gpg --trustdb-name /etc/apt/trustdb.gpg --ignore-time-conflict --no-options --no-default-keyring --quiet --batch --secret-keyring /tmp/tmp.yKRn2OqlH3 --keyring --trustdb-name /etc/apt/trustdb.gpg /usr/share/keyrings/ubuntu-archive-keyring.gpg --keyring /etc/apt/trusted.gpg --export --primary-keyring /etc/apt/trusted.gpg
 --import
gpg: Invalid option "--primary-keyring"
gpg: [don't know]: invalid packet (ctb=03)
gpg: read_keyblock: read error: invalid packet
gpg: enum_keyblocks(read) failed: invalid keyring
gpg: WARNING: nothing exported
+ rm -f /tmp/tmp.yKRn2OqlH3

Итак, мы видим из вашего apt-key update вывод, что gpg задыхается от файла /etc/apt/trusted.gpg. Скорее всего этот файл как-то испортился.

Попробуйте восстановить этот файл из заведомо исправной резервной копии, а затем запустите apt-get команды снова.

Если это не поможет, попробуйте удаление файл, а затем запустите apt-key update восстановить его.

Ваша проблема в настройке apt пакет:

Setting up apt (0.8.16~exp12ubuntu10.10) ...
subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:

/var/lib/dpkg/info/apt.postinst это сценарий с проблемой. Вы можете посмотреть на него и попытаться устранить проблему. Из вывода я предполагаю apt-key update вызывает проблему. Попробуйте запустить его напрямую:

sh -x /usr/bin/apt-key update

чтобы получить дополнительную информацию.