システムの復元方法は?


16

私が直面した問題

  • 以前にコンパイルしたWifiドライバーをクラッシュさせるものをインストールしました。
  • 同じパッケージをアンインストールしても役に立ちません。
  • 最後に、wifiドライバーを再コンパイルしましたが、状況は良好です。

私の質問

しかし、Ubuntu / LinuxMintにはシステムの復元やシステムのロールバックなどはありますか?

  • そのことができます何でもありのコマンドは?undoapt-get install package

システムの破損はLinuxの深刻な問題System Wide UNDOです。
ユーガルジンドル11

Windowsボックス(およびGoogleの質問)の外側を考えます。システムのチャンク全体を圧縮することはできますが、システム障害が深刻な問題であると言うのは事実ではありません。私はすべてのコンピューターでLinuxを実行しています(最先端のArch Linuxですので、安定性が損なわれるはずです)が、コンピューターのクラッシュや誤動作はまだ見ていません。コンピューターがそれぞれ2〜4年間Archを実行していることを言及しましたか?
ブレンダー

システムに関連する設定を削除することになっているため、システムを壊したパッケージに対してapt-getパージを実行する価値があったかもしれません。

@Blender私は2年前から100%Linuxユーザーです。Windowsシステムの復元は嫌いですが、LinuxではXの更新によってグラフィックが破損する場合がありますが、それを元に戻すにはサンドボックスなどが必要です。
ユガルジンドル11

回答:


7

の補数はapt-get install packageですapt-get remove package。関連する設定もすべて削除するには、を実行する必要がありますapt-get purge package

これらのコマンドは、パッケージに付属のアンインストールスクリプトに依存していることに注意してください。私が知っているメインリポジトリ内のすべてのパッケージは、アンインストールの仕事を非常にうまく行っています。これは、サードパーティのパッケージには当てはまらない場合があります。

ドライバーの問題については、パッケージをインストールするとワイヤレスドライバーが破損する可能性がいくつかあります。

  • ドライバーには、カーネルの更新などの条件が満たされたときに実行されるインストール後のフックがあります
  • パッケージは、ワイヤレスドライバーが依存していたファイルを上書きしました
  • 問題のパッケージはカーネルの更新でしたが、ドライバーにはドライバーを再コンパイルするためのインストール後のフックがありません(ほとんどの場合)

「システムロールバック」/「システムの復元」機能については、最も近い機能はClonezillaなどのソフトウェアを使用したシステムイメージです。残念ながら、これは実行中のシステム内では実行できず、Live CDから実行する必要があります。


14

この目的にぴったりのTimeshiftというLinux用のソフトウェアがあります。Timeshiftを使用すると、Linuxシステムのスナップショットを定期的に取得し、必要なときにいつでも復元できます。

このソフトウェアは、Windowsのシステムの復元機能をLinuxディストリビューションにもたらします。

公式ウェブサイトからの短い説明:

TimeShift for Linuxは、Windowsのシステムの復元機能やMac OSのTime Machineツールに似た機能を提供するアプリケーションです。TimeShiftは、定期的にファイルシステムの増分スナップショットを取得することでシステムを保護します。これらのスナップショットを後で復元して、システムをスナップショットが作成された時点の正確な状態に戻すことができます。

スナップショットは、rsyncおよびハードリンクを使用して取得されます。共通ファイルはスナップショット間で共有され、ディスクスペースを節約します。各スナップショットはシステム全体のバックアップであり、ファイルマネージャーで参照できます。


それはいいように聞こえますが、スナップショットをまだ取っていない場合、それを利用することはできません。:/ 正しい?
gsamaras

9

実際、Ubuntuなどにはほとんどありません。これにより、変更をロールバックできます。以下の概要:

  1. /var/backups/dpkg.status.*:このディレクトリは、インストール前の最後のシステム状態のログのセットを次のように保持します。状態が変化する前の/var/backups/dpkg.status.0最新のログ(パッケージのインストール/削除/更新など)。圧縮されたさまざまな時点のログのアーカイブバージョンであり、毎月ローテーションされます。/var/backups/dpkg.status.?.gz
  2. /var/lib/dpkg/status:これはインストール済みパッケージの現在の状態です。これを手動でバックアップするか、logrotateスクリプトを提供すること/etc/logrotate.dにより、システム状態のスナップショットを希望どおりにスケジュールできます。
  3. ロールバック:コーナーストーンは以前の状態/var/backups/dpkg.status.0です。以前のパッケージの状態を復元するための簡単なステップごとの手順を次に示します(簡潔であり、網羅的はないことに注意してください)。

    a。 cp /var/backups/dpkg.status /var/lib/dpkg/status(パッケージの状態を1バージョン戻します)。

    b。dpkg -l | grep ii(上記の手順a。で得られたロールバックファイルに基づいて、インストールされていると思われるパッケージのリストが表示されます/var/lib/dpkg/status)。

    c。 dpkg -l | grep ii | awk '{print "apt-get --reinstall -y install", $2}' > /tmp/reinstall && sh /tmp/reinstall(単純な1行のシェルスクリプトを作成し、それを実行して、apt-get操作の前にシステム上にあると判断されたパッケージを再インストールします)

    d。apt-get --reinstall install ucf(/ etc構成ファイルなどのサニタイズを処理します)

    e。ステップcを繰り返します。必要に応じて


少しでも運が良ければ、大丈夫です。


4

Ubuntuには、Windowsの「以前の状態に復元」のような機能はありません。マシンを以前の段階に復元するために、バックアップを取る必要がありました。真剣に私もこの機能がありません。多くのツールがありますが、Windows RestoreポイントやMacs Time Machineのように機能するものはありません。Linuxのバックアップで状況が良くなるかどうかを見てみましょう。


1

btrfsには、この種のものを処理できる優れたスナップショット機能があります。データを1つのファイルシステムに、システムを別のファイルシステムに保持し、定期的(毎日?毎週?)スナップショットを使用して、問題が発生するたびにロールバックするだけです。


2
apt-btrfs-snapshotパッケージは、aptがパッケージを処理するたびにルートサブボリュームのスナップショットを自動的に作成するため、簡単にロールバックできます。
psusi

1
詳しく説明してください。
ユガルジンドル


1

上記のTimeshiftおよび/ varログとは別に、etckeeperを使用して、/ etcディレクトリー内の構成ファイルを破壊し、復元先のバックアップがないようにすることもできます。VCSを使用します。

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