RAMに書き込み可能なレイヤーを備えた読み取り専用Linuxシステムの構築

RAMに書き込み可能なレイヤーを備えた読み取り専用Linuxシステムの構築

RAMにのみ書き込み可能なレイヤーを持つ読み取り専用モードでRHEL 6.6 / 7.0を起動する必要があります。私はこれがファイルシステムは読み取り専用ですが、一部はRAMにロードされたときに書き込むことができるLive CDと同様に動作すると思います。ここでファイルシステムに書き込まれたすべての変更は、再起動時に失われます(書き込み可能なレイヤではRAMのみが更新されるため)。

Webを検索している間、既存のインストール済みシステムでこのプロセスをエミュレートできるように、ヘルプツールなしで私の「ライブCD」を構成する方法に関するガイドがまだ見つかりませんでした。

独自のライブCDを作成したり、RAMにのみ書き込み可能なレイヤーを持つ読み取り専用Linuxを作成するために必要なリソースをどこで入手できるかを知っていますか?

答え1

いいですね。 SDカードには、読み取り/書き込みスイッチを読み取り専用モードに設定できる読み取り専用システムが動作しています。ここでもう一度ステップを探して、これが他の人に役立つことを願っているので、私の質問に答えます。 Red Hat Enterprise Linux 6.6システム

では、さまざまなディレクトリを読み取り専用に設定している/etc/fstab間にこのファイルが見つかりました/etc/sysconfig/readonly-root。これにより、ファイルの目的に関連する補助情報に興味が生じました。つまり、ファイルには " READONLY=no"1行が含まれています。この行を変更すると、ほとんどのルートファイルシステムが読み取り専用で自動的にマウントされ、個々のディレクトリに必要な書き込みは保持されます(ディレクトリとファイルはtmpfsとしてマウントされます)。私が変更しなければならなかった唯一の変更は/home/rootおよび他のいくつかのディレクトリをそのディレクトリを介して書き込むことができるようにし、/etc/rwtab.d/ etc / fstabを変更してルートファイルシステムを読み取り専用でマウントすることでした(defaultsルートの ""を" "に変更ro)。READONLY=yesファイルに ""を設定し、変更とともに必要な/etc/sysconfig/readonly-root書き込み可能ディレクトリを設定すると、システムは読み取り専用でロードされますが、書き込み可能ディレクトリはRAMにロードできます。詳細については、私が使用したリソースは次のとおりです。/etc/rwtab.dfstab

また、Red Hat Enterprise Linux 7.0で迅速な確認を行いましたが、ファイルはまだそのまま動作しています。私のテスト環境は、仮想マシンのCentOS 6.6と7.0とVMEシングルボードコンピュータのRHEL 6.6と7.0です。

注:ルートが読み取り専用の場合、ルートシステムは変更できません。たとえば、yum を使用してパッケージをインストールし、再起動後もパッケージを保持することはできません。したがって、読み取り専用ルートを中断するためにrhgbとQuietを削除するgrubラインを追加します(これはブート問題のデバッグにのみ使用され、必要に応じて維持できます)init=/bin/bash。これにより端末に入ることができます。端末に到達したら、" mount - / -oremount,rw"と入力してシス​​テムを書き込み可能にします。書き込み可能になったら、""に修正(使用vim)してシステムを再起動しました。これにより、読み取り専用をオフにしてシステムメンテナンスを実行できます。私のようにSDカードを使用している場合は、SDカードの読み取り/書き込みスイッチを書き込み可能に設定する必要があります。/etc/sysconfig/readonly-rootREADONLY=no

答え2

はい、Live CDの機能と同じです。これは、複数のファイルシステムを重ね合わせるように設計された特殊なファイルシステムドライバを使用して行われます。この場合は、RAMディスクを持つ読み取り専用ファイルシステムです。

ファイルシステムオーバーレイにはさまざまなオプションがあります。 UnionFS、aufs、およびoverlayfsを検索して、オプションが何であるか、それらの間の長所と短所が何であるかを確認します。

答え3

Kinetic Arcによって提供された回答にフォローアップするには、後続の再起動時にシステムを変更するより簡単な方法は、カーネルコマンドラインに「noreadonly」を追加することです。これを頻繁に実行すると予想されない場合は、単にグラブをキャプチャして手動で追加するだけで十分です。読み取り専用システムを開発する際に、grub.confにエントリを追加し、時間制限を少し増やしました。システムイメージの開発が完了したら、イメージ展開前にそのアイテムを取り出します。

関連情報