web-dev-qa-db-ja.com

zypperでリストからパッケージをインストールする方法は?

終了状態。/パーティションを再フォーマットし、opensuse tumbleweedを再インストールして、今と同じパッケージをインストールしたいと思います。

問題。ルートファイルシステムをbtrfsとしてフォーマットし、不適切と思われるものを選択しました。私が持っていた20GBは、たとえばext3で以前は十分でしたが、タンブルウィードが行う多数の更新を伴うスナッパーでのスナップショット管理についていくことができません。

部分的に成功しました。リポジトリリストをSudo zypper lr -u --export repo.listでエクスポートし、それをSudo zypper addrepo repo.listで新規インストールに追加し直すことができます。インストールされているパッケージのリストをSudo zypper search --installed-only > installed.packagesまたはrpm -qa | sortでエクスポートできます。

しかし、リストからパッケージをインストールする方法や、配布インストール時にopenSUSEで使用できるパッケージのリストを生成する方法がわかりません。

編集: autoyast 行く方法かもしれませんが、私が探していたよりも重いです。

1
A. R. Diederich

使用する --queryformatバージョンなしでパッケージ名を一覧表示するには

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

インストールするには、ファイルの内容をxargsにパイプします

cat installed_pkgs.txt | xargs Sudo zypper install
3
y5nijpn6qc3

遅いかもしれませんが、次のbashスクリプトを使用できます。

IFS=$'\n'

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