Zypper — OpenSUSE
If you like this project, consider supporting me on Buy Me a Coffee ☕️
🟢 Zypper Cheatsheet (OpenSUSE/SLES)
Description
Zypper is the command-line interface for the ZYpp package management library, used by OpenSUSE (Tumbleweed and Leap) and SUSE Linux Enterprise Server (SLES). It provides powerful dependency resolution, pattern-based installations, and excellent integration with Btrfs snapshots via Snapper for automatic rollback capability. / Zypper — командный интерфейс для библиотеки управления пакетами ZYpp, используемый OpenSUSE и SLES. Обеспечивает мощное разрешение зависимостей и интеграцию со снапшотами Btrfs.
Status: Actively maintained. Zypper is the standard tool for both OpenSUSE Tumbleweed (rolling release) and OpenSUSE Leap / SLES (stable releases). Notably unique for its interactive conflict resolution and Snapper integration. / Статус: Активно поддерживается. Уникален интерактивным разрешением конфликтов и интеграцией Snapper.
Default Ports: N/A (local tool)
Package Format: .rpm
⚙️ Configuration / Конфигурация
Main Configuration Files / Основные файлы конфигурации
/etc/zypp/zypp.conf
/etc/zypp/repos.d/*.repo
Repository Management / Управление репозиториями
sudo zypper repos (lr) # List repositories / Список репозиториев
sudo zypper addrepo <URL> <ALIAS> # Add repository / Добавить репозиторий
sudo zypper removerepo <ALIAS> # Remove repository / Удалить репозиторий
sudo zypper modifyrepo --enable <ALIAS> # Enable repository / Включить репозиторий
sudo zypper modifyrepo --disable <ALIAS> # Disable repository / Отключить репозиторий
sudo zypper refresh (ref) # Refresh metadata / Обновить метаданные
🛠 Core Management / Основное управление
Update & Dist-Upgrade / Обновление
sudo zypper update (up) # Update installed packages / Обновить установленные пакеты
sudo zypper dist-upgrade (dup) # Full distribution upgrade / Полное обновление дистрибутива
sudo zypper patch # Install needed patches / Установить необходимые патчи
sudo zypper list-patches (lp) # List needed patches / Список необходимых патчей
Install & Remove / Установка и удаление
sudo zypper install <PACKAGE> (in) # Install package / Установить пакет
sudo zypper install <PKG1> <PKG2> # Install multiple / Установить несколько
sudo zypper remove <PACKAGE> (rm) # Remove package / Удалить пакет
sudo zypper remove --clean-deps <PACKAGE> # Remove with dependencies / Удалить с зависимостями
sudo zypper verify (ve) # Verify dependencies / Проверить зависимости
Search & Info / Поиск и информация
zypper search <KEYWORD> (se) # Search packages / Поиск пакетов
zypper info <PACKAGE> (if) # Show package details / Показать детали пакета
zypper search --installed-only # List installed packages / Список установленных пакетов
zypper search --provides <FILE> # Find package owning file / Найти пакет, владеющий файлом
Patterns / Шаблоны
Patterns are groups of packages (e.g., "Lamp Server", "KDE Desktop"). / Шаблоны — это группы пакетов.
zypper patterns # List available patterns / Список доступных шаблонов
sudo zypper install -t pattern <PATTERN> # Install pattern / Установить шаблон
🔧 Sysadmin Operations / Операции системного администратора
Clean & Locks / Очистка и блокировки
sudo zypper clean (cc) # Clean local caches / Очистить локальные кэши
sudo zypper addlock <PACKAGE> (al) # Lock package (prevent changes) / Заблокировать пакет
sudo zypper removelock <PACKAGE> (rl) # Remove lock / Снять блокировку
sudo zypper locks (ll) # List active locks / Список активных блокировок
Logs / Логи
- History Log:
/var/log/zypp/history- High-level history. - Zypper Log:
/var/log/zypper.log- Detailed debugging log.
tail -f /var/log/zypp/history # Monitor package history / Мониторинг истории пакетов
Services (Snapper Integration) / Снапшоты (Интеграция Snapper)
OpenSUSE automatically creates Btrfs snapshots before updates. / OpenSUSE автоматически создает снапшоты Btrfs перед обновлениями.
sudo snapper list # List snapshots / Список снапшотов
sudo snapper status <ID>..<ID> # Compare snapshots / Сравнить снапшоты
sudo snapper rollback <ID> # Rollback system / Откатить систему
🚨 Troubleshooting / Устранение неполадок
Repository Issues / Проблемы с репозиториями
If refresh fails or GPG checks fail:
sudo zypper clean --all
sudo zypper refresh --force # Force refresh / Принудительное обновление
Dependency Hell / Проблемы с зависимостями
Zypper is interactive. If there is a conflict, it asks for a solution number. / Zypper интерактивен. Если есть конфликт, он просит выбрать номер решения.
- Deinstall conflicting item / Удалить конфликтующий элемент
- Keep obsolete item / Оставить устаревший элемент
- Breaking dependency / Нарушить зависимость (Not recommended / Не рекомендуется)
Check System Integrity / Проверка целостности системы
sudo zypper verify # Check for broken dependencies / Проверка сломанных зависимостей
sudo rpm -Va # Verify all installed files / Проверка всех установленных файлов
📊 Comparison: Update vs Dup
| Feature | update (up) |
dist-upgrade (dup) |
|---|---|---|
| Scope | Minor updates / Мелкие обновления | Major upgrades / Крупные обновления |
| Vendor Change | No (Sticky vendor) | Yes (Allow vendor change) |
| Use Case | Stability (Leap) | Tumbleweed Rolling |
🔒 Security / Безопасность
Security Patches / Патчи безопасности
Zypper separates "patches" from "updates". / Zypper разделяет "патчи" и "обновления".
sudo zypper list-updates -t patch # List security patches / Список патчей безопасности
sudo zypper patch --category security # Install only security patches / Установить только патчи безопасности
📚 Documentation Links
- Zypper Manual: https://en.opensuse.org/SDB:Zypper_manual
- openSUSE Reference — Software Management: https://doc.opensuse.org/documentation/leap/reference/html/book-reference/cha-sw-cl.html
- SLES Package Management: https://documentation.suse.com/sles/15-SP5/html/SLES-all/cha-sw-cl.html
- openSUSE Wiki — Package Management: https://en.opensuse.org/Package_management
- Snapper (Btrfs Snapshots): https://en.opensuse.org/openSUSE:Snapper_Tutorial