Конечное состояние. Я хочу переформатировать мой раздел /, переустановить 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