必要なアプリを1台のマシンでセットアップしましたが、新しいUbuntuボックスに同じものをインストールしたいと思います。
インストールされているすべてのアプリを一覧表示するスクリプトがあるので、ボックスを比較して不足しているアイテムを追加できますか?
よろしくお願いします、Chris
Pjzで言及されているdpkgのトリックだけでなく、 etckeeper ( tutorial )-/ etc/*をバージョン管理下に置いて、行った変更を見つけて他のサーバーに複製するのが簡単です。
また、pjzの方法で生成されるリストよりも短いリストの場合は、
$ deborphan -a --no-show-section > /tmp/mypackagelist
これにより、依存関係として必要な他のすべてのパッケージをインストールするパッケージのリストが表示されます。リストを実際に調べたい場合に役立ちます。 (dpkg --get-selectionsはloooongリストを生成します)。さらに、リストは十分に短いため、改行を追加したり、「#」でエントリをコメントアウトしたりできます。次に、あなたができる追加のパッケージをインストールするとき
$ grep -v '#' /tmp/mypackagelist | xargs apt-get install -y
このように、一部のマシンにのみインストールしたいパッケージがある場合、それらをパッケージリストから完全に削除する必要はありません。
dpkg --get-selections >/tmp/mypackagelist
トリックを行う必要があります。次に、新しいマシンの/etc/apt/sources.listに古いものと同じエントリのセットがあることを確認した後、mypackagelistを新しいマシンにコピーして実行します。
cat mypackagelist | xargs apt-get -y install
そして、あなたは行ってもいいはずです。
Dpkg --get-selections行も、/ etc/dirに時々置くのに適した情報であることに注意してください。これは、/ bin /や/ usr/bin /などをバックアップする必要がないことを意味します。システム上にあるパッケージ。
より良いdpkgコマンドは[オリジナルのマシン]かもしれません
dpkg --get-selections | grep -v deinstall > packages_list
その後、[新しいマシン; packages_listを転送した後]
Sudo dpkg --set-selections < packages_list
Sudo apt-get -u dselect-upgrade
Ubuntuフォーラムには 良い答え があります
フォーラムディスカッションからの追加リンク:
あなたのためにそれを行うことができるReMasterSysと呼ばれるツールがあります。参照 http://geekconnection.org/remastersys/
お役に立てれば幸いです。
FSArchiver を使用してマシンを複製することは完全に許容されます。それ以外の場合は、便利なコマンドのペアを以下に示します。前半はバックアップcronに追加することもできます。
debconf-get-selections
debconf-set-selections
〜
aptitude-create-state-bundle
aptitude-run-state-bundle --unpack
〜
dpkg --get-selections
dpkg --clear-selections; dpkg --set-selections
複製する必要がある場所は/ etcと/ varです。上記のコマンドは/ var内のいくつかのファイルを直接操作し、/ etc内のいくつかのconffileはdebconfを介して間接的に操作します。これらのサブツリーを複製してaptitudeを実行するだけで同じ効果が得られます。
CLIファンではない場合は(実際にそうする必要がありますが)、Synapticパッケージマネージャーを使用してインストールされたパッケージのイメージを保存し、そのファイルを(再びSynapticを介して)使用して新しいマシンをロードできます。ファイル/マーキングを保存オプションの下に、「完全な状態を保存」というチェックボックスがあります。
dd
を使用してマシンのクローンを作成しないのはなぜですか?
Docker はこれを行う方法だと思います-Dockerfileで要件を定義します-その後、任意のDockerホストで実行できます。