Zypper/Использование
Материал из openSUSE.
.
Основные параметры
Следующие параметры могут быть использованы с любыми другими действиями zypper`а:
- -V, --version
Выводит на экран номер версии.
- -v, --verbose
Вывод отладочной информации, выводит на экран полные сообщения возникших исключений и ошибок.
- -t, --terse
Сокращенный вывод информации о совершаемых действиях и возникших исключениях и ошибок.
- -s, --table-style
Выводит информацию в виде таблицы.
- -r, --rug-compatible
Включает режим совместимости с rug.
- --non-interactive
Включает неинтерактивый режим. (Находится в разработке) В этом режиме zypper полностью автоматизирует процесс, не спрашивая пользователя о подтверждении тех или иных действий, используя разумные (используемые по умолчанию) варианты ответов. Эту опцию можно использовать для запуска zypper`а по расписанию в cron или как часть исполняемого скрипта. Данный режим в настоящее время находится в стадии разработки и тестирования, поэтому вполне возможны сбои и проблемы при его использовании. Пожалуйста, сообщайте о найденных багах по адресу bug report.
Команды
Zypper использует ряд команд (она показана как [команда] в секции SYNTAX). Каждая команда может принимать ряд дополнительных опций, которые изложены в секции ОСНОВНЫЕ ПАРАМЕТРЫ.
Наиболее часто используемая команда это "zypper update", которая загружает из сети и устанавливает обновления тех компонентов и сервисов, которые были установлены ранее в вашей системе. Если вы просто хотите обновить программное обеспечение - это та единственная команда, которая вам нужна (прим. переводчика: по умолчанию "zypper update" не проверяет наличие новых версий программ, она лишь обновляет те компоненты, которые разработчики openSuSE отнесли к важным).
Получение помощи
Основная команда (прим. переводчика: команда, через запятую ее сокращенный аналог):
help, -h
Выводит на экран помощь. Чтобы вывести на экран помощь по возможным командам zypper'а, используйте команду:
zypper -h
Чтобы получить помощь по определенной команда zypper'а, используйте:
zypper -h [команда]
Перечень репозиториев
Основная команда:
service-list, sl
Отображает перечень репозиториев (источников установки).
Пример вывода команды:
testicek2:~ # zypper sl # | Enabled | Refresh | Type | Name | URI --+---------+---------+------+-------------------------+--------------------------------------------------------------- 1 | No | Yes | YaST | 20061129-152243 | http://download.opensuse.org/distribution/10.2/repo/non-oss/ 2 | Yes | Yes | YUM | SUSE-Linux-10.2-Updates | http://ftp.uni-kl.de/pub/linux/suse/update/10.2 3 | Yes | Yes | YaST | 20061129-133739 | ftp://10.20.3.1/netboot/find/openSUSE-10.2-RC3-retail-i386-CD1
Добавление репозитория
Перед тем как мы сможем устанавливать пакеты (программы), мы должны сначала добавить репозиторий. Основная команда для этого:
service-add, sa <URI> [маска]
Добавляет новый репозиторий. Принимает в качестве параметров следующие флаги:
- -r, --repo <FILE.repo> - Читает URI (ссылка на репозиторий) и маску (имя, под которым будет отображаться репозиторий) из файла.
Пример:
testicek2:~ # zypper sa http://ftp.uni-kl.de/pub/linux/suse/update/10.2 SUSE-Linux-10.2-Updates Determining http://ftp.uni-kl.de/pub/linux/suse/update/10.2 source type... http://ftp.uni-kl.de/pub/linux/suse/update/10.2 is type YUM Added Installation Sources: [x]* SUSE-Linux-10.2-Updates (http://ftp.uni-kl.de/pub/linux/suse/update/10.2)
Удаление репозитория
service-delete, sd <URI|маска>
Удаляет репозиторий (прим. переводчика: удаляет ссылку на репозиторий из базы, т.е. при поиске пакетов и обновлении этот репозиторий больше учитываться не будет. Удалять можно как по URI (ссылке на репозиторий, так и по маске)).
Пример:
zypper sd http://ftp.uni-kl.de/pub/linux/suse/update/10.2
или
zypper sd SUSE-Linux-10.2-Updates
Переименование репозитория
Основная команда:
service-rename, sr <URI|маска> <новая маска>
Переименовывает репозиторий.
Установка пакетов
Основная команда:
install, in [имя пакета] Устанавливает пакет.
Принимает в качестве параметров следующие флаги:
- -c, --catalog - только из указанного репозитория
- -t, --type [тип] - тип устанавливаемого пакета (по умолчанию: package) (прим. переводчика: по умолчанию устанавливается приложение, однако в качестве типа можно использовать patch (патчи), виртуальные пакеты)
Без дополнительных флагов команда ищет пакет во всех репозиториях по всем типам пакетов. Чтобы искать и установить пакет из конкретного репозитория, используйте флаг -c с маской либо URI репозитория из которого вы хотите установить пакет.
Удаление пакета
Основная команда:
remove, rm [имя пакета]
Удаляет пакет (приложение). Принимает в качестве параметров следующие флаги:
- -t, --type [тип] - тип удаляемого пакета (по умолчанию: package) (прим. переводчика: т.е. для того чтобы удалить определенный патч к программе, необходимо переопределить тип на patch)
Поиск пакетов
Основная команда:
search, se [маска]
Ищет пакеты по маске (прим. переводчика: маска в данном случаем это либо полное имя пакета, либо его часть). Принимает в качестве параметров следующие флаги:
- --match-all - Осуществляет поиск на соответствие всем указанным маскам (по умолчанию)
- --match-any - Осуществляет поиск на соответствие любой из указанных масок
- --match-substrings - Используемые маски могут быть частью слова (по умолчанию)
- --match-words - Используемые маски могут быть только целым словом
- --match-exact - Ищет по точному имени пакета
- -d, --search-descriptions - Ищет маску так же в резюме и описании пакета
- -c, --case-sensitive - Включает режим регистрозависимости
- -i, --installed-only - Отображает только уже установленные пакеты
- -u, --uninstalled-only - Отображает только не установленные пакеты
- -t, --type - Ищет только пакеты определенного типа
- --sort-by-name - Сортирует пакеты по имени (по умолчанию)
- --sort-by-catalog - Сортирует пакеты по репозиториям, в которых они были найдены
Пример:
testicek2:~ # zypper se help Restoring system sources... Parsing metadata for 20061115-083114... Parsing metadata for SUSE-Linux-10.2-Updates... S | Catalog | Type | Name | Version | Arch --+-----------------+---------+-------------+---------------+------- | 20061115-083114 | package | devhelp | 0.10-55 | i586 i | 20061115-083114 | package | gimp-help | 0.9-40 | noarch i | 20061115-083114 | package | susehelp | 2006.06.20-22 | noarch i | 20061115-083114 | package | susehelp_cz | 2006.06.20-22 | noarch | 20061115-083114 | package | susehelp_de | 2006.06.20-22 | noarch | 20061115-083114 | package | susehelp_en | 2006.06.20-22 | noarch | 20061115-083114 | package | susehelp_es | 2006.06.20-22 | noarch | 20061115-083114 | package | susehelp_fr | 2006.06.20-22 | noarch | 20061115-083114 | package | susehelp_hu | 2006.06.20-22 | noarch | 20061115-083114 | package | susehelp_it | 2006.06.20-22 | noarch
Проверка патчей
Основная команда:
patch-check, pchk
Осуществляет проверку на наличие новых патчей.
Пример:
testicek2:~ # zypper pchk Restoring system sources... Parsing metadata for 20061115-083114... Parsing metadata for SUSE-Linux-10.2-Updates... Parsing RPM database... 2 patches needed. ( 0 security patches )
Показать список патчей
Основная команда:
patches, pch
Отображает доступные патчи.
Пример:
testicek2:~ # zypper pch Restoring system sources... Parsing metadata for 20061115-083114... Parsing metadata for SUSE-Linux-10.2-Updates... Parsing RPM database... Catalog | Name | Version | Category | Status ------------------------+--------------------+---------+-------------+----------- SUSE-Linux-10.2-Updates | kwin-decor-suse2 | 2213-0 | optional | Not Needed SUSE-Linux-10.2-Updates | suspend | 2247-0 | recommended | Needed SUSE-Linux-10.2-Updates | update-test-trival | 2212-0 | optional | Not Needed SUSE-Linux-10.2-Updates | update-test-trival | 2214-0 | recommended | Needed
Получить детальную информацию о патче
Основная команда: patch-info [имяпатча1] [имяпатча2]... Отображает всю имеющуюся информацию о патче.
Пример:
testicek2:~ # zypper patch-info suspend Restoring system sources... Parsing metadata for 20061115-083114... Parsing metadata for SUSE-Linux-10.2-Updates... Parsing RPM database...
Information for patch suspend:
Name: suspend Version: 2247-0 Arch: noarch Status: Broken Category: recommended Created On: Fri Nov 10 02:44:36 2006 Reboot Required: No Package Manager Restart Required: No Interactive: No Summary: supend to disk never resumes, but reboots instead Description: Due to an error in the "resume" program, resume from suspend to disk was not possible. The machine booted up normally instead.
Provides: patch: suspend == 2247-0
Requires: atom: suspend == 0.20.20061106-4
Отображение обновлений
Для получения списка обновленных версий пакетов, появления патчей и т.д., применяется команда
user# zypper refresh
Основная команда:
list-updates, lu
Отображает доступные обновления. Принимает в качестве параметров следующие флаги:
- -t, --type - тип пакета обновления (по умолчанию: patch)
пример:
testicek2:~ # zypper lu Restoring system sources... Parsing metadata for 20061115-083114... Parsing metadata for SUSE-Linux-10.2-Updates... Parsing RPM database... Catalog | Name | Version | Category | Status ------------------------+--------------------+---------+-------------+------- SUSE-Linux-10.2-Updates | suspend | 2247-0 | recommended | Needed SUSE-Linux-10.2-Updates | update-test-trival | 2214-0 | recommended | Needed
Обновление
Основная команда:
update, up
Обновляет пакеты.
- -t, --type - тип пакета (по умолчанию: patch)
Пример:
testicek2:~ # zypper update Restoring system sources... Parsing metadata for 20061115-083114... Parsing metadata for SUSE-Linux-10.2-Updates... Parsing RPM database... Summary: <install> [S3:0][patch]suspend-2247-0.noarch <uninstall> [S0:0][package]update-test-trival-1.1-2.noarch <install> [S3:0][patch]update-test-trival-2214-0.noarch <install> [S3:0][package]update-test-trival-99.9-99.9.noarch <install> [S3:0][atom]suspend-0.20.20061106-4.i586 <install> [S3:0][package]suspend-0.20.20061106-4.i586 <install> [S3:0][atom]update-test-trival-99.9-99.9.noarch <uninstall> [S0:0][package]suspend-0.5-2.i586 Continue? [y/n] y Downloading: [S3:0][package]update-test-trival-99.9-99.9.noarch, 3.2 K(354 B unpacked) Installing: [S3:0][package]update-test-trival-99.9-99.9.noarch Downloading: [S3:0][package]suspend-0.20.20061106-4.i586, 479.0 K(1.0 M unpacked) Installing: [S3:0][package]suspend-0.20.20061106-4.i586
Пример:
user:# zypper up -t package -r oss
Данный пример обновляет все пакеты (параметр -t package) до новых версий, которые доступны в репозитории OSS, где oss - маска репозитория, заданная при его добавлении (см. Добавление репозитория). Не указав параметр -t oss, будут обновлены все пакеты из всех репозитариев.
Получение информации о пакете
Основная команда:
info, if ['имяпакета']
Отображает подробную информацию о пакете.
Пример:
testicek2:~ # zypper info suspend Restoring system sources... Parsing metadata for 20061115-083114... Parsing metadata for SUSE-Linux-10.2-Updates... Parsing RPM database...
Information for package suspend:
Catalog: SUSE-Linux-10.2-Updates Name: suspend Version: 0.20.20061106-4 Arch: i586 Installed: Yes Status: out-of-date (version 0.5-2 installed) Installed Size: 1.0 M Summary: A Set Of Tools To Support Sleep Modes Description: A set of tools to support suspending notebooks, working around the specific problems each machine has.
Authors: -------- Pavel Machek <pavel@suse.cz> Rafael J. Wysocki <rjw@sisk.pl> and others. testicek2:~ # zypper update Restoring system sources... Parsing metadata for 20061115-083114... Parsing metadata for SUSE-Linux-10.2-Updates... Parsing RPM database... Summary: <install> [S3:0][patch]suspend-2247-0.noarch <uninstall> [S0:0][package]update-test-trival-1.1-2.noarch <install> [S3:0][patch]update-test-trival-2214-0.noarch <install> [S3:0][package]update-test-trival-99.9-99.9.noarch <install> [S3:0][atom]suspend-0.20.20061106-4.i586 <install> [S3:0][package]suspend-0.20.20061106-4.i586 <install> [S3:0][atom]update-test-trival-99.9-99.9.noarch <uninstall> [S0:0][package]suspend-0.5-2.i586 Continue? [y/n] y Downloading: [S3:0][package]update-test-trival-99.9-99.9.noarch, 3.2 K(354 B unpacked) Installing: [S3:0][package]update-test-trival-99.9-99.9.noarch Downloading: [S3:0][package]suspend-0.20.20061106-4.i586, 479.0 K(1.0 M unpacked) Installing: [S3:0][package]suspend-0.20.20061106-4.i586
Использование zypper`а в скриптах
Начиная с версии 0.6.16, zypper поддерживает полностью неинтерактивный (автономный) режим работы, для использования в скриптах или для запуска по расписанию к примеру cron`а. В этом режиме zypper не запрашивает у пользователя никаких данных (к примеру: устанавливать ли пакеты, соглашаться ли с лицензией) принимая в качестве ответов ответы по умолчанию.
Неинтерактивный режим может быть включен командой --non-interactive. Эта глобальная команда заменяет опции --no-confirm и --skip-interactive (однако данные команда поддерживают тоже).
К примеру, для того чтобы обновить систему автоматически, без каких-либо подтверждений со стороны пользователя, можно использовать:
zypper update --no-confirm --type=patch --skip-interactive
Начиная с версии 0.6.16 можно просто написать:
zypper --non-interactive update --type=patch
Данная команда не требует подтверждения со стороны администратора при обновлении, а так же пропускает все патчи, которые требуют дополнительных подтверждений или информации от пользователя.
В настоящее время, автоматический (неинтерактивный) режим в стадии разработки и поддерживается с командами: install, update и remove. В будущем, данный режим будет доступен с любой из команд и режимов zypper`а.
Использование zypper`а совместно с zmd и rug
zypper и zmd не синхронизированы в openSUSE 10.2. Можно использовать их совместно, но вы обнаружите массу проблем с синхронизацией. Во избежании проблем, используйте только одно из этих средств для управления приложениями из консоли. Zypper (модель менеджера приложений openSUSE) хороший выбор для отдельных рабочих мест или для ноутбуков. Если вы собираетесь использовать openSUSE 10.2 для управления сетью или инфраструктурой Novell ZENworks - используйте zmd или rug.
Оба, zypper и rug, предустановленны при стандартной установке. Для установки только zypper`а, деактивируйте виртуальный пакет Enterprise Software Management в выборе программного обеспечения при установке. После установки вы можете удалить rug и zmd через YaST. Чтобы сделать это, следуйте следующим инструкциям:
- откройте YaST и выберите Software Management.
- выберите в Filter опцию Patterns.
- снимите отметку с Enterprise Software Management.
- нажмите Accept.
Пример информации zypper`а о том, что на компьютере используются rug или zmd:
testicek2:~ # zypper sd http://ftp.uni-kl.de/pub/linux/suse/update/10.2 SUSE-Linux-10.2-Updates 6552 zmd ZENworks Management Daemon is running. WARNING: this command will not synchronize changes. Use rug or yast2 for that.
testicek2:~ # zypper sa http://ftp.uni-kl.de/pub/linux/suse/update/10.2 SUSE-Linux-10.2-Updates 6552 zmd ZENworks Management Daemon is running. WARNING: this command will not synchronize changes. Use rug or yast2 for that. Determining http://ftp.uni-kl.de/pub/linux/suse/update/10.2 source type... http://ftp.uni-kl.de/pub/linux/suse/update/10.2 is type YUM Added Installation Sources: [x]* SUSE-Linux-10.2-Updates (http://ftp.uni-kl.de/pub/linux/suse/update/10.2)

