SDB:Zypper использование 11.3
Содержание
- 1 Краткая справка
- 2 Общее использование
- 3 Словарь
- 4 Команды
- 5 Использование zypper в скриптах и приложениях
- 6 Совместимость с Rug
- 7 См. также
Краткая справка
Вот то, что, вероятно, используется чаще всего:
zypper # вывести список доступных глобальных опций и команд zypper help search # вывести справку для команды search zypper lр # увидеть, какие требуются патчи-обновления zypper patch # применить необходимые патчи zypper se sqlite # поиск sqlite zypper rm sqlite2 # удалить sqlite2 zypper in sqlite3 # установить sqlite3 zypper in yast* # установить все пакеты по шаблону yast* zypper up # обновить все установленные пакеты до последних версий, где возможно
Памятка
Здесь можно найти информацию с данной страницы (на английском языке), сжатую до формата памятки. Она также включает некоторые сведения, взятые со страниц справки. Использовать её рекомендуется после анализа информации, приведённой в настоящей статье.
Первая страница в формате A4. |
Вторая страница в формате A4. |
Первая страница в формате letter. |
Вторая страница в формате letter. |
Общее использование
Общий синтаксис zypper следующий:
Компоненты в квадратных скобках не обязательны, и таким образом, самый простой способ выполнить zypper — ввести его имя, а после него — команду. Например, чтобы применить необходимые патчи для системы, набрать:
Кроме того, можно выбрать одну или несколько глобальных опций, введя их прямо перед командой: (выполняй команду, но не спрашивай ни о чём, решай по своему усмотрению):
Чтобы использовать опции, относящиеся к определённой команде, ввести их сразу же после команды: (примени необходимые патчи для системы, но не спрашивай подтверждения согласия с условиями лицензий, я их уже прочитал):
Некоторые команды требуют одного или нескольких аргументов: (установить или обновить пакет mplayer):
Некоторые из опций также требуют аргумент: (поиск по шаблону):
Всё вышеперечисленное в сочетании: (установить mplayer и amarok только с использованием репозитория factory в режиме подробного вывода):
Подсказки пользователю
Всякий раз, когда zypper требует ввода данных от вас, он в скобках рядом с текстом подсказки показывает возможные ответы. Чтобы выбрать ответ по умолчанию, просто нажать <ввод> (ответ по умолчанию печатается заглавными буквами (за исключением не-ASCII символов)). Некоторые подсказки также предоставляют справку, в этом случае имеется знак вопроса "?" в качестве одного из вариантов ответа. Чтобы zypper использовал ответы по умолчанию без взаимодействия с пользователем, использовать глобальную опцию --non-intereactive.
Словарь
- репозиторий — локальная или удалённая директория, содержащая пакеты и различные данные о пакетах (метаданные пакета). Репозитории ранее назывались источниками установки, сервисами или каталогами.
- псевдоним — псевдоним репозитория представляет собой краткий вариант названия репозитория для использования в командах и опциях для работы с репозиториями, например, removerepo или --repo.
- пакет — пакет программного обеспечения (пакет RPM, пакет исходного кода). Патчи, модели и продукты также обычно рассматриваются как различные виды пакетов.
- патч — пакет или группа пакетов, необходимых для установки обновления (в основном, исправление ошибки).
- шаблон — представляет группу пакетов. Например, шаблон Http Server будет иметь зависимости, определённые таким образом, чтобы вызвать установку всех пакетов, необходимых для запуска и управления http-сервера, после установки шаблона.
- продукт — представляет собой полный продукт (например, «openSUSE 11.1»).
Команды
Zypper предоставляет ряд команд, которые могут быть сгруппированы в следующие категории:
- управление репозиториями
refresh, repos, addrepo, removerepo, modifyrepo, namerepo
refresh-services, services, addservice, removeservice, modifyservice - управление пакетами
install, remove, source-install - управление обновлениями
patch, list-patches, patch-check, patches, update, list-updates, dist-upgrade - запросы
search, info, what-provides, list-updates, patch-check, patches, packages, patterns, products - блокировка
locks, addlock, removelock, cleanlocks - утилиты
verify, install-new-recommends - прочее
help, licenses, versioncmp, targetos
Печать справки
Прежде всего, хорошо знать, как получить помощь. Чтобы вывести общую справку (список команд и глобальные опции), просто ввести zypper без опций и аргументов. Чтобы вывести справку для конкретной команды, использовать:
Чтобы получить конкретную помощь по команде, использовать:
Заметим, что также для удобства можно вводить -h вместо --help.
Управление репозиториями
Можно задавать существующие репозитории по их номерам в списке, выводимом zypper lr, псевдониму или URI. При использовании номера всегда проверять сначала zypper lr, так как номера могут меняться после изменений в репозиториях.
Вывод списка определённых репозиториев
repos или lr
Пример вывода:
# | Псевдоним | Имя | Включён | Обновление --+-----------------------+-----------------------+----------+----------- 1 | packman | Packman 11.1 | Да | Нет 2 | fate | fate | Нет | Нет 3 | openSUSE-11.1-Updates | Updates for 11.1 | Да | Да 4 | repo-oss | openSUSE-11.1-Oss | Да | Нет 5 | repo-non-oss | openSUSE-11.1-Non-Oss | Да | Нет 6 | repo-debug | openSUSE-11.1-Debug | Нет | Нет
# zypper lr 5 4 Псевдоним : openSUSE-11.3-Non-Oss Имя : openSUSE-11.3-Non-Oss URI : http://download.opensuse.org/distribution/11.3/repo/non-oss/ Включён : Да Приоритет : 99 Автоматическое обновление: Выкл Хранить пакеты : Выкл Тип : yast2 Проверка GPG : Вкл URI ключа GPG : Префикс пути : / Родительская служба : Путь кэша MD : /var/cache/zypp/raw/openSUSE-11.3-Non-Oss Псевдоним : openSUSE-11.3-Oss Имя : openSUSE-11.3-Oss URI : http://download.opensuse.org/distribution/11.3/repo/oss/ Включён : Да Приоритет : 99 Автоматическое обновление: Выкл Хранить пакеты : Выкл Тип : yast2 Проверка GPG : Вкл URI ключа GPG : Префикс пути : / Родительская служба : Путь кэша MD : /var/cache/zypp/raw/openSUSE-11.3-Oss
Другие примеры:
zypper lr -u # включить также URI репозитория zypper lr -d # включить несколько других свойств zypper lr -P # включить в таблицу также приоритет репозитория и отсортировать список по нему zypper lr -e my # экспорт всех определений репозиториев в файл с именем "my.repo"
Добавление репозиториев
addrepo или ar
Перед установкой пакетов следует определить хотя бы один репозиторий. Для добавления репозитория используется команда addrepo:
Пример вывода:
Добавление репозитория '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-файлами как репозиторий
См. также Libzypp со списком поддерживаемых типов носителей и URI.
Обновление репозиториев
refresh или ref
После добавления репозитория или при потере им актуальности следует обновить. Это означает загрузку метаданных пакета из него и предварительную обработку данных в кэш .solv для быстрого считывания.
Репозиторий 'ATI/AMD-FGLRX' актуален. Получение метаданных репозитория 'VLC' [готово] Сбор кэша репозитория 'VLC' [готово] Репозиторий 'contrib' актуален. Репозиторий 'kde3' актуален. Репозиторий 'nVidia Graphics Drivers' актуален. Репозиторий 'openSUSE-11.4-Non-Oss' актуален. Репозиторий 'openSUSE-11.4-Oss' актуален. Получение метаданных репозитория 'openSUSE-11.4-Update' [готово] Сбор кэша репозитория 'openSUSE-11.4-Update' [готово] Все репозитории обновлены.
Если включено автоматическое обновление для репозитория, об обновлении не нужно заботиться, оно проходит автоматически, когда необходимо. Тем не менее, некоторые предпочитают контролировать выполнение обновления (например, чтобы избежать ожидания завершения обновления, когда нужно лишь увидеть “zypper info krusader”), поэтому они отключают автообновление. Подробности см. в man zypper.
Другие примеры:
zypper ref packman main # можно также конкретизировать, какие репозитории подлежат обновлению zypper ref -f upd # принудительное обновление для репозитория “udp”
Удаление репозитория
removerepo или rr
Repository 23 not found by alias, number or URI. Repository foo not found by alias, number or URI. Removing repository 'repo-debug' [done] Repository 'repo-debug' has been removed. Removing repository 'vlc' [done] Repository 'vlc' has been removed.
Изменение репозиториев
modifyrepo или mr
Отключить репозиторий № 6:
Репозиторий 'repo-non-oss' успешно отключён.
Включить автообновление и кэширование RPM-файлов для репозитория 'packman' и установить ему приоритет 70:
Autorefresh has been enabled for repository 'packman'. RPM files caching has been enabled for repository 'packman'. Repository 'packman' priority has been set to 70.
Отключить кэширование RPM-файлов для всех репозиториев:
Nothing to change for repository 'local'. RPM files caching has been disabled for repository 'packman'. Nothing to change for repository 'fate'. Nothing to change for repository 'upd'. Nothing to change for repository 'repo-oss'. Nothing to change for repository 'repo-non-oss'.
Включить кэширование RPM-файлов для всех репозиториев:
RPM files caching has been enabled for repository 'repo-non-oss'. RPM files caching has been enabled for repository 'Main Repository (OSS)'. RPM files caching has been enabled for repository 'Main Repository (NON-OSS)'. RPM files caching has been enabled for repository 'openSUSE-11.1-Updates'.
Переименование репозиториев
renamerepo или nr
Repository 'openSUSE-11.1-Updates' renamed to 'upd'.
Эта команда в настоящее время позволяет изменить только псевдоним репозитория. Чтобы изменить отображаемое название репозитория, обратитесь к команде mr.
Псевдонимы следует делать короткими и простыми для простоты использования в качестве аргументов команд и опций --repo. Использование псевдонимов надёжнее использования номеров репозиториев (так как они могут измениться, и вы можете легко сделать ошибку) и удобнее использования URI (так как они длинные, их приходится копировать и вставлять из буфера).
Экспорт/импорт репозиториев
repos --export или lr -e
Можно экспортировать список репозиториев в файл и импортировать его позже или на другой машине.
Управление сервисами
<добавить после появления информации в оригинале>
Управление пакетами
Выбор пакетов
Есть несколько способов выбрать пакеты для установки или удаления.
- по имени возможности
zypper in eclipse
zypper in qt - по имени возможности и/или архитектуре и/или версии
zypper in 'zypper<0.12.10'
zypper in zypper.i586=0.12.11 - по точному названию пакета (--name)
zypper in -n ftp - по точному названию пакета и репозитория (подразумевается --name)
zypper in factory:zypper - по названию пакета с маской
zypper in yast*ftp* - задав .rpm-файл пакета для установки
Установка пакетов
install или in
Можно установить пакеты по названию…
Загрузка данных о репозиториях... Чтение установленных пакетов... Разрешение зависимостей пакетов... Будут установлены следующие НОВЫЕ пакеты: chromium chromium-desktop-gnome chromium-suid-helper libv8-3 Следующий рекомендованный пакет был выбран автоматически: chromium-desktop-gnome Следующий рекомендованный пакет не будет установлен: chromium-desktop-kde 4 новых пакета для установки. Полный размер загрузки: 29,7 MiB. После этой операции будет использовано дополнительно 108,3 MiB. Продолжить? [y/n/?] (y): y Получение пакет libv8-3-3.11.7.0-2.1.i586 (1/4), 1,5 MiB (5,5 MiB после распаковки) Получение: libv8-3-3.11.7.0-2.1.i586.rpm [готово (98,3 KiB/s)] Получение пакет chromium-suid-helper-21.0.1158.0-3.1.i586 (2/4), 43,0 KiB (14,0 KiB после распаковки) Получение: chromium-suid-helper-21.0.1158.0-3.1.i586.rpm [готово (21,7 KiB/s)] Получение пакет chromium-21.0.1158.0-3.1.i586 (3/4), 28,2 MiB (102,8 MiB после распаковки) Получение: chromium-21.0.1158.0-3.1.i586.rpm [готово (332,7 KiB/s)] Получение пакет chromium-desktop-gnome-21.0.1158.0-3.1.i586 (4/4), 39,0 KiB (3,0 KiB после распаковки) Получение: chromium-desktop-gnome-21.0.1158.0-3.1.i586.rpm [готово] Установка: libv8-3-3.11.7.0-2.1 [готово] Установка: chromium-suid-helper-21.0.1158.0-3.1 [готово] Дополнительный вывод rpm: setting /usr/lib/chrome_sandbox to root:root 4755. (wrong permissions 0755) Установка: chromium-21.0.1158.0-3.1 [готово] Установка: chromium-desktop-gnome-21.0.1158.0-3.1 [готово]
...или по предоставляемой ими возможности:
Чтение установленных пакетов… 'MozillaFirefox', предоставляющий 'MozillaFirefox<3' уже установлен. Действий не требуется.
Чтение установленных пакетов… Следующие пакеты будут обновлены: mozilla-xulrunner190-translations MozillaFirefox mozilla-xulrunner190-gnomevfs mozilla-xulrunner190 MozillaFirefox-translations Следующий пакет будет УДАЛЁН: mozilla-xulrunner190-lang Общий размер загрузки: 11,0 M. После операции 12,9 M будут освобождены. Продолжить? [Y/n/p/?]:
Чтение установленных пакетов… 'libqt4-x11', предоставляющий 'libqtiff.so()(64bit)', уже установлен. Действий не требуется.
Другие примеры:
zypper in yast* # установить все модули yast* zypper in -t pattern lamp_server # установить шаблон lamp_server (пакеты, необходимые для LAMP-сервера) zypper in vim -emacs # установка vim и удаление emacs за один раз zypper in amarok packman:libxine1 # установка libxine1 из packman и amarok из любого репозитория zypper in bitchx-1.1-81.x86_64.rpm # установить RPM-пакет bitchx из локальной директории zypper in -f subversion # принудительная переустановка субверсии
Удаление пакетов
remove или rm
Команда remove очень похожа на команду install, за исключением того, что эффект противоположный :O)
Чтение установленных пакетов… Следующие пакеты будут УДАЛЕНЫ: sqlite3 perl-DBD-SQLite git-cvs git После операции 351,0 K будет освобождено. Продолжить? [YES/No]: п
Пакеты исходного кода и зависимости для сборки
source-install или si
Загрузка данных о репозиториях... Чтение установленных пакетов... 'sqlite' не найдено в именах пакетов. Поиск возможностей. Разрешение зависимостей пакетов... Будут УДАЛЕНЫ следующие пакеты: libqt4-devel libQtWebKit-devel phonon-devel sqlite3 sqlite3-devel 5 пакетов для удаления. После этой операции будет освобождено 33,3 MiB. Продолжить? [y/n/?] (y):
Можно также установить только зависимости сборки или только исходный код:
zypper si -D zypper # только пакеты с исходными текстами (без зависимостей для сборки) zypper si -d zypper # только зависимости для сборки (без исходного кода)
Обновление пакетов
update или up
Следующие команды используются для обновления пакетов до более новых версий. См. также Управление обновлениями для получения дополнительной информации.
zypper up # обновить все установленные пакеты до новой версии, насколько это возможно zypper up libzypp zypper # обновить libzypp и zypper zypper in sqlite3 # обновить sqlite3 или установить его, если ещё не установлен
Запросы
Поиск пакетов
search или se
По умолчанию команда search позволяет искать пакеты любого типа, статуса или репозитория, имеющие имена, содержащие заданную строку (сравнение без учёта регистра):
Чтение установленных пакетов… S | Name | Summary | Type --+--------------------------+----------------------------------------------------------------+-------- | libapr-util1-dbd-sqlite3 | DBD driver for SQLite 3 | package i | libgda-3_0-sqlite | Sqlite Provider for GNU Data Access (GDA) | package | libqt4-sql-sqlite | Qt 4 sqlite plugin | package i | libsqlite3-0 | Shared libraries for the Embeddable SQL Database Engine | package | libsqlite3-0-32bit | Shared libraries for the Embeddable SQL Database Engine | package | mediatomb-sqlite | UPnP AV MediaServer | package i | mono-data-sqlite | Database connectivity for Mono | package | pdns-backend-sqlite2 | SQLite 2 backend for pdns | package | pdns-backend-sqlite3 | SQLite 3 backend for pdns | package i | perl-DBD-SQLite | The DBD::SQLite is a self contained RDBMS in a DBI driver | package i | php5-sqlite | PHP5 Extension Module | package | python-sqlite2 | Python bindings for sqlite 2 | package | qt3-sqlite | SQLite Database Plug-In for Qt | package | rekall-sqlite | Rekall sqlite Database Backend | package | rubygem-sqlite3 | A Ruby interface for the SQLite3 database engine | package i | sqlite2 | Embeddable SQL Database Engine | package | sqlite2-32bit | Embeddable SQL Database Engine | package | sqlite2-devel | Embeddable SQL Database Engine | package i | sqlite3 | Embeddable SQL Database Engine | package | sqlite3-devel | Embeddable SQL Database Engine | package | sqlite3-tcl | Tcl binding for SQLite | package | tntdb1-sqlite | Tntdb is a c++-class-library for easy database-access - sqlite | package | ulogd-sqlite | SQLite output plugin for ulogd | package
Буква “i” в колонке 1 (первой) означает, что пакет уже установлен на локальной машине. Для просмотра всех доступных версий для пакетов используется опция “--details/-s”:
Чтение установленных пакетов… S | Name | Type | Version | Arch | Repository --+----------------+---------+------------+--------+------------------------------------ v | virtualbox-ose | package | 1.6.2-2.1 | x86_64 | VirtualBox OSE i | virtualbox-ose | package | 1.5.6-33.1 | x86_64 | openSUSE-11.1-Oss v | virtualbox-ose | package | 1.5.6-20.5 | x86_64 | VirtualBox OSE ( v | virtualbox-ose | package | 1.6.2-2.1 | i586 | VirtualBox OSE v | virtualbox-ose | package | 1.5.6-33.1 | i586 | openSUSE-11.1-Oss v | virtualbox-ose | package | 1.5.6-20.3 | i586 | VirtualBox OSE
Буква “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 # показ всех доступных продуктов
Получение информации о пакетах
info или if
zypper info amarok
Чтение установленных пакетов... Сведения — пакет amarok: Репозиторий: @System Имя: amarok Версия: 2.4.0-8.11.3 Архитектура: i586 Производитель: openSUSE Установлен: Да Состояние: актуален Размер после установки: 22,7 MiB Сводка: Media Player for KDE Описание: Amarok is a media player for all kinds of media. This includes MP3, Ogg Vorbis, audio CDs, podcasts and streams. Play lists can be stored in .m3u or .pls files.
Эта команда показывает подробную информацию о пакете с именем “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 # показать информацию об указанном продукте
Зависимости
what-provides или wp
Вывод списка всех поставщиков заданной возможности:
Чтение установленных пакетов… С | Имя | Тип | Версия | Архитектура | Репозиторий --+----------------+-------+--------------+-------------+--------------------- | MozillaFirefox | пакет | 13.0-25.2 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 12.0-18.1 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 11.0-0.15.2 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 10.0.2-0.2.1 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 10.0.1-0.2.1 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 10.0-0.2.1 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 9.0-0.2.1 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 8.0-0.2.2 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 7.0.1-0.2.1 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 7.0-1.2.1 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 6.0.2-0.2.1 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 6.0-2.2.1 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 5.0-0.4.1 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 4.0.1-0.2.2 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 4.0.0-0.3.1 | i586 | openSUSE-11.4-Update | MozillaFirefox | пакет | 4.0b12-1.2.1 | i586 | openSUSE-11.4-Oss
Данная команда похожа на rpm -q --whatprovides firefox, но rpm может опросить только базу данных RPM (база данных установленных пакетов). Zypper, с другой стороны, покажет поставщиков возможности из любого репозитория, а не только установленных.
Прочие запросы
Команды patches, packages, patterns, и products похожи на search -s -t [patch,package,pattern,product], за исключением того, что они показывают дополнительную информацию, специфичную для соответствующего типа пакета. Например, patches также показывает статус патчей (требуется/безопасность/неприменимо).
Команды list-updates и patch-check рассматриваются в разделе Управление обновлениями.
Блокировки пакетов
locks или ll
addlock или al
removelock или rl
cleanlocks или cl
Блокировки пакетов служат для предотвращения изменений пакетов в системе. Пакеты, для которых действует активная блокировка, не могут изменить свой статус установки, установленные пакеты не могут быть удалены или обновлены, неустановленные пакеты не могут быть установлены.
Чтобы заблокировать все пакеты с именами, начинающимися с “yast2”, выполнить:
Чтение установленных пакетов… Указанная блокировка успешно добавлена.
Опять же следует опасаться дополнения команд оболочки, использовать кавычки, если есть возможность, что yast* будут соответствовать некоторые файлы или директории в рабочей директории.
Получение списка активных блокировок:
# | | Тип | Репозиторий --+------------------+---------+----------- 1 | libpoppler3 | пакет | (любое) 2 | libpoppler-glib3 | пакет | (любое) 3 | yast* | пакет | (любое)
Снятие блокировки:
Чтение установленных пакетов… Следующий запрос блокирует некоторые объекты, которые вы хотите разблокировать: тип: пакет тип соответствия: глобально с учётом регистра: вкл. solvable_name: yast2* Вы хотите удалить эту блокировку? [да/нет]: да Счётчик блокировок был успешно уменьшен на: 1
Другие примеры:
zypper al zypper # заблокировать пакет “zypper” (точное совпадение)
zypper al -r repo-oss virtualbox* # ограничить блокировку репозиторием “repo-oss” (позволив установку из других)
zypper rl 3 # снять блокировку по номеру
Управлять блокировками можно также путём прямого редактирования файла блокировок.
Утилиты
Проверка зависимостей
verify или ve
Иногда в системе могут возникнуть неполадки из-за несоблюдения зависимостей пакетов. Если некоторые из приложений не стартуют, выдавая сообщения об отсутствии чего-то, это можно проверить с помощью zypper:
Не удалось найти совместимый GRE между версией 1.9.0 и 1.9.0.
Чтение установленных пакетов… Некоторые из зависимостей установленных пакетов нарушены. Для исправления этих зависимостей требуется следующее: Следующие НОВЫЕ пакеты будут установлены: mozilla-xulrunner190 Общий размер загрузки: 6,5 Mб. После операции будут использованы дополнительно 23,5 Мб. Продолжить? [ДА/нет]: да
Установка новых рекомендуемых пакетов
install-new-recommends или inr
Эта команда находит и устанавливает новые рекомендуемые пакеты для пакетов, которые уже установлены. Это обеспечивает простой способ получить новые пакеты локализации для вашего программного обеспечения или драйверы для новых устройств.
Чтение установленных пакетов… Следующие НОВЫЕ пакеты будут установлены: kdebase4-openSUSE-lang bundle-lang-common-cs Общий размер загрузки: 534,0 кб. После операции будет использовано дополнительно 1,9 Мб. Продолжить? [ДА/нет]:
Проверка процессов
ps
Эта команда показывает процессы, которые используют файлы, удалённые при последнем обновлении или удалении пакета
Есть некоторые программы, которые используют файлы, удалённые при последнем обновлении. Может потребоваться перезапуск некоторых из них. Для просмотра этих программ выполнить “zypper ps”.
Следующие запущенные процессы используют удалённые файлы: PID | PPID | UID | Login | Command | Service | Files ------+-------+------+-------+---------------+---------+-------------------------------- 10604 | 10603 | 1000 | geeko | chrome | | /usr/share/mime/mime.cache | | | | | | /usr/share/mime/mime.cache 15304 | 3195 | 1000 | geeko | kio_thumbnail | | /var/tmp/kdecache-geeko/ksycoca4 | | | | | | /var/tmp/kdecache-geeko/ksycoca4 Может потребоваться перезапуск этих процессов. См. “man zypper” для получения информации о значениях величин в указанной таблице.
Управление обновлениями
Есть два подхода к поддержанию системы в актуальном состоянии. Один — «по патчам», второй — «по пакетам».
«Попатчевый» подход особенно полезен для людей, использующих стабильный релиз и желающих обновлять систему с помощью патчей из он-лайновых репозиториев обновлений. Репозитории обновлений добавляются по умолчанию при установке или обновлении системы или могут быть добавлены через пункт «Конфигурация онлайн-обновления» на вкладке «Программное обеспечение» в Центре управления YaST или вручную с помощью zypper. Вот список доступных репозиториев обновлений openSUSE.
Эквивалент эта функции в YaST — модуль «обновление он-лайн.
Второй, «попакетный» способ обновлений описан в разделе описан в разделе «Обновление пакетов» и служит для общего обновления пакетов из любых репозиториев до более новых версий.
Список необходимых патчей
list-patches или lp
Вывод списка всех необходимых патчей-обновлений:
Чтение установленных пакетов… Патчи Репозиторий | Имя | Версия | Категория | Статус -----------------+--------------------+---------+-------------+----------- Updates for 11.1 | KDE4-fixes | 38 | recommended | нужно Updates for 11.1 | MozillaFirefox | 50 | recommended | нужно Updates for 11.1 | NetworkManager-kde | 49 | recommended | нужно
Иногда выводятся только обновления управления пакетами, так как они должны применяться в первую очередь. После их применения указанная команда выведет остальные доступные обновления.
Эта команда эквивалентна zypper up -t patch для более ранних версий zypper. Вывод всех доступных обновлений пакетов:
Применение патчей
patch
Применение необходимых патчей:
Получение метаданных репозитория 'openSUSE-11.4-Update' [готово] Сбор кэша репозитория 'openSUSE-11.4-Update' [готово] Загрузка данных о репозиториях... Чтение установленных пакетов... Разрешение зависимостей пакетов... Будут установлены следующие НОВЫЕ исправления: openSUSE-2012-312 softwaremgmt-201105 softwaremgmt-201107 softwaremgmt-201112 Будет УДАЛЁН следующий пакет: opensuse-codecs-installer Будут обновлены следующие пакеты: libpackagekit-qt14 libqdialogsolver1 PackageKit PackageKit-branding-openSUSE PackageKit-browser-plugin PackageKit-gstreamer-plugin PackageKit-gtk-module python-satsolver 8 пакетов для обновления, 1 для удаления. Полный размер загрузки: 1,1 MiB. После этой операции будет использовано дополнительно 111,0 KiB. Продолжить? [y/n/?] (y):
Список всех патчей
patches
Команда list-updates выдаёт список только необходимых патчей. Вывод всех доступных патчей:
Чтение установленных пакетов… Каталог | Имя | Версия | Категория | Статус -----------------+--------------------+--------+-------------+----------- Updates for 11.1 | KDE4-fixes | 38 | recommended | Установлено Updates for 11.1 | MozillaFirefox | 50 | recommended | Установлено Updates for 11.1 | NetworkManager-kde | 49 | recommended | Установлено Updates for 11.1 | autoyast2 | 37 | recommended | Установлено Updates for 11.1 | courier-authlib | 42 | security | Неприменимо Updates for 11.1 | insserv | 47 | recommended | Установлено Updates for 11.1 | opera | 43 | security | Установлено
Проверка патчей
patch-check или pchk
Эта команда показывает наличие важных патчей для системы и количество подобных патчей:
Чтение установленных пакетов… Необходимо 0 исправлений (0 обновлений безопасности)
Получение информации о патчах
patch-info
info -t patch
Чтение установленных пакетов… Сведения — исправление MozillaFirefox: Имя: MozillaFirefox Версия: 50 Архитектура: noarch Производитель: maint-coord@suse.de Состояние: Установлено Категория: recommended Создан: Чтв 1 янв 1970 01:00:00 Требуется перезагрузка: Нет Требуется перезапуск менеджера пакетов: Нет Интерактивный: Нет Сводка: Mozilla Firefox 3.0 Описание: This patch updates Mozilla Firefox to the final 3.0 version. The dependend libraries mozilla-xulrunner190, mozilla-nspr and mozilla-nss were also brought to their release version.
Обновления пакетов
list-updates или lu
update или up
Простое обновление установленных пакетов до новейших доступных версий:
Получение списка доступных обновлений:
Эти команды выводят список/производят обновление только пакетов, обновление которых не влечёт проблем с зависимостями. Получение необработанного списка пакетов с новыми версиями по сравнению с установленными:
Будет показан список всех кандидатов для обновлений, независимо от возможности их установки и необходимости вмешательства пользователя для разрешения проблем.
Обновление дистрибутива
dist-upgrade или dup
Эта команда использует алгоритм обновления дистрибутива, обрабатывающий разделения пакетов, пакеты, оставшиеся без поддержки, и тому подобное. Используется для переключения на другой выпуск дистрибутива.
Рекомендуется включить только основной репозиторий дистрибутива, который вы хотите установить, а также несколько важных используемых репозиториев (ещё лучше - их версию, соответствующую текущему основному репозиторию) во время дистанционного обновления. Этого можно добиться, отключив старые репозитории командой zypper mr -da, добавив новые репозитории командой zypper ar, а затем выполнив zypper dup. Можно также задать репозитории, которые будут использоваться, опцией --repo: zypper dup -r repo1 -r repo2….
Вопрос: Правда ли, что по команде “zupper up” происходит обновление пакетов, только когда новая версия находится в том же репозитории, что и устаревший пакет, а по команде “zypper dup” происходит обновления всего, независимо от репозитория, где находится новый пакет?
Ответ: По команде “zypper up” происходит обновление пакетов, если имеется новая версия, но не смена поставщика (Примечание: В настоящее время вся служба сборки имеет одного и того же поставщика). По команде “zypper dup” будет предпринята попытка синхронизировать уже установленные пакеты с пакетами, которые можно получить из (всех) репозиториев, которые вы включили. Это означает также, что произойдёт откат до более старых версий пакетов, если установленная версия новее, чем имеющаяся в репозитории.
Использование zypper в скриптах и приложениях
Zypper поддерживает несколько глобальных опций, которые делают его пригодным для использования в автоматизированных процессах, таких как скрипты. Кроме того, можно ознакомиться с некоторыми кодами выхода, перечисленными на справочной странице zypper, которые пригодятся при использовании zypper в автоматизированных процессах.
Неинтерактивный режим
--non-interactive
В этом режиме zypper ничего не запрашивает у пользователя и использует вместо этого ответы по умолчанию. Использование этой опции гарантирует, что zypper не зависнет в ожидании ответа на подсказку или вопрос в sdtin и не уйдёт в бесконечный цикл.
Например, чтобы обновить систему автоматически, без подтверждения, можно ввести:
Эта команда не требует подтверждения пользователя для осуществления обновления, пропускает все интерактивные патчи, которые потребовали бы дополнительного подтверждения, а также автоматически отвечает на любые другие запросы.
Режим без проверок GPG
--no-gpg-checks
Если используется эта опция, zypper будет всегда выполнять операцию, даже при непрохождении некоторых проверок GPG, например, если файл репозитория не подписан, хотя подпись требуется, файл подписан, но проверка GPG не пройдена, и т. д.
Автоматическое подтверждения согласия с лицензиями
--auto-agree-with-licenses
Специальная опция для команд установки, удаления и обновления. С её помощью пользователь заявляет своё согласие с условиями лицензии, которые установит команда, и zypper будет автоматически отвечать “да” на запросы подтверждения согласия с лицензией. Это полезно для тех, кто устанавливает одинаковый набор пакетов на нескольких машинах (с помощью автоматизированных процессов) и прочитал все лицензии раньше.
Тихий вывод
--quiet
Позволяет избежать отображения слишком больших объёмов текста, таких как информация о прогрессе, и отображает только результат операции и сообщения об ошибках.
Вывод в XML
--xmlout
Эта опция позволяет Zypper выводить сообщения в формате XML, что делает возможным для скриптов, графических пользовательских интерфейсов или других типов приложений, использующих Zypper, производить синтаксический разбор вывода 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 | примечание |
---|---|---|---|
принять неподписанный файл? | нет | да | |
принять новый ключ (отклонить ключ, доверять временно или доверять всегда? [r/t/a]) | отклонить | отклонить | новый ключ можно принять или импортировать только в интерактивном режиме |
принять неизвестный ключ? | нет | да | |
проверить подписанный файл не удалось, продолжить? | нет | да | |
нет дайджеста для файла, продолжить? | нет | да | |
принять неизвестный дайджест? | нет | да |
Прочие подсказки
подсказка | ответ по умолчанию | другой ответ | примечание |
---|---|---|---|
продолжить установку/удаление/обновление? | да | кроме того, при выполнении команды установки/удаления/обновления можно использовать опцию --no-confirm даже без глобального использования --non-interactive | |
подтверждения лицензии третьей стороны | нет | да при использовании --auto-agree-with-licenses | кроме того, для обновления Zypper можно использовать опцию --skip-interactive, чтобы исключить интерактивные патчи из перечня к установке (наследие rug) |
подтвердить сообщение патча | да | ||
проблема при установке/удалении разрешимого элемента, прервать /повтор/игнорировать? | прервать | это уродливое решение и может быть улучшено в будущем | |
проблема при загрузке пакета, прервать/повтор/игнорировать? | прервать | это тоже уродливое решение, оно может быть как-то улучшено в будущем | |
конфликта зависимостей, #/s/r/c (номер решения, пропустить, повторить или отменить) | отменить | всегда отменять, взаимодействие с пользователем необходимо для разрешения зависимостей | |
запрос на изменение носителя | прервать | ||
удалить проблематичную блокировку? | да |
При выводе в XML подсказки отмечаются тэгом <prompt> с атрибутом id. Перечисление всех известных идентификаторов доступно в prompt.h, включая файлы в комплекте с zypper (/usr/include/zypper/prompt.h).
Совместимость с Rug
Синтаксис Zypper похож на Rug, но его команды и набор опций начал отличаться от Rug, также как и его вывод и поведение. Тем не менее, Zypper может работать также в режиме совместимости с rug и поддерживает большинство команд rug. Для получения дополнительной информации см. man zypper, раздел «СОВМЕСТИМОСТЬ С RUG».
См. также
- Шпаргалка по командам zypper
- Таблица соответствия субкоманд zypper и других пакетных менеджеров
- Управление пакетами