新規インストール後にアプリを再インストールしますか?


8

私はDebianを使用しており、ドライブのパーティションを分割して再インストールしたいと考えています。新規インストール後に現在インストールされているすべてのパッケージを復元する簡単な方法はありますか?

私はバックアップアプリのリストを作成することでそれを行うことを考えています:

#generate list of installed packages
dpkg -l | awk '{ print $2 }' ORS="\n" | tail -n +6 > reinstallList.txt

そして、新規インストールを実行した後、私はできるはずです:

#install from backup at reinstallList.txt
sudo apt-get  install $(< reinstallList.txt)

これを行うより良い方法はありますか?


1
/ etcのバックアップを作成して、これらのパッケージの構成設定を簡単に復元できるようにしてください。
Anthon

回答:


7

Debian wikiによれば、再インストールの前にこのコマンドを実行する必要があります:

dpkg --get-selections > /backup/installed-software.log

次に、再インストール後にこれを実行します。

dpkg --set-selections < /backup/installed-software.log
apt-get dselect-upgrade

明らか/backup/installed-software.logに、再インストールプロセス中に保持できるファイルの名前に置き換える必要があります。それをサムドライブに置くのが良いでしょう。

詳細については、wikiを参照してくださいhttps : //wiki.debian.org/ListInstalledPackages


私はこの方法を何度も使用しました。
バハマート2013

パーフェクト!これはまさに私が探していたものです。ありがとう!
nyxgeek

3

dpkg -lインストールされているすべてのパッケージをリストします(リストを適切にフィルタリングするとリストに表示されます)。同じリストを取得できますdpkg --get-selections(これ以上のフィルタリングは必要ありません)。

これにより、手動でインストールされたパッケージと自動インストールされたパッケージの情報が失われます。ライブラリと他のパッケージを間接的にのみ必要としてマークすることは非常に便利です。自動的にインストールされたとマークされたパッケージは、手間をかけずに削除したり、別のパッケージに置き換えたりできます。Dpkgは自動インストールされたパッケージを認識せず、aptのみを認識します。

手動でインストールされたパッケージを一覧表示するには、aptitudeを使用できます:

aptitude search -F %p '~i !~M' >reinstallList.txt

適性がないと、少し複雑になります。

dpkg --get-selections | awk '$2 == "install" {print $1}' >installed.txt
apt-mark showauto >automatic.txt
comm -32 installed.txt automatic.txt >reinstallList.txt

以前にインストールされたすべてのパッケージをインストールするには:

apt-get install $(cat reinstallList.txt)

または、インストールされたパッケージのリストをコピーし、自動としてマークされたパッケージのリストを復元する、よりラウンドアバウトな方法を使用できます。バックアップするには:

dpkg --get-selections >selections.txt
apt-mark showauto >automatic.txt

復元するには:

dpkg --set-selections <selections.txt
apt-get dselect-upgrade
apt-mark markauto $(cat automatic.txt)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.