Ubuntu için Derin Dondurucu benzeri bir uygulama var mı?


10

Linux için Deep Freeze'e hala geliştirilmekte olan bir alternatif olup olmadığını bilmek istiyorum, çünkü internette bazı şeyler okudum ve Deep Freeze'i geliştiren aynı şirkete benziyor, ancak proje durduruldu.


Bunu neden istiyorsun? Yalnızca root olmayan kullanıcıların sistem dosyalarını değiştirmesine izin vermeyin.
David Foerster

@DavidFoerster Yorumu açıklamak için soruyu yeni düzenledim.
Zignd

Merhaba, bu alternatif

2
Ubuntu'daki normal (kutudan çıkan) "konuk" kullanıcılar anında (son?) Ubuntu oluşturuldu, evlerine /tmpgirdiler ve çıkıştan sonra temizleniyor ... Bu yeterli değil mi?
Mart'ta Rmano

Yanıtlar:


8

OFRIS, Linux'unuzu dondurabilen açık kaynaklı bir uygulamadır, Microsoft Windows işletim sisteminde Deep Freeze gibidir.

Ubuntu sürüm 9.10, 10.04 ve 10.10 için. OFRIS'i kurmak için klavyenizdeki Ctrl+ Alt+ tuşlarına basarak TTerminal'i açın. Açıldığında, aşağıdaki komutları çalıştırın:

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

Ubuntu sürüm 11.04, 11.10, 12.04 ve 13.04 için. OFRIS'i kurmak için klavyenizdeki Ctrl+ Alt+ tuşlarına basarak TTerminal'i açın. Açıldığında, aşağıdaki komutları çalıştırın:

[KOPYA-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

Aşağıdaki resim 13.04'te çalışan OFRIS'i göstermektedir

resim açıklamasını buraya girin

Kaynak: XGeek


Bunu 15.10'da kurdum ve 3'e basarak Freeze uyguladım, sistemin donmuş modda olduğunu doğruladım. Sonra yeniden başlattım, ben bir dosya / var / tmp / myname değeri ile yaptı, sonra tekrar ben yeniden başlattım ama yine de dosya var. Bu nasıl donuyor?

Tam olarak ne demek istiyorsun? Ayrıca bunun 15.10'da çalışıp çalışmadığını kontrol etmem gerekiyor. Sistemin donması her şeyi dondurulmadan önceki haline döndürüyor. Lütfen bana haber ver.
Mitch

3

Uyarı: Bu çözümü uyguladım ve işe yarıyor, ancak anlık görüntüye geri dönmek için birleştirme süreleri, son önyükleme sırasında sistemde büyük değişiklikler yapılırsa önyükleme işleminin uzun sürebilir. Bu bekleme süresi boyunca, kullanıcılara sistemin askıda olduğu görülebilir!

Ayrıca anlık görüntüyü monte etmek için yeterli bilgiye sahip olan herkesin "donmuş" durumda değişiklik yapabileceğine dikkat edin. Ben "dondurulmuş" sistemleri güncellemek için bu olasılık yararlandı, ama yine, bu da anlık görüntüyü birleştirmek (geri dönmek) için gereken süreyi artırabilir!


LVM anlık görüntüleri + cron + script = "dondurulmuş" durum

Kısa süre önce LVM'ye girmeye başladım ve birisinin LVM ve anlık görüntü yeteneklerini kullanarak bir makinede mümkün olduğunca "dondurulmuş" bir durum oluşturabileceği ortaya çıktı. Tabii ki, bu yöntem LVM (veya en azından dondurulacak bölümlerde LVM) kullanılarak yapılandırılmış bir sistem gerektirir.

Özet:

  • Anlık görüntü için bir PV üzerinde yeterli yer ayırarak LVM bölümlerine sistem kurun
  • Sistemi istediğiniz şekilde yapılandırın.
  • Anlık görüntüyü birleştirmek için önyükleme sırasında kök olarak çalışan bir cron işi oluşturun ve birleştirilmiş olanı değiştirmek için yeni bir anlık görüntü oluşturun
  • Art arda tüm yeniden başlatmalar anlık görüntüye geri döner. Oluşturulan tüm anlık görüntüler, sistemi oluşturduğunuz durumda alınır.
  • Ek bir avantaj olarak, anlık görüntü takılabilir ve değiştirilebilir (kök ayrıcalıklarına sahipseniz) ve gerekirse "dondurulmuş" durumu güncellenebilir.

Kavramın ispatı: Temiz bir kurulumdan bir bölüm hariç her şeyi dondurun

Kurulum:

  • Canlı bir Ubuntu disk / USB'den önyükleme yapın ve "Ubuntu'yu yüklemeden deneyin" seçeneğini seçin. LVM ile bölümleri manuel olarak yapılandırmak için bu önemlidir
  • Ubuntu, diskinizi istediğiniz aracı kullanarak bölüm yüklediğinde, sürücünün tüm alanını kaplayan bir bölüme sahip olmasını sağlar. İşte bununla çalışıyorum:
    • /dev/sda (boyut 1T)
      • /dev/sda1 (boyut 1T)
  • Sonraki terminalde LVM'yi açın /dev/sda1. Sistemin çoğunu tek bir bölüme koyacağım, ama zorunda kalmazsınız.
    • 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
  • Şimdi çalıştırabilen olsaydı sudo vgsizledisudo lvs serbest alan miktarı hacim grubu "ubuntu-VG" (VFree VGS çıktı altında) mantıksal hacim ile alınan alan miktarına eşittir sol olduğunu görmek gerekir size "kök "(Lvs çıkışı altında LSize). Benim durumumda, ubuntu-vg'de 506.44g ücretsizim var ve kök bölümüm 506.44g büyüklüğünde. Birim grubunda kalan boş alan, dondurmak istediğim bölümün boyutuna eşitse, tüm bölümü silebilir ve yine de yeniden başlatma ile kurtarabilirim. Ubuntu-vg'deki boş alanın geri kalanını şimdilik kullanmayın. Daha sonra kullanacağız.
  • Şimdi manuel bölümlemeyi kullanarak Ubuntu'yu yükleyin resim.png
  • Yükleme tamamlandığında devam edin ve yeni yüklenen sistemi yeniden başlatın.
  • Yeni sisteminize önyükleme yaptıktan sonra, bilgisayar her seferinde önyüklendiğinde olmasını istediğiniz şekilde yapılandırın.
    • Anlık görüntüde yanlışlıkla değişiklik yapmazsanız ve anlık görüntü bölümünün menü çubuğunda görünmesini istemiyorsanız ...
      • mkdir /steady
      • Düzenleme /etc/fstab(Hepsi bir çizgidir) eklenerek /dev/ubuntu-vg/steadystate /steady ext4 defaults,ro,nofail 0 1dosyanın son satırı olarak
    • Güncellemeler gibi şeyler her yeniden başlatmayla patlayacağından, bunları kapatmak isteyebilirsiniz.
    • Benimki gibi dondurulmamış bir bölümünüz varsa / dondurulmamışsa, bu bölüme erişmesi gereken kullanıcılar tarafından erişilebilir olmasını unutmayın.
  • Sistemi tam olarak istediğiniz şekilde yapılandırdıktan sonra, aşağıdaki komut dosyasını oluşturun (kök ayrıcalıklarına ihtiyacınız olacak) ve /root/steadystate.shfavori düzenleyiciniz gibi kaydedin. LVM'yi ayarlarken birim grubu adını değiştirdiyseniz, bunu aşağıdaki komut dosyasında da güncellemeniz gerektiğini unutmayın.
    #!/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
  • Son olarak çalıştırın sudo crontab -e, bir düzenleyici seçin ve @reboot /bin/bash /root/steadystate.shdosyanın sonuna koyun . Kaydet ve kapat ( Ctrl+ X; Ykaydetmek için cevapla )
  • Yeniden başlatın ve dondurulmuş / dondurulmuş bir sistem dışında dondurulmuş bir sisteminiz olmalıdır.

Anlık görüntü önyükleme zamanında oluşturulduğundan ve anlık görüntüyü bundan hemen sonra birleştirmek için komut iletmemize rağmen, kök için mantıksal birim etkinken anlık görüntü birleştirilemez. Bu nedenle, bir sonraki yeniden başlatma işleminde olan bir sonraki / dev / ubuntu-vg / root etkinleştirilene kadar birleştirme eylemini erteler. Bu eylem, sistem canlı bir USB'den önyüklenirse de tetiklenir.

Sadece tekmeler için, bir önyüklemeden sonra gittim ve sudo apt remove --purge firefox* libreoffice-* unity*normalde yapmayı tavsiye etmeyeceğim, çünkü bazı yararlı programları kaldırır ve sistemi daha az arzu edilen bir duruma sokar! broken.png Sistem GUI'den düzgün bir şekilde kapanmayacaktı. Peki biri bunu nasıl düzeltir? Yeniden Başlatma! rebooted.png Yeniden başlatıldıktan sonra her şey yolundaydı. Firefox, LibreOffice ve Unity ait oldukları yere geri döndüler.

Linux * 'u da kaldırmayı denedim. Bu makineyi önyükleyemedi, ancak canlı bir Ubuntu diskinden önyükleme birleştirme işlemini gerçekleştiriyor gibi görünüyordu. Yeniden başlatıldığında sistem "donmuş" durumunda bırakıldı

Değişiklik yapmak istiyorsanız, anlık görüntüyü rw ayrıcalıklarıyla (yeniden) bağlayabilir ve daha sonra bu görüntüye bağlanıp kalıcı kalmak istediğiniz değişiklikleri yapabilirsiniz. Bu kusursuz değil, ama bir kavram kanıtı.


1

Varsayılan olarak Ubuntu ve diğer birçok Unice, normal kullanıcıların (öğrenciler, konuklar) sistem dosyalarına yazma erişimini engeller. Yalnızca uygun yetkiye (kullanıcı adı ve anahtar) sahip bir yönetici yazılımı yükleyebilir, sistem ayarlarını değiştirebilir veya bölümleri silebilir.

Normal kullanıcılar varsayılan olarak yalnızca ana dizinlerine ve sistemin geçici dizinine yazabilir. Bir kerelik konuk oturumlarını işlemenin yaygın bir yolu, ana dizinlerini geçici dizine ve geçici dizini ana belleğe koymaktır.

Daha fazla emin olmak istiyorsanız, sistem bölümünü salt okunur olarak monte edin ve ana bellekte değişiklikleri depolayan bir aufs bölümü yerleştirin.


1

fsprotect mevcut dosya sistemlerini koruyan bir dizi betiktir. fsprotect, kütüphaneler, internet kafeler vb. gibi genel bilgisayarlar için mükemmeldir.

Aufs kullanarak, tmpfs dosya sistemine değişiklik yapılmasını zorlayan bir tmpfs dosya sistemi paketliyorlar.

Kök dosya sistemi bir initramfs betiği ile korunmaktadır. Diğer dosya sistemleri bir init betiği ile korunur. Tüm korumalı dosya sistemleri, salt kapanmalarda bile değişmezliklerini sağlamak için salt okunur hale gelir.

Fsprotect'i şu anda desteklenen tüm Ubuntu sürümlerine kurmak için terminali açın ve şunu yazın:

sudo apt-get install fsprotect

Fsprotect kullanmanın faydaları:

  • Dosya sistemleri korunur ve diske hiçbir değişiklik yazılmaz.
  • Korumalı dosya sistemleri salt okunur olarak monte edilir. Bu, bilgisayar yanlış kapatıldığında zarar görmedikleri anlamına gelir.
  • Kullanımı çok kolaydır.
  • Bazı durumlarda dosya sistemine daha hızlı erişim sağlar.

Fsprotect kullanmanın sakıncaları:

  • Dosya sistemi değişiklikleri bayt cinsinden (sizin tarafınızdan belirlenen) önceden tanımlanmış bir sınırdan fazla olamaz.
  • Tmpfs yoğun olarak kullanıldığından, yeterli takas alanına sahip olmanız gerekir.

Ubuntu 16.04.2'ye kurulum başarısız. Sorun, touchbir initram komut dosyasında kötü bir başvurudır. Bunun /usr/bin/touchyerine işaret eder /bin/touch. Bu çalışmaya zorlanabilir, ancak kurulduğunda bile ağ çalışmayı durdurur.
b_laoshi

Ağın çalışmayı durdurması, kötü bir çekirdek veya başlık dosyaları olmayan bir çekirdek kullanmanız olabilir. Bilgisayar yeniden başlatıldığında, üreticinin açılış ekranı kaybolana kadar bekleyin, ardından GRUB önyükleme seçeneklerini göstermek için Shift tuşuna basın. Mor GRUB ekranından Ubuntu için Gelişmiş seçenekler'i seçin ve Enter tuşuna basın. Çekirdeklerin listesini gösteren yeni bir mor ekran görünecektir. Farklı bir çekirdek seçin ve Enter tuşuna basın.
karel

Pratik olarak tüm güncellemelerle yeni bir kurulum. Eski çekirdeği denedim ve ilk olarak ağ ile önyüklendi, ama sonra fsprotect'in eski çekirdeğe eklenmediğini fark ettim. Tüm çekirdekleri güncelledim ve her iki çekirdekten de önyükleme yaptığımda artık ağım yok.
b_laoshi

1
Fsprotect seçeneğinin grubdan kaldırılması ve initramfs güncellenmesi elbette fsprotect'i devre dışı bıraktı ve ağ tekrar çalışıyor. Açıkçası bu fsprotect'te ağı bozan bir şey.
b_laoshi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.