Есть несколько подходов, которые стоит попробовать.
Во-первых, исправьте / usr / share / cli-common / policy-remove
, чтобы он не сработал, если политика отсутствует: отредактируйте его последнюю строку, чтобы она запускала rm -f
вместо rm
. должен позволить правильно удалить пакеты.
Если это не удается, и поскольку вы пытаетесь удалить все пакеты Mono, должно быть достаточно безопасно удалить неудачные сценарии postrm
:
sudo rm /var/lib/dpkg/info/lib{glade,glib,gtk}2.0-cil.postrm
Единственная операция postrm
- это отменяет регистрацию политик, о чем вы не заботитесь, поскольку вы все равно удаляете все.
Вы не единственный, кто пострадал от этой проблемы: в 2012 году она была зарегистрирована как ошибка Debian 692962 .
В итоге я привел GID и UID новой установки в соответствие с GID и UID старой установки, используя usermod -u
и groupmod -g
и убедился, что домашние каталоги названы одинаково на новой и старой системе. Для перехода на новые домашние каталоги я отредактировал fstab, чтобы смонтировать их в /home
, затем переименовал стандартные пользовательские каталоги mv /home/login /home/login_old
и сделал пустые каталоги mkdir /home/login
в качестве точек монтирования, используемых в файле fstab. После этого я сразу же перезагрузился.
Все работало нормально и без ошибок, поскольку Mint 17.3 и 18 были достаточно похожи.
В целом я бы не рекомендовал это делать при переходе с одного дистрибутива на другой или при смене окружения рабочего стола, поскольку старые настройки домашнего каталога пользователя могут вызвать проблемы.
Вы можете использовать команду usermod
, чтобы изменить учетные данные пользователя:
UID или GID:
usermod -u NEW_UID USERNAME
usermod -g NEW_GID USERNAME
Таким образом, вы можете принять ценности вашей старой системы.
Местоположение домашнего каталога (только при неполном перемещении / home ...)
usermod -d /path/to/new/home/dir USERNAME
Чтобы также переместить содержимое текущего домашнего каталога в новое местоположение, используйте параметр -m
.
В качестве альтернативы вы также можете просто переместить старые файлы / etc / passwd
, / etc / group
и / etc / shadow
в новую систему и пропустить сброс UID на GID.
Одна проблема, которую я вижу, может заключаться в том, что две системы используют одни и те же имена для некоторых файлов конфигурации и, таким образом, вызывают ошибки.