dnf потерпел крах и теперь имеет ошибки транзакции

2179
Bart Friederichs

Я работал dnf updateна своей системе Fedora 22, когда Gnome потерпел крах, нарушив работу dnf. Теперь при повторной попытке я получаю эту ошибку:

The downloaded packages were saved in cache until the next successful transaction. You can remove cached packages by executing 'dnf clean packages'. Error: Transaction check error: file /usr/share/licenses/libpng/LICENSE from install of libpng-2:1.6.19-1.fc22.i686 conflicts with file from package libpng-2:1.6.16-3.fc22.x86_64 file /usr/share/man/man5/png.5.gz from install of libpng-2:1.6.19-1.fc22.i686 conflicts with file from package libpng-2:1.6.16-3.fc22.x86_64 file /usr/share/doc/libgpg-error/README from install of libgpg-error-1.21-1.fc22.i686 conflicts with file from package libgpg-error-1.17-2.fc22.x86_64 [... many more ...] file /usr/share/doc/libgpg-error/AUTHORS from install of libgpg-error-1.21-1.fc22.i686 conflicts with file from package libgpg-error-1.17-2.fc22.x86_64 file /usr/share/doc/pcre/NEWS from install of pcre-8.38-1.fc22.i686 conflicts with file from package pcre-8.37-4.fc22.x86_64 file /usr/share/doc/pcre/ChangeLog from install of pcre-8.38-1.fc22.i686 conflicts with file from package pcre-8.37-4.fc22.x86_64  Error Summary ------------- 

Как я могу заставить dnfпродолжить установку новых версий?

2

2 ответа на вопрос

1
mattdm

Похоже, у вас есть мультибиблиотечная система - x86_64 с установленными пакетами i686. Часто такие пакеты совместно используют файлы, и это не проблема, если они абсолютно идентичны. Похоже, что здесь вы обновили одну архитектуру, но не другую, а общий файл изменился.

Самый простой выход из этого - удалить пакеты i686. В этом случае,

sudo dnf remove libpng.i686 libgpg-error.i686 pcre.i686 

должен сделать это. Он также может удалить кучу зависимостей i686, что нормально. Вы всегда можете положить их обратно. Сделайте это, а затем обновите, а затем верните обратно все 32-битные программы, которые вам действительно нужны.

Спасибо, но я все равно сделал обновление с 22 до 23, и это тоже сработало. Были некоторые проблемы с другими пакетами, но удаление и переустановка их исправили это. Bart Friederichs 8 лет назад 0
0
Dan Berindei

Я использовал rpmпринудительное обновление, не удаляя сначала пакеты i686. dnfПолезно сохраняет файлы RPM в /var/cache/dnf/updates-<tx-id>/packages/:

sudo rpm -i --force /var/cache/dnf/updates-<tx-id>/packages/<package>.rpm