В случае SUSE Linux (openSUSE, SUSE Enterprise и производные) zypper и YaST являются менеджерами пакетов. YaST (еще один инструмент установки) предназначен для администрирования, настройки и настройки SUSE Linux, а zypper - это интерфейс командной строки диспетчера пакетов ZYpp. ZYpp лежит в основе как zypper, так и YaST.
В этой статье мы подробно рассмотрим использование zypper для самых разных целей.
Примечание. Поскольку команды zypper вносят изменения в масштабе всей системы, эти команды необходимо запускать от имени пользователя root. В противном случае команды не будут выполнены.
Без лишних слов, давайте начнем! Все эти примеры показаны на openSUSE Tumbleweed. Однако эти команды универсальны для диспетчера пакетов zypper.
Zypper помощь
Запуск zypper без какой-либо команды распечатает список всех доступных команд.
$ zypper
Это большой список! Если вам нужна помощь по какой-либо конкретной команде, выполните следующую команду.
$ zypper help
Обновление базы данных Zypper
Это одна из наиболее распространенных функций zypper по обновлению локальной базы данных пакетов вместе с сервером пакетов.
$ sudo zypper refresh
Вместо использования «обновить» вы также можете использовать сокращение «ref».
$ sudo zypper ссылка
Также можно заставить zypper перестроить свою локальную базу данных. Это может быть полезно в ситуациях, например, если база данных повреждена.
$ sudo zypper refresh -fdb
Обновить системные пакеты
Чтобы получить и установить все последние обновления пакетов из openSUSE, выполните следующую команду.
$ sudo zypper update
Однако я рекомендую использовать следующую структуру для максимальной пользы.
$ sudo zypper fresh && sudo zypper update
Если вы заинтересованы в проверке пакетов, для которых доступны обновления, выполните следующую команду. Zypper сгенерирует для вас список доступных обновлений.
$ zypper list-updates - все
Установка пакета
Для установки пакета используйте следующую команду.
$ sudo zypper install vlc
Есть несколько интересных сокращений команд zypper. В этом случае следующая команда также действительна и будет выполнять ту же работу.
$ sudo zypper в vlc
Если вам нужно установить несколько пакетов одновременно, просто укажите имя пакета одно за другим, разделив их пробелом.
$ sudo zypper install
При выполнении действия zypper запросит подтверждение. Чтобы выключить интерактивный режим, добавьте флаг «-non-interactive» или «-n».
$ sudo zypper - неинтерактивный в vlcsudo zypper -n в vlc
Функция подстановочных знаков также поддерживается zypper. Например, давайте попробуем установить все пакеты, которые начинаются с имени
питон.$ sudo zypper в 'python *'
Источник установить пакет
Примечание: перед выполнением следующих шагов не забудьте проверить, активирован ли исходный репозиторий. В противном случае исходные установки не удастся. Включите исходное репо из «Репозиториев программного обеспечения YaST».
Если вам нужно установить исходный код определенного пакета, используйте флаг «source-install».
$ sudo zypper источник-установка vlc
По умолчанию эта команда также запрашивает установку всех зависимостей сборки. Чтобы избежать зависимостей сборки, добавьте флаг «-D».
$ sudo zypper источник-установка -D vlc
Если вы просто хотите установить зависимости сборки, используйте вместо этого «-d».
$ sudo zypper install source-install -d vlc
Поиск пакета
В репозитории openSUSE тысячи пакетов. Для выполнения поиска с помощью zypper используйте следующую структуру.
$ zypper поискНапример, давайте поищем все пакеты с термином «python» на нем.
$ zypper поисковый Python
Такой поиск может распечатать ДЛИННЫЙ список пакетов. В такой ситуации использование «grep» или экспорт результата с последующим выполнением может обеспечить некоторый комфорт.
Опция «поиск» также имеет аббревиатуру «se».
$ zypper -n se
Обратите внимание, что для поиска нам не нужно было использовать sudo в начале. Это потому, что zypper не выполняет никаких общесистемных изменений.
Удаление пакета
Если вы хотите избавиться от определенного пакета, используйте опцию «удалить».
$ sudo zypper удалитьНапример, удалим VLC из системы.
$ sudo zypper удалить vlc
Вместо «удалить» давайте использовать «rm». Это сокращение от слова «удалить».
$ sudo zypper rm vlc
Если вы хотите пропустить интерактивный режим, используйте флаг «-non-interactive» или «-n».
$ sudo zypper - неинтерактивный rm vlc$ sudo zypper -n rm vlc
Установка и удаление одновременно
Это интересная особенность zypper, которая позволяет одновременно устанавливать и удалять пакеты! Давай проверим.
Например, давайте установим VLC при удалении Python. В этом примере основная задача zypper - установка, а не удаление. Здесь для удобства используется флаг «-n».
$ sudo zypper -n в vlc -python
Пластырь
Это интересная часть экосистемы openSUSE. Хотя оба пластырь а также Обновить работают одинаково, оба принципиально разные. Смущенный?
В случае «обновления», в терминах openSUSE, пакет обновляется до последней версии, доступной из репозитория. Однако в случае «патча» он будет устанавливать только обновления пакетов, которые предназначены для исправлений ошибок и безопасности.
Если вы только устанавливаете патчи, он может обновлять или не обновлять все пакеты. Однако выполнение обновлений гарантирует, что установлены все последние пакеты.
Разобравшись с этим, давайте начнем!
Сначала установка патча. Следующая команда установит все официально выпущенные патчи.
$ sudo zypper патч
В моем случае делать нечего. Если есть последний патч, команда установит его.
Чтобы увидеть список доступных патчей, используйте этот. Не требует корень разрешение на запуск.
патчи $ zypper
Zypper может перечислить все исправления, которые в данный момент не установлены. Выполните следующую команду.
Список патчей $ zypper
«Список-патчи» также доступен в сокращенной форме «lp».
$ zypper lp
Заинтересованы в перечислении только тех патчей, которые помечены как исправления безопасности?
$ zypper lp - категория безопасностиЧтобы проверить количество требуемых исправлений, запустите эту команду.
$ sudo zypper патч-чек
Управление репозиторием
Zypper предлагает бесшовные методы управления всеми репозиториями. Вот некоторые из команд, которые могут пригодиться во многих ситуациях.
Мы уже рассмотрели, как обновить локальную базу данных всех репозиториев.
$ sudo zypper refresh
Нужен быстрый список всех репозиториев?
$ zypper репозиторийМы также можем использовать «lr», сокращенную форму «репозиториев».
$ zypper lr
Нужен URI репозиториев? Просто добавьте флаг «-u» после «lr» или «репозиторий».
$ zypper lr -u
Если вы не знали, репозитории openSUSE упорядочены в иерархии. Чтобы составить список репозиториев в зависимости от их приоритета, используйте флаг «-p».
$ zypper lr -p
При запуске «обновления» Zypper обновит локальную базу данных для всех репозиториев. Для обновления определенного репозитория выполните следующую команду.
$ sudo zypper refresh
Репо можно включать / отключать, не удаляя их. Чтобы отключить конкретный репозиторий, выполните следующую команду. Обратите внимание, что нам нужен номер репо из списка репозиториев.
$ sudo zypper mr -d
Необходимо включить отключенное репо? Запустим следующую команду.
$ sudo zypper mr -e
Добавить новый репозиторий тоже очень просто. В этом примере я добавлю Packman. Это внешний репозиторий, который предлагает дополнительные пакеты openSUSE. В зависимости от того, какую версию openSUSE вы используете, URI репозитория будет меняться. Однако структура команды останется прежней. Узнать больше о Packman
$ sudo zypper addrepoВ случае openSUSE Tumbleweed команда будет выглядеть примерно так. Здесь «ar» - это сокращенная форма «addrepo».
$ sudo zypper ar -cfp 90 http: // ftp.gwdg.де / паб / Linux / разное / packman / suse / openSUSE_Tumbleweed /упаковщик
Для удаления репо вам понадобится псевдоним репо. Возьмите псевдоним репо из списка репозиториев и используйте следующую команду.
$ sudo removerepoВы можете заменить «removerepo» на его сокращенную форму «rr».
$ sudo rr
Управление кешем
Кэширование - это полезный механизм, с помощью которого zypper может хранить копии всех пакетов RPM, которые он получает из Интернета, в определенном месте. Каждый раз, когда вы просите zypper установить тот же пакет, он сначала смотрит в кеш. Если он находится в кеше, zypper использует пакет RPM из кеша для выполнения установки. Таким образом, это может ускорить установку и сэкономить время и пропускную способность.
Кеш хранится в следующем месте. Каждое репо имеет свою собственную выделенную папку в каталоге.
$ tree / var / cache / zypp / packages
Для очистки кеша выполните следующую команду.
$ sudo zypper clean
Это очистит все сохраненные пакеты RPM из кеша. Я рекомендую включить кеширование, если вы не ограничены хранилищем. Следующая команда включит кеширование для всех репозиториев в системе.
$ sudo zypper mr -ka
Последние мысли
Zypper обладает множеством функций. Хотя этих методов использования zypper более чем достаточно для обычных пользователей, существует множество дополнительных функций, которые здесь не были представлены.
Полную документацию по zypper можно найти на странице руководства.
$ man zypper
Наслаждаться!