Назад | Перейти на главную страницу

Как установить пакеты из списка с помощью zypper?

Конечное состояние. Я хочу переформатировать мой раздел /, переустановить opensuse cambleweed и установить те же пакеты, что и сейчас.

Проблема. Я сделал неудачный выбор, отформатировав корневую файловую систему как btrfs. 20 ГБ, которые у меня были для этого, было достаточно ранее, скажем, с ext3, но я не могу справиться с управлением снимками с помощью snapper с большим количеством обновлений, которые делает перекати-поле.

Частичный успех. Я могу экспортировать свой список репозиториев с помощью sudo zypper lr -u --export repo.listи добавьте это обратно в новую установку с помощью sudo zypper addrepo repo.list. Я могу экспортировать список установленных пакетов с помощью sudo zypper search --installed-only > installed.packages или rpm -qa | sort.

Но я не знаю, как устанавливать пакеты из списка или создавать список пакетов, которые могут использоваться opensuse во время установки дистрибутива.

Редактировать: автояст может быть подходящим вариантом, но он более тяжелый, чем я ожидал.

Использовать --queryformat чтобы перечислить имена пакетов без версии

rpm -qa --qf "%{NAME}\n" > installed_pkgs.txt

Чтобы установить, перенаправьте содержимое файла в xargs

cat installed_pkgs.txt | xargs sudo zypper install

Это может быть медленно, но вы можете использовать этот сценарий bash:

IFS=$'\n'

for package in `cat installed.packages`; do
    zypper install $package
done