Что-то пошло не так при обновлении с Raspbian 7 до Raspbian 8. Я находил темы с похожим названием и пробовал многое, но всегда получал одну и ту же ошибку.
Узел находится в удаленном месте на линии с ограниченной пропускной способностью, поэтому выполнять полную перестройку нецелесообразно.
Наиболее информативное сообщение я получаю при использовании «dpkg -C»:
root@mynode# dpkg -C
The following packages are in a mess due to serious problems during
installation. They must be reinstalled for them (and any packages
that depend on them) to function properly:
libc6:armhf Embedded GNU C Library: Shared libraries
The following packages have been unpacked but not yet configured.
They must be configured using dpkg --configure or the configure
menu option in dselect for them to work:
libc6-dev:armhf GNU C Library: Development Libraries and Header Files
libc-dev-bin GNU C Library: Development binaries
locales GNU C Library: National Language (locale) data [support]
libnih1 NIH Utility Library
libnih-dbus1 NIH D-Bus Bindings Library
Но когда я пытаюсь установить или переустановить libc6:armhf, происходит следующее:
root@mynode# apt-get --reinstall install libc6:armhf
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
locales : Depends: libc-bin (> 2.19) but 2.13-38+rpi2+deb7u8 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
А когда я пытаюсь установить или переустановить libc-bin, я получаю:
root@mynode# apt-get --reinstall install libc-bin
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libc6
Suggested packages:
glibc-doc
The following packages will be upgraded:
libc-bin libc6
2 upgraded, 0 newly installed, 0 to remove and 731 not upgraded.
6 not fully installed or removed.
Need to get 0 B/5,124 kB of archives.
After this operation, 870 kB disk space will be freed.
Do you want to continue [Y/n]? y
Preconfiguring packages ...
(Reading database ... 82552 files and directories currently installed.)
Preparing to replace libc6:armhf 2.13-38+rpi2+deb7u8 (using .../libc6_2.19-18+deb8u10_armhf.deb) ...
Checking for services that may need to be restarted...
Checking init scripts...
Unpacking replacement libc6:armhf ...
dpkg: warning: subprocess old post-removal script was killed by signal (Segmentation fault)
dpkg: trying script from the new package instead ...
dpkg: error processing /var/cache/apt/archives/libc6_2.19-18+deb8u10_armhf.deb (--unpack):
subprocess new post-removal script was killed by signal (Segmentation fault)
dpkg: error while cleaning up:
subprocess installed pre-installation script was killed by signal (Segmentation fault)
Errors were encountered while processing:
/var/cache/apt/archives/libc6_2.19-18+deb8u10_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Я застрял. Есть предложения?
решение1
Я разобрался - вроде того - я нашел идентичную систему, которая смогла выполнить обновление с проблемой. Я сравнил различные файлы в /etc/apt и нашел многочисленные различия.
Я скопировал весь каталог apt из успешной системы в сломанную, и это исправило проблему.
Удачи всем, кто пытается выяснить, каким должно быть правильное содержимое файла. Поиск в Google возвращает тысячи ответов, и все они разные. Мне повезло, у меня была система, в которой все было правильно. Так что вот вам еще одна конфигурация, которую можно попробовать. Эта сработала у меня на пяти разных системах:
/etc/apt/sources.list:
deb http://archive.raspberrypi.org/debian/ jessie main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ jessie main
root@stn4133:/etc/apt# more sources.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://mirror.ox.ac.uk/sites/archive.raspbian.org/archive/raspbian/ jessie main contrib non-free rpi
/apt/etc/sources.list.d/raspi.list:
deb http://archive.raspberrypi.org/debian/ jessie main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ jessie main
У вас также могут быть ошибки, сообщающие, что у вас отсутствует открытый ключ. Это происходит из-за того, что trusted.gpg неполный. Чтобы исправить это, вы можете следовать инструкциям в этой статье: https://chrisjean.com/fix-apt-get-update-the-following-signatures-couldnt-be-verified-because-the-public-key-is-not-available/