asy, поделитесь опытом.
Опыт надо как-то скомпановать из
https://lists.altlinux.org/pipermail/devel/2019-March/207479.html и
https://lists.altlinux.org/pipermail/sisyphus/2019-April/367833.html. Исходя из того, что в /var/cache/apt/archives уже лежат все необходимые пакеты (и зависимосимости проверены, раз установка началась), то их надо просто все поставить. Единственная вероятная проблема это то, что там может быть что-нибудь лишнее, что осталось от предыдущего обновления. Проблема в том, что apt, вытягивая пакеты из репозитория, сохраняет дату, и вполне может оказаться, что был загружен какой-то нужный пакет, который более старый, чем дата предыдущего обновления. В общем, если до начала обновления /var/cache/apt/archives не был очищен (apt-get clean например), то сложно отсортировать на нужное/ненужное. Если эту проблему во внимание не принимать (кстати вот не знаю, может rpm сам в состоянии разрулить эту ситуацию), или посчитать несущественной, то путь какой-то такой, как описано далее.
0. Убедиться, что выжил rpm. Если rpm не выжил, всё может быть сложно. Запустить
rpm --rebuilddb. Если тут ошибок не будет, можно читать дальше. Вероятно, что пункты 0 и 1 придётся делать, загрузившись с флешки или CD (например с
https://www.altlinux.org/Rescue), если система совсем не загружается. После п1 вероятнее всего уже загрузится. Не выполнять
apt-get update до окончания ремонта ОС.
1. Установить все пакеты из кэша без разбора:
cd /var/cache/apt/archives
rpm -Uvh --force --nodeps *.rpm
-v и
-h тут просто для того, чтобы процесс видеть.
2. Зачистить дубликаты. Тут два способа. Либо rpm -U <пакет другой версии>, либо новее (но его не будет - мы же только что обновились), либо старее (тогда ещё --force добавить). Либо, если пакет не выглядит важным непосредственно сейчас, можно просто удалить его посредством rpm -e --nodeps --allmatches <пакет> и, лучше сразу же, поставить обратно из /var/cache/apt/archives. Очевидно, что второй способ плохо подходит, например, для glibc. Либо вообще не обращать внимания и прописать, как предлагает apt, Allow-Duplicated, следить за обновлением этих пакетов и удалять из Allow-Duplicated по мере появления обновлений.
3. Посмотреть, что получилось: apt-get --fix-broken dist-upgrade
4. Зачистить лишнее:
https://www.altlinux.org/APT_в_ALT_Linux/Советы_по_использованию#apt-scripts:_«ненужное»_и_«не_в_текущем_репо»По идее, на этом всё.