インストールされたパッケージとAPTソースリストのバックアップと復元

インストールされたパッケージとAPTソースリストのバックアップと復元

私は通常、次のチュートリアルを使用してUbuntuを再インストールし、APTコンテンツ[ソース、キー、およびインストール済みパッケージのリスト]をバックアップします。https://askubuntu.com/a/99151/371765。しかし、私は通常Totem、Transport、Unified Rangeなどのソフトウェアを削除します。

インストールが完了し、以前のインストールからAPTソース、キー、およびインストールされたパッケージを復元すると、次のメッセージが表示されます。

  1. dpkg: warning: package not in database at line ###: vlc[vlcは例です。またはhtop]という警告が表示されますiotop。ユニバースストアに復元されたすべてのパッケージに対してこの警告が表示されるようですが、わかりません。
  2. 古いシステムから削除されたアイテム(トーテム、トランスポート、Firefox、単純スキャンなど)は、新しいシステムにもインストールされ続けます。

別のパッケージ(vlcなど)のインストール中に新しいシステムから古いシステムのエントリを削除するにはどうすればよいですか?

diffプログラムを使い始めましたが、Ubuntu 14.04.2マニフェストのバージョン番号を[テスト目的で]「test」という単語に変換しようとすると、一部の行ではなくすべての行が変換されます。

答え1

少し違うdpkg --set-selections import list を使用したパッケージのインストールこれで問題が解決します。

参照システムにパッケージのリストを保存します。

dpkg --get-selections > packages.lst

次に、利用可能なパッケージのリストを更新し、そのリストに基づいてターゲットシステムにパッケージをインストールします。

dpkg --merge-avail <(apt-cache dumpavail)
dpkg --clear-selections
dpkg --set-selections < packages.lst
apt-get dselect-upgrade

答え2

インストール済みパッケージのバックアップ

  1. インストール済みパッケージのリストをインポートする
  2. 削除したアイテムを削除してください。
  3. インストールされている列を削除
  4. リストを保存
# dpkg --get-selections | grep -v deinstall | awk '{print $1}' > package.lst

package.lstから復元

# aptitude install -y $(cat package.lst)

関連情報