Fedora 29,28 / RHEL 8 поставляется с функцией модульного репозитория, которая позволяет устанавливать дополнительные версии программного обеспечения в независимых жизненных циклах через поток приложений, также называемый AppStream. Это позволяет вам поддерживать свою операционную систему в актуальном состоянии, имея правильную версию приложения, подходящую для вашего варианта использования.
Подкоманда dnf module
используется для управления модульным репозиторием в системе Fedora, которая поддерживает эту функцию. Ниже приведены примеры использования модульного репозитория Fedora.
Список доступных модулей
Чтобы вывести список всех потоков модулей, их профили и состояния (включено, отключено, по умолчанию), выполните команды:
# dnf module list
Вы получите вывод, похожий на приведенный ниже:
Fedora Modular 29 - x86_64 Name Stream Profiles Summary ant 1.10 default [d] Java build tool avocado latest minimal, default Framework with tools and libraries for Automated Testing avocado stable minimal, default Framework with tools and libraries for Automated Testing container-tools 2017.0 default Common tools and dependencies for container runtimes container-tools 2018.0 default Common tools and dependencies for container runtimes cri-o 1.11 default Kubernetes Container Runtime Interface for OCI-based containers cri-o 2017.0 default Kubernetes Container Runtime Interface for OCI-based containers cri-o 2018.0 default Kubernetes Container Runtime Interface for OCI-based containers django 1.6 python2_development, default [d] A high-level Python Web framework docker 2017.0 default Module for docker runtime and docker-distribution dwm 6.0 user, default [d] Dynamic window manager for X dwm 6.1 [d] user, default [d] Dynamic window manager for X dwm latest user, default [d] Dynamic window manager for X eog master default Eye of GNOME Application Module flatpak-runtime f29 sdk-base, buildroot, sdk, runtime, runtime-base Flatpak Runtime gcsf master default FUSE file system based on Google Drive gimp 2.10 devel, default GIMP golang 1.10 default The Go Programming Language golang-ecosystem 2017.0 default The ecosystem of packages for the Go programming language golang-ecosystem 2018.0 default The ecosystem of packages for the Go programming language hub pre-release default A command-line wrapper for git with github shortcuts kubernetes 1.10 default Container cluster management kubernetes openshift-3.10 default OpenShift Container Management libgit2 0.26 Library implementation of Git libgit2 0.27 Library implementation of Git lizardfs devel Distributed, fault tolerant file system mariadb 10.1 client, server, default MariaDB Module maven 3.5 default [d] Java project management and project comprehension tool meson master default The Meson Build system mongodb 3.4 client, server, default MongoDB Module mongodb 3.6 client, server, default MongoDB Module mysql 5.7 client, server, default MySQL Module ninja master default Small build system with a focus on speed nodejs 10 development, minimal, default Javascript runtime nodejs 8 development, minimal, default [d] Javascript runtime perl 5.24 minimal, default Practical Extraction and Report Language perl 5.26 minimal, default Practical Extraction and Report Language perl-bootstrap 5.24 Perl bootstrap module for bootrapping Perl module perl-bootstrap 5.26 Perl bootstrap module for bootrapping Perl module pki 10.6 default Dogtag PKI postgresql 9.6 client, server, default PostgreSQL module reviewboard 2.5 server, default [d] A web-based code review tool reviewboard 3.0 server, default [d] A web-based code review tool ripgrep master default Line oriented search tool using Rust's regex library scala 2.10 default A hybrid functional/object-oriented language for the JVM stratis 1 [d] default [d] Stratis Storage stratis master default Stratis Storage testmodule master default A test module in all its beautiful beauty ........
Чтобы отобразить информацию о конкретном модуле, укажите имя в качестве аргумента предыдущей команды:
# dnf module list kubernetes Last metadata expiration check: 0:33:58 ago on Sat 03 Nov 2018 02:02:06 PM UTC. Fedora Modular 29 - x86_64 Name Stream Profiles Summary kubernetes 1.10 default Container cluster management kubernetes openshift-3.10 default OpenShift Container Management Fedora Modular 29 - x86_64 - Updates Name Stream Profiles Summary kubernetes 1.10 default Container cluster management kubernetes openshift-3.10 default OpenShift Container Management Hint: [d]efault [e]nabled, [x]disabled, [i]nstalled
Установить профили модулей
Синтаксис для установки модуля:
# dnf [options] module install <module_spec>...
Сначала получите модуль потока, например:
# dnf module list mongodb Last metadata expiration check: 0:39:49 ago on Sat 03 Nov 2018 02:02:06 PM UTC. Fedora Modular 29 - x86_64 Name Stream Profiles Summary mongodb 3.4 client, server, default MongoDB Module mongodb 3.6 client, server, default MongoDB Module Fedora Modular 29 - x86_64 - Updates Name Stream Profiles Summary mongodb 3.4 client, server, default MongoDB Module mongodb 3.6 client, server, default MongoDB Module
Вы можете видеть, что модуль mongodb
имеет два потока: один для MongoDB 3.4, а другой для 3.6. Чтобы установить MongoDB, 3.6
запустите:
# dnf module install mongodb:3.6/default Last metadata expiration check: 0:42:02 ago on Sat 03 Nov 2018 02:02:06 PM UTC. Dependencies resolved. ====================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================== Installing group/module packages: mongodb x86_64 3.6.4-2.module_1831+e8c1cdcd fedora-modular 26 M mongodb-server x86_64 3.6.4-2.module_1831+e8c1cdcd fedora-modular 22 M Installing dependencies: boost-filesystem x86_64 1.66.0-14.fc29 fedora 52 k boost-iostreams x86_64 1.66.0-14.fc29 fedora 43 k boost-program-options x86_64 1.66.0-14.fc29 fedora 145 k boost-system x86_64 1.66.0-14.fc29 fedora 22 k gperftools-libs x86_64 2.7-3.fc29 fedora 304 k libstemmer x86_64 0-11.585svn.fc29 fedora 72 k libunwind x86_64 1.2.1-6.fc29 fedora 61 k pcre-cpp x86_64 8.42-4.fc29 fedora 27 k snappy x86_64 1.1.7-6.fc29 fedora 33 k yaml-cpp x86_64 0.6.1-4.fc29 fedora 163 k Installing module profiles: mongodb/default Enabling module streams: mongodb 3.6 Transaction Summary ====================================================================================================================================================== Install 12 Packages Total download size: 48 M Installed size: 146 M Is this ok [y/N]: y
Подтвердите установку, набрав y . После установки вы можете подтвердить версию пакета командой rpm
.
# rpm -qi mongodb-server Name : mongodb-server Version : 3.6.4 Release : 2.module_1831+e8c1cdcd Architecture: x86_64 Install Date: Sat 03 Nov 2018 02:46:49 PM UTC Group : Applications/Databases Size : 69489417 License : AGPLv3 and zlib and ASL 2.0 Signature : RSA/SHA256, Fri 01 Jun 2018 03:01:17 PM UTC, Key ID a20aa56b429476b4 Source RPM : mongodb-3.6.4-2.module_1831+e8c1cdcd.src.rpm Build Date : Fri 01 Jun 2018 10:41:49 AM UTC Build Host : buildvm-21.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://www.mongodb.org Bug URL : https://bugz.fedoraproject.org/mongodb Summary : MongoDB server, sharding server and support scripts Description : This package provides the mongo server software, mongo sharding server software, default configuration files, and init scripts.
Чтобы перейти на MongoDB 3.4, вы установите модуль 3.4
# dnf module install mongodb:3.4/default Last metadata expiration check: 0:52:06 ago on Sat 03 Nov 2018 02:02:06 PM UTC. Dependencies resolved. ====================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================== Installing dependencies: boost-chrono x86_64 1.66.0-14.fc29 fedora 27 k boost-regex x86_64 1.66.0-14.fc29 fedora 286 k boost-thread x86_64 1.66.0-14.fc29 fedora 62 k Downgrading: mongodb x86_64 3.4.11-3.module_1829+95924ba0 fedora-modular 23 M mongodb-server x86_64 3.4.11-3.module_1829+95924ba0 fedora-modular 20 M Switching module streams: mongodb 3.6 -> 3.4 Transaction Summary ====================================================================================================================================================== Install 3 Packages Downgrade 2 Packages Total download size: 43 M Is this ok [y/N]: y
Вы должны увидеть указатель, 3.6 -> 3.4
указывающий, что это понижение рейтинга.
Включить поток модуля
Если у вас есть другая версия, которая была установлена через другие внешние репозитории, сначала удалите ее, затем включите модуль
sudo dnf remove mongodb-server sudo dnf module enable mongodb:3.6
Это активирует поток модулей и сделает RPM потоков доступными в наборе пакетов. Модульные зависимости разрешаются и проверяются во время включения, но не включаются автоматически. Команда enable также может использоваться для переключения потоков модулей.
Включить поток модуля
Чтобы отключить модуль и сделать все связанные потоки модулей недоступными, используйте:
$ dnf module disable <module-name>
Список включенных потоков модулей
Чтобы вывести список потоков модулей, которые включены, выполните
# dnf module list --enabled Last metadata expiration check: 1:05:33 ago on Sat 03 Nov 2018 02:02:06 PM UTC. Fedora Modular 29 - x86_64 Name Stream Profiles Summary mongodb 3.6 [e] client, server, default [i] MongoDB Module Fedora Modular 29 - x86_64 - Updates Name Stream Profiles Summary mongodb 3.6 [e] client, server, default [i] MongoDB Module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Получить модуль потока подробной информации
Синтаксис для распечатки подробной информации о данном модульном потоке:
# dnf module info <module_spec>
Пример:
# dnf module info mongodb:3.6
Сбросить состояние модуля
Вы также можете сбросить состояние модуля, чтобы он больше не был включен или отключен.
# dnf module reset <module_spec>
Пример:
# dnf module reset mongodb:3.6 Last metadata expiration check: 1:11:26 ago on Sat 03 Nov 2018 02:02:06 PM UTC. Dependencies resolved. ====================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================== Removing module profiles: mongodb/default Resetting module streams: mongodb 3.6 Transaction Summary ====================================================================================================================================================== Is this ok [y/N]: y Complete!
Уведомление: Как установить MySQL 8.0 на Fedora 31/30/29 - INFOIT.COM.UA