Глубокое замораживание, как программное обеспечение для Fedora

Для одной из моих лабораторий мне необходимо поддерживать согласованные файловые системы. Поэтому я не хочу, чтобы какие-либо изменения записывались в файловую систему после выключения системы. В настоящее время я поддерживаю образ операционной системы и копирую ее вручную после завершения лабораторного сеанса.

Я пытаюсь выяснить, существует ли какая-либо реализация программного обеспечения Deep Freeze с открытым исходным кодом для систем на базе Fedora. Я пытаюсь поддерживать согласованную файловую систему, чтобы любые изменения были потеряны при перезагрузке системы.

Из этой ссылки я вижу, что есть аналогичное программное обеспечение для Deep Freeze, однако они доступны для систем на базе Debian. Я также столкнулся с разделами LVM, которые я не очень понял.

Предложите мне какое-то программное обеспечение, которое можно использовать в системах на базе Fedora или какое-то другое лучшее решение.

3 Solutions collect form web for “Глубокое замораживание, как программное обеспечение для Fedora”

Вы можете настроить aufs в корневом разделе и иметь только исходное изображение, и все изменения сохраняются в ОЗУ. Таким образом, учащиеся могут вносить любые изменения, которые им нравятся (даже с правами root), после перезагрузки восстанавливается чистое корректное состояние системы.

Я сделал именно эту настройку с помощью Debian, но то же самое должно быть возможно без слишком большой модификации на Fedora. Поскольку клиенты работали без дисков, я использовал загрузку PXE. Вот основные шаги, инструкции в основном взяты из загрузки Diskless Debian Linux с помощью dhcp / pxe / nfs / tftp / aufs и установки Debian с использованием сетевой загрузки .

Загрузочный сервер PXE имеет IP-адрес 192.168.1.10, а также служит сервером TFTP и NFS. Он использует aufs, а корневая файловая система монтируется только для чтения. Из-за того, что у клиентов есть доступ на запись. Все изменения хранятся в памяти и стираются при перезагрузке.

Установка необходимых пакетов

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

Настройте DHCP-сервер для загрузки образа загрузки 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 

Это настраивает DHCP для использования TFTP-сервера по адресу 192.168.1.10 и загрузки загрузочного образа 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> # eg 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 

Настройте его initramfs для создания NFS-загрузочных initrds:

 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) правильное ядро, если это необходимо.

Скопируйте сгенерированный 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 

Во-первых, скопируйте файлы из папки /home/USERNAME (папка USERNAME, которую используют студенты) , к чему-то вроде /home/backup . Вы можете сделать это с помощью:

 cp -R /home/USERNAME/TEMPFILES /home/backup/BACKUPFILES 

где TEMPFILES – это папка с материалами, к которым студенты должны иметь доступ, и где BACKUPFILES является резервной копией папки в другом месте. Примечание: это означает, что было бы полезно, чтобы все материалы находились в папке, например TEMPFILES , INSIDE в домашнем каталоге, так как вы не можете реально делать это в папке с фактическим домашним каталогом

Чтобы убедиться, что ученики не могут получить к ним доступ, вы можете захотеть, чтобы они принадлежали root, запустив:

 sudo chown -R root:root /home/backup/BACKUPFILES 

Откройте nano-редактор с помощью sudo nano /etc/rc.local и добавьте эти команды в rc.local .

 rm -rf /home/USERNAME/TEMPFILES cp -r /home/backup/BACKUPFILES /home/USERNAME/TEMPFILES 

Эти команды будут запускаться при загрузке с правами root – сначала вы можете протестировать их в терминале с префиксом sudo .. , чтобы проверить, работают ли они.

Если rc.local пуст, начните с него, добавьте в эту строку вверху:

 #!/bin/sh -e 

и эта линия была внизу:

 exit 0 

сохранить с помощью Ctrl + O и выйти с помощью Ctrl + X.

Затем сделайте файл исполняемым, поэтому он будет запускать команды, используя:

 sudo chmod +x /etc/rc.local 

Перезагрузитесь, и он должен работать.

Если у него есть ошибки разрешений, вам может потребоваться добавить эту команду под командой cp... чтобы файлы, принадлежащие USERNAME , могли получить ученики:

 sudo chown USERNAME:USERNAME /home/USERNAME/TEMPFILES 

Если вы посмотрите на сайт alternativesto.net, есть 3 приложения, перечисленные в качестве альтернативы Deep Freeze .

ПРИМЕЧАНИЕ. У меня нет опыта в использовании каких-либо из этих инструментов, поэтому я не могу предоставить вам дополнительную информацию о том, как они работают и т. Д. Я могу предоставить вам только эти данные.

Лето

Lethe – программа для замораживания разделов с замораживанием в стиле замораживания для Debian GNU / Linux и Lihuen GNU / Linux (может работать с другими дистрибутивами GNU / Linux на базе Debian). Lethe заставляет разделы вести себя как Live CD: все изменения, внесенные в файловую систему, не будут сохранены на диске, но в ОЗУ и когда система перезагрузится, все содержимое, сохраненное в предыдущем сеансе, будет «забыто» и потеряно, а диск / разделы восстанавливаются в исходное состояние.

Lethe основан на Rootaufs, первоначально написанном Николасом Шембри, которому мы должны поблагодарить за публикацию сценария под лицензией GPL и сделать это приложение возможным.

Также есть видео на YouTube, озаглавленное: « Замораживание Linux Ubuntu System With Lethe», которая демонстрирует, как это работает.

fsprotect

fsprotect – это набор скриптов, настроенных для дебианских систем, которые защищают существующие файловые системы.

Он использует файловую систему AUFS и некоторую магию initramfs для защиты корневой файловой системы. Он также использует простой скрипт инициализации для защиты других файловых систем как можно раньше.

fsprotect отлично подходит для общедоступных компьютеров, таких как библиотеки, лаборатории и т. д. Это облегчит жизнь всем администраторам с помощью нескольких простых шагов.

Преимущества использования fsprotect:

  • Файловые системы защищены и никаких изменений не записывается на диск
  • Защищенные файловые системы монтируются только для чтения. Это означает, что они не повреждены, когда компьютер выключен неправильно.
  • Он очень прост в использовании. Просто добавьте параметр «fsprotect» в ядро ​​для корневой файловой системы и укажите файловые системы, которые необходимо защитить в / etc / default / fsprotect.
  • В некоторых случаях это ускоряет доступ к файловой системе.

Недостатки использования fsprotect:

  • Изменения файловой системы не могут превышать предопределенный лимит (установленный вами) (в байтах).
  • Поскольку tmpfs сильно используется, вам необходимо иметь соответствующее пространство подкачки.

Dafturn Ofris

Dafturn Ofris, Freeze из Индонезии – это приложение с открытым исходным кодом, которое может заморозить ваш Linux, например Deep Freeze в операционной системе Microsoft Windows. Таким образом, вы можете заблокировать свою систему, используя это приложение. Не стесняйтесь и открывайте это приложение.

Я нашел этот довольно хороший обзор и обсуждение использования Ofris, он называется: [КАК] Deep Freeze Xubuntu с Ofris .

  • Почему я получаю ошибку несуществующего класса в PHP на Fedora?
  • Оптимизировать команду yum
  • Как получить графику, работающую с Linux, в моем блоке Bruswell NUC?
  • Проблема с установкой fedora 17 в usb
  • Как запустить скрипт при запуске до того, как сетевое взаимодействие включено?
  • Почему обновления, которые были перенесены в исходные версии обновлений тестирования Fedora, были невидимыми?
  • Включение htop в виджет
  • Gnome показывает рабочее пространство перед отображением экрана входа в систему
  • TigerVNC Cinnamon сеанс на Fedora 17
  • отсутствует gnome-mplayer в fedora 25
  • Использование FC 19 - Как я могу взаимодействовать с очень длинными меню?
  • Interesting Posts

    Как найти версию Java в установленной папке Java?

    Как я могу сохранить прокручиваемое окно терминала (RoxTerm) в изображение PNG?

    Как объединить данные из многих файлов в один файл?

    Изменить расположение мониторов с несколькими мониторами

    Как получить RUSER и EUSER процесса (FreeBSD)

    Почему GNU Indent делает то, что кажется нарушением правил?

    Почему последняя функция, выполняемая в конвейере сценария оболочки POSIX, не сохраняет значения переменных?

    Ошибка Debconf в системе с systemd

    mdadm – Создание RAID1 в LiveUSB не сохраняется при повторной загрузке

    Удалены ли удаленные тома LUKS локально с помощью sshfs, видимых для удаленных пользователей?

    Как установить вино с .NET framework вместо моно?

    Невозможно найти отсутствующие разделы root / sda

    Что случилось с этим правилом udev?

    Как найти подходящий «командный символ» для экрана GNU?

    Массовый файл + папка + перемещение каталога

    Linux и Unix - лучшая ОС в мире.