Opensuse

如何使用 zypper 從列表中安裝軟體包?

  • February 13, 2018

**結束狀態。**我想重新格式化我的 / 分區,重新安裝 opensuse tumbleweed,然後安裝與現在相同的軟體包。

**問題。**我做了一個看起來很糟糕的選擇,將根文件系統格式化為 btrfs。我之前擁有的 20 GB 空間已經足夠了,比如 ext3,但我無法跟上 tumbleweed 進行大量更新的 snapper 快照管理。

**部分成功。**我可以使用 導出我的儲存庫列表sudo zypper lr -u --export repo.list,然後使用sudo zypper addrepo repo.list. sudo zypper search --installed-only > installed.packages我可以使用或導出已安裝包的列表rpm -qa | sort

但我不知道如何從列表中安裝軟體包,或者生成可在分發安裝時由 opensuse 使用的軟體包列表。

編輯:autoyast可能是要走的路,但比我想要的更重量級。

用於--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

引用自:https://serverfault.com/questions/799521