Примеры команд SUSE Linux Zypper
Шпаргалка по командам Zypper: основной справочник для пользователей SUSE Linux.
Zypper — мощный менеджер пакетов командной строки для SUSE и openSUSE Linux. Его можно использовать для установки, обновления, удаления пакетов и управления ими в вашей системе. Zypper также предоставляет функции для управления репозиториями, разрешения зависимостей и проверки обновлений безопасности. В этом подробном руководстве представлен список из 16 примеров полезных команд Zypper Linux для эффективного управления пакетами в операционной системе SUSE Linux.
Из этого руководства вы узнаете, как использовать zypper для выполнения общих задач, таких как установка пакетов, обновление системы и удаление пакетов. Вы также узнаете о некоторых более продвинутых функциях zypper, таких как управление репозиториями и разрешение конфликтов зависимостей.
К концу этого руководства вы станете экспертом в использовании Zypper и будете иметь удобную шпаргалку по командам Zypper, которая поможет вам в этом.
Внимание! Для работы некоторых zypper и его подкоманд требуется пользователь root
или sudo
сильная> привилегия. Запускайте команды с привилегиями sudo
или от имени пользователя root
.
Быстрая настройка лаборатории для тестирования
Чтобы научиться использовать команду zypper, вы можете установить дистрибутив OpenSUSE на физическое оборудование или использовать решение гипервизора, такое как KVM, Vagrant, Virtualbox или VMware.
Мой предпочтительный способ настройки дистрибутива OpenSUSE для тестирования — использование Vagrant. Если вы не имеете ни малейшего представления о Vagrant, у нас есть статья "Начало работы с Vagrant", которая поможет вам.
Если в вашей системе уже установлен Vagrant, создайте новый файл с именем «Vagrantfile
» и добавьте в него следующее содержимое.
-*- mode: ruby -*-
vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "opensuse/Tumbleweed.x86_64"
end
Теперь выполните следующую команду, чтобы разогнать виртуальную машину:
vagrant up
OpenSUSE Vagrant VM
Подключитесь к виртуальной машине, выполнив следующую команду.
vagrant ssh
Или,
vagrant ssh id
SSH в Vagrant VM
Теперь, когда у вас есть машина, позволяющая опробовать команды Zypper, давайте приступим к изучению команд Zipper.
Режим терминала Zypper
Работать с zypper можно в двух режимах.
Первый и рекомендуемый режим — запуск команды zypper напрямую из терминала Linux, что также показано в примерах этой статьи.
Второй способ — использовать команду zypper Shell
или sh
для запуска интерактивного сеанса, в котором вы можете напрямую запускать команды zypper.
zypper shell
Или,
zypper sh
Застежка-молния
Примеры команд Zypper
1. Доступ к справке по команде Zypper
Запомнить все команды - задача непростая. Каждая команда Linux имеет раздел справки и справочную страницу для упрощения использования. Аналогично, команда zypper
имеет раздел справки, который красиво отформатирован с подразделами и является отличным местом для начала.
Zypper имеет глобальные параметры, а также подкоманды, о которых вы подробно узнаете в следующих разделах.
Чтобы отобразить раздел справки по команде zypper, выполните:
zypper help
Команда помощи Zypper
В следующих разделах вы узнаете о таких подкомандах, как репозитории, установка, поиск и т. д. Для каждой подкоманды доступно несколько флагов. Вы можете передать флаг -h
каждой подкоманде, чтобы получить подробную информацию. Например, вы можете получить раздел справки по команде установки zypper, выполнив следующую команду:
zypper install -h
Существует также справочная страница для команды zypper, доступ к которой можно получить, выполнив приведенную ниже команду.
man zypper
2. Просмотр списков репозиториев
Каждый менеджер пакетов подключается к репозиторию, размещенному у сопровождающих дистрибутива. В этом случае openSUSE поддерживает репозитории как для программного обеспечения с открытым исходным кодом, так и для программного обеспечения с закрытым исходным кодом, а также других драйверов и пакетов.
Запустите любую из следующих команд, чтобы просмотреть список репозиториев.
zypper repos
zypper lr
Команда репозитория Zypper
Вывод команды repos
форматируется в виде таблицы. Вы можете увидеть имя репозитория, статус репозитория и другие разделы.
Вы можете передать флаг -u
команде repos
, которая отобразит URL-адрес, помеченный тегом репозитория. Здесь размещаются пакеты, которые будут загружены во время установки.
URI репозитория Zypper
Приоритет в репозитории определяет, какой репозиторий получит более высокий приоритет. Допустим, есть пакет под названием X, и он доступен в двух разных репозиториях. В этом случае в качестве кандидата на установку будет выбран репозиторий с наивысшим приоритетом. По умолчанию все репозитории включены с одинаковым приоритетом. При необходимости вы можете настроить его, выполнив команду modifyrepo
.
sudo zypper modifyrepo -p 1 repo-oss
Repository 'repo-oss' priority has been set to 1.
Чтобы просмотреть все настроенные репозитории вместе с их приоритетами, запустите:
zypper lr -p
Получение списка репозиториев с приоритетами
Вы также можете отключить репозиторий, выполнив следующую команду.
sudo zypper modifyrepo --disable repo-oss
Repository 'repo-oss' has been successfully disabled.
Отключить репозиторий
Чтобы включить репозиторий, используйте флаг --enable
вместо команды отключения.
sudo zypper modifyrepo --enable repo-oss
3. Обновление базы данных пакетов Zypper
Перед установкой или обновлением пакета вам необходимо обновить локальную базу данных пакетов, чтобы получить последние метаданные пакета с сервера репо.
Выполните следующую команду, чтобы обновить базу данных пакетов SUSE.
sudo zypper ref
Или,
sudo zypper refresh
База данных пакетов обновлений Zypper
Если есть какие-либо проблемы с базой данных пакетов, вы можете восстановить ее, выполнив следующую команду.
sudo zypper refresh --force --force-build --force-download
Или,
sudo zypper refresh -fdb
База данных пакетов восстановления Zypper
4. Найдите пакеты в репозиториях с помощью Zypper.
Перед установкой пакета вам следует проверить, доступен ли пакет в любом из включенных репозиториев.
Запустите следующую команду для поиска пакета.
zypper search -v <package-name>
Пример:
zypper search -v htop
Пакеты поиска Zypper
5. Получите подробную информацию о пакете с помощью Zypper
Вы можете получить подробную информацию о пакете, используя флаг info
. С помощью этой команды вы можете увидеть репозиторий, имя и версию пакета, текущий статус и некоторые другие сведения о пакете.
zypper info htop
Информация о пакете Zypper
6. Установка пакетов с помощью команды Zypper
Вы можете установить один или несколько пакетов с помощью команды install
.
sudo zypper install htop
Установочный пакет Zypper
Чтобы установить несколько пакетов, укажите их через пробел, как показано ниже.
sudo zypper install htop vim
Альтернативно вы можете использовать 'in
', который является сокращенной формой для 'install
'.
sudo zypper in htop
Основным преимуществом процесса установки является то, что зависимости будут установлены автоматически. Во время процесса вам будет предложено подтвердить действие. Нажмите «Y
», чтобы продолжить установку. Вы можете передать флаг -n
для автоматической установки, при которой подтверждение не будет запрашиваться.
sudo zypper -n install htop
Или,
sudo zypper --non-interactive install htop
Вы также можете установить определенную версию пакета, как показано ниже:
sudo zypper -n install package=version
7. Удаление пакетов с помощью команды Zypper
Вы можете удалить один или несколько пакетов, используя опцию удаления. Альтернативно вы можете использовать «rm», что является сокращенной формой слова «удалить».
sudo zypper remove <package>
sudo zypper remove <package1> <package2>
Команда запросит подтверждение пользователя, аналогично команде install
. Вы можете передать флаг -n
или --non-interactive
, чтобы пропустить процесс подтверждения.
sudo zypper remove -n htop
Пакет для удаления Zipper
8. Объединение установки и удаления пакетов
Вы можете упростить задачи управления пакетами, объединив установку и удаление с помощью модификаторов +
/-
в Zypper. Вот практические примеры того, как беспрепятственно выполнить эти действия:
Одновременная установка и удаление (например, установка «gimp» и удаление «krita»):
Чтобы выполнить одношаговую операцию установки и удаления, структурируйте команду следующим образом:
sudo zypper install gimp -krita
Эта команда устанавливает пакет «gimp» и удаляет пакет «krita» за один раз.
Удалить и установить вместе (например, удаление «firefox» и установка «chromium»):
Для связного удаления и установки используйте модификаторы +/- следующим образом:
sudo zypper remove firefox +chromium
Выполнив эту команду, вы удалите пакет «Firefox» и одновременно установите пакет «Chrome».
Помните эти ключевые моменты, чтобы обеспечить точное выполнение:
- Всегда размещайте имя пакета, начинающееся с -, в качестве второго аргумента, чтобы избежать путаницы с параметрами команды.
- Если этот порядок невозможен, защитите имя пакета, используя -- перед ним.
Вот правильные и неправильные примеры использования:
Верно:
sudo zypper install gimp -krita
sudo zypper remove firefox +chromium
sudo zypper install -- -gimp +krita
Неверно:
sudo zypper install -gimp +krita # Incorrect
Используйте возможности модификаторов +/- Zypper для эффективного управления пакетами, делая установку и удаление пакетов более эффективным.
9. Получите список установленных пакетов с помощью Zypper
Вы можете получить список установленных пакетов, выполнив следующую команду.
zypper search --installed-only
Получение списка установленных пакетов с помощью Zypper
10. Получите список доступных пакетов для обновлений с помощью Zypper.
Чтобы получить список пакетов, доступных для обновлений, вы можете запустить следующую команду.
zypper list-updates --all
Эта команда отобразит текущую версию и доступную версию для обновлений.
Отображать обновления пакетов с помощью Zypper
11. Обновите пакеты с помощью Zypper
Zypper предлагает три различных варианта обновления пакета, каждый из которых имеет существенные эксплуатационные различия.
обновление zypper
илиzipper up
zypper dist-upgrade
илиzypper dup
zypper patch
Обновить — команда update
выполнит поиск во включенных репозиториях любых обновлений относительно установленных версий и обновит пакеты. Основным преимуществом этого метода является то, что он обновляет только те пакеты, которые установлены и включены из включенных репозиториев.
Dist Upgrade — команда dist-upgrade
обновит или удалит пакеты, необходимые во время процесса. Эта команда лучше всего подходит для версии Tumbleweed, которая является продолжающейся версией семейства SUSE. Я рекомендую не использовать эту команду в производственных системах, если она вам не нужна в действии.
Патч. Исправление ориентировано на безопасность и исправления ошибок и доступно как часть основного репозитория обновлений. Иногда следующая версия пакета выпускается с исправлениями ошибок или в виде патча. В любом случае вы сами решаете: обновить пакет или применить патч, если вы хотите использовать старую версию.
Давайте посмотрим на все три метода в действии.
11.1. Команда Zypper Update для обновления пакетов
Вы можете обновить один, несколько или все пакеты с помощью команды update
. Например, я хочу обновить все пакеты Python311, выполнив следующую команду.
sudo zypper update python311*
Обновите один пакет с помощью Zypper
Чтобы обновить все установленные пакеты, запустите команду update
без каких-либо аргументов.
sudo zypper update
11.2. Команда обновления Zypper Dist
Команда dist-upgrade
используется в менеджере пакетов Zypper в системах Linux для выполнения обновления дистрибутива. Это означает, что он обновит всю вашу операционную систему, включая ее основные компоненты, приложения и пакеты, до последних доступных версий.
Обновление Zypper Dist
Эта команда обычно используется, когда вы хотите перейти с одной версии дистрибутива на другую, например, при обновлении с OpenSUSE Leap 15.3 до более новой версии.
Во время обновления дистрибутива Zypper будет выполнять установку новых пакетов, удаление устаревших пакетов и обновление существующих пакетов, чтобы гарантировать, что ваша система остается актуальной и совместимой с более новой версией дистрибутива.
Команда dist-upgrade
лучше всего подходит, когда имеется скользящий выпуск, доступный для обновления.
Важно отметить, что обновление дистрибутива может оказаться важным процессом, требующим пристального внимания, поскольку оно включает в себя изменения фундаментальных компонентов вашей операционной системы.
Также настоятельно рекомендуется создать резервную копию ваших данных и конфигураций перед обновлением дистрибутива, чтобы избежать потенциальных проблем.
11.3. Применение патчей с помощью команды Patch
Команда zypper patches
используется для отображения списка доступных исправлений для установленных пакетов в SUSE Linux. Эти исправления представляют собой обновления, предоставляемые дистрибутивом для устранения уязвимостей безопасности, ошибок или улучшения функциональности пакетов программного обеспечения.
Чтобы просмотреть список доступных патчей, запустите "
zypper patches
Отображение списка патчей с помощью Zypper
Патчи, которые вы видите выше, — это всего лишь образцы патчей, выпущенные в рамках тестирования командой openSUSE.
Вы можете применить исправления, выполнив следующую команду.
sudo zypper patch
Loading repository data...
Reading installed packages...
Resolving package dependencies...
Nothing to do.
12. Добавление новых репозиториев
Если вы хотите включить новый источник репозитория, выполните команду:
sudo zypper addrepo URI ALIAS
URI может быть интернет-репозиторием, сетевым источником, папкой, компакт-диском или DVD-диском. Дополнительную информацию можно найти по адресу https://en.opensuse.org/openSUSE:Libzypp_URIs.
ALIAS — это быстрое и специальное имя источника, которое должно быть отличным. Вы можете выбрать его, за исключением случаев, когда он уже используется. Если вы выберете уже используемый псевдоним, Zypper предупредит вас.
13. Удаление репозитория
Если вы хотите удалить репозиторий из Zypper, выполните следующие простые шаги:
Показать настроенные репозитории:
Чтобы определить репозиторий, который вы хотите удалить, перечислите настроенные в данный момент репозитории. Откройте терминал и выполните:
sudo zypper repos
Эта команда отобразит список репозиториев вместе с их псевдонимами. Запишите псевдоним репозитория, который вы хотите удалить.
Удалить репозиторий:
Получив псевдоним репозитория, используйте следующую команду, чтобы удалить его:
sudo zypper removerepo ALIAS
Замените «ALIAS» псевдонимом репозитория, который вы хотите удалить.
Zypper попросит вас подтвердить удаление. Введите «y» и нажмите Enter, чтобы продолжить.
После подтверждения Zypper удалит указанный репозиторий из вашей системы.
Помните, что удаление репозитория может повлиять на доступность определенных пакетов или обновлений, связанных с ним. Перед удалением каких-либо репозиториев рекомендуется просмотреть потребности вашего программного обеспечения.
14. Найдите потерянные пакеты
После того как вы удалите репозиторий из Zypper или обновите свою систему, некоторые пакеты могут оказаться «осиротевшими». Этим потерянным пакетам нет места ни в одном активном репозитории. Вы можете использовать эту команду, чтобы увидеть их:
sudo zypper packages --orphaned
Это предоставит вам список пакетов, которые требуют вашего внимания.
15. Управление кэшем пакетов
Кэширование файлов RPM позволит сократить время на загрузку пакетов из удаленного репозитория. Файлы rpm загружаются в каталог /var/cache/zypp/packages
.
Сначала вам необходимо включить кеширование для определенного репозитория или всех репозиториев.
Чтобы включить кэширование для одного репозитория, выполните следующую команду. Здесь mr
— это краткая форма флага modifyrepo
.
sudo zypper mr -k
sudo zypper mr -k openSUSE-Tumbleweed-Oss
Кэширование RPM-файлов включено для репозитория «repo-oss».
Чтобы включить кэширование для всех репозиториев, просто передайте -k
и -a
в качестве аргумента без каких-либо имен репозиториев.
sudo zypper mr -k -a
Включить кэширование для всех репозиториев
Теперь установите любые пакеты. Перейдите в каталог /var/cache/zypp/packages
, и вы увидите кэшированные файлы rpm.
Получение списка кэшированных RPM-файлов
Чтобы отключить кеширование, все, что вам нужно сделать, это заменить флаг -k
на -K
для одного или всех репозиториев.
sudo zypper mr -K -a
Отключить кеширование для всех репозиториев
Вы можете очистить кэшированные файлы, передав аргумент clean
.
sudo zypper clean
All repositories have been cleaned up.
16. Файлы журналов Zypper
Все операции zypper будут записываться в файл журнала под /var/log/zypp/history
. Этот файл будет очень полезен, если вы захотите просмотреть историю выполненных операций.
sudo cat /var/log/zypp/history
Вывод истории Zypper
Шпаргалка по командам Linux Zypper
Следующая шпаргалка содержит основные команды Zypper. Это будет удобно при необходимости.
- Command
Описание
- man zypper
Доступ к странице руководства Zypper
- zypper -h
(and)
zypper [subcommand] -h Доступ к разделу справки для zypper и подкоманд.
- zypper sh
(or)
zypper shell Запустить интерактивную оболочку Zipper
- zypper repos
(or)
zypper lr Список доступных репозиториев.
- zypper repos -d
(or)
zypper lr -d Покажите подробную информацию, такую как URL-адрес, приоритет, статус, имя и т. д., для репозиториев.
- zypper refresh
(or)
zypper ref Обновите базу данных пакетов.
- zypper refresh --force --force-build --force-download
Перестроить базу данных пакетов.
- zypper search -v [package-name]
Найдите пакет в репозиториях.
- zypper search --installed-only
Распечатать только установленные пакеты.
- zypper info [package-name]
Подробная информация о пакете, такая как статус, информация о репозитории, версия и т. д.
- zypper install [package-name]
(or)
zypper install [package1], [package2],[package N]
(or)
zypper in [package-name] Установите один или несколько пакетов.
- zypper install -n [package-name]
Установить пакет без подтверждения пользователя.
- zypper remove -n [package-name]
(or)
zypper rm -n [package-name] Удалить пакет.
- zypper list-updates --all
Все пакеты, которые имеют право на обновления.
- zypper update
Обновляет пакеты до последней версии.
- zypper dist-upgrade
Обновляет пакеты, но подходит для непрерывного выпуска.
- zypper patches
Список доступных патчей.
- zypper patch
Применяйте исправления безопасности и исправления ошибок.
- zypper modifyrepo -k -a
(or)
zypper mr -k -a Включите кэширование для всех репозиториев.
- zypper modifyrepo -K -a
(or)
zypper mr -K -a Отключите кеширование для всех репозиториев.
- zypper clean
Очистите все кэшированные файлы RPM.
Шпаргалка по командам Zypper
Часто задаваемые вопросы
Вот список наиболее часто задаваемых вопросов о команде Zypper.
Вопрос: Что такое Zypper?
О: Zypper — это менеджер пакетов командной строки для таких дистрибутивов Linux, как SUSE и openSUSE. Он используется для установки, обновления и управления пакетами программного обеспечения в системах на базе SUSE.
Вопрос: Как обновить репозитории пакетов с помощью Zypper?
О: Чтобы обновить метаданные репозитория и получить последнюю информацию о пакете, используйте команду: zypperrefresh
.
Вопрос: Как установить пакет с помощью Zypper?
О: Чтобы установить пакет, используйте команду: zypper install [имя-пакета]
.
Вопрос: Как удалить установленные пакеты с помощью Zypper?
О: Вы можете удалить пакет, используя: zypper Remove [имя_пакета]
.
В: Как я могу одновременно устанавливать и удалять пакеты с помощью Zypper?
О: Zypper предлагает удобный способ совместной установки и удаления пакетов с помощью модификаторов +/-. Например, чтобы установить «gimp» при удалении «krita», вы можете использовать команду: sudo zypper install gimp -krita
. И наоборот, чтобы удалить «Firefox» и установить «Chrome» одновременно, используйте: sudo zypper удалить Firefox +chromium
. Всегда указывайте имя пакета, начинающееся с -, в качестве второго аргумента, чтобы избежать путаницы. При необходимости используйте -- перед именем пакета.
Вопрос: Как искать посылки с помощью Zypper?
О: Для поиска пакетов по запросу используйте: zypper search [search-query]
.
Вопрос: Как обновить все установленные пакеты?
О: Обновите установленные пакеты до последних версий с помощью: zypper update
.
Вопрос: В чем разница между zypper update
и zypper dist-upgrade
?
О: zypper update
обновляет пакеты до последних версий в текущем дистрибутиве, а zypper dist-upgrade
обновляет весь дистрибутив до более новой версии.
Вопрос: Какова цель команды zypper patches
?
О: Команда zypper patches
выводит список доступных исправлений для исправления уязвимостей и ошибок в установленных пакетах.
Вопрос: Как просмотреть доступные обновления для установленных пакетов?
О: Используйте команду: zypper list-updates
.
Вопрос: Могу ли я добавлять или удалять репозитории программного обеспечения с помощью Zypper?
О: Да, вы можете добавить репозиторий, используя: zypper addrepo [repository-URL]
, и удалить репозиторий, используя: zypper Removerepo [repository-name]
.
Вопрос: Как отобразить подробную информацию о посылке?
О: Чтобы просмотреть подробную информацию о пакете, используйте: zypper info [имя_пакета]
.
Вопрос: Как просмотреть список настроенных репозиториев?
О: Вы можете просмотреть список репозиториев, используя: zypper repos
.
Вопрос: Что такое потерянные пакеты и как их можно идентифицировать с помощью Zypper?
О: Потерянные пакеты — это пакеты, которые остаются в вашей системе после удаления репозитория из Zypper или выполнения обновления системы, в результате чего у них не остается связанного с ними активного репозитория. Чтобы определить эти потерянные пакеты, вы можете использовать команду: sudo zypper packages --orphaned
. Эта команда предоставит вам список пакетов, находящихся в потерянном состоянии, что позволит вам решить, удалить их или предпринять дальнейшие действия.
Вопрос: Каково значение команды zypper clean
?
О: Команда zypper clean
удаляет кэшированные файлы пакетов и временные данные, освобождая дисковое пространство.
Вопрос: Могу ли я выполнить обновление дистрибутива с помощью Zypper?
О: Да, вы можете обновить весь дистрибутив, используя: zypper dist-upgrade
.
Вопрос: Zypper предназначен только для openSUSE или я могу использовать его в других дистрибутивах?
О: Хотя Zypper чаще всего ассоциируется с SUSE и openSUSE, он в первую очередь разработан для дистрибутивов на основе SUSE. Другие дистрибутивы Linux могут иметь свои собственные менеджеры пакетов, например APT для систем на базе Debian или YUM/DNF для систем на базе Red Hat.
Заключение
В заключение, освоение команд Zypper открывает мир эффективного управления программным обеспечением для вашей системы SUSE Linux. Независимо от того, являетесь ли вы опытным системным администратором или новичком, понимание этих команд позволит вам легко управлять пакетами, обновлениями и зависимостями.
Шпаргалка по командам Zypper, представленная в конце этого руководства, обеспечивает быстрый доступ к основным командам Zypper.
Ресурс:
- Официальная документация Zypper