Базовые команды
Полезные команды для старта в OpenSUSE дистрибутиве
Шпаргалка по повседневным задачам в OpenSUSE. Команды, которые постоянно забываешь, а гуглить надоело.
Zypper — пакетный менеджер
OpenSUSE использует zypper для управления пакетами. Я постарался выписать все команды, которые я использовал хотя бы раз.
# Обновить список пакетов
sudo zypper refresh
# или коротко:
sudo zypper ref
# Обновить все пакеты
sudo zypper update
# или коротко:
sudo zypper up
# Полноценный апгрейд дистрибутива (смена версии, например 15.5 → 15.6)
sudo zypper dist-upgrade
# или:
sudo zypper dup# Поиск пакета по названию или описанию
zypper search nginx
zypper se nginx
# Информация о пакете (версия, описание, зависимости)
zypper info nginx
zypper if nginx
# Установка
sudo zypper install nginx
sudo zypper in nginx
# Удаление
sudo zypper remove nginx
sudo zypper rm nginx
# Удаление вместе с неиспользуемыми зависимостями
sudo zypper remove --clean-deps nginx
sudo zypper rm -u nginx# Список подключённых репозиториев
zypper repos
zypper lr
# Добавить репозиторий (пример: Packman для кодеков)
sudo zypper addrepo https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ packman
sudo zypper ar https://... packman
# Удалить репозиторий
sudo zypper removerepo packman
sudo zypper rr packman
# Обновить репозитории и сразу установить пакет (без отдельного refresh)
sudo zypper in -y nginx# Посмотреть историю операций zypper
cat /var/log/zypp/history
# Найти, какому пакету принадлежит файл
zypper what-provides /usr/bin/nginx
Snapper — снимки Btrfs
Главная фишка OpenSUSE: снапшоты корневой файловой системы «из коробки». Перед каждым zypper update система автоматически делает снимок. Если обновление что-то сломало — откатываешься за минуту.
# Список снимков
sudo snapper list
# Вывод: номер, дата, тип (pre/post), описание
# Создать снимок вручную
sudo snapper create --description "До установки ядра 6.10"
# Посмотреть, какие файлы изменились между снимками
sudo snapper status 42..43
# + /etc/nginx/nginx.conf — добавлен или изменён
# - /tmp/old-stuff — удалён
# Посмотреть diff конкретного файла между снимками
sudo snapper diff 42..43 /etc/nginx/nginx.conf
# Откатить изменения одного файла
sudo snapper undochange 42..43 /etc/nginx/nginx.conf
# Полный откат системы к снимку (требует перезагрузки)
sudo snapper rollback 42
# После перезагрузки система будет в состоянии снимка 42# Настроить автоматическую очистку старых снимков
sudo snapper -c root set-config NUMBER_LIMIT=10
# Параметры конфигурации: /etc/snapper/configs/root
# Включить временные шкалы (hourly/daily/weekly/monthly/yearly)
sudo snapper -c root set-config TIMELINE_CREATE=yes
При загрузке в Grub можно выбрать «Boot from read-only snapshot» и загрузиться в любой предыдущий снимок.
YaST — центр управления системой
YaST (Yet another Setup Tool) — графический и консольный инструмент администрирования, аналог панели управления.
# Запуск ncurses-версии в терминале
sudo yast2
# Отдельные модули (без входа в главное меню):
sudo yast2 lan # Настройка сети
sudo yast2 firewall # Брандмауэр
sudo yast2 services-manager # Управление службами (аналог systemctl с GUI)
sudo yast2 software # Управление пакетами (GUI над zypper)
sudo yast2 users # Пользователи и группы
sudo yast2 disk # Разбивка дисков
sudo yast2 nfs # NFS-клиент и сервер
sudo yast2 samba-server # Настройка Samba
YaST умеет экспортировать/импортировать конфигурацию (/etc/sysconfig/) — удобно, если нужна воспроизводимость.
systemd — службы и логи
# Состояние службы
sudo systemctl status nginx
# Запуск / остановка / перезапуск
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
# Включить автозапуск при загрузке
sudo systemctl enable nginx
# Выключить автозапуск
sudo systemctl disable nginx
# Перезагрузить конфигурацию без прерывания работы (где поддерживается)
sudo systemctl reload nginx
# Список запущенных служб
sudo systemctl list-units --type=service --state=running
# Список провалившихся служб
sudo systemctl --failed# Лог конкретной службы (с сегодняшнего дня)
sudo journalctl -u nginx --since today
# Лог с момента последней загрузки
sudo journalctl -b
# Лог предыдущей загрузки (если система падала)
sudo journalctl -b -1
# Лог ядра
sudo journalctl -k
# Следить за логом в реальном времени
sudo journalctl -f
# Очистить старые логи (оставить последние 500M)
sudo journalctl --vacuum-size=500M
RPM — низкоуровневая работа с пакетами
zypper — фронтенд к RPM. Иногда нужно копнуть глубже (Но не всегда).
# Список всех установленных пакетов
rpm -qa
# По имени:
rpm -qa | grep nginx
# Информация об установленном пакете
rpm -qi nginx
# Список файлов, установленных пакетом
rpm -ql nginx
# Какому пакету принадлежит файл
rpm -qf /usr/bin/nginx
# Проверить целостность пакета (не изменены ли файлы)
rpm -V nginx
# Установить локальный .rpm файл
sudo rpm -ivh package.rpm
# Просмотреть скрипты, выполняемые при установке/удалении
rpm -q --scripts nginx
Паттерны (patterns)
OpenSUSE группирует пакеты в «паттерны» — наборы для типовых сценариев: веб-сервер, KDE, разработка и т.д.
# Список доступных паттернов
zypper patterns
zypper pt
# Информация о паттерне
zypper info -t pattern devel_basis
# Установить паттерн целиком
sudo zypper install -t pattern devel_basis
# Примеры: devel_basis (компиляторы, make), kde_plasma, gnome_basis,
# lamp_server, file_server, x11, office
Полезные мелочи
# Версия дистрибутива
cat /etc/os-release
# Информация о ядре и архитектуре
uname -a
# Свободное место на дисках
df -h
# Какие Btrfs-подтома смонтированы
sudo btrfs subvolume list /
# Переключиться на консоль (TTY)
Ctrl+Alt+F1..F6
# Вернуться в графику
Ctrl+Alt+F7