Я пытаюсь обновить установку Gentoo с конца 2018 года до текущей версии (март 2020 года). Я следую инструкциям, которые даныздесь.
У меня есть хост-установка, которая содержит актуальную (март 2020 г.) систему Gentoo, и оттуда я смонтировал старую установку под <old-inst>
. Я пытаюсь выполнить обновление с помощью команды:
emerge --ask --verbose --verbose-conflicts --update --deep --newuse --root=<old-inst> --config-root=<old-inst> @world --backtrack=20000
Это привело к нескольким конфликтам между уже установленными пакетами и пакетами, которые будут установлены обновлением. Я решил их, удалив старый пакет и попытавшись выполнить обновление снова с помощью команды выше. Мой план — установить удаленные пакеты снова после успешного выполнения обновления.
Эта стратегия сработала для многих конфликтов, но сейчас я достиг конфликта, который не могу разрешить. Вот информация из emerge --update ...
:
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
dev-python/cffi:0
(dev-python/cffi-1.11.4:0/1.11.4::gentoo, installed) USE="-doc -test" PYTHON_TARGETS="python2_7 python3_6" pulled in by
>=dev-python/cffi-1.8:0/1.11.4=[python_targets_python2_7(-),-python_single_target_python2_7(-),python_targets_python3_6(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] required by (dev-python/cryptography-2.8-r1:0/0::gentoo, installed) USE="-idna -libressl -test" PYTHON_TARGETS="python2_7 python3_6 (-pypy3) (-python3_7) (-python3_8)"
^^^^^^^^^^
>=dev-python/cffi-1.1:0/1.11.4=[python_targets_python2_7(-),-python_single_target_python2_7(-),python_targets_python3_6(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/bcrypt-3.1.6:0/0::gentoo, installed) USE="-test" PYTHON_TARGETS="python2_7 python3_6 (-python3_7)"
^^^^^^^^^^
dev-python/cffi:0/1.11.4=[python_targets_python3_6(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/pyzmq-16.0.2:0/0::gentoo, installed) USE="(-doc) -test" PYTHON_TARGETS="python3_6 (-python3_7)"
^^^^^^^^^^
(dev-python/cffi-1.13.2:0/1.13.2::gentoo, ebuild scheduled for merge) USE="-doc -test" PYTHON_TARGETS="python2_7 python3_6 (-python3_7) (-python3_8)" pulled in by >=dev-python/cffi-1.1:0/1.13.2=[python_targets_python2_7(-),-python_single_target_python2_7(-),python_targets_python3_6(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/bcrypt-3.1.6:0/0::gentoo, installed in '/systemrescuecd/customcd/files/') USE="-test" PYTHON_TARGETS="python2_7 python3_6 (-python3_7)"
^^^^^^^^^^
dev-python/cffi:0/1.13.2=[python_targets_python2_7(-),python_targets_python3_6(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-)] required by (dev-python/pyzmq-16.0.2:0/0::gentoo, installed in '/systemrescuecd/customcd/files/') USE="(-doc) -test" PYTHON_TARGETS="python2_7 python3_6 (-python3_7)"
dev-python/cffi
Если я правильно интерпретирую эту информацию, то будут установлены по крайней мере две разные версии пакета : например, версия 1.13.2
вытягивается пакетом dev-python/bcrypt
, а версия 1.11.4
уже установлена. Поэтому мой план был dev-python/cffi
сначала удалить пакет, а затем попробовать emerge --update ...
снова. Так я и сделал
emerge --ask --root=<old-inst> --config-root=<old-inst> -C dev-python/cffi
но emerge сообщает, что пакет не установлен, что меня озадачивает. Если я попробую emerge --update ...
снова, то получу информацию о том, что одна версия пакета уже установлена. Так пакет установлен или нет? И как разрешить этот конфликт? Или, если информация о пакете повреждена, есть ли способ ее восстановить?