Управление программными пакетами: установка, обновление, удаление#
Программные пакеты поставляются в виде rpm-пакетов через репозиторий BaseOS.
Внимание
Группы пакетов устанавливаются и удаляются ПОЛНОСТЬЮ, со всеми входящими в них пакетами и зависимостями.
Устанавливать и удалять ОТДЕЛЬНЫЕ пакеты из списка входящих в группы - НЕЛЬЗЯ.
При необходимости использования отдельного пакета, входящего в не установленную ранее группу пакетов - установите соответствующую группу. Только в этом случае будут обеспечены необходимые безопасные настройки, соответствующие требованиям ФСТЭК России.
Репозиторий BaseOS#
BaseOS – это репозиторий, который содержит базовый набор программных пакетов, обеспечивающий основную функциональность операционной системы. Его содержимое доступно в виде rpm-пакетов.
Инструменты управления программным обеспечением#
Важно
Исполнения управляются различными менеджерами пакетов:
yumиdnf- Исполнение OS Server и Исполнение OS Virtualization;rpm-ostreeиrpm- Исполнение OS Core (подробнее см. раздел «Управление OSTree-слоями и пакетами»).
Для управления программным обеспечением Исполнения OS Server и Исполнения OS Virtualization используются утилиты yum и dnf (менеджеры пакетов). Менеджеры пакетов позволяют осуществлять управление программными пакетами и модулями, а также выполнять с ними полный набор операций, например, таких как установка, обновление, удаление, обработка зависимостей и т.д.
Важно
Приоритетная утилита для управления программным обеспечением - dnf. Также можно использовать yum.
Совместимые пакеты yum - часть dnf и могут устанавливаться под теми же именами (которые являются символическими ссылками в рамках обеспечения совместимости), поэтому двоичные файлы, файлы конфигурации и каталоги расположены по умолчанию.
Настройка DNF#
Информация о конфигурации для менеджеров пакетов yum и dnf, а также связанных с ними утилит хранится в файлах /etc/yum.conf и /etc/dnf/dnf.conf в разделе [main] (единственный раздел в файлах). Пары ключ-значение в этом разделе влияют на работу пакетных менеджеров с репозиториями. [main] содержит только те настройки, которые были явно заданы в данном разделе.
Для просмотра полной конфигурации (в том числе отображения настроек по умолчанию) используйте команду:
Для dnf:
dnf config-manager --dump
Важно
Большинство команд в разделе применимы как для dnf, так и для yum.
Для изменения текущей конфигурации:
Откройте файл
/etc/yum.confили/etc/dnf/dnf.confв текстовом редакторе.Отредактируйте раздел
[main]в соответствии с требуемыми изменениями.Сохраните файл.
Менеджеры пакетов позволяют использовать плагины для расширения функциональности и улучшения работы. Каждый устанавливаемый плагин может иметь свой собственный файл конфигурации в каталоге /etc/dnf/plugins/. Название файла конфигурации должно соответствовать шаблону <plug-in_name>.conf, где <plug-in_name> - название подключаемого плагина. Чтобы отключить плагин, необходимо в таком файле в режиме редактирования добавить:
[main]
enabled=False
Плагины в пакетных менеджерах загружаются по умолчанию, но есть возможность изменить стандартные настройки.
Для включения всех подключаемых плагинов:
Откройте файл
/etc/yum.confили/etc/dnf/dnf.confв текстовом редакторе.Добавьте параметр
plugins=1(значение по умолчанию) в раздел[main].Сохраните файл.
Для отключения всех подключаемых плагинов необходимо параметру plugins установить значение 0.
Внимание
Отключать все плагины не рекомендуется. Некоторые плагины предоставляют важные сервисы менеджеров пакетов. Глобальное отключение плагинов предусмотрено в качестве опции для удобства и рекомендуется только при диагностике потенциальной проблемы с пакетными менеджерами.
Для отключения всех плагинов для конкретной команды добавьте опцию --noplugins при вводе. Например, чтобы отключить все плагины для команды update, введите:
dnf --noplugins update
Для отключения определенных плагинов для конкретной команды добавьте при вводе опцию --disableplugin=<plugin-name>, где <plugin-name> – название плагина. Например, чтобы отключить плагин <plugin-name> для команды update, введите:
dnf update --disableplugin=<plugin_name>
Для включения определенных плагинов для конкретной команды добавьте при вводе опцию --enableplugin=<plugin-name>. Например, чтобы включить плагин <plugin-name> для команды update, введите:
dnf update --enableplugin=<plugin_name>
Поиск и отображение информации с использованием DNF#
Менеджеры пакетов позволяют осуществлять поиск информации о программных пакетах, установленных в системе, а также в репозитории BaseOS.
Поиск программных пакетов#
С помощью менеджеров пакетов можно определить, какой пакет в репозитории содержит необходимое программное обеспечение.
Для поиска пакетов в названии или в их кратком описании в репозитории введите:
dnf search <term>
Где <term> - название пакета или термин, который к нему относится.
Команда dnf search возвращает совпадения терминов в зоне поиска, указанной выше. Это ускоряет поиск и позволяет искать пакеты, название которых неизвестно, но известен связанный по смыслу термин.
Чтобы добавить в зону поиска полное описание пакетов, введите:
dnf search --all <term>
Опция --all обеспечивает более исчерпывающий, но более медленный поиск.
Чтобы выполнить поиск по названию пакета в перечне пакетов в репозитории, введите:
dnf repoquery <package_name>
Где <package_name> – название пакета.
Вывод команды также будет содержать версию этого пакета.
Для поиска пакета по файлу, который ему принадлежит, введите:
dnf provides <file_name>
Где <file_name> – имя файла или путь к этому файлу.
Отображение перечня программных пакетов#
dnf можно использовать для отображения перечня пакетов и их версий, доступных в репозитории. При необходимости список пакетов можно отфильтровать, оставив, например, только те пакеты, для которых доступны обновления.
Для вывода всех доступных пакетов, включая их архитектуру, версии, введите:
dnf list --all
Знак @ перед указанием репозитория говорит, что пакет в данный момент установлен в системе.
Для того чтобы отфильтровать список пакетов, вместо --all используйте:
--installed- для формирования списка установленных пакетов в системе;--available- для формирования списка пакетов, доступных для установки;--upgrades- для формирования списка пакетов, для которых доступны новые версии для установки.
Результаты работы команды можно дополнительно отфильтровать с использованием глобальных выражений в качестве аргументов.
Важно
Для dnf команда dnf repoquery является альтернативой команде dnf list --all.
Вывод информации о репозитории#
С помощью менеджеров пакетов можно узнать, какие репозитории подключены или отключены в системе.
Чтобы вывести список подключенных репозиториев, введите команду:
dnf repolist
Также вместе с этой командой можно использовать следующие опции:
--disabled- выведет список отключенных репозиториев;--all- выведет список всех репозиториев.
Для получения дополнительной информации о репозитории введите:
dnf repoinfo <repository_name>
Где <repository_name> – название репозитория.
Вывод информации о пакетах#
С помощью менеджеров пакетов можно получать дополнительные сведения о пакетах, такие как версия, тип архитектуры, размер и описание.
Для вывода информации об одном или нескольких пакетах, установленных в системе, а также о его более новых версиях (при наличии в репозитории), введите:
dnf info <package_name>
Где <package_name> название пакета.
Важно
Для dnf в качестве альтернативы можно использовать команду dnf repoquery --info <package_name>, которая выведет информацию обо всех пакетах в репозитории с указанным <package_name>.
Дополнительно отфильтровать результаты можно с использованием глобальных выражений.
Вывод информации о группах пакетов#
Менеджеры пакетов позволяют получать информацию о группах пакетов в репозитории и системе. При установке группы пакетов набор зависимых пакетов устанавливается за одно действие, но важно знать название нужной группы.
Примечание
Группа пакетов - это набор пакетов, которые объединены в рамках выполнения общей функции (например, системные инструменты, звук и видео).
Для вывода списка установленных и доступных групп используйте:
dnf group list
Отфильтровать результаты команды dnf group list возможно с помощью параметров --installed и --available. Параметр --hidden при вводе команды позволит отобразить скрытые группы.
Для просмотра количества установленных и доступных групп введите:
dnf group summary
Для вывода информации о перечне пакетов, содержащихся в определенной группе (как обязательных, так и необязательных) введите:
dnf group info "<group_name>"
Где <group_name> – название нужной группы.
Дополнительно результаты можно отфильтровать с использованием глобальных выражений.
Использование глобальных выражений для дополнительной фильтрации#
Команды dnf позволяют фильтровать результаты, добавляя одно или несколько глобальных выражений в качестве аргументов.
Чтобы убедиться, что глобальные выражения передаются по назначению dnf, используйте один из следующих методов:
Заключите глобальное выражение (например:
/<file_name>) в двойные или одинарные кавычки.dnf provides "*/<file_name>".Замените
<file_name>необходимым именем файла.Экранируйте подстановочные знаки, поставив перед ними символ обратной косой черты (
\).dnf provides \*/<file_name>Замените
<file_name>необходимым именем файла.
Управление OSTree-слоями и пакетами#
В операционной системе в Исполнении OS Core управление пакетами отличается. Система по умолчанию является неизменяемой, целевым способом внесения необходимых корректировок при массовых развертываниях является перезапись конфигурации Ignition.
Однако возможно также внесение изменений через специальные механизмы управления OSTree-слоями, такие как rpm-ostree.
Ниже приведены варианты сценариев по управлению OSTree-слоями и RPM-пакетами операционной системы в Исполнении OS Core с помощью инструментов rpm-ostree и rpm.
Важно
Если в сценарии не указано иное, то для применения изменений, внесенных с помощью rpm-ostree, необходимо перезапустить систему. Для этого выполните:
systemctl reboot
Примечание
Подробнее о
rpm-ostreeв разделе «Утилита rpm-ostree» Базы знаний.Подробнее о
rpmв разделе «Утилита rpm» Базы знаний.
Управление OSTree-слоями#
Примечание
Информация про обновление системы через обновление OSTree-слоя содержится в разделе «Обновление» → «Обновление OS Core» Руководства по установке.
Переключение на другой OSTree-слой#
Для изменения текущей конфигурации системы (обновления, тестирования, отката, выполнения специализированных задач) можно применить новый доступный OSTree-слой файловой системы, переключившись на другую ветку репозитория:
rpm-ostree rebase <remote>:<branch>
Где:
<remote>- имя удаленного репозитория;<branch>- имя ветки внутри удаленного репозитория. Ветка определяет последовательность коммитов OSTree, которые содержат файловую систему и пакеты для конкретной версии или конфигурации системы.
Проверка активного развертывания#
Для проверки текущего состояния системы выполните:
rpm-ostree status
Команда покажет развертывания (текущее и другие доступные), а также их состояние.
Удаление старых развертываний#
Со временем в системе могут накапливаться старые развертывания, занимая место на диске. Для их удаления выполните:
rpm-ostree cleanup -r
Важно
После выполнения команды откат системы станет невозможен до момента проведения нового обновления.
Создание временного слоя#
Для создания временного OSTree-слоя поверх /usr, в котором можно применять изменения без перезагрузки (например, в целях тестирования), выполните:
rpm-ostree usroverlay
Команда создаст слой файловой системы, изменения в котором будут доступны в текущий момент времени и будут удалены после перезагрузки системы.
Управление пакетами#
Просмотр установленных пакетов#
Для вывода списка всех установленных пакетов в системе выполните:
rpm -qa
Поиск пакета#
Для поиска конкретного RPM-пакета среди установленных в системе выполните:
rpm -qa | grep <package_name>Для поиска RPM-пакета в доступных репозиториях выполните:
rpm-ostree search <package_name>
Вместо <package_name> укажите имя необходимого RPM-пакета.
Установка дополнительного пакета#
Для установки дополнительных пакетов в Исполнении OS Core используется механизм наложения пакетов (layering). Команда установки отдельного RPM-пакета:
rpm-ostree install <package_name>
Где вместо <package_name> укажите имя необходимого RPM-пакета.
Временное добавление пакета без перезагрузки#
Если требуется временно применить изменения без перезагрузки системы, используйте опцию --apply-live:
rpm-ostree install <package_name> --apply-live
Изменения применятся к текущей работающей системе, но не сохранятся после перезагрузки.
Удаление пакета#
Для удаления RPM-пакета выполните:
rpm-ostree uninstall <package_name>
Где вместо <package_name> укажите имя необходимого RPM-пакета.
Обновление/замена пакета#
Для обновления/замены RPM-пакета на другую его версию выполните:
rpm-ostree override replace <path_to_package>.rpm
Команда заменит RPM-пакет на указанный <path_to_package>.rpm.
Сброс замены (откат обновления) пакета#
Для возврата RPM-пакета к исходному состоянию выполните:
rpm-ostree override reset <package_name>
Где вместо <package_name> укажите имя RPM-пакета.
Просмотр информации о пакете#
Для получения подробной информации о конкретном установленном RPM-пакете выполните:
rpm -qi <package_name>
Где вместо <package_name> укажите имя RPM-пакета. Команда покажет метаданные пакета, такие как версия, лицензия, описание, время установки и прочие.
Просмотр файлов пакета#
Чтобы проверить, какие файлы принадлежат конкретному установленному пакету, выполните:
rpm -ql <package_name>
Где вместо <package_name> укажите имя RPM-пакета. Команда выведет список всех файлов, установленных пакетом.
Определение пакета, которому принадлежит файл#
Чтобы определить пакет, к которому относится файл, выполните:
rpm -qf <path_to_file>
Вместо <path_to_file> укажите путь к файлу.
Проверка целостности пакетов#
Для проверки целостности всех установленных пакетов выполните:
rpm -VaКоманда проверит все файлы, принадлежащие установленным RPM-пакетам, на предмет их целостности и соответствия исходным данным, которые были записаны при установке. В выводе будет отображен список файлов и наличие изменений в атрибутах: размере, владельце, правах доступа, контрольной сумме, времени модификации и других.
Для проверки целостности отдельного пакета выполните:
rpm -V <package_name>Вместо
<package_name>укажите имя RPM-пакета. Команда проверит целостность файлов, связанных с конкретным пакетом.
Установка программных пакетов#
Используйте один из следующих способов для установки пакетов.
Чтобы установить пакет и все зависимости этого пакета, используйте:
dnf install <package_name>Замените
<package_name>на необходимое название пакета.При необходимости добавьте тип архитектуры пакета (например,
i686илиx86_64):dnf install <package_name>.<architecture>Где
<architecture>- тип архитектуры.Чтобы установить несколько пакетов и их зависимостей одновременно, используйте:
dnf install <package_name_1> <package_name_2>Замените
<package_name_1>и<package_name_2>на необходимые названия пакетов.Если известно имя бинарного файла, который нужно установить, но не имя пакета, используйте путь к бинарному файлу в качестве аргумента:
dnf install <path_to_file>Замените
<path_to_file>на путь к бинарному файлу.dnfпросматривает списки пакетов, находит пакет, который соответствует<path_to_file>, и запрашивает разрешение на установку.Чтобы установить ранее загруженный пакет из локального каталога, используйте:
dnf install <path_to_RPM_file>Замените
<path_to_RPM_file>на путь к пакету в локальном каталоге.
Важно
Если у пакета есть зависимости, укажите также путь к соответствующим пакетам. Иначе dnf начнет загружать зависимости из репозитория и выдаст ошибку, если они недоступны.
Установка группы пакетов по имени группы или с помощью идентификатора группы dnf#
Следующие команды позволяют установить группу пакетов по имени группы или с помощью идентификатора группы dnf.
Чтобы установить группу пакетов по имени группы, используйте:
dnf group install <group-name>Замените
<group-name>названием группы или группы необходимой среды.Чтобы установить группу пакетов по идентификатору группы, используйте:
dnf group install <group_id>Замените
<group_id>идентификатором группы.
Обновление программных пакетов#
Чтобы узнать, какие пакеты, установленные в системе, имеют доступные обновления, используйте:
dnf check-update
Выходные данные возвращают список пакетов и их зависимостей, для которых доступно обновление.
Используйте следующую команду для обновления одного пакета и его зависимостей с помощью dnf.
dnf upgrade <package_name>
Замените <package_name> на необходимое имя пакета.
Важно
При применении обновлений к ядру dnf всегда устанавливает новое ядро, независимо от того, используется ли dnf update команда или dnf install.
Используйте следующую команду для обновления группы пакетов и их зависимостей с помощью dnf.
dnf group update <group_name>
Замените <group_name> на имя группы пакетов.
Удаление программных пакетов#
Используйте следующие команды, чтобы удалить пакет либо по имени группы, либо по идентификатору группы.
Чтобы удалить определенный пакет и все зависимые пакеты, используйте:
dnf remove <package_name>Замените
<package_name>на необходимое название пакета.Чтобы удалить несколько пакетов и их зависимости одновременно, используйте:
dnf remove <package_name_1> <package_name_2>Замените
<package_name_1>и<package_name_2>на необходимые названия пакетов.
Важно
dnf не может удалить пакет, не удалив зависимые пакеты.
Используйте следующие команды, чтобы удалить пакет либо по имени группы, либо по идентификатору группы.
Чтобы удалить группу пакетов по имени группы, используйте:
dnf group remove <group_name>Замените
<group_name>необходимым названием группы.Чтобы удалить группу пакетов по идентификатору группы, используйте:
dnf group remove <group_id>Замените
<group_id>идентификатором группы.
Обработка истории управления пакетами#
Команда dnf history позволяет просматривать информацию о временной шкале транзакции dnf, даты и время их возникновения, количество затронутых пакетов, были ли эти транзакции успешными или были прерваны, и была ли изменена база данных RPM между транзакциями. Команда dnf history также может быть использована для отмены или повторного выполнения транзакций.
Просмотр транзакций#
Используйте следующие команды, чтобы перечислить последние транзакции, последние операции для выбранного пакета и сведения о конкретной транзакции.
Чтобы отобразить список всех последних транзакций
dnf, используйте:dnf historyВывод команды будет содержать следующую информацию:
Столбец
Action(s)- тип действия, совершенный во время транзакции. Например: установка (I), обновление (U), удаление (E).Столбец
Altered- количество действий, выполненных во время транзакции.
Чтобы отобразить список всех последних операций для выбранного пакета, используйте:
dnf history list <package_name>Замените
<package_name>на необходимое имя пакета.Чтобы проверить конкретную транзакцию, используйте:
dnf history info <transaction_id>Замените
<transaction_id>на необходимый идентификатор транзакции.
Важно
Отфильтруйте выходные данные команды, добавив глобальные выражения.
Отмена транзакций#
Чтобы отменить операции, выполненные во время транзакции dnf, используйте:
Для отмены одной транзакции
dnf-dnf history undo;Для отмены всех транзакций
dnf, выполненных между указанной и последней транзакциями, —dnf history rollback.
Отмена одной транзакции#
Для отмены конкретной или последней транзакции с помощью dnf воспользуйтесь следующим сценарием.
Определите идентификатор транзакции, которую необходимо отменить:
dnf historyОпционально. Убедитесь, что это необходимая транзакция, выполнив следующую команду:
dnf history info <transaction_id>Замените
<transaction_id>на необходимый идентификатор транзакции.Чтобы отменить конкретную транзакцию, используйте:
dnf history undo <transaction_id>Опционально. Чтобы отменить последнюю транзакцию, используйте:
dnf history undo last
Примечание
Команда dnf history undo отменяет только те шаги, которые были выполнены во время транзакции. Если транзакция установила новый пакет, команда dnf history undo удаляет его. Если транзакция удалила пакет, команда dnf history undo переустанавливает его. Команда dnf history undo также пытается откатить назад все обновленные пакеты до их предыдущих версий, если старые пакеты все еще доступны.
Отмена группы транзакции#
Для отмены всех транзакций dnf, выполненных между указанной и последней транзакциями, воспользуйтесь следующим сценарием.
Определите идентификатор транзакции, до которой необходимо отменить:
dnf historyЧтобы отменить все транзакции между указанной
<transaction_id>и последней, используйте:dnf history rollback <transaction_id>Опционально. Чтобы отменить все транзакции в истории транзакций, используйте:
dnf history rollback 1
Управление репозиториями программного обеспечения#
Информация о конфигурации для dnf и связанных с ней утилит хранится в файле /etc/yum.conf. Этот файл содержит один или несколько разделов [repository], которые позволяют устанавливать параметры, зависящие от репозитория. Рекомендуется определять отдельные репозитории в новых или существующих .repo файлах в каталоге /etc/yum.repos.d/.
Важно
Значения, которые определены в отдельных разделах [repository] файла /etc/yum.conf, переопределяют значения, установленные в разделе [main].
Конфигурационный файл /etc/yum.conf содержит разделы [repository], где repository - это уникальный идентификатор репозитория. Разделы [repository] позволяют определять отдельные репозитории dnf.
Добавление репозитория#
Добавить репозиторий можно с помощью команды dnf config-manager --add-repo:
dnf config-manager --add-repo <repository_URL>
Замените <repository_URL> URL-адресом, указывающим на репозиторий.
При необходимости можно просмотреть и обновить настройки репозитория, добавленного как файл /etc/yum.repos.d/<repository_URL>.repo, используя команду:
cat /etc/yum.repos.d/<repository_URL>.repo
Включение репозитория#
Включите определенный репозиторий dnf, чтобы разрешить установку или обновление определенных пакетов.
Чтобы включить репозиторий, используйте:
dnf config-manager --enable <repository_id>
Замените <repository_id> на необходимый идентификатор репозитория.
Отключение репозитория#
Отключите определенный репозиторий dnf, чтобы предотвратить установку или обновление определенных пакетов.
Чтобы отключить репозиторий dnf, используйте:
dnf config-manager --disable <repository_id>
Замените <repository_id> на необходимый идентификатор репозитория.
Подключение удаленного репозитория для Исполнения OS Core#
Чтобы добавить новый удаленный репозиторий:
Создайте конфигурационный файл репозитория в каталоге
/etc/yum.repos.d/. Например, для репозитория с именемCustom Repositoryвыполните:nano /etc/yum.repos.d/custom-repo.repoВ созданный файл добавьте информацию о репозитории и сохраните. Пример содержимого:
[custom-repo] name=Custom Repository baseurl=http://example.com/repo enabled=1 gpgcheck=0Где:
[custom-repo]- имя секции репозитория (должно быть уникальным);name- человекочитаемое имя репозитория;baseurl- URL-адрес репозитория;enabled- включение репозитория (1— включен,0— отключен);gpgcheck- проверка подписей пакетов (1— включена,0— отключена). Если репозиторий не предоставляет GPG-ключи, установите значение0. Если необходимо использовать GPG-проверку, добавьте параметрgpgkey, указывающий путь к ключу:gpgkey=http://example.com/repo/<rpm_gpg_key>
Перезагрузите конфигурацию
rpm-ostree, чтобы изменения вступили в силу:rpm-ostree reloadКоманда обновляет список доступных репозиториев без необходимости перезагрузки системы.
Обновите кеш метаданных настроенных репозиториев:
rpm-ostree refresh-mdКоманда загружает последние метаданные из всех включенных репозиториев, позволяя получить актуальную информацию о доступных пакетах.
Подключение локального репозитория для Исполнения OS Core#
Сценарий добавления локального репозитория необходимо корректировать в зависимости от его источника. Репозиторий может находиться:
на подключенном устройстве (например, USB-накопителе);
на управляющем хосте (например, через SSH).
Чтобы добавить новый локальный репозиторий:
Определите источник данных:
Если репозиторий находится на устройстве, используйте
lsblkдля его обнаружения:lsblkЕсли репозиторий находится на управляющем хосте, убедитесь, что он доступен по сети, например, с помощью
curl:curl -s --head http://<remote_host>/<path_to_repo>/repodata/repomd.xml | grep "200 OK"Замените
<remote_host>и<path_to_repo>на адрес сервера и путь к репозиторию соответственно. Если файл с метаданными репозитория найден, будет выведено сообщение200 OK.
Если репозиторий находится на внешнем устройстве, смонтируйте его:
2.1. Создайте каталог - точку монтирования (например, с именем
/mnt/source-repo):mkdir -p /mnt/source-repoГде опция
-pсоздает всю цепочку родительских директорий, если они еще не существуют.2.2. Смонтируйте устройство (например,
sda1):mount /dev/sda1 /mnt/source-repo2.3. Проверьте успешность монтирования:
df -hВ выводе команды должно присутствовать смонтированное устройство.
Скопируйте репозиторий на локальный диск:
3.1. Создайте каталог для локального репозитория (например,
/var/local/repo):mkdir -p /var/local/repo3.2. Скопируйте данные:
Если репозиторий находится на устройстве:
cp -r /mnt/source-repo/* /var/local/repo/Если репозиторий находится на управляющем хосте:
scp -r <user>@<remote_host>:/<path_to_repo>/* /var/local/repo/Где:
опция
-rкопирует файлы рекурсивно со всеми каталогами;вместо
<user>@<remote_host>укажите имя пользователя на удаленном сервере, от имени которого выполняется подключение, и адрес сервера (например, IP-адрес или доменное имя);<path_to_repo>- путь к репозиторию на удаленном сервере.
Создайте конфигурационный файл репозитория в каталоге
/etc/yum.repos.d/. Например, для репозитория с именемLocal Repositoryвыполните:nano /etc/yum.repos.d/local.repoВ созданный файл добавьте информацию о репозитории и сохраните. Пример содержимого:
[local-repo] name=Local Repository baseurl=file:///var/local/repo enabled=1 gpgcheck=0Где:
[local-repo]- имя секции репозитория (должно быть уникальным);name- человекочитаемое имя репозитория;baseurl- URL-адрес репозитория (в данном случае локальная файловая система);enabled- включение репозитория (1— включен,0— отключен);gpgcheck- проверка подписей пакетов (1— включена,0— отключена). Если репозиторий не предоставляет GPG-ключи, установите значение0. Если необходимо использовать GPG-проверку, добавьте параметрgpgkey, указывающий путь к ключу:gpgkey=file:///path/to/<rpm_gpg_key>
Перезагрузите конфигурацию
rpm-ostree, чтобы изменения вступили в силу:rpm-ostree reloadКоманда обновляет список доступных репозиториев без необходимости перезагрузки системы.
Обновите кеш метаданных настроенных репозиториев:
rpm-ostree refresh-mdКоманда загружает последние метаданные из всех включенных репозиториев, позволяя получить актуальную информацию о доступных пакетах.
Установка и использование Python#
В SberLinux Python 3 распространяется в версиях 3.9 и 3.11, предоставляемых модулями python39 и python311.
Установка Python 3#
Можно установить 8 модулей параллельно, включая модули python39 и python311. Обратите внимание, что параллельная установка не поддерживается для нескольких потоков одним модулем.
Чтобы установить Python 3.9 для модуля
python39, введите:dnf install python39Поток модуля
Python39:3.9включается автоматически.Чтобы установить Python 3.11 для модуля
python310, введите:dnf install python311Поток модуля
Python310:3.11включается автоматически.Python 3.11 и созданные для него пакеты могут быть установлены параллельно с Python 3.9 в одной системе.
Для установки пакетов из стека
python3.11используйте, например:python3.11 python3.11 -m pipЧтобы проверить версию Python, установленную в системе, используйте:
Python 3.9:
python3.9 --versionPython 3.11:
python3.11 --version
Установка дополнительных пакетов Python 3#
Пакеты с дополнительными модулями для Python 3.9 включают префикс python39-. Всегда включайте префикс при установке дополнительных пакетов Python, как показано в примерах ниже.
Чтобы проверить наличие дополнительных пакетов в репозитории, используйте одну из следующих команд:
Выведет список всех пакетов для Python:
dnf list python-*
Выведет список всех пакетов для Python 3:
dnf list python3-*
Выведет список всех пакетов для Python 3.11:
dnf list python3.11-*
Использование Python#
При запуске интерпретатора Python или команд, связанных с Python, всегда указывайте версию.
Чтобы запустить интерпретатор Python 3.9 или связанные с ним команды, используйте, например:
python2
python2 -m cython --help
pip2 install package