Я только что обновил FreeBSD с 9.x до 10.0 (используя freebsd-update
) а теперь мой pkg
не работает.
# pkg
Shared object "libarchive.so.5" not found, required by "pkg"
#
Я знаю, что могу использовать pkg-static
тем временем, но как мне исправить мой pkg
сейчас?
* ОБНОВИТЬ *:
# pkg-static info pkg
pkg-static: No package(s) matching pkg
# pkg-static install pkg
Updating repository catalogue
pkg-static: http://pkg.freebsd.org/freebsd:10:x86:64/latest/repo.txz: Not Found
#
Вот что исправило мое обновление FreeBSD 9.2-RELEASE -> 10.0-RELEASE, в котором была такая же проблема Shared object "libarchive.so.5" not found required by "pkg"
хотя мой pkg-static pkg
показал 1.2.6
был установлен.
# pkg-static bootstrap -f
Которые перечислены инструкции по загрузочной обвязке pkg
# pkg-static delete -f pkg
# /usr/sbin/pkg -v
После этого pkg, кажется, ведет себя правильно.
Параметры:
Восстановить pkg
из портов:
cd /usr/ports/ports-mgmt/pkg && make deinstall reinstall clean
Исправьте ссылку на библиотеку через libmap.conf
:
echo "libarchive.so.5 `ls /usr/lib/libarchive.so.*`" >> /etc/libmap.conf
Могут быть другие приложения, которые решают ту же проблему. pkg
также полагается на 8 других разделяемых библиотек. Я не уверен, что изменилось между 9.x и 10.x, но держу пари, что будут другие.