October 22

SDB:Использование Zypper

В этой статье рассказывается об использовании Zypper — консольного менеджера пакетов, использующего библиотеку Libzypp для установки, обновления и удаления пакетов, а также управления репозиториями. Он особенно полезен для удалённого управления программным обеспечением или управления им из скриптов оболочки.

Эта страница содержит дополнительную информацию к странице руководства Zypper ( man zypper ). То, чего нет здесь, должно быть на странице руководства, и наоборот.

Версия: 13.2 Эта статья посвящена Zypper 1.11.23, появившемуся в openSUSE 13.2 . Другие версии см. в разделе «Версии Zypper» .

Краткий справочник

Это то, что вы, вероятно, будете использовать чаще всего.

zypper # для вывода списка доступных глобальных параметров и команд 
zypper help search # для вывода справки по команде поиска 
zypper lp # для просмотра необходимых обновлений 
zypper patch # для применения необходимых исправлений 
zypper se sqlite # для поиска sqlite zypper 
rm sqlite2 # для удаления sqlite2 
zypper в sqlite3 # для установки sqlite3 
zypper в yast* # для установки всех пакетов, соответствующих 'yast*' 
zypper up # для обновления всех установленных пакетов до более новых версий, где это возможно

Если вы знакомы с менеджерами пакетов, такими как apt, yum, emerge и т. д. из других дистрибутивов Linux, см. эту ссылку для сравнения/различий между ними и zypper.

Шпаргалка

Здесь вы найдете информацию, представленную на этой странице, но сжатую в виде шпаргалки. Здесь также приведены несколько ссылок из руководств. Рекомендуется использовать эту информацию после анализа представленной здесь информации.

Первая страница А4 .

Вторая страница А4 .

Письмо на первой странице .

Письмо на второй странице .


Общее использование

Общий синтаксис zypper:

корень #zypper [global-options] command [command-options] [arguments] ...

Компоненты, заключённые в скобки, не являются обязательными, поэтому самый простой способ запустить Zypper — ввести его имя и команду . См. справку по Zypper для получения списка общих параметров и всех команд. Чтобы получить справку по конкретной команде, введите zypper help command. Например, чтобы применить необходимые исправления к системе, введите:

пользователь $sudo zypper patch

Чтобы получить справку по команде patch:

пользователь $sudo zypper help patch

Кроме того, вы можете выбрать один или несколько глобальных параметров , введя их непосредственно перед командой: (выполните команду, но не спрашивайте меня ни о чем, решайте сами)

пользователь $sudo zypper --non-interactive patch

Чтобы использовать параметры, специфичные для конкретной команды, введите их сразу после команды: (примените необходимые исправления к системе, но не просите меня подтверждать какие-либо лицензии, я уже прочитал их все ранее)

пользователь $sudo zypper patch --auto-agree-with-licenses

Некоторые команды требуют один или несколько аргументов: (установить или обновить пакет mplayer)

пользователь $sudo zypper install mplayer

Некоторые варианты также требуют аргумента: (поиск шаблонов)

пользователь $sudo zypper search -t pattern

Все вышеперечисленное вместе: (установите mplayer и amarok, используя только заводской репозиторий, будьте подробны)

пользователь $sudo zypper -v install --repo factory mplayer amarok

Пользовательские подсказки

Когда Zypper требует ввода данных, он отображает список возможных ответов в скобках рядом с текстом подсказки. Чтобы выбрать ответ по умолчанию, просто нажмите <enter> (ответ по умолчанию напечатан заглавными буквами (за исключением символов, не входящих в кодировку ASCII)). Некоторые подсказки также предлагают справку, в этом случае в качестве возможного ответа отображается вопросительный знак «?». Чтобы Zypper использовал ответы по умолчанию без взаимодействия с пользователем, используйте глобальную опцию --non-interactive .


Словарный запас

  • Репозиторий — локальный или удалённый каталог, содержащий пакеты и различную информацию о пакетах (метаданные пакетов). Ранее репозитории назывались источниками установки , службами или каталогами .
  • псевдоним - псевдоним репозитория — это короткая версия имени репозитория для использования в командах и параметрах обработки репозитория, таких как removerepo или --repo .
  • Пакет — программный пакет (RPM-пакет, пакет с исходным кодом). Патчи, шаблоны и продукты также часто называют различными типами пакетов .
  • патч — представляет собой пакет или группу пакетов, необходимых для установки обновления (в основном исправления ошибки).
  • Шаблон — представляет собой группу пакетов. Например, шаблон HTTP-сервера будет иметь зависимости, определённые таким образом, чтобы все пакеты, необходимые для запуска и управления HTTP-сервером, были запущены для установки при установке шаблона.
  • продукт — представляет собой весь продукт (например, «openSUSE 12.2»).

Команды

zypper предоставляет ряд команд, которые можно сгруппировать в следующие категории:

  • обновление управления репозиторием
    , репозитории, addrepo, removerepo, modificationrepo, namerepo
    refresh-services, services, addservice, removeservice, modificationservice
  • установка, удаление, установка исходного кода управления пакетами
  • патч управления обновлениями
    , список-патчей, проверка-патчей, патчи, обновление, список-обновлений, dist-upgrade
  • поиск запросов
    , информация, что-предоставляет, обновления списка, проверка исправлений, исправления, пакеты, шаблоны, продукты
  • блокировка
    замков, addlock, removelock, cleanlocks
  • утилиты
    проверяют, устанавливают-новые-рекомендуют
  • другая
    помощь, лицензии, versioncmp, targetos

Помощь с печатью

Во-первых, полезно знать, как получить справку. Чтобы вывести общую справку (список команд и глобальных параметров), просто введите zypper без параметров и аргументов. Чтобы вывести справку по конкретной команде, используйте:

пользователь $zypper help [command]

Чтобы получить конкретную справку по команде, используйте:

пользователь $zypper [command] --help

Обратите внимание, что для удобства также возможно использование -h вместо --help .

Управление репозиторием

Вы можете указать существующие репозитории по их номерам в списке, созданном zypper lr , псевдониму или URI. При использовании номеров всегда сначала проверяйте zypper lr , так как номера могут измениться после внесения изменений в репозитории.

Список определенных репозиториев

репозитории или lr

Пример вывода:

корень #zypper lr

# | Псевдоним | Имя | Включено | Обновить 
---+-----------------------------------+-------------------------------------+--------+-------- 
 1 | Mewtwo:KDE:Extra | KDE:Extra | Да | Да     
 2 | Mewtwo:repo-ati | repo-ati | Да | Да     
 3 | Mewtwo:repo-debug | openSUSE-12.2-Debug | Нет | Да     
 4 | Mewtwo:repo-debug-update | openSUSE-12.2-Update-Debug | Нет | Да     
 5 | Mewtwo:repo-debug-update-non-oss | openSUSE-12.2-Update-Debug-Non-Oss | Нет | Да     
 6 | Mewtwo:repo-libdvdcss | repo-libdvdcss | Да | Да     
 7 | Mewtwo:repo-non-oss | openSUSE 12.2 OSs | Нет | Да     
 8 | Mewtwo:repo-oss | openSUSE-12.2-Oss | Да | Да     
 9 | Mewtwo:repo-packman | packman | Да | Да     
10 | Mewtwo:repo-source | openSUSE-12.2-Source | Да | Да     
11 | Mewtwo:repo-update | openSUSE-12.2-Update | Да | Да     
12 | Mewtwo:repo-update-non-oss | openSUSE-12.2-Update-Non-OSs | Да | Да     
13 | Mewtwo:security | security | Да | Да   

корень #zypper lr 5 4

Псевдоним: Mewtwo:repo-debug-update-non-oss                        
Имя: openSUSE-12.2-Update-Debug-Non-Oss                      
URI: http://download.opensuse.org/debug/update/12.2-non-oss/ 
Включено: Нет                                                      
приоритета: 99                                                      
Автоматическое обновление: Вкл.                                                      
Сохранение пакетов: Выкл.                                                     
Тип: rpm-md                                                  
Проверка GPG: Вкл.                                                      
URI ключа GPG:                                                         
Префикс пути:                                                         
Родительская служба: Mewtwo                                                  
MD Путь к кэшу: /var/cache/zypp/raw/Mewtwo:repo-debug-update-non-oss    

Псевдоним: Mewtwo:repo-debug-update                        
Имя: openSUSE-12.2-Update-Debug                      
URI: http://download.opensuse.org/debug/update/12.2/ 
Включено: Нет                                              
приоритета : 99                                              
Автоматическое обновление : Вкл.                                              
Сохранение пакетов : Выкл.                                             
Тип : rpm-md                                          
Проверка GPG : Вкл.                                              
URI ключа GPG :                                                 
Префикс пути :                                                 
Родительская служба :                                          
Путь к кэшу Mewtwo MD : /var/cache/zypp/raw/Mewtwo:repo-debug-update   

Другие примеры:

zypper lr -u # чтобы также включить URI репозитория в таблицу 
zypper lr -d # чтобы включить несколько других свойств репозитория в таблицу 
zypper lr -P # чтобы также включить приоритет репозитория и отсортировать список по нему 
zypper lr -e my # экспортировать все определения репозитория в файл с именем 'my.repo'

Добавление репозиториев

addrepo или ar

Перед установкой пакетов необходимо определить хотя бы один репозиторий . Чтобы добавить репозиторий, используйте команду addrepo :

Пример вывода:

корень #zypper ar http://download.videolan.org/pub/vlc/SuSE/11.1 vlc

Добавление репозитория «vlc» [готово] 
Репозиторий «vlc» успешно добавлен 
Включено: Да 
Автообновление: Нет 
URI: http://download.videolan.org/pub/vlc/SuSE/11.1

Другие примеры:

zypper ar http://download.opensuse.org/repositories/X11:/XGL/openSUSE_11.1/X11:XGL.repo # через файл .repo 
zypper ar -c ftp://some.download.site myalias # проверить репозиторий при добавлении 
zypper ar my/dir/with/rpms local # добавить локальный каталог с файлами RPM в качестве репозитория

Список поддерживаемых типов носителей и URI см. также в Libzypp .

Обновление репозиториев

обновить или реф.

После добавления репозитория или в случае его устаревания его необходимо обновить . Это подразумевает загрузку метаданных пакета и предварительную обработку данных в кэше .solv для быстрого чтения.

корень #zypper refresh

Загрузка метаданных репозитория «Packman 11.1» [выполнено] 
Сборка кэша репозитория «Packman 11.1» [выполнено] 
Загрузка метаданных репозитория «Обновления для 11.1» [выполнено] 
Сборка кэша репозитория «Обновления для 11.1» [выполнено] 
Репозиторий «openSUSE-11.1-Oss» обновлён. 
Все репозитории обновлены.

Если для репозитория включено автообновление , вам не нужно беспокоиться об обновлении — оно происходит автоматически по мере необходимости. Однако некоторые предпочитают контролировать процесс обновления (например, чтобы не ждать завершения обновления, когда нужно увидеть только «zypper info krusader»), поэтому они отключают автообновление. Подробнее см. в man zypper .

Другие примеры:

zypper ref packman main # вы также можете указать, какие репозитории нужно обновить 
zypper ref -f upd # принудительное обновление репозитория 'upd'

Удаление репозиториев

removerepo или rr

корень #zypper rr vlc 1 23 foo

Репозиторий 23 не найден по псевдониму, номеру или URI. 
Репозиторий foo не найден по псевдониму, номеру или URI. 
Удаление репозитория 'repo-debug' [выполнено] 
Репозиторий 'repo-debug' был удалён. 
Удаление репозитория 'vlc' [выполнено] 
Репозиторий 'vlc' был удалён.

Изменение репозиториев

modificationrepo или mr

Отключить репозиторий №6:

корень #zypper mr -d 6

Репозиторий «repo-non-oss» успешно отключен.

Включите автообновление и кэширование rpm-файлов для репозитория «packman» и установите его приоритет равным 70:

корень #zypper mr -rk -p 70 packman

Автообновление включено для репозитория «packman». 
Кэширование RPM-файлов включено для репозитория «packman». 
Приоритет репозитория «packman» установлен на 70.

Отключить кэширование RPM-файлов для всех репозиториев:

корень #zypper mr -Ka

Для репозитория «local» ничего не нужно менять. 
Кэширование RPM-файлов отключено для репозитория «packman». 
Для репозитория «fate» ничего не нужно менять. 
Для репозитория «upd» ничего не нужно менять. 
Для репозитория «repo-oss» ничего не нужно менять. 
Для репозитория «repo-non-oss» ничего не нужно менять.

Включить кэширование RPM-файлов для всех репозиториев:

корень #zypper mr -ka

Кэширование RPM-файлов включено для репозитория «repo-non-oss». 
Кэширование RPM-файлов включено для репозитория «Основной репозиторий (OSS)». 
Кэширование RPM-файлов включено для репозитория «Основной репозиторий (NON-OSS)». 
Кэширование RPM-файлов включено для репозитория «openSUSE-11.1-Updates».

Переименование репозиториев

renamerepo или nr

# zypper nr 3 upd 
Репозиторий «openSUSE-11.1-Updates» переименован в «upd».

В настоящее время эта команда может изменить только псевдоним репозитория. Если вы хотите изменить отображаемое имя репозитория, ознакомьтесь с командой mr .

Используйте короткие и простые псевдонимы для удобства использования в качестве аргументов команд и параметров --repo. Использование псевдонима безопаснее, чем использование номера репозитория (поскольку он может измениться, и вы легко можете ошибиться), и проще, чем использование URI (поскольку они длинные, что приводит к необходимости копировать и вставлять).

Экспорт/импорт репозиториев

repos --export или lr -e

Вы можете экспортировать полный список репозиториев в файл и импортировать его позже или на другой компьютер.

# zypper lr --export backups/repos/foo.repo 
 # zypper ar backups/repos/foo.repo

Управление услугами

Сервисы находятся на уровень выше репозиториев и служат для управления репозиториями. Libzypp поддерживает только один тип сервисов — сервис индексации репозитория, также известный как RIS.

Добавить услугу

addservice или как

Чтобы добавить службу, введите addservice

Пример:

celebi:~ # zypper as -t RIS http://mewtwo.domain/ Mewtwo
Сервис «Mewtwo» исправен.

Обновить услугу

refresh-services или refs

Далее, чтобы добавить службу, ее необходимо обновить, чтобы настроить предоставляемые ею репозитории:

celebi:~ # zypper refs
Актуальная услуга «Мьюту». 
Добавить репозиторий 'KDE:Extra' ........................................................[hecho] 
Добавить репозиторий 'repo-ati' ..........................................................[hecho] 
Добавить репозиторий 'openSUSE-12.2-Debug' .................................................[hecho] 
Добавить репозиторий 'openSUSE-12.2-Update-Debug' ................................................[hecho] 
Добавить репозиторий 'openSUSE-12.2-Update-Debug-Non-Oss' ................................[hecho] 
Добавить репозиторий 'repo-libdvdcss' .................................................[hecho] 
Добавить репозиторий 'openSUSE-12.2-Oss' .................................................[hecho] 
Аньядиендо репозиторий 'packman' ........................................................[hecho] 
Добавить репозиторий 'openSUSE-12.2-Source' ................................................[hecho] 
Добавить репозиторий 'openSUSE-12.2-Update' .................................[hecho] 
Добавить репозиторий 'openSUSE-12.2-Update-Non-Oss' ...................................[хехо] 
Añadiendo el repositorio 'security' ........................................................[хечо] 
Все актуализированные услуги.

При первом обновлении службы репозитории должны быть включены командой zypper mr -e -a.

Удалить услугу

removeservice или rs

Службу можно удалить с помощью команды rs .

Пример:

celebi:~ # zypper rs Mewtwo
Удалить сервис «Mewtwo»: 
Удалить репозиторий «KDE:Extra» ........................................[hecho] 
Удалить репозиторий «repo-ati» ................................................[hecho] 
Удалить репозиторий «openSUSE-12.2-Debug» .................................................[hecho] 
Удалить репозиторий 'openSUSE-12.2-Update-Debug' ............................................[hecho] 
Удалить репозиторий 'openSUSE-12.2-Update-Debug-Non-Oss' ................................[hecho] 
Удалить репозиторий 'repo-libdvdcss' ..................................................[hecho] 
Удалить репозиторий 'openSUSE-12.2-Oss' ................................................[хечо] 
Элиминадо эль репозиторий 'packman' ................................................................[hecho] 
Удалить репозиторий 'openSUSE-12.2-Source' .................................[hecho] 
Удалить репозиторий 'openSUSE-12.2-Update' .................................[hecho] 
Удалить репозиторий 'openSUSE-12.2-Update-Non-Oss' ....................[hecho] 
Удалить Репозиторий «безопасность» ........................................................[hecho] 
Если удален сервис «Mewtwo».

Управление пакетами

Выбор пакетов

Существует несколько способов выбора пакетов для установки или удаления.

  • по имени возможности
zypper в eclipse 
 zypper в qt
  • по имени возможности и/или архитектуре и/или версии
zypper в 'zypper<0.12.10' 
 zypper в zypper.i586=0.12.11
  • по точному имени пакета (--name)
zypper в -n ftp
  • по точному имени пакета и репозитория (подразумевается --name)
zypper на фабрике:zypper
  • по имени пакета с использованием подстановочных знаков
zypper в yast*ftp*
  • Указав файл пакета .rpm для установки. Путь может быть относительным или абсолютным.
zypper in foo.rpm #Относительный путь. 
 zypper in /path/to/somewhere/foo.rpm #Абсолютный путь

Установка пакетов

установить или в

Вы можете устанавливать пакеты по имени...

# zypper install git
Чтение установленных пакетов... 

Будут установлены следующие НОВЫЕ пакеты: 
  subversion-perl sqlite3 perl-DBD-SQLite git-svn git-cvs git 


Общий размер загрузки: 1,1 МБ. После операции будет использовано дополнительно 4,6 МБ. 
Продолжить? [ДА/нет]: 
Загрузка пакета subversion-perl-1.5.0-96.1.x86_64 (1/6), 950,0 КБ (4,1 МБ распаковано) 
Загрузка: subversion-perl-1.5.0-96.1.x86_64.rpm [готово] 
Установка: subversion-perl-1.5.0-96.1 [готово] 
Загрузка пакета sqlite3-3.5.7-17.1.x86_64 (2/6), 30,0 КБ (40,0 КБ распаковано) 
Загрузка: sqlite3-3.5.7-17.1.x86_64.rpm [готово] 
Установка: sqlite3-3.5.7-17.1 [готово] 
Загрузка пакета perl-DBD-SQLite-1.14-41.1.x86_64 (3/6), 44,0 КБ (103,0 КБ распаковано) 
Загрузка: perl-DBD-SQLite-1.14-41.1.x86_64.rpm [готово] 
Установка: perl-DBD-SQLite-1.14-41.1 [готово] 
Загрузка пакета git-svn-1.5.4.5-26.1.x86_64 (4/6), 66,0 КБ (195,0 КБ распаковано) 
Загрузка: git-svn-1.5.4.5-26.1.x86_64.rpm [готово] 
Установка: git-svn-1.5.4.5-26.1 [готово] 
Загрузка пакета git-cvs-1.5.4.5-26.1.x86_64 (5/6), 63,0 КБ (205,0 КБ распаковано) 
Загрузка: git-cvs-1.5.4.5-26.1.x86_64.rpm [готово] 
Установка: git-cvs-1.5.4.5-26.1 [готово] 
Загрузка пакета git-1.5.4.5-26.1.x86_64 (6/6), 10,0 КБ (3,0 КБ распаковано) 
Загрузка: git-1.5.4.5-26.1.x86_64.rpm [готово] 
Установка: git-1.5.4.5-26.1 [готово]

...или по предоставляемым возможностям:

# zypper в MozillaFirefox \< 3
Чтение установленных пакетов... 
«MozillaFirefox», предоставляющий «MozillaFirefox<3», уже установлен. 
Ничего не нужно делать.
# zypper в MozillaFirefox \>= 3
Чтение установленных пакетов... 

Следующие пакеты будут обновлены: 
  mozilla-xulrunner190-translations MozillaFirefox mozilla-xulrunner190-gnomevfs 
mozilla-xulrunner190 MozillaFirefox-translations 


Следующий пакет будет УДАЛЕН: 
  mozilla-xulrunner190-lang 


Общий размер загрузки: 11,0 МБ. После операции будет освобождено 12,9 МБ. 
Продолжить? [Да/нет/и/?]:
# zypper в 'libqtiff.so()(64bit)'
Чтение установленных пакетов... 
'libqt4-x11', предоставляющий 'libqtiff.so()(64bit)', уже установлен. 
Ничего не нужно делать.

Другие примеры:

zypper в yast* # установка всех модулей yast 
zypper в -t pattern lamp_server # установка шаблона lamp_server (пакеты, необходимые для сервера LAMP) 
zypper в emacs pattern:lamp_server # установка пакета emacs и шаблона lamp_server 
zypper в vim -emacs # установка vim и удаление emacs за один раз 
zypper в amarok packman:libxine1 # установка libxine1 из packman и amarok из любого репозитория 
zypper в bitchx-1.1-81.x86_64.rpm # установка rpm bitchx из локального каталога 
zypper в -f subversion # принудительная переустановка subversion

Удаление пакетов

удалить или rm

Команда remove очень похожа на команду install, за исключением того, что эффект противоположный :O)

корень #zypper remove sqlite

Чтение установленных пакетов... 

Следующие пакеты будут УДАЛЕНЫ: 
  sqlite3 perl-DBD-SQLite git-cvs git 


После операции будет освобождено 351,0 Кб. 
Продолжить? [ДА/нет]: n
Автоматическое удаление ненужных пакетов

Приведённая выше команда может удалить только целевой пакет. Чтобы гарантировать удаление пакетов, установленных как зависимости SQLite и не требующихся другим пакетам в системе, используйте опцию --clean-deps или сокращённо -u .

корень #zypper rm solaar

 
Чтение установленных пакетов... 
Разрешение зависимостей пакетов... 

Следующий пакет будет УДАЛЕН: 
  solaar 

1 пакет для удаления. 
После операции будет освобождено 2,0 МиБ. 
Продолжить? [y/n/v/...? показывает все варианты] (y): n

корень #zypper rm -u solaar

Чтение установленных пакетов... 
Разрешение зависимостей пакетов... 

Следующие 7 пакетов будут УДАЛЕНЫ: 
  python311-evdev, python311-hid-parser, python311-python-xlib, python311-PyYAML, python311-typing_extensions, 
  solaar, solaar-udev. 

7 пакетов для удаления. 
После операции будет освобождено 5,0 МиБ. 
Продолжить? [y/n/v/...? показывает все варианты] (y): y 
(1/7) Удаление solaar-1.1.10-2.1.noarch ...........................................................[выполнено] 
(2/7) Удаление solaar-udev-1.1.10-2.1.noarch .......................................................[выполнено] 
(3/7) Удаление python311-typing_extensions-4.8.0-1.1.noarch ........................................[выполнено] 
(4/7) Удаление python311-python-xlib-0.33-2.1.noarch ...............................................[выполнено] 
(5/7) Удаление python311-hid-parser-0.0.3-1.6.noarch ...............................................[выполнено] 
(6/7) Удаление python311-evdev-1.6.1-2.3.x86_64 ....................................................[готово] 
(7/7) Удаление python311-PyYAML-6.0.1-2.1.x86_64 ...................................................[готово] 
Запуск скриптов после транзакции ...................................................................[готово]

Если вы уже удалили пакет, вам сначала нужно будет проверить установленные пакеты, которые больше не нужны:

zypper pa --unneeded

Для их удаления можно использовать следующую команду в одну строку, аналогично `apt-get autoremove` в Debian:

sudo zypper rm (zypper pa --unneeded | awk '/i / {print $3}' FS='|' | uniq | tr '\n')

Исходные пакеты и зависимости сборки

source-install или si

# zypper si zypper
Чтение установленных пакетов... 

Будут установлены следующие НОВЫЕ пакеты: 
  libzypp-devel libsatsolver-devel 


Будут установлены следующие исходные пакеты: 
  zypper 


Общий размер загружаемого файла: 1,5 МБ. После операции будет использовано дополнительно 6,7 МБ. 
Продолжить? [ДА/нет]:

Вы также можете установить только зависимости сборки или только исходный пакет:

zypper si -D zypper # только исходные пакеты (без зависимостей сборки) 
zypper si -d zypper # только зависимости сборки (без исходного пакета)

Обновление пакетов

обновление или выше

Следующие команды обновляют пакеты до новых доступных версий. Подробнее см. в разделе «Управление обновлениями» .

zypper up # обновить все установленные пакеты до более новой версии, насколько это возможно 
zypper up libzypp zypper # обновить libzypp и zypper 
zypper в sqlite3 # обновить sqlite3 или установить его, если он еще не установлен

Запрос

Поиск пакетов

поиск или се

По умолчанию команда поиска ищет пакеты любого типа, статуса или репозитория, имена которых содержат указанную строку (сравнивает без учета регистра):

celebi:~ # zypper se sqlite
Загрузка данных репозитория... 
Чтение установленных пакетов... 

S | Имя | Сводка | Тип       
--+------------+----------------------------------------------------------------+----------- 
  | dovecot21-backend-sqlite | Поддержка SQLite для Dovecot | пакет    
  | go-gosqlite | Простейшее связывание SQLite для Go | пакет    
  | go-gosqlite | Простейшее связывание SQLite для Go | srcpackage 
  | go-gosqlite-doc | Документация API | пакет    
  | libapr-util1-dbd-sqlite3 | Драйвер DBD для SQLite 3 | пакет    
  | libdbi-drivers-dbd-sqlite3 | Драйвер SQLite3 для libdbi | пакет    
  | libgda-3_0-sqlite | Поставщик SQLite для GNU Data Access (GDA) | пакет    
  | libgda-5_0-sqlite | Поставщик SQLite для GNU Data Access (GDA) | пакет    
i | libqt4-sql-sqlite | плагин Qt 4 sqlite | пакет    
i | libqt4-sql-sqlite-32bit | плагин Qt 4 sqlite | пакет    
i | libsqlite3-0 | Общие библиотеки для Embeddable SQL Database Engine | пакет    
i | libsqlite3-0-32bit | Общие библиотеки для Embeddable SQL Database Engine | пакет    
  | mono-data-sqlite | Подключение к базам данных для Mono | пакет    
  | pdns-backend-sqlite2 | бэкэнд SQLite 2 для pdns | пакет    
i | perl-DBD-SQLite | Автономная СУРБД в драйвере DBI | пакет    
  | perl-DBD-SQLite | Автономная СУРБД в драйвере DBI | srcpackage 
  | perl-DBD-SQLite-devel | Файлы разработки для perl-DBD-SQLite | пакет    
i | php5-sqlite | Модуль расширения PHP5 | пакет    
  | proftpd-sqlite | Модуль SQLite для ProFTPD | пакет    
  | python-pysqlite | Интерфейс DB-API 2.0 для SQLite 3.x | пакет    
  | python-pysqlite | Интерфейс DB-API 2.0 для SQLite 3.x | srcpackage
  | python-pysqlite-debuginfo | Отладочная информация для пакета python-pysqlite | пакет    
  | python-pysqlite-debugsource | Отладочные источники для пакета python-pysqlite | пакет    
  | qt3-sqlite | Плагин SQLite Database Plug-In для Qt | пакет    
  | rubygem-sqlite3 | Интерфейс Ruby для ядра базы данных SQLite3 | пакет    
  | rubygem-sqlite3 | Интерфейс Ruby для ядра базы данных SQLite3 | srcpackage 
  | rubygem-sqlite3-doc | Документация RDoc для sqlite3 | пакет    
  | rubygem-sqlite3-testsuite | Тестовый набор для sqlite3 | пакет    
i | sqlite2 | Встраиваемое ядро ​​базы данных SQL | пакет    
  | sqlite2 | Встраиваемое ядро ​​базы данных SQL | srcpackage 
  | sqlite2-32bit | Встраиваемое ядро ​​базы данных SQL | пакет    
  | sqlite2-devel | Встраиваемый движок базы данных SQL | пакет    
  | sqlite3 | Встраиваемый движок базы данных SQL | пакет    
  | sqlite3 | Встраиваемый движок базы данных SQL | srcpackage 
i | sqlite3-devel | Встраиваемый движок базы данных SQL | пакет    
  | sqlite3-tcl | Связывание Tcl для SQLite | пакет    
  | strongswan-sqlite | Решение VPN с открытым исходным кодом на основе IPsec | пакет    
  | tntdb3-sqlite | Tntdb — это библиотека классов C++ для удобного доступа к базе данных — sqlite | пакет    
  | tntdb3-sqlite-debuginfo | Отладочная информация для пакета tntdb3-sqlite | пакет    
  | ulogd2-sqlite3 | Выходная цель SQLite3 для ulogd2 | пакет   

Буква «i» в первом столбце (1) означает, что пакет уже установлен на локальном компьютере. Чтобы увидеть все доступные версии соответствующих пакетов, используйте опцию «--details/-s» :

celebi:~ # zypper search -s --match-exact VirtualBox
Загрузка данных репозитория... 
Чтение установленных пакетов... 

S | Имя | Тип | Версия | Архитектура | Репозиторий           
--+-----------+-----------+-------------+----------+--------------------- 
  | virtualbox | пакет | 4.1.18-1.3.1 | x86_64 | openSUSE-12.2-Oss    
  | virtualbox | пакет | 4.1.18-1.3.1 | i586 | openSUSE-12.2-Oss    
  | virtualbox | srcpackage | 4.1.18-1.3.1 | noarch | openSUSE-12.2-Source

Буква «i» в первом столбце (1) указывает на то, что выбранное программное обеспечение уже установлено на локальном компьютере, тогда как буква «v» в первом столбце (1) указывает на то, что на локальном компьютере установлены другие версии продукта.

Другие примеры:

zypper se -dC --match-words RSI # поиск аббревиатуры RSI (с учетом регистра), а также в сводках и описаниях 
zypper se 'yast*' # вывод всех пакетов, начинающихся с 'yast' (будьте осторожны с расширением оболочки, заключайте строки в кавычки, если не уверены!) 
zypper se -r packman # вывод списка всех пакетов из репозитория 'packman' 
zypper se -i sqlite # вывод всех установленных пакетов, содержащих 'sqlite' в своем имени 
zypper se -t pattern -r repo-oss # вывод списка всех шаблонов, доступных в репозитории 'repo-oss' 
zypper se -t product # вывод списка всех доступных продуктов

Получение информации о пакетах

информация или если

celebi:~ # zypper info amarok
Загрузка данных репозитория... 
Чтение установленных пакетов... 


Информация о пакете amarok: 

Репозиторий: packman 
Имя: amarok 
Версия: 2.6.0-7.3 
Архитектура: x86_64 
Поставщик: http://packman.links2linux.de 
Установлен: Да 
Статус: устарел (установлена ​​версия 2.6.0-6.9) 
Размер после установки: 31,0 МБ 
Краткое описание: Медиаплеер для KDE 
Описание: 
Amarok — это медиаплеер для всех типов медиа. В том числе MP3, Ogg 
Vorbis, аудио-CD, подкасты и потоковые аудио. Списки воспроизведения можно сохранять в 
файлах .m3u или .pls.

Эта команда отображает подробную информацию о пакете с именем «amarok».

Другие примеры:

zypper info -t patch MozillaFirefox # показать информацию о патче «MozillaFirefox» 
zypper patch-info MozillaFirefox # то же самое, что и выше 
zypper info -t pattern lamp_server # показать информацию о шаблоне «lamp_server» 
zypper info -t product openSUSE-FTP # показать информацию об указанном продукте

Зависимости

что-обеспечивает или wp

Подкоманда what-provides устарела. Она заменена на search --provides --match-exact .

Чтобы составить список всех поставщиков с указанными возможностями, выполните следующее:

celebi:~ # zypper wp firefox
Загрузка данных репозитория... 
Чтение установленных пакетов... 
S | Имя | Тип | Версия | Архитектура | Репозиторий           
--+----------------+---------+--------------+--------+---------------------- 
i | MozillaFirefox | пакет | 15.0.1-2.11.1 | x86_64 | openSUSE-12.2-Update 
v | MozillaFirefox | пакет | 15.0-2.7.1 | x86_64 | openSUSE-12.2-Update 
v | MozillaFirefox | пакет | 14.0.1-2.4.1 | x86_64 | openSUSE-12.2-Oss    
v | MozillaFirefox | пакет | 15.0.1-2.11.1 | i586 | openSUSE-12.2-Update 
v | MozillaFirefox | пакет | 15.0-2.7.1 | i586 | openSUSE-12.2-Update 
v | MozillaFirefox | пакет | 14.0.1-2.4.1 | i586 | openSUSE-12.2-Oss   

Эта команда похожа на команду rpm -q --whatprovides Firefox , но rpm может запрашивать данные только из базы данных RPM (базы данных установленных пакетов). Zypper же, в свою очередь, предоставит информацию о поставщиках возможностей из любого репозитория, а не только из установленных.

Другие запросы

Команды patches , packages , patterns и products аналогичны команде search -s -t [patch,package,pattern,product] , за исключением того, что они отображают дополнительную информацию, специфичную для соответствующего типа пакета. Например, patches также показывает статус исправлений (Требуется/Безопасность/Неприменимо).

Команды list-updates и patch-check обсуждаются в разделе Управление обновлениями .

Замки для пакетов

замки или ll addlock или al removelock или rl cleanlocks или cl

Блокировки пакетов предназначены для предотвращения изменений пакетов в системе. Пакеты, соответствующие активной блокировке, не могут изменить свой установленный статус; установленные пакеты нельзя удалить или обновить, а ещё не установленные пакеты установить невозможно.

Чтобы заблокировать все пакеты, начинающиеся с «yast2», выполните:

celebi:~ # zypper al nano
Указанный замок успешно добавлен.

Опять же будьте осторожны с расширением оболочки, используйте кавычки, если есть вероятность, что yast* будет соответствовать некоторым файлам или каталогам в рабочем каталоге.

Чтобы вывести список активных в данный момент блокировок:

celebi:~ # zypper ll
# | Имя | Тип | Репозиторий 
---+-----------------------------+---------+---------- 
1 | PackageKit-gstreamer-plugin | пакет | (любой)      
2 | PackageKit-backend-zypp | пакет | (любой)      
3 | PackageKit-branding-openSUSE | пакет | (любой)      
4 | apper | пакет | (любой)      
5 | PackageKit-browser-plugin | пакет | (любой)      
6 | libpackagekit-glib2-14 | пакет | (любой)      
7 | PackageKit-gtk3-module | пакет | (любой)      
8 | libpackagekit-qt2-2 | пакет | (любой)      
9 | pk-update-icon | пакет | (любой)      
10 | libpackagekit-qt2-2-32bit | пакет | (любой)      
11 | libpackagekit-qt2-devel-32bit | пакет | (любой)      
12 | gnome-packagekit | пакет | (любой)      
13 | libpackagekit-qt2-devel | пакет | (любой)      
14 | PackageKit | пакет | (любой)

Чтобы снять блокировку, выполните следующие действия:

# zypper rl nano
1 блокировка успешно снята.

Другие примеры:

zypper al zypper # заблокировать пакет 'zypper' (точное совпадение) 
zypper al -r repo-oss virtualbox* # ограничить блокировку репозитория 'repo-oss' (разрешить установку из других) 
zypper rl 3 # снять блокировку по номеру

Вы также можете управлять блокировками, напрямую редактируя файл блокировок .

Коммунальные услуги

Проверить зависимости

проверить или ве

Иногда ваша система может оказаться неисправной из-за зависимостей пакетов. Если некоторые из ваших приложений не запускаются и выдают сообщение об отсутствии какого-либо компонента, zypper может проверить следующее:

$ rpm -e --nodeps mozilla-xulrunner190
$ firefox

Не удалось найти совместимый GRE между версиями 1.9.0 и 1.9.0.
# zypper ve
Чтение установленных пакетов... 
Некоторые зависимости установленных пакетов повреждены. Чтобы исправить эти зависимости, необходимо выполнить следующие действия: 

Будет установлен следующий НОВЫЙ пакет: 
  mozilla-xulrunner190. 


Общий размер загрузки: 6,5 МБ. После операции будет использовано дополнительно 23,5 МБ. 
Продолжить? [ДА/нет]: y

Установить новые рекомендуемые пакеты

install-new-recommends или inr

Эта команда находит и устанавливает новые рекомендуемые пакеты для уже установленных пакетов. Это позволяет легко получить новые языковые пакеты для вашего программного обеспечения или драйверы для недавно добавленного оборудования.

# zypper inr
Чтение установленных пакетов... 

Будут установлены следующие НОВЫЕ пакеты: 
  kdebase4-openSUSE-lang bundle-lang-common-cs 


Общий размер загрузки: 534,0 КБ. После операции будет использовано дополнительно 1,9 МБ. 
Продолжить? [ДА/нет]:

Проверить процессы

пс

Эта команда показывает процессы, которые используют файлы, удаленные при недавних обновлениях или удалениях пакетов.

Некоторые программы используют файлы, удалённые при недавнем обновлении. Возможно, вам стоит перезапустить некоторые из них. Выполните команду «zypper ps», чтобы получить список этих программ.
celebi:~ # zypper ps
Следующие запущенные процессы используют удаленные файлы: 

PID | PPID | UID | Login | Command | Service | Files                        
------+------+------+--------+-------------------------------+------------------------------+----------------------------- 
1 | 0 | 0 | root | systemd | | /lib64/libudev.so.0.13.1     
759 | 1 | 0 | root | systemd-logind | | /lib64/libudev.so.0.13.1     
1827 | 1696 | 0 | root | Xorg | | /lib64/libudev.so.0.13.1    

Возможно, вы захотите перезапустить эти процессы. 
Информацию о значении значений в приведенной выше таблице см. в 'man zypper'.

Управление обновлениями

Существует два подхода к поддержанию системы в актуальном состоянии: один — с помощью патчей , второй — с помощью пакетов .

Подход с установкой патчей особенно полезен для пользователей стабильных версий, желающих обновлять свои системы с помощью патчей, выпущенных через онлайн-репозитории обновлений. Репозитории обновлений добавляются по умолчанию во время установки или обновления системы, либо их можно добавить через конфигурацию онлайн-обновлений на вкладке «Программное обеспечение» в Центре управления YaST или вручную с помощью Zypper . Ниже представлен список доступных репозиториев обновлений OpenSUSE .

Эквивалентом этой функции в YaST является модуль онлайн-обновления .

Второе обновление на уровне пакетов описано в разделе Обновления пакетов и серверы для общего обновления пакетов из любого репозитория до их более новых версий.

Перечисление необходимых исправлений

список-патчей или lp

Чтобы вывести список всех необходимых обновлений, выполните:

celebi:~ # zypper lp
Загрузка данных репозитория... 
Чтение установленных пакетов... 

Репозиторий | Имя | Версия | Категория | Статус | Сводка                                                              
---------------------+-------------------+---------+------------+---------+--------------------------------------------------------------------- 
openSUSE-12.2-Update | openSUSE-2012-651 | 1 | рекомендуется | требуется | udev: создать символическую ссылку /dev/root с динамическим правилом для systemd         
openSUSE-12.2-Update | openSUSE-2012-655 | 1 | рекомендуется | требуется | clamav: обновить до версии 0.97.6                                     
openSUSE-12.2-Update | openSUSE-2012-657 | 1 | рекомендуется | требуется | NetworkManager: исправлено несколько ошибок                                    
openSUSE-12.2-Update | openSUSE-2012-659 | 1 | рекомендуется | требуется | часовой пояс: обновление до 2012f                                            
openSUSE-12.2-Update | openSUSE-2012-660 | 1 | безопасность | требуется | обновление безопасности для tor                                              
openSUSE-12.2-Update | openSUSE-2012-662 | 1 | рекомендуется | требуется | coreutils: повторное включение многопоточной сортировки (1), если задано значение OMP_NUM_THREADS 
openSUSE-12.2-Update | openSUSE-2012-663 | 1 | рекомендуется | требуется | приостановка: исправлена ​​проблема двойной приостановки                                  
openSUSE-12.2-Update | openSUSE-2012-665 | 1 | рекомендуется | требуется | обновление mdadm для openSUSE 12.2                                       
openSUSE-12.2-Update | openSUSE-2012-666 | 1 | рекомендуется | требуется | module-init-tools: Исправление modprobe, когда /usr/local управляется AutoFS

Иногда отображаются только обновления, влияющие на управление пакетами, поскольку их следует применить в первую очередь. После применения эта команда выведет список остальных доступных обновлений.

Эта команда эквивалентна команде zypper up -t patch, известной по более старым версиям Zypper. Чтобы получить список всех доступных обновлений пакетов, используйте:

celebi:~ # zypper lu

Применение патчей

пластырь

Чтобы применить необходимые исправления, выполните следующие действия:

celebi:~ # патч zypper
Загрузка данных репозитория... 
Чтение установленных пакетов... 
Разрешение зависимостей пакетов... 

Будут установлены следующие НОВЫЕ исправления: 
  openSUSE-2012-651 openSUSE-2012-655 openSUSE-2012-657 openSUSE-2012-659 openSUSE-2012-660 openSUSE-2012-662 openSUSE-2012-663 openSUSE-2012-665 openSUSE-2012-666 

Будут обновлены следующие пакеты: 
  NetworkManager NetworkManager-devel clamav coreutils libgudev-1_0-0 libnm-glib-vpn1 libnm-glib4 libnm-util2 libudev-devel libudev0 mdadm module-init-tools suspend timezone timezone-java tor typelib-1_0-NMClient-1_0 
  typelib-1_0-NetworkManager-1_0 udev 

19 пакетов для обновления. 
Общий размер загружаемого файла: 9,2 МБ. После операции будет использовано дополнительно 4,3 КБ. 
Продолжить? [y/n/?] (y):

Список всех патчей

патчи

Команда list -updates выводит список только необходимых обновлений. Чтобы вывести список всех доступных обновлений, используйте:

# патчи зиппер
Чтение установленных пакетов... 
Каталог | Имя | Версия | Категория | Статус 
-----------------+--------------------+---------+------------+--------------- 
Обновления для 11.1 | KDE4-fixes | 38 | рекомендуется | Установлено 
Обновления для 11.1 | MozillaFirefox | 50 | рекомендуется | Установлено 
Обновления для 11.1 | NetworkManager-kde | 49 | рекомендуется | Установлено 
Обновления для 11.1 | autoyast2 | 37 | рекомендуется | Установлено 
Обновления для 11.1 | courier-authlib | 42 | security | Неприменимо 
Обновления для 11.1 | insserv | 47 | рекомендуется | Установлено 
Обновления для 11.1 | opera | 43 | security | Установлено

Проверка патчей

проверка исправлений

Эта команда покажет вам, доступны ли какие-либо важные исправления для вашей системы, а также их количество:

celebi:~ # zypper pchk
Загрузка данных репозитория... 
Чтение установленных пакетов... 
Требуется 9 исправлений (1 исправление безопасности)

Получение информации о патчах

patch-info
info -t patch

celebi:~ # zypper info -t patch openSUSE-2012-651
Загрузка данных репозитория... 
Чтение установленных пакетов... 


Информация для патча openSUSE-2012-651: 

Имя: openSUSE-2012-651 
Версия: 1 
Архитектура: noarch 
Поставщик: maint-coord@suse.de 
Статус: Установлено 
Категория: рекомендуется 
Создано: Ср Сен 19 2012 14:03:20 
Требуется перезагрузка: Нет 
Требуется перезагрузка менеджера пакетов: Нет 
Интерактивность: Нет 
Сводка: udev: создать символическую ссылку /dev/root с динамическим правилом для systemd 
Описание: 
Это обновление исправляет следующую проблему для udev: 
- bnc#776882: создать символическую ссылку /dev/root с динамическим правилом для systemd 
Предоставляет: 
patch:openSUSE-2012-651 == 1 

Конфликты: 
libgudev-1_0-0.i586 < 182-4.17.1 
libgudev-1_0-0-32bit.x86_64 < 182-4.17.1 
libgudev-1_0-0-debuginfo.i586 < 182-4.17.1 
libgudev-1_0-0-debuginfo-32bit.x86_64 < 182-4.17.1 
libgudev-1_0-0-debuginfo-32bit.x86_64 < 182-4.17.1 libgudev-1_0-devel.i586 
< 182-4.17.1 libudev-devel.i586 
< 182-4.17.1 libudev0.i586 < 182-4.17.1 
libudev0-32bit.x86_64 < 182-4.17.1 
libudev0-debuginfo.i586 < 182-4.17.1 
libudev0-debuginfo-32bit.x86_64 < 182-4.17.1 
typelib-1_0-GUdev-1_0.i586 < 182-4.17.1 
udev.i586 < 182-4.17.1 
srcpackage:udev < 182-4.17.1 
udev-debuginfo.i586 < 182-4.17.1 
udev-debugsource.i586 < 182-4.17.1 
libgudev-1_0-0.x86_64 < 182-4.17.1 
libgudev-1_0-0-debuginfo.x86_64 < 182-4.17.1 
libgudev-1_0-devel.x86_64 < 182-4.17.1 
libudev-devel.x86_64 < 182-4.17.1 
libudev0.x86_64 < 182-4.17.1 
libudev0-debuginfo.x86_64 < 182-4.17.1 
typelib-1_0-GUdev-1_0.x86_64 < 182-4.17.1 
udev.x86_64 < 182-4.17.1 
udev-debuginfo.x86_64 < 182-4.17.1 
udev-debugsource.x86_64 < 182-4.17.1

Обновления пакетов

обновления списка или обновление lu или вверх

Чтобы просто обновить установленные пакеты до более новых доступных версий, выполните:

# застежка-молния вверх

Список доступных обновлений можно получить с помощью:

# zypper lu

Приведённые выше команды выведут список или обновят только те пакеты, обновление которых не имеет проблем с зависимостями. Чтобы получить необработанный список пакетов с более новыми версиями, чем установленные, выполните:

# zypper lu -a

Здесь будут перечислены все кандидаты на обновление, независимо от того, можно ли их установить или нет, а также требуют ли они вмешательства пользователя для решения некоторых проблем.

Обновление дистрибуции

dist-upgrade или dup

Эта команда использует алгоритм обновления дистрибутива, который обрабатывает разделение пакетов, неподдерживаемые пакеты и т.п. Используйте её для перехода на другой выпуск дистрибутива.

# zypper dup

Во время dist-upgrade рекомендуется включить только основной репозиторий дистрибутива, который вы хотите установить, а также несколько важных репозиториев, которые вы использовали (ещё лучше — их версии, соответствующие текущему основному репозиторию). Этого можно добиться, отключив старые репозитории с помощью команды zypper mr -da , добавив новые репозитории с помощью команды zypper ar и выполнив команду zypper dup . Вы также можете указать используемые репозитории с помощью параметра --repo: zypper dup -r repo1 -r repo2 ... .

В: Правда ли, что «zypper up» обновляет пакеты только в том случае, если более новая версия находится в том же репозитории, что и устаревший пакет, а «zypper dup» обновляет все, независимо от того, в каком репозитории находится новый пакет?

A: Команда «zypper up» обновляет пакеты, если доступна более новая версия, но не меняет поставщика (Примечание: весь сервис сборки в настоящее время использует одного поставщика). Команда «zypper dup» попытается синхронизировать ваши текущие установленные пакеты с пакетами, доступными во всех включенных вами репозиториях. Это означает, что команда также понизит версию пакетов, если ваша установленная версия новее той, что доступна в репозитории.


Использование zypper в скриптах и ​​приложениях

Zypper поддерживает несколько глобальных параметров, что делает его пригодным для использования в автоматизированных процессах, таких как скрипты. Кроме того, при использовании Zypper в автоматизированном процессе можно проверить несколько различных кодов выхода, перечисленных в руководстве пользователя.

Неинтерактивный режим

--неинтерактивный

В этом режиме Zypper не запрашивает у пользователя никаких ответов и использует ответы по умолчанию. Использование этой опции гарантирует, что Zypper не будет зависать, запрашивая ответ на стандартном вводе, или входить в бесконечный цикл.

Например, чтобы обновить систему автоматически без подтверждения, вы можете ввести

# zypper --неинтерактивное обновление

Эта команда не требует подтверждения от пользователя для продолжения обновления, пропускает все интерактивные исправления, требующие дополнительного подтверждения, а также автоматически отвечает на любые другие запросы.

Режим без проверок GPG

--no-gpg-checks

Если используется эта опция, Zypper всегда будет продолжать работу, если некоторые проверки GPG не пройдены, например, файл репозитория не подписан, хотя должен быть подписан, файл подписан, а проверка GPG не пройдена и т. д.

Автоматическое согласие с лицензиями

--автоматическое согласие с лицензиями

Это специальная опция для команд установки, удаления и обновления. Используя её, пользователь подтверждает своё согласие с условиями лицензий, которые установит команда, и Zypper автоматически ответит «да» на запрос о подтверждении лицензии. Это полезно для тех, кто устанавливает один и тот же набор пакетов на несколько компьютеров (автоматически) и ознакомился со всеми лицензиями ранее.

Тихий выход

--тихий

Позволяет избежать отображения лишнего текста, например информации о ходе выполнения, и отображает только результат операции и сообщения об ошибках.

XML-вывод

--xmlout

Эта опция позволяет Zypper работать в формате XML. Это позволяет скриптам, графическим интерфейсам и другим приложениям, использующим Zypper, анализировать его вывод чётко определённым стандартным способом. Схема RNC для XML-вывода Zypper доступна здесь и по адресу /usr/share/zypper/xml/xmlout.rnc .

В настоящее время не все (но большая часть) выходные данные представлены в формате XML; цель состоит в том, чтобы все возможные выходные данные были представлены в формате XML.

Подсказки

Ниже представлен полный список случаев, когда Zypper требует взаимодействия с пользователем, а также ответы, используемые в неинтерактивном режиме. Все упомянутые здесь дополнительные параметры имеют более высокий приоритет по сравнению с --non-interactive, поэтому при их использовании подразумеваемый ими ответ применяется автоматически, даже если --non-interactive не используется.

Подсказки, связанные с GPG

Если применяется --no-gpg-checks, выводится сообщение или предупреждение записывается в stderr и журналируется.

быстрый

ответ по умолчанию

с --no-gpgp-checks

примечание

принять неподписанный файл?

Н

Y

принять новый ключ (отклонить ключ, доверять временно или доверять всегда? [r/t/a])

Р

Р

новый ключ может быть доверен или импортирован только в интерактивном режиме

принять неизвестный ключ?

Н

Y

проверка подписанного файла не удалась, продолжить?

Н

Y

нет дайджеста для файла, продолжить?

Н

Y

принять неизвестный дайджест?

Н

Y

Другие подсказки

быстрый

ответ по умолчанию

другой ответ

примечание

продолжить установку/удаление/обновление?

Y

Кроме того, опцию --no-confirm можно использовать с командами install/remove/update даже без глобальной опции --non-interactive

подтвердить лицензию третьей стороны

Н

Да, если используется --auto-agree-with-licenses

Кроме того, для обновления Zypper можно использовать опцию --skip-interactive, чтобы исключить интерактивные патчи из списка устанавливаемых (наследие Rug).

подтвердить сообщение об исправлении

Y

проблема при установке/удалении решаемого, Прервать/Повторить/Игнорировать?

АВОРИТ

это некрасиво и может быть улучшено в будущем

проблема при загрузке пакета, Прервать/Повторить/Игнорировать?

АВОРИТ

это тоже некрасиво, можно как-то улучшить в будущем

конфликт зависимостей, #/s/r/c (номер решения, пропустить, повторить или отменить)

с

всегда отменять, для разрешения зависимостей требуется взаимодействие с пользователем

запрос на изменение носителя

АВОРИТ

удалить проблемную блокировку?

Y

В XML-выводе подсказки обозначаются тегом <prompt> , содержащим атрибут id . Перечисление всех известных идентификаторов доступно во включаемом файле prompt.h , входящем в комплект поставки Zypper ( /usr/include/zypper/prompt.h ).


Совместимость с ковром

Синтаксис Zypper похож на синтаксис Rug, но его набор команд и опций начал отличаться от rug, равно как и его вывод и поведение.