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:
- 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

- 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!
Sistem GUI'den düzgün bir şekilde kapanmayacaktı. Peki biri bunu nasıl düzeltir? Yeniden Başlatma!
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ı.