Начиная с Fedora 22, в качестве менеджера пакетов, вместо yum, начал использоваться dnf. И ясно, что совсем скоро мы увидим его в CentOS и в RedHat. Менеджер давно работает стабильно, и нет ни каких причин, к тому, что бы не заменить на него устаревший yum.
Давайте поглядим, в чем преимущества над yum:
- Более качественно разрешает зависимости;
- Работает быстрее и кушает меньше памяти;
- Может работать, как с Python 2 так и с Python 3. Следовательно можно отказаться от 2 версии и использовать Python 3 по умолчанию;
- Синтаксис совместим с yum, переучиваться не придётся.
По сути достаточно уже первых двух пунктов. Давайте устанавливать.
Установка dnf
Сначала нам понадобиться репозиторий EPEL:
# yum -y install epel-release
Затем собственно ставим сам менеджер пакетов:
# yum install -y dnf
На это по вроде как бы все, можно было бы начать пользоваться, но неожиданно полезли ошибки. Так что переходим ко второй части :).
Решаем проблемы
Собственно, если сразу после установки запустить менеджер, получим ошибку – что то типа:
# dnf repolist Failed to open: /var/cache/dnf/x86_64/7/x86_64/7/epel/repodata/dc79e1e8ec5d81d08795bbbe9ecec4750dfba572879cf4b9a6e87a2ee61952b6-updateinfo.xml.bz2.
Очевидно репозиторий epel не пришелся ко двору.
Удаляем, проверяем:
# dnf -y remove epel-release
Чистим кеш:
# dnf clean all
Проверяем:
# dnf repolist Using metadata from Fri Jul 29 13:58:24 2016 repo id repo name status base CentOS-7 - Base 9,007 extras CentOS-7 - Extras 356 updates CentOS-7 - Updates 2,070
Отлично, все заработало! Но как жить без epel и remi?
Покопавшись на багтрекере обнаружилось, что проблема имеет место быть и находиться в стадии решения. Всему виной библиотека libsolv
. Текущая версия в epel 0.6.11-1, для корректной работы требуется минимально 14 версия. Такая обнаружилась тут – http://koji.fedoraproject.org/koji/buildinfo?buildID=704417. Ставим:
# rpm -Uhv https://kojipkgs.fedoraproject.org//packages/libsolv/0.6.14/1.el7/x86_64/libsolv-0.6.14-1.el7.x86_64.rpm Retrieving https://kojipkgs.fedoraproject.org//packages/libsolv/0.6.14/1.el7/x86_64/libsolv-0.6.14-1.el7.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:libsolv-0.6.14-1.el7 ################################# [ 50%] Cleaning up / removing... 2:libsolv-0.6.11-1.el7 ################################# [100%]
Проверяем:
# dnf repolist Safe Remi's RPM repository for Enterprise Linux 961 kB/s | 615 kB 00:00 CentOS-7 - Base 3.3 MB/s | 8.8 MB 00:02 CentOS-7 - Updates 3.6 MB/s | 7.6 MB 00:02 Remi's RPM repository for Enterprise Linux 7 - 3.0 MB/s | 2.1 MB 00:00 CentOS-7 - Extras 779 kB/s | 468 kB 00:00 Using metadata from Tue Aug 2 11:47:13 2016 repo id repo name status base CentOS-7 - Base 9,007 epel Extra Packages for Enterprise Linux 7 - x86_64 10,388 extras CentOS-7 - Extras 356 remi Remi's RPM repository for Enterprise Linux 7 - x86_64 3,140 remi-safe Safe Remi's RPM repository for Enterprise Linux 7 - x86_64 1,040 updates CentOS-7 - Updates
Теперь все работает.
View Comments (1)
Спасибо!
Помогло быстро решить проблему.