Поиск по сайту:

Примеры команд 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 предлагает три различных варианта обновления пакета, каждый из которых имеет существенные эксплуатационные различия.

  1. обновление zypper или zipper up
  2. zypper dist-upgrade или zypper dup
  3. 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

Статьи по данной тематике