GNU/Linux >> Linux の 問題 >  >> Fedora

Linux – Fedora用のソフトウェアのようなディープフリーズ?

私のラボの1つでは、一貫したファイルシステムを維持する必要があります。したがって、システムのシャットダウン後にファイルシステムに変更を書き込みたくありません。現在、オペレーティングシステムのイメージを維持しており、ラボセッションの終了後に手動でコピーしています。

Deep Freezeのオープンソース実装があるかどうかを調べようとしています Fedoraベースのシステム用のソフトウェア。システムの再起動時に行われた変更が失われるように、一貫性のあるファイルシステムを維持しようとしています。

このリンクから、ディープフリーズに似たソフトウェアがあることがわかりますが、Debianベースのシステムで利用できます。また、あまり理解していないLVMパーティションに出くわしました。

Fedoraベースのシステムまたは他のより良いソリューションで使用できるソフトウェアをいくつか提案してください。

承認された回答:

ルートパーティションにaufsを設定し、元のイメージを読み取り専用にし、すべての変更をRAMに保存することができます。そうすれば、生徒は(rootとしても)好きな変更を加えることができ、再起動後、明確に定義されたクリーンなシステム状態が復元されます。

私はDebianを使用してこのセットアップを正確に行いましたが、Fedoraでもあまり変更を加えなくても同じことが可能であるはずです。クライアントはディスクレスで実行されていたため、PXEブートを使用しました。基本的な手順は次のとおりです。手順は主に、dhcp / pxe / nfs / tftp /aufsを介してディスクレスDebianLinuxを起動し、ネットワークブートを使用してDebianをインストールすることから取得されます。

PXEブートサーバーのIPアドレスは192.168.1.10で、TFTP
およびNFSサーバーとしても機能します。 aufsを使用し、ルートファイルシステムは読み取り専用でマウントされます。
aufsにより、クライアントは書き込みアクセス権を持っています。すべての変更はメモリに常駐し、
再起動時に消去されます。

必要なパッケージをインストールする

apt-get install isc-dhcp-server tftp-hpa nfs-kernel-server debootstrap syslinux

PXEブートイメージを提供するようにDHCPサーバーを構成する

cat >/etc/dhcp/dhcpd.conf <<EOF
next-server 192.168.1.10;  # address of the TFTP server
allow bootp;
allow booting;

subnet 192.168.1.0 netmask 255.255.255.0 {
  # clients get a dynamic IP address
  range dynamic-bootp 192.168.1.20 192.168.1.254;
  filename "pxelinux.0";
  option domain-name-servers 192.168.0.10;
  option broadcast-address 192.168.1.255;
  option routers 192.168.0.10;
}
EOF

これにより、アドレス192.168.1.10でTFTPサーバーを使用するようにDHCPが構成されます。 PXEブートイメージpxelinux.0をロードします 。

TFTPサーバーの構成

mkdir /srv/tftp

NFSサーバーを構成します。

ルートファイルシステムは、NFSを介して読み取り専用でマウントされます。

mkdir /srv/nfsroot
cat >/etc/exports <<EOF
/srv/nfsroot 192.168.1.10/24(ro,no_root_squash,no_subtree_check)
EOF

NFSディレクトリにDebianインストールを追加

debootstrap stable /srv/nfsroot <mirror>
# e.g.
debootstrap stable /srv/nfsroot 
  http://ftp.sunet.se/pub/Linux/distributions/debian/

カーネルとinitramfsツールをインストールします:

chroot /srv/nfsroot apt-get update
chroot /srv/nfsroot apt-get install initramfs-tools linux-image-amd64

NFSブートinitrdを生成するようにinitramfsを構成します:

sed 's/BOOT=local/BOOT=nfs/' 
  -i /srv/nfsroot/etc/initramfs-tools/initramfs.conf

aufsをロードします モジュール:

echo aufs >> /srv/nfsroot/etc/initramfs-tools/modules

aufsを構成します :

cat >/srv/nfsroot/etc/initramfs-tools/scripts/init-bottom/aufs <<EOF
modprobe aufs
mkdir /ro /rw /aufs
mount -t tmpfs tmpfs /rw -o noatime,mode=0755
mount --move $rootmnt /ro
mount -t aufs aufs /aufs -o noatime,dirs=/rw:/ro=ro
mkdir -p /aufs/rw /aufs/ro
mount --move /ro /aufs/ro
mount --move /rw /aufs/rw
mount --move /aufs /root
exit 0
EOF

ファイルを実行可能にします:

chmod +x /srv/nfsroot/etc/initramfs-tools/scripts/init-bottom/aufs

initrdを生成します:

chroot /srv/nfsroot update-initramfs -k $(uname -r) -u

ホストのカーネルとchrootが一致しないかどうかに注意してください。 $(uname -r)を置き換えます 必要に応じて正しいカーネルを使用します。

関連:Linux –名前付きセマフォはどこに保存されますか?

生成されたinitrd、カーネルイメージ、およびPXEブートローダーをTFTPルートにコピーし、
PXE構成用のフォルダーを作成します。

cp /srv/nfsroot/boot/initrd.img-* /srv/tftp/
cp /srv/nfsroot/boot/vmlinuz-*    /srv/tftp/
cp /usr/lib/syslinux/pxelinux.0   /srv/tftp/
mkdir /srv/tftp/pxelinux.cfg

ファイルpxelinux.0 PXELINUXブートストラッププログラムです。

ブートローダーの構成:

cat >/srv/tftp/pxelinux.cfg/default <<EOF
default Debian
prompt 1
timeout 10
label Debian
kernel vmlinuz-2.6.32-5-amd64  # <- use correct version!
append ro initrd=initrd.img-2.6.32-5-amd64 root=/dev/nfs ip=dhcp 
nfsroot=192.168.1.10:/srv/nfsroot
EOF

rootパスワードの変更

chroot /srv/nfsroot passwd root

サービスを再開する

invoke-rc.d isc-dhcp-server restart
invoke-rc.d tftpd-hpa restart
exportfs -ra

Fedora
  1. デジタルアーティスト向けのLinuxディストリビューション

  2. Linux用のトップ5データバックアップソフトウェア

  3. Linux用のトップ5オープンソース仮想化ソフトウェア

  1. Linuxの自動化のためのトップ5言語

  2. Linuxのトップ5開発環境

  3. Linux用のトップ6無料CADソフトウェア

  1. Linux – Fedora用のソフトウェアのようなディープフリーズ?

  2. FreeCAD –Linux用の3Dモデリングおよび設計ソフトウェア

  3. Linux用の11の最高のCADソフトウェア