手動でインストールしたパッケージをフォーマットまたは削除せずにベースUbuntuを再インストールします


10

提案されたリポジトリ(14.04)を使いすぎたため、手順1:手動でインストールしたものを除いてシステム上のすべてのパッケージを削除し、基本システムを再インストールします。再インストールの手間はかかりません。

基本的に、とにかく安全かつリモートでsshを使用する方法はありますか?

  • 手動でインストールされたものを除くすべてのパッケージを削除する
  • カーネルからにすべてを再インストールしますubuntu-desktop(手動でインストールされたとマークされる追加のパッケージが自動的にないことが好ましい)
  • 手動でインストールしたパッケージの依存関係をインストールする

注:特定のバージョンに固有でない回答が得られることを期待して、意図的にました。


私が何が欲しいのかを十分に説明していなかったようですが、これらの2つのポイントが上記の点を処理すると思います。

  • 自動インストールされたすべてのパッケージを削除します(@kosが@Fabbyの回答で回答しました)
  • Ubuntuの新規インストールを構成するパッケージをインストールする

そして、手動でインストールされたパッケージの依存関係がアンインストールされるかどうか、apt-get -f私はそれらを手伝ってくれると思います。


1. / homeに保存する必要があるすべてのファイルはありますか?2.ネットワークは安定していますか?ユーザーファイルまたは保存する必要があるものを移動する場合、すべてを上書きして、ユーザーファイルを簡単に戻すことができますか?また。PXEは有効ですか?BIOSに仮想化サポートツールはありますか?
j0h 2015年

@ j0h 1.では何も重要で/homeはありませんが、手動でインストールされたパッケージには重要な構成があります。2。はい。ただし、ユーザーファイルは心配していません。3。はい、有効になっています。4。はい、仮想化サポートもあります。 。
Oxwivi、2015年

これは私の専門知識のレベルを少し超えていますが、新規インストールからパッケージリストを取得し、現在のインストールと比較して、追加されたすべてのリストを取得する方が簡単ではないでしょうか。次に、フレッシュインストールを実行し、すべてのカスタムアイテムを自動的に追加します。おそらく、$ HOMEの一部またはすべての構成ファイルを復元しますか?dpkg -lを実行してリストを取得します。これはおそらく、追加のものの多くを手動でインストールされたものとしてマークします-それらを必要とするパッケージが後で削除された場合になくなる可能性のある依存関係としてではありません。
Joe

回答:


5

将来のために:

1000マイル離れたデータセンターにリモートサーバーがある場合は、IPKVMスイッチをインストールすることをお勧めします。これにより、リモートサーバーにssh到達するためだけに依存する必要がなくなります。

サーバーがエベレスト山にある場合:イリジウム電話とモデムも追加します...

次に、そのマシンに起動可能な512MB FAT CloneZillaパーティションを作成し(SLC USBスティックを使用)、コンソールを使用して起動し、システムパーティションのイメージをデータドライブにバックアップして、サーバーへの追加trusty-proposedを開始する前の、USBスティックのセカンダリパーティション上の以前のシステムイメージ。(私は私のシステムバックアップのほとんどをデータドライブに保存します:それらはわずか6GBです)

今のところ:

  • 適切なバックアップを取る
  • あなたを通過 /var/log/apt/history*
  • 前のステップのデータから、本当に必要のない/必要のないすべてのものを実行する独自の自動スクリプトを作成しapt-get purgeます
  • Linus of the Torvaldsに祈りながらスクリプトを実行する
  • リポジトリを希望どおりに更新します(削除などtrusty-proposed
  • ストールマンのリチャードに祈りながら再起動する
  • すべてがうまくいった場合:上記のIPKVMスイッチソリューションを実装します。

を除くすべてを削除する自動コマンドはありませんthis thatか?:(ドゥIPKVMスイッチは、この場合にはそうでない場合は、ダイナミックDNS機能と価値のない来る?。
Oxwivi

上記はあなたが得る最も自動のものです。 Windowsの復元ポイントのように完全に自動化:いいえ、それがシステムバックアップの目的です... IPKVMスイッチはDHCPを使用できるため、外部動的DNSサービスを使用することで、「はい、ちょっと」...
Fabby

いや、私はWindowsの復元ポイントが嫌いです。何が入っているのかわからない。(もっと言えば、私はWindows製品ライン全体を嫌うようになりました)必要な唯一の自動部分は、すべての手動パッケージと、それ以外のすべてをアンインストールするコマンドを理解することです。
Oxwivi、2015年

約2年前にWindowsを削除しました...あなたも調べてみましたhistory.logか??? :P
Fabby 2015年

@Oxwivi apt-mark showautoリストをapt-cache purge次のようにフィードして、出力内のすべてのパッケージをパージしますapt-mark showauto | xargs sudo apt-get --dry-run purge--dry-run実際に何が起きているのかを確認できるように、スイッチを自発的に追加しました。実際に何が起こっているのかを確認できますコマンドによって削除されたパッケージに依存するすべてのパッケージが削除されるため、このようなことをするとインストールが中断されます。予行演習の出力を見てください。
コス、2015年

1

わかりました。私の回答では、ユーザーディレクトリ、および保存するすべてのものをバックアップできることを前提としています。これにより、リモートサーバーにUbuntuをインストールする方法に関する質問が減ります。多くの解決策があります。

このため、DRBLを使用して、オペレーティングシステムをリモートで展開し、さまざまな起動オプションを使用できます。あなたはここでそれを調べることができます:http//drbl.org/installation/

Clobberがありますhttp : //cobbler.github.io/manuals/quickstart/

ネットワーク経由でバックアップおよび復元できるcloneZillaがあります。リンクはWindows用ですが、Linuxにも同じ方法が適用されます。または、ubuntuブートイメージをローカルに作成し、それをclonezillaを使用してインストールすることもできます。 http://opensourceforu.efytimes.com/2013/12/restore-partitions-network-using-clonezilla/

または、dd_rescue、またはnetcatを使用してみることもできます

有用な検索用語は「サーバープロビジョニング」です。これらより多くのオプションがあります。

ブルートフォース方式もあります。

$ ls /
bin  boot  cdrom  dev  etc  home  initrd.img  initrd.img.old  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  vmlinuz  vmlinuz.old

そしてあなたのPATHはこのようなものでした:

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

ルートディレクトリがこのようなものである場合、/ etcおよび/ usrに「クリーン」バージョンを上書きすると、インストールされているソフトウェアのほぼすべての部分とその構成ファイルが上書きされます。完全に恐ろしいとは言えないにしても、それは控えめに言ってもハッカーだろう。実行apt-get purgeする方がはるかに安全です。または、プロセスを少し微調整することもできます。また、新しい構成ファイルでサービスを再起動する前に、古いssh構成ファイルのクローンを/ etc / ssh /に含めることもできます。

再起動せずに実行中のカーネルをダンプしてアップグレードできるツールもあります。そのためには、Kslpice、またはkGraftをチェックしてください。

問題があるのがリポジトリとパッケージ管理だけの場合、なぜカーネル、mbr、ブートパーティションなどをダンプする必要があるのか​​わかりません。

とにかく、私はあなたに調査するためのいくつかのアイデアを与えたと思います。サーバーをリモートでdepolyする方法はたくさんあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.