Ubuntu'yu nasıl “güç kaybına dayanıklı” yapabilirim?


18

Her gün 'kiosk' kullanımı için katılımsız bir sistem çalıştırmayı seviyorum.

Bununla birlikte, sistem daha önce uygun bir kapatma yapmadan herhangi bir zamanda kapatılabilir. Varsayılan olarak, Ubuntu'nun güç kaybıyla kapatılması beklenmez. Bir güç kaybından sonra yeniden başlattıktan sonra, dosya sistemini kontrol etmek için fsck çalıştırılabilir ve fsck bittikten sonra sisteme yeniden başlamasını söyleyebilir. Bu nedenle, hiçbir yapılandırma verisi bozulmasa bile, güç kaybından sonra makine iyi açılmayabilir. Bu yüzden bazı geçici çözümleri test ettim:

  1. kök bağlantı fsck önceliğini her bir güç kaybından sonra çalışmayı önleyen 0( fstabkök girişindeki son alan ) olarak değiştirin fsck. Bununla birlikte, sistem o zaman sadece birçok servis tarafından beklenmeyen ve grafiksel oturum açma yerine bir konsol oturum açma istemi ile sonuçlanan root-salt okunur olarak önyüklenebilir.

  2. Değiştir errrors=remount-rotarafından errors=continue. Bu, tutarsız bir dosya sistemi tarafından daha fazla veri kaybının meydana gelebileceği konusunda kötü bir his verir. Ancak, fsckyeniden etkinleştirildiğinde, güç kaybından sonra sistemin önyükleme yeteneğini artırmalıdır. Bu yüzden 1) düşürdüm.

  3. Başarısız önyüklemeden sonra grub2'yi normal bir varsayılan seçenek zaman aşımı kullanacak şekilde yeniden yapılandırın. Bunun için, ben ekledim GRUB_RECORDFAIL_TIMEOUT=0için /etc/default/grub.

Ancak, bu saldırıların sistemi güç kaybına karşı korumalı hale getirip getirmediğini bilmek zordur. Herhangi bir fikir? Başka bir şey yapabilir mi?


1
Gerçekten elde etmeye çalıştığın şeyi elde edemiyorum. "Güç kaybına dayanıklı" ile ne demek istiyorsun? Biraz temizleyebilir misin?
André Stannek

Açıklayıcı bir giriş eklendi. Güç kaybından sonra bakım etkileşimi olmadan her zamanki gibi hızlı bir şekilde yükselen bir sistemi seviyorum.
dronus

Yanıtlar:


16

Kiosk uygulaması için sorun salt okunur bir kök bölüm kullanılarak çözülür. Ayrıca, kullanıcıların yaptığı veya kaydettiği tüm değişiklikler bir sonraki yeniden başlatmada geri alınır.

Çoğu uygulama gereksinimi için yazılabilir bir kök sağlamak üzere, salt okunur bölümü yazılabilir bir ram tempfleri ile kaplamak için kaplamalar kullanılabilir.

Https://help.ubuntu.com/community/aufsRootFileSystemOnUsbFlash öğesinin altında böyle bir kurulum oluşturmaya yardımcı olan bir komut dosyası vardır . Komut dosyası, bunu ayarlamak için talimatları içerir:

  • dosyayı / etc / initramfs-tools / scriptleri / init-bottom / root-ro dizinine koyun
  • sudo chmod 0755 root-ro
  • sudo update-initramfs -u

Ben eklemek önermek GRUB_RECORDFAIL_TIMEOUT=0için /etc/default/grubve koşmak sudo update-grubde aksi önyükleme menüsü zaman aşımı olmadan görünebilir.

Bundan sonra yeniden başlatın. Makine daha sonra kontrol edilebilen salt okunur modda başlar mount. Uygulanan herhangi bir değişiklik bir sonraki yeniden başlatmada kaybolacaktır. Herhangi bir değişiklik yapmak, yazılım ve güncellemeler yüklemek vb. İçin GRUB menüsüne girmeniz e, önyükleme komut satırlarını değiştirmek için düğmesine basmanız ve disable-root-ro=trueçekirdekle başlayan satıra eklemeniz yeterlidir . Önyüklemeye devam etmek için F10 tuşuna basın. Daha sonra mount, kökün her zamanki gibi yazılabilir olarak monte edildiğini onaylamak için kullanabilirsiniz . Değişikliklerinizi yapın ve yeniden başlatın, sistem tekrar okunur.


+1 çünkü salt okunur bir kök dosya sistemi aklıma ilk gelen şeydi.
Nathan Osman

Bu aslında oldukça iyi çalışıyor. Bununla birlikte, herhangi bir okuma / yazma montajından sonra, herhangi bir şeyin temiz olup olmadığını kontrol etmek için sistem tekrar temiz bir şekilde yeniden başlatılmalıdır. Temiz bir şekilde kapatılmadığını veya fsck'in aksi halde korunmadığını gösteren bir tarayıcı olan GRUB arıza güvenliği gibi şeyler de sonsuza kadar korunur. Böyle bir durumda, başka bir kez okuma / yazma işlemi yeniden başlatılmalı ve tekrar temiz kapatılmalıdır.
dronus

9

Temiz olmayan bir yeniden başlatmadan sonra (güç kaybı veya sıfırlama düğmesine basıldığını veya hatta bir çekirdek paniğini söyledikten sonra) sistem, bölümü onarmak için bir fsck için "y" tuşuna basmanızı isteyen önyükleme yapmaz.

Bundan kaçınmak istiyorsanız / etc / default / rcS'yi düzenleyin ve değiştirin:

FSCKFIX=no

Kime:

FSCKFIX=yes

Bu, bu onarımın size sormadan otomatik olarak yapılmasını sağlayacaktır.

Dezavantajı, veri kaybedebileceğiniz ve yedeklenmeyen kritik bir şey varsa, sabit sürücüyü çıkarmak ve klonlamak isteyebilirsiniz.

Örneğin, sabit sürücü denetleyicinizde bir hata varsa ve fsck, bölümü hatalı olarak kırık olarak tanımladı ve onarmaya çalışırsa, aksi takdirde önlenebilecek veri kaybına yol açabilir. Bunu hiç yaşamadım ve son 7 yılda bine yakın sunucuyla uğraştım - ama yine de akılda tutulması gereken bir şey.


7

Bugün itibariyle, bir kiosk salt okunur çözümü için paketi şu şekilde yükleyebilirsiniz overlayroot:

sudo apt-get install overlayroot

bu da onaylanan yanıtın cevabı gibi eksiksiz bir çözüm sağlayacaktır. Ayrıca yararlı komuta izin verir

sudo overlay-chroot

eski salt okunur temel diskin takılı olduğu bir kabukta oturum açacaktır /. Böylece korunan sistemde herhangi bir değişiklik yapmak ve örneğin apt-geteski salt okunur diske paketleri kurmak mümkündür. Ancak, RAM'den geçici olarak üzerine yazılan dosyalar yeni yüklenen dosyaları gizleyebileceğinden, kabuktan çıktıktan sonra yeniden başlatma şiddetle önerilir.

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.