GNU/Linux >> Belajar Linux >  >> Fedora

Linux – Deep Freeze Seperti Perangkat Lunak Untuk Fedora?

Untuk salah satu lab saya, saya perlu mempertahankan sistem file yang konsisten. Jadi, saya tidak ingin ada perubahan yang ditulis ke sistem file setelah sistem dimatikan. Saat ini, saya memelihara citra sistem operasi dan menyalinnya secara manual setelah sesi lab selesai.

Saya mencoba mencari tahu apakah ada implementasi open source Deep Freeze perangkat lunak untuk sistem berbasis Fedora. Saya mencoba mempertahankan sistem file yang konsisten sehingga setiap perubahan yang dibuat akan hilang saat sistem di-boot ulang.

Dari tautan ini, saya melihat ada perangkat lunak yang mirip dengan Deep freeze, namun tersedia untuk sistem berbasis Debian. Saya juga menemukan partisi LVM yang tidak terlalu saya pahami.

Sarankan saya beberapa perangkat lunak yang dapat digunakan dalam sistem berbasis Fedora atau solusi lain yang lebih baik.

Jawaban yang Diterima:

Anda dapat mengatur auf di partisi root dan membuat gambar asli hanya dapat dibaca dan semua perubahan disimpan dalam RAM. Dengan begitu siswa dapat membuat perubahan apa pun yang mereka suka (bahkan sebagai root), setelah reboot, status sistem yang terdefinisi dengan baik akan dipulihkan.

Saya melakukan pengaturan ini dengan tepat menggunakan Debian tetapi hal yang sama harus dimungkinkan tanpa terlalu banyak modifikasi pada Fedora juga. Karena klien menjalankan diskless, saya menggunakan boot PXE. Berikut adalah langkah-langkah dasarnya, instruksi terutama diambil dari booting Diskless Debian Linux melalui dhcp/pxe/nfs/tftp/aufs dan Menginstal Debian menggunakan booting jaringan.

Server boot PXE memiliki alamat IP 192.168.1.10 dan juga berfungsi sebagai server TFTP
dan NFS. Ini menggunakan aufs dan sistem file root dipasang hanya-baca. Karena
kepada auf, klien memiliki akses tulis. Semua perubahan berada di memori dan
dihapus saat reboot.

Instal paket yang diperlukan

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

Konfigurasikan server DHCP untuk menyajikan citra boot PXE

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

Ini mengkonfigurasi DHCP untuk menggunakan server TFTP pada alamat 192.168.1.10 dan muat gambar boot PXE pxelinux.0 .

Konfigurasikan server TFTP

mkdir /srv/tftp

Konfigurasikan server NFS.

Sistem file root dipasang hanya baca melalui NFS.

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

Mengisi direktori NFS dengan instalasi Debian

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

Instal alat kernel dan initramfs:

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

Konfigurasi initramfnya untuk menghasilkan initrd booting NFS:

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

Muat aufs modul:

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

Konfigurasikan 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

Jadikan file tersebut dapat dieksekusi:

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

Hasilkan initrd:

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

Hati-hati jika kernel host dan chroot tidak cocok. Ganti $(uname -r) dengan kernel yang benar jika perlu.

Terkait:Linux – Di mana semaphore bernama disimpan??

Salin initrd, image kernel, dan bootloader PXE yang dihasilkan ke root TFTP dan
buat folder untuk konfigurasi 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

File pxelinux.0 adalah program bootstrap PXELINUX.

Konfigurasikan pemuat boot:

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

Ubah kata sandi root

chroot /srv/nfsroot passwd root

Mulai ulang layanan

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

Fedora
  1. Distro Linux untuk seniman digital

  2. 5 Perangkat Lunak Pencadangan Data Teratas untuk Linux

  3. 5 Perangkat Lunak Virtualisasi Sumber Terbuka Teratas untuk Linux

  1. 5 Bahasa Teratas untuk Otomasi di Linux

  2. FreeCAD – Perangkat Lunak Pemodelan dan Desain 3D untuk Linux

  3. 11 Perangkat Lunak CAD Terbaik untuk Linux

  1. 5 Lingkungan Pengembangan Teratas untuk Linux

  2. Linux – Deep Freeze Seperti Perangkat Lunak Untuk Fedora?

  3. Perangkat Lunak Lukisan Terbaik untuk Linux