Новости:

Форуму исполнилось 12 лет!

Мы в матрице .
Мы в телеге .

Главное меню

проблема с обновлением

Автор maxsib, 02 сентября 2021, 17:16:24

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

maxsib

[РЕШЕНО]
Всем привет! В общем, дело в том, что при обновлении на несколько секунд отключили электричество и теперь slackpkg upgrade-all не работает, пишет

root@slack2:~# slackpkg upgrade-all

FATAL! There is some problem in packages database
       or maybe an installation or upgrade in progress:

   binutils-2.36.1-x86_64-2-upgraded-2021-09-02,06:56:17

       If you continue you may corrupt packages database.
       Check or retry later
Интересно, можно как-то решить? Slackware-current. Спасибо заранее.

Graf

Самое быстрое.

# slackpkg update

если спросит:
Do you really want to download all other files (y/N)?
говорим Y
# slackpkg upgrade-all

Подробней ТУТ

bormant

Решить, конечно, можно.
Если совет от Graf не поможет, а скорее всего так и будет, то давайте разберемся в ситуации.

Источник сообщения
пакет slackpkg+, файл /usr/libexec/slackpkg/functions.d/slackpkgplus.sh:
  if [ "$CMD" == "upgrade" -o "$CMD" == "upgrade-all" ]&&ls $ROOT/var/log/packages/*:* >/dev/null 2>&1;then
    echo "FATAL! There is some problem in packages database"
    echo "       or maybe an installation or upgrade in progress:"
    echo
    echo "   "$(cd $ROOT/var/log/packages/ ; ls *:*)
    echo
    echo "       If you continue you may corrupt packages database."
    echo "       Check or retry later"
    echo
    cleanup
  fi

В чем суть проверки: если slackpkg при команде upgrade или upgrade-all видит в /var/log/packages/ имя пакета с двоеточием.

Зачем такая проверка?
Тут нужно вспомнить как работает upgradepkg. Если в двух словах, то в процессе создается запись  удаляемого псевдопакета с добавлением к имени -upgraded-дата,время, который затем удаляется по removepkg. Наличие подобного файла говорит о том, что до фазы удаления upgradepkg не дошел.

Как исправить?
1) Скачать актуальный файл пакета binutils, на сейчас это d/binutils-2.37-x86_64-1.txz
2) Поставить его: installpkg binutils-2.37-x86_64-1.txz
3) Удалить хвосты: removepkg /var/log/packages/binutils-2.36.1-x86_64-2*

Теперь можно продолжить обновление системы штатно.

maxsib

#3
Спасибо, отпишусь.
Ура! Заработало.
Спасибо!
[РЕШЕНО]