Ubuntu用のDeep Freezeのようなアプリケーションはありますか?


10

私はインターネットでいくつかのことを読んでいて、Deep Freezeを開発した同じ会社がLinuxバージョンを持っているように見えるので、まだ開発中のLinux用のDeep Freezeに代わるものがあるかどうか知りたいのですが、プロジェクトは中止されました。


なぜあなたはそれをしたいですか?非rootユーザーにシステムファイルの変更を許可しないでください。
デビッドFoerster 2013

@DavidFoerster私はあなたのコメントに答えるために質問を編集しました。
Zignd 2013


2
Ubuntuの(最近の)「ゲスト」ユーザーは(最近?)Ubuntuがオンザフライで作成され、ホームをに持ち、/tmpログアウト後にクリーンアップされます...これで十分ではありませんか?
Rmano 2014年

回答:


8

OFRISは、Linuxをフリーズできるオープンソースアプリケーションです。MicrosoftWindowsオペレーティングシステムのDeep Freezeのようなものです。

Ubuntuバージョン9.10、10.04、および10.10の場合。OFRISをインストールするには、キーボードのCtrl+ Alt+ Tを押してターミナルを開きます。開いたら、以下のコマンドを実行します。

sudo add-apt-repository ppa:tldm217/tahutek.net -y
sudo apt-get update && sudo apt-get install ofris-en -y

Ubuntuバージョン11.04、11.10、12.04、および13.04。OFRISをインストールするには、キーボードのCtrl+ Alt+ Tを押してターミナルを開きます。開いたら、以下のコマンドを実行します。

[COPY-fileformat]

if [ $(uname -m) == "x86_64" ]; then deb="http://goo.gl/DleLl"; else deb="http://goo.gl/V94Qs"; fi && wget -q $deb -O ofris.deb && sudo dpkg -i ofris.deb && rm ofris.deb

以下の画像は、13.04で実行されているOFRISを示しています

ここに画像の説明を入力してください

出典:XGeek


これを15.10にインストールしてから、3を押してフリーズを適用しました。システムがフリーズモードであることを確認しました。次に、再起動し、値を含むファイル/ var / tmp / mynameを作成しました。その後、もう一度再起動しましたが、ファイルはまだあります。この凍結はどうですか?

どういう意味ですか?また、これが15.10で機能するかどうかを確認する必要があります。システムのフリーズにより、すべてがリセットされる前の状態にリセットされます。私にお知らせください。
ミッチ

2

警告:このソリューションを実装しましたが、機能しますが、スナップショットに戻るまでのマージ時間により、最後のブート中にシステムに大きな変更が加えられた場合、ブートプロセスに長い時間がかかる可能性があります。この待機期間中に、システムがハングしているように見えることがあります。

また、スナップショットをマウントするのに十分な知識がある人は、「凍結」状態を変更できることに注意してください。私はこの可能性を利用して「凍結」システムを更新しましたが、これもスナップショットのマージ(復帰)にかかる時間を増加させる可能性があります!


LVMスナップショット+ cron +スクリプト=「凍結」状態

私は最近LVMを掘り下げ始めましたが、LVMとそのスナップショット機能を使用しているマシン上で「凍結」状態を実行可能な状態で作成できることに気付きました。もちろん、この方法では、LVM(または少なくとも凍結するパーティション上のLVM)を使用して構成されたシステムが必要です。

概要:

  • スナップショット用にPVに十分なスペースを確保するLVMパーティションにシステムをインストールします
  • システムを希望どおりに構成します。
  • ブート時にrootとして実行されてスナップショットをマージし、マージされたスナップショットを置き換える新しいスナップショットを作成するcronジョブを作成します
  • 後続のすべての再起動でスナップショットに戻ります。作成されたすべてのスナップショットは、作成した状態のシステムから取得されます。
  • 追加のボーナスとして、スナップショットをマウントおよび変更でき(root権限がある場合)、「凍結」状態は必要に応じて更新できます。

概念実証:クリーンインストールから1つのパーティションを除くすべてをフリーズ

インストール:

  • ライブのUbuntuディスク/ USBから起動し、「インストールせずにUbuntuを試す」オプションを選択します。これは、LVMでパーティションを手動で構成する場合に重要です
  • Ubuntuが選択したツールを使用してディスクをパーティション分割してロードすると、ドライブの全領域を占める1つのパーティションが作成されます。これが私が取り組んでいるものです:
    • /dev/sda (サイズ1T)
      • /dev/sda1 (サイズ1T)
  • 次に、ターミナルでLVMをにセットアップし/dev/sda1ます。ほとんどのシステムを単一のパーティションに配置しますが、そうする必要はありません。
    • sudo pvcreate /dev/sda1
    • sudo vgcreate ubuntu-vg /dev/sda1
    • sudo lvcreate -n swap -L 1G ubuntu-vg
    • sudo lvcreate -n unfrozen -L 10G ubuntu-vg
    • sudo lvcreate -n root -l +50%free ubuntu-vg
  • 今、あなたが実行した場合sudo vgsに続いてsudo lvs、あなた「のubuntu-VG」の空き領域の量は、ボリューム・グループに残っていることを確認することができるはずです(VFree VGS出力の下で)論理ボリューム「ルートで撮影したスペースの量に等しいです"(lvs出力の下のLSize)。私の場合、ubuntu-vgには506.44gの空き容量があり、ルートパーティションのサイズは506.44gです。ボリュームグループに残っている空き領域が、フリーズしたいパーティションのサイズと等しい場合、パーティション全体を一掃して、再起動で回復できるはずです。現時点では、ubuntu-vgの残りの空き領域は未使用のままにしておきます。後で使用します。
  • 次に、手動パーティション設定を使用してUbuntuをインストールします image.png
  • インストールが完了したら、先に進んで、新しくインストールしたシステムで再起動します。
  • 新しいシステムで起動したら、コンピューターが毎回起動するときに希望どおりになるように構成します。
    • スナップショットを誤って変更しておらず、スナップショットパーティションをメニューバーに表示したくない場合...
      • mkdir /steady
      • ファイルの最後の行として/etc/fstab(これはすべて1行です)追加して編集し/dev/ubuntu-vg/steadystate /steady ext4 defaults,ro,nofail 0 1ます
    • 更新のようなものはリブートのたびに吹き飛ばされるので、それらをオフにすることをお勧めします。
    • / unfrozenにある私のようなフリーズされていないパーティションがある場合は、それにアクセスする必要があるユーザーがアクセスできるようにすることを忘れないでください
  • システムを希望どおりに構成したら、次のスクリプトを作成し(root権限が必要です)/root/steadystate.sh、お気に入りのエディターで保存します。LVMのセットアップ時にボリュームグループ名を変更した場合は、以下のスクリプトでもそれを更新する必要があることに注意してください。
    #!/bin/bash
    LOG=/dev/kmsg

    # wait for merge in progress
    echo -n "Reverting to snapshot if present... " | tee -a $LOG
    merging=1
    while [ "$merging" == "1" ];
    do
        /usr/sbin/service lightdm stop #prevent the auto-login/login screen from loading
        [ "$(sudo lvs -a | grep steadystate)" == "" ] && merging=0
        sleep 1
    done

    # create snapshot
    echo -n "Creating new snapshot... " | tee -a $LOG
    /sbin/lvcreate -s -n steadystate -l +100%free /dev/ubuntu-vg/root

    # make sure root comes online before trying to merge
    while [ ! -e /dev/mapper/ubuntu--vg-root];
    do
        sleep .5;
    done
    echo -n "Scheduling reset to snapshot... " | tee -a $LOG
    /sbin/lvconvert --merge /dev/ubuntu-vg/steadystate

    echo -n "Starting lightdm... " | tee -a $LOG
    /usr/sbin/service lightdm start
  • 最後にを実行sudo crontab -eし、エディターを選択し@reboot /bin/bash /root/steadystate.shてファイルの最後に置きます。保存して閉じる(Ctrl+ X; Y保存の回答)
  • 再起動すると、/ unfrozenにマウントされたパーティションを除いて、システムがフリーズしているはずです

これは、スナップショットがブート時に作成され、その直後にスナップショットをマージするコマンドを渡しても、ルートの論理ボリュームがアクティブな間はスナップショットをマージできないため、機能します。したがって、次回の再起動時に/ dev / ubuntu-vg / rootが次回アクティブ化されるまで、マージアクションを延期します。このアクションは、システムがライブUSBから起動された場合にもトリガーされます。

ちょうどキックのために、私は再起動後に行って実行しましたが、sudo apt remove --purge firefox* libreoffice-* unity*いくつかの有用なプログラムが削除され、システムが望ましい状態ではない可能性があるため、通常実行することはお勧めしません! broken.png システムはGUIから適切にシャットダウンすることすらできませんでした。それで、これをどのように修正するのですか?リブート! rebooted.png 再起動すると、すべてが正常に戻っていました。Firefox、LibreOffice、Unityはすべて元の場所に戻りました。

また、linux *を削除してみました。これにより、マシンを起動できなくなりましたが、ライブのUbuntuディスクから起動するだけでマージが行われるように見えました。再起動すると、システムは「フリーズ」状態のままになりました

変更を加えられるようにしたい場合は、rw特権でスナップショットを(再)マウントしてから、それにchrootして、永続的なままにしたい変更を加えることができます。これは完璧ではありませんが、概念実証です。


1

デフォルトでは、Ubuntuおよび他のほとんどのUnicesは、通常のユーザー(学生、ゲスト)によるシステムファイルへの書き込みアクセスを拒否します。適切な権限(ユーザー名とキー)を持つ管理者だけが、ソフトウェアのインストール、システム設定の変更、またはパーティションの削除を行うことができます。

通常のユーザーは、デフォルトでは、ホームディレクトリとシステムの一時ディレクトリにのみ書き込むことができます。ワンタイムゲストセッションを処理する一般的な方法は、ホームディレクトリを一時ディレクトリ内に配置し、一時ディレクトリをメインメモリに配置することです。

さらに確認したい場合は、システムパーティションを読み取り専用でマウントし、メインメモリに変更を保存するaufsパーティションをその上に置きます。


1

fsprotectは、既存のファイルシステムを保護するスクリプトのセットです。fsprotectは、図書館やインターネットカフェなどの公共のコンピューターに最適です。

aufsを使用して、tmpfsファイルシステムをパックし、変更をtmpfsファイルシステムに強制的に書き込みます。

ルートファイルシステムは、initramfsスクリプトによって保護されています。他のファイルシステムは、initスクリプトによって保護されています。保護されているすべてのファイルシステムは読み取り専用になり、電源を切っても不変になります。

現在サポートされているすべてのバージョンのUbuntuにfsprotectをインストールするには、ターミナルを開いて次のように入力します。

sudo apt-get install fsprotect

fsprotectを使用する利点は次のとおりです。

  • ファイルシステムは保護されており、ディスクに変更が書き込まれることはありません。
  • 保護されたファイルシステムは読み取り専用でマウントされます。これは、コンピューターの電源が不適切に切られても損傷しないことを意味します。
  • とても使いやすいです。
  • 場合によっては、ファイルシステムへのアクセスが高速になります。

fsprotectを使用する欠点は次のとおりです。

  • ファイルシステムの変更は、事前に定義されたバイト単位の制限(ユーザーが設定)を超えることはできません。
  • tmpfsは頻繁に使用されるため、十分なスワップ領域が必要です。

Ubuntu 16.04.2でインストールが失敗する 問題はtouch、initramスクリプトでの不適切な参照です。を指すので/usr/bin/touchはなく/bin/touch。これは強制的に機能させることができますが、インストールされている場合でも、ネットワークは機能しなくなります。
b_laoshi 2017

ネットワークが機能しなくなったのは、不良カーネルまたはヘッダーファイルのないカーネルを使用していることが原因である可能性があります。コンピューターが再起動したら、製造元のスプラッシュ画面が消えるまで待ってから、Shiftキーを押してGRUBブートオプションを表示します。紫色のGRUB画面から、Ubuntuの詳細オプションを選択し、Enterキーを押します。カーネルのリストを示す新しい紫色の画面が表示されます。別のカーネルを選択して、Enterキーを押します。
karel

これは、実質的にすべての更新を伴う新規インストールです。古いカーネルを試してみたところ、最初はネットワークで起動しましたが、fsprotectが古いカーネルにバンドルされていないことに気付きました。すべてのカーネルを更新しましたが、どちらのカーネルから起動してもネットワークがありません。
b_laoshi 2017

1
grubからfsprotectオプションを削除し、initramfsを更新すると、もちろんfsprotectが無効になり、ネットワークが再び機能します。明らかに、ネットワークを破壊しているのはfsprotectの何かです。
b_laoshi 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.