web-dev-qa-db-ja.com

設定とインストール済みパッケージのリストをバックアップする方法

Ubuntuの新規インストール以降に行ったすべてのバックアップを作成する場合、可能なオプションは何ですか?すべてをバックアップする必要がありますか?変更したすべての設定、インストールしたすべてのパッケージなどを取得したい.

276
n1kh1lp

プログラム

プログラムのリストをバックアップする簡単な方法は、これを実行することです:

dpkg --get-selections > ~/Package.list
Sudo cp -R /etc/apt/sources.list* ~/
Sudo apt-key exportall > ~/Repo.keys

Dpkgが読み取れる形式でバックアップします* 再インストール後、次のようになります。

Sudo apt-key add ~/Repo.keys
Sudo cp -R ~/sources.list* /etc/apt/
Sudo apt-get update
Sudo apt-get install dselect
Sudo dselect update
Sudo dpkg --set-selections < ~/Package.list
Sudo apt-get dselect-upgrade -y

* dpkgの利用可能なパッケージのリストを更新する必要があるかもしれません。そうしないと、選択内容が無視されます(詳細は this debian bug を参照してください)。次のように、Sudo dpkg --set-selections < ~/Package.listの前にこれを行う必要があります。

apt-cache dumpavail > ~/temp_avail
Sudo dpkg --merge-avail ~/temp_avail
rm ~/temp_avail

設定と個人データ

再インストールする前に、おそらくいくつかのプログラムの設定をバックアップする必要があります。これは、/ etcのフォルダーとユーザーディレクトリのすべてのコンテンツ(nautilusで見ることができるものだけではありません!)

rsync --progress /home/`whoami` /path/to/user/profile/backup/here

再インストール後、次の方法で復元できます。

rsync --progress /path/to/user/profile/backup/here /home/`whoami`

そのため、すべてが疑似bashスクリプトとしてまとめられています。

これは、マシン上にユーザーが1人しかいない場合(そうでなければ/'whoami'を削除)、両方のインストールで同じユーザー名を使用したことを前提としています(そうでなければrsyncの宛先を変更します)。

dpkg --get-selections > ~/Package.list
Sudo cp -R /etc/apt/sources.list* ~/
Sudo apt-key exportall > ~/Repo.keys
rsync --progress /home/`whoami` /path/to/user/profile/backup/here

##  Reinstall now

rsync --progress /path/to/user/profile/backup/here /home/`whoami`
Sudo apt-key add ~/Repo.keys
Sudo cp -R ~/sources.list* /etc/apt/
Sudo apt-get update
Sudo apt-get install dselect
Sudo dpkg --set-selections < ~/Package.list
Sudo dselect
294
Huckle

これは誰のためですか:通常のコンピュータの通常の使用を持ち、ホームフォルダの外で最小限の設定を行ったか、設定をまったく行っていないユーザーは、起動を台無しにしませんでしたスクリプトとサービス。すべてのカスタマイズが行われ、ホームフォルダーに保存された状態でソフトウェアをインストールしたときの状態にソフトウェアを復元したいユーザー。

これに当てはまらないのは:サーバーのオタク、ソースごとにインストールされたソフトウェアを持つパワーユーザー(パッケージリストを復元するとシステムが壊れる可能性がある)、変更されたユーザーいくつかのアプリケーションの起動スクリプトを、ニーズに合わせて調整します。注意:自宅以外の変更が上書きされる可能性が高くなります。

現在のパッケージとユーザー設定をバックアップする


システムの準備が整い、インストールされたソフトウェアに満足したら、dpkg --get-selectionsコマンドを使用してインストール済みパッケージのリストを取得し、出力をログファイルに保存できます。

自宅にbackupフォルダーを作成します

Sudo mkdir ~/backup

現在インストールされているパッケージリストを保存する

dpkg --get-selections > ~/backup/installed_packages.log

Aptソースファイルのバックアップを作成します

Sudo cp /etc/apt/sources.list ~/backup/sources.bak

aptの信頼できるキーのリストのコピー

Sudo apt-key exportall > ~/backup/repositories.keys

Ubuntuの統合バックアップツールDeja-dupを使用して、ホームフォルダーのバックアップを作成します。

  • バックアップフォルダーを設定する

enter image description here

  • ホームフォルダーのバックアップが作成されることを確認し、たとえばTrashフォルダーなど、不要なフォルダーを追加します。

enter image description here

  • 概要タブで、今すぐバックアップを作成を押してホームフォルダをバックアップします

enter image description here

  • バックアップツールは、選択したバックアップにパスワードを追加するかどうかを尋ねます。 を押した後、バックアップが開始されます続行

enter image description here

これが完了すると、ユーザーに関連するパッケージと構成ファイルのバックアップが作成されます。必要な場合は、~/backupフォルダーからファイルを復元できます。

バックアップを復元する


作成したバックアップからソースファイルを復元することから始めます

Sudo cp ~/backup/sources.bak /etc/apt/sources.list

バックアップされたキー

Sudo apt-key add ~/backup/repositories.keys

ソースリストを更新する

Sudo apt-get update

保存したinstalled_packages.logからパッケージを復元します

Sudo dpkg --clear-selections
Sudo dpkg --set-selections < ~/backup/installed_packages.log && Sudo apt-get dselect-upgrade

Sudo dpkg --clear-selectionsは、現在インストールされているすべてのパッケージを削除対象としてマークします。保存されたパッケージリストを復元すると、リストにないパッケージがシステムから削除されます。

現在の構成をホームから削除して、現在の状態のフォルダーのバックアップを作成します(結局、構成に影響する可能性がある他のファイルがある場合、新しいファイルを復元するのはどうでしょうか?)

mkdir ~/.old-gnome-config/ && mv ~/.gnome* ~/.old-gnome-config/ && mv ~/.gconf* ~/.old-gnome-config/ && mv ~/.metacity ~/.old-gnome-config/ && mv ~/.cache ~/.old-gnome-config/ && mv ~/.dbus ~/.old-gnome-config/ && mv ~/.dmrc ~/.old-gnome-config/ && mv ~/.mission-control ~/.old-gnome-config/ && mv ~/.thumbnails ~/.old-gnome-config/   && ~/.config/dconf/* ~/.old-gnome-config/

これが完了したら、Deja-dupで作成されたバックアップを復元します。

  • バックアップツールを開き、概要タブで復元を押します

enter image description here

  • プロンプトに従って、ファイルを元の位置に復元します

enter image description here

これが完了すると、パッケージが保存された選択に戻り、構成が復元され、できれば機能するデスクトップになります。すべての追加アプリケーションをインストールせずに、Ubuntuのデフォルトツールを使用します。

残っているのは、いくつかのクリーンアップを行い、すべてが機能していることを確認することです。

何かがうまくいかず、デスクトップがなくなった


Ask Ubuntuには、何か問題があり、デスクトップをハードリセットする必要がある場合に役立ついくつかの投稿があります。何か問題があり、自分でそうする必要があると感じた場合は、次の投稿をご覧ください。

48
Bruno Pereira

バックアップにはある程度の計画が必要であり、いくつかの実行可能な戦略があります。どの方法が最適かを判断する必要があります。

「最良の方法」に注意してください。ある人にとって最適なものが別の人にとって最良ではない場合があります。

一日の終わりに、「最良の方法」はテストされ、機能することが知られています。必要になる前にバックアップ戦略をテストする必要があります

画像を使用する

1つの方法は、パーティションのイメージを単純にコピーして圧縮することです。 ddからpartimage、clonezillaまで、いくつかのツールでこれを行うことができます。

部分画像
clonezilla

この戦略の利点は、(比較的)簡単で非常に完全であることです。欠点は、バックアップイメージが大きいことです。

より小さなバックアップ

データと設定のみをバックアップすることで、より小さなバックアップを作成できます。これを行うためのツールがいくつかあります。ddからtar、rsyncまですべてです。

ここで重要なのは、バックアップする必要があるものを知ることです。

利点-バックアップが小さくなります。
短所-これは手動による方法であるため、重要なファイル(/ etc/passwd)を簡単に忘れてしまいます。

バックアップするもののリストは、リストが完全であることを確認するために常に確認する必要があります。

1)インストール済みパッケージのリスト

パッケージリスト#新しくインストールされたディストリビューションに再インストールするために、すべてのapt-getインストール済みパッケージの既存インストールのテキストリストを作成#

# make the list
[old distro] Sudo dpkg --get-selections > packages

その後、新規インストールを実行し、パッケージを復元します。次のコマンドは、システム上のすべてのパッケージも更新します(したがって、復元と完全な更新を一度にすべて実行できます)。

# Now put them back on the new distro
[new distro] Sudo dpkg --set-selections < packages

[new distro] Sudo apt-get dselect-upgrade

2)データ。通常、これは/ homeになります。ほとんどのユーザーデータとカスタマイズは、ユーザーのホームディレクトリに保存されます。他の場所にデータを保存する場合は、それを含めます(たとえば、/ media/data)。

3)システム設定ここにいくつかのバリエーションがあります。個人的にANYシステム設定を編集する場合、元の設定ファイルとカスタムファイルのコピーを/ rootに保存します。たとえば、/etc/fstabを編集する場合、コピーを/ root/etc/fstabに保存し、オリジナルを/root/etc/fstab.origに保存します

/etc/passwd/etc/shadow/etc/group/etc/sudoers/etc/hostname、および/etc/hostsも必要になります(何かを忘れた場合は、/ etcで追加する必要があります)

サーバーでは、/var/wwwまたはその他のデータディレクトリを含める必要がある場合があります。

これには多少の手間がかかることを理解していますので、/etcをすべて含める方が簡単かもしれません。

4)ディスクのコピーパーティションテーブル

Sudo fdisk -l > fdisk.bak

ハードドライブを交換する場合、この情報を使用してパーティションテーブルを復元できます。

5)あなたのMBRのコピー

Sudo dd if=/dev/sda of=MBR.bak bs=512 count=1

その後で復元します

Sudo dd if=MBR.bak of=/dev/sda bs=512 count=1

6)その他のファイル/ディレクトリ-システムとカスタマイズに応じて、追加のディレクトリを含める必要があります。考慮事項には、/opt/usr/local、/ usr/share`、および/または.desktopファイルが含まれる場合があります。 apt-getまたはソフトウェアマネージャーの外部でダウンロードまたはカスタマイズしたシステム上のすべてのもの。

7)すべてをarchiveに入れます

Sudo tar -cvpzf backup.tar.gz /home /root /etc ./MBR.bak ./fsdisk.bak ./packages

8)rsync

Tarの代替として、rsyncを使用できます。

参照- https://help.ubuntu.com/community/rsync

ネットワークバックアップ

別のオプションは、NFSまたはSambaを使用してデータをバックアップすることです。

Cron

バックアップスクリプトを作成し、cronで(毎日/毎時間)実行することにより、バックアップを自動化できます。

戻す

1)ライブCDを使用して、fdisk.bakの情報からgpartedまたはfdiskを使用してパーティションを復元します
2)Ubuntuをインストールします。
3)新しいインストールを起動し、パッケージを更新します。
4)データと設定を復元します

tar -xvpzf /home/test/backup.tar.gz -C / 

その後、再起動します

参照- https://help.ubuntu.com/community/BackupYourSystem/TAR

その他の戦略

バックアップには多くの追加戦略があります。ホームディレクトリのみをバックアップするものもあれば、グラフィカルなものもあります。

参照: https://help.ubuntu.com/community/BackupYourSystem

テスト中

テストしない限り、バックアップではありません。これは、ルートパーティションのイメージを使用していない場合に最も重要です。

VM、スペアコンピューター、またはスペアパーティションまたはハードドライブでシステムの復元をテストします。

28
Panther

apt-cloneを使用したインストール済みパッケージの選択

APT-Clone。このパッケージを使用して、aptベースのシステムでパッケージを複製/復元できます。パッケージ、sources.list、キーリング、および自動インストールされた状態を保存/復元します。また、dpkg-repackを使用して、ダウンロードできないパッケージを保存/復元することもできます。

APT-Cloneは、アップグレードプロセスのためにubiquity(Ubuntuインストーラー)によって使用されます。

  1. インストール

    Sudo apt-get install apt-clone
    
  2. バックアップする

    Sudo apt-clone clone path-to/apt-clone-state-ubuntu-$(lsb_release -sr)-$(date +%F).tar.gz
    
  3. バックアップを復元

    Sudo apt-clone restore path-to/apt-clone-state-ubuntu.tar.gz
    

    新しいリリースに復元:

    Sudo apt-clone restore-new-distro path-to/apt-clone-state-ubuntu.tar.gz $(lsb_release -sc)
    

参照:man apt-clone


ホームデータ、構成/etc、.. duplicityを使用

Duplicityは、暗号化されたtar形式のボリュームを生成し、それらをリモートまたはローカルのファイルサーバーにアップロードすることにより、ディレクトリをバックアップします。複製ではlibrsyncを使用するため、増分アーカイブはスペース効率が高く、最後のバックアップ以降に変更されたファイルの部分のみを記録します。重複性はGnuPGを使用してこれらのアーカイブを暗号化および/または署名するため、サーバーによるスパイや変更から安全に保護されます。

  1. インストール

    Sudo apt-get install duplicity
    
  2. バックアップ

    duplicity full path-to/source_folder/ file:///path_to/duplicity_backups/
    

    または増分バックアップ(前回のバックアップとの差分のみをバックアップします):

    duplicity incremental path-to/source_folder/ file:///path_to/duplicity_backups/
    
  3. 戻す

    duplicity restore file:///path_to/duplicity_backups/ path-to/target_folder/
    

参照:man duplicity

22
user.dz

この質問はしばらくの間回答されましたが、誰もetckeeperに言及していないことに気付きました。 apt-get install etckeeperを実行し、VCSを/etc/etckeeper/etckeeper.confに設定すると、/ etcディレクトリをより適切に制御できるようになります。これはalsoを使用して/ etcディレクトリ内の構成を復元することもできます。

たとえば、(VCSとしてgitを設定したと仮定して)/etc/.gitディレクトリをバックアップします。構成を新しい/ etcに復元する必要があるときはいつでも、バックアップした/etc/.gitディレクトリを新しい/ etcディレクトリにコピーします。現在、修復を管理するための多くのオプションがあります。

  • 違いを見る
    • git diff
  • すべての相違点をgitブランチの「新鮮な」ディレクトリに保存します
    • git checkout -b new; git add -A; git commit -m 'new etc'
  • 無条件でバックアップに戻る
    • git clean -f
15
EdwardTeach

ニースが欲しい人のために。きちんとしたGUI ...

... Aptikの紹介。

必要なのは、ローカルまたはクラウドに保存されたバックアップディレクトリのみです。 Aptikは、PPA、ダウンロードしたパッケージ、ソフトウェアの選択、アプリケーション設定、テーマ、アイコンをバックアップします。 非常に便利です。

PPAからインストールできます。

Sudo apt-add-repository –y ppa:teejee2008/ppa
Sudo apt-get update
Sudo apt-get install aptik

これが役に立つことを願っています:)

12
TellMeWhy

インストールされているすべてのプログラムのバックアップリストを作成するには: http://savvyadmin.com/backup-and-restore-package-lists-in-ubuntu/
明らかに、これらのインストール済みパッケージの一部のソフトウェアソースをバックアップする必要があります。 Backup Software Sources

プログラム設定に関しては、それらのほとんどは、ホームフォルダー内の非表示(.で始まる)フォルダーとファイルにあります。すべてをバックアップするだけです。

9
Isaiah

ストレージ容量が問題にならない場合、ddまたはdc3ddを使用すると、指定したターゲットディスクまたはパーティション上のすべてが完全にバックアップされます。マウントされたドライブでこれを試したくないので、ブート可能なUSBまたはDVD(または「Ubuntuを試す」を選択したインストールメディア)から実行します。

Sudo dd if=/dev/<source> of=/path/<target>.img

バックアップするディスクまたはパーティションはどこにあり、ターゲットはバックアップファイル名です(多くの場合同じ)(sdasda1)。

進捗レポートが必要な場合は、ddをdc3ddに置き換えます。バックアップ内の特定のファイルにアクセスするには、通常、結果の.imgファイルをループデバイスとしてマウントします。

mount -o loop,ro,offset=32256 filename.img /mnt/dirこれは、ドライブ全体をバックアップした単一パーティションのドライブで機能します。

または、パーティションをバックアップした場合はmount -o loop,ro filename.img /mnt/dir

次のようにif =およびof =パラメーターを交換することにより、ディスクまたはパーティション全体を復元できます。

Sudo dd if=/path/<source>.img of=/dev/<target>

復元するイメージファイルはどこにあり、<target>は復元するドライブまたはパーティションです

PROS:バックアップが簡単で、すべてを簡単に復元できます。他のいくつかのソリューションとは異なり、計画の方法を実際に必要としないのは、あなたがそれを必要とするかどうかを心配する必要がないすべてをバックアップしているからです。

CONS:時間がかかり(あなたではなくコンピューターの時間)、毎日のバックアップには適していません(増分オプションなし)

出典:経験;私はこのアプローチを使用して、作業を開始する前にクライアントシステムをバックアップし、クライアントデータを少しも失いませんでした。

3
Elder Geek

すぐに復元できるアプリとそのデータをオフラインでも持ちたい。

これは、「フォーマットとインストール」の目的に反します。それをしたい場合は、既存のUbuntuインストールからアップグレードするだけです。

Ubuntuでの「インストール」はソフトウェアセンター(またはSynapticまたはapt-get)に入るだけであり、ほとんどのプログラム自体は頻繁に更新されるため、プログラムをバックアップし、Ubuntuを再インストールしてからインストールすることには意味がありませんリポジトリから最新バージョンを取得する代わりに、バックアップします。

データとプログラムの設定がバックアップされている限り、問題ありません。システム内のすべての包括的なリストが必要なため、パッケージが欠落しているかどうかを確認するには、ターミナルに移動してdpkg --list > mypackages.txtを入力し、そのテキストファイルを安全な場所に置きます-everyパッケージは現在のシステムにインストールされています。

2
ish

私はそれが新しいHDD、SSDまたは新しいシステムであるか、古いUbuntuで持っていたと仮定します。 Ubuntu 12.04(正確なPangolin)にアップグレードしますか?

私はあなたがそれらをすべて再びインストールするか、再構成することを嫌うと思いますか?する必要がない。

を押してターミナルを開きます Ctrl + Alt + T、次のコマンドを実行します。

Sudo dpkg --get-selections > app-backup-list.txt

次に、次の方法でテキストファイルをホームディレクトリにコピーします。

Sudo cp app-backup-list.txt /home/username

次に、サイドバーのシステム設定からバックアップアプリケーションを実行します。

/homeをUbuntu One、フラッシュスティック、フロッピー(スクラッチ)にバックアップするか、CD、またはシステム内の他のHDDまたは外部HDDドライブに書き込むか、必要なバックアッププログラムを使用します。

次に、復元を使用してバックアップを元に戻し、使用したバックアッププログラムを選択すると、\ homeに戻ります。

最後に、dkpgコマンドを逆にします。

Sudo dpkg --get-selections < app-backup-list.txt
Sudo apt-get -y update
Sudo apt-get dselect-upgrade

ホームを復元すると、アプリケーションのすべての設定が取得されます。 SSDをインストールし、すべてのファイルをコピーしましたが、念のためバックアップを行いました。

PS:これにより、大量のアプリのマシンコードなどを回避し、実際にバックアップします。ダウンロードフォルダーがクリーンであることを確認してください。マシンコードやビデオでいっぱいではないので、downloadフォルダーをk3Bを使用してDVDに書き込みます。

2
modprobe

私は別の解決策を見つけました:

APTonCD を確認してください。すべてのアプリケーションをバックアップし、それらをISOイメージに入れます。

1
Suhaib

最も簡単なプロセスは、2つのプログラムを使用することです。

/ homeおよび/ etcをバックアップするための時間内バックアップ

プログラムをバックアップするAptik

0
Amphibio

編集:

ユーザー@Izzyによると、この回答はもう機能しません


上記と同じ質問がありました!!それから私はこのウェブサイトを見つけました:

ここをクリック

プログラムをバックアップするためにウェブサイトが言うことをコピーします:

/ homeパーティションのバックアップとともに、Synaptic Package Managerを使用して、インストールされているすべてのパッケージ(アプリケーションとその依存関係)のバックアップリストを定期的に作成します。これを行うには、 UbuntuベースのディストリビューションまたはSynapticを使用するディストリビューションを使用します。別のパッケージマネージャーを使用する他のディストリビューションでこれを行うことには慣れていませんが、Bodhi Linux、Linux Mint、またはその他のUbuntu/Debian派生製品では、Synapticを開くだけです。 [ファイル]> [マーキングの保存]に移動し、[変更だけでなく完全な状態を保存する]という小さなボックスをオンにし、そのファイルを任意の場所(できれば/ homeバックアップを保存した場所)に保存します。オペレーティングシステムを再インストールし、すべての更新プログラムを適用した後、Synapticを開き、[ファイル]> [マーキングの読み取り]に移動し、保存済みのパッケージファイルを選択します。インターネットに接続している限り、すべてのアプリケーションと他のパッケージを自動的にダウンロードしてインストールしますあなたが最初にインストールしたこと。時間と手間を大幅に節約できるため、すべてのアプリケーションを検索して再インストールする必要がありません

乾杯

0
Suhaib