मैं Ubuntu "पावर लॉस प्रूफ" कैसे बनाऊं?


18

मैं हर दिन 'कियोस्क' के उपयोग के लिए बिना सिस्टम के रन करना पसंद करता हूं।

हालाँकि, किसी को बिना शटडाउन किए पहले कभी भी सिस्टम को बंद किया जा सकता है। डिफ़ॉल्ट रूप से, उबंटू को बिजली नुकसान से बंद होने की उम्मीद नहीं है। बिजली की हानि के बाद रिबूट करने के बाद, फ़ाइल सिस्टम की जांच के लिए fsck चलाया जा सकता है, और fsck सिस्टम को रिबूट करने के बाद उसे समाप्त करने के लिए कह सकता है। इसलिए भले ही कोई कॉन्फ़िगरेशन डेटा दूषित न हो, लेकिन पावर लॉस के बाद मशीन अच्छी तरह से बूट नहीं हो सकती है। इसलिए मैंने कुछ वर्कअराउंड का परीक्षण किया:

  1. रूट माउंट fsck प्राथमिकता 0( fstabरूट प्रविष्टि में अंतिम क्षेत्र ) को बदलें जो fsckहर बिजली हानि के बाद चलने से रोकता है । हालाँकि, सिस्टम रूट माउंटेड रीड-ओनली बूट के साथ बूट हो सकता है, जो कि कई सेवाओं और परिणाम के बजाय कंसोल लॉगिन प्रॉम्प्ट द्वारा अपेक्षित नहीं है।

  2. errrors=remount-roद्वारा प्रतिस्थापित करें errors=continue। यह एक बुरा एहसास देता है कि एक अव्यवस्थित फाइल सिस्टम द्वारा आगे डेटा हानि हो सकती है। हालांकि, fsckफिर से सक्षम होने के साथ , इसे बिजली की हानि के बाद सिस्टम के बूट प्रसार को बढ़ाना चाहिए। इसलिए मैंने 1) को गिरा दिया।

  3. असफल बूट के बाद सामान्य डिफ़ॉल्ट विकल्प टाइमआउट का उपयोग करने के लिए grub2 को फिर से कॉन्फ़िगर करें। उसके लिए, मैंने इसमें जोड़ा GRUB_RECORDFAIL_TIMEOUT=0है /etc/default/grub

हालांकि, यह जानना मुश्किल है कि क्या ये हैक सिस्टम पावर लॉस प्रूफ बनाते हैं। कोई विचार? कोई और भी कर सकता है?


1
मुझे वास्तव में वह नहीं मिला जो आप प्राप्त करने की कोशिश कर रहे हैं। "पावर लॉस प्रूफ" से आपका क्या अभिप्राय है? क्या आप इसे थोड़ा साफ कर सकते हैं?
एंड्रे स्टैनक

एक स्पष्ट परिचय जोड़ा गया। मैं एक ऐसी प्रणाली पसंद करता हूं जो बिजली की हानि के बाद रखरखाव बातचीत के बिना सामान्य रूप से फिर से तेजी से उठती है।
ड्रोनस

जवाबों:


16

कियोस्क एप्लिकेशन के लिए, समस्या को आसानी से रूट विभाजन का उपयोग करके हल किया जाता है। इसके अलावा, उपयोगकर्ता जो भी परिवर्तन करता है या सहेजता है वह अगले रिबूट पर पूर्ववत होता है।

अधिकांश अनुप्रयोगों की ज़रूरतों के लिए एक लिखने योग्य जड़ प्रदान करने के लिए, ओवरलेफ़्स का उपयोग एक योग्य राम मंदिरों के साथ आसानी से विभाजन को ओवरले करने के लिए किया जा सकता है।

एक स्क्रिप्ट है जो https://help.ubuntu.com/community/aufsRootFileSystemOnUsbFlash के नीचे इस तरह का सेटअप बनाने में मदद करती है । स्क्रिप्ट में इसे सेट करने के निर्देश हैं:

  • फ़ाइल को / etc / initramfs-tools / script / init-bottom / root-ro में डालें
  • sudo chmod 0755 root-ro
  • sudo update-initramfs -u

मैं जोड़ने के लिए सुझाव है कि GRUB_RECORDFAIL_TIMEOUT=0करने के लिए /etc/default/grubऔर चलाने के sudo update-grubभी, नहीं तो बूट मेनू समय समाप्त होने के प्रकट हो सकता है।

उसके बाद, रिबूट करें। मशीन फिर आसानी से शुरू होती है, जिसे चेक किया जा सकता है mount। लागू किया गया कोई भी परिवर्तन अगले रिबूट पर गायब हो जाएगा। कोई भी परिवर्तन करने के लिए, सॉफ़्टवेयर और अपडेट आदि इंस्टॉल करें, आपको बस GRUB मेनू में प्रवेश करने की आवश्यकता है, eबूट कमांड लाइनों को बदलने के लिए दबाएं , और disable-root-ro=trueकर्नेल से शुरू होने वाली लाइन में जोड़ें । बूटिंग जारी रखने के लिए F10 दबाएं। फिर आप mountपुष्टि कर सकते हैं कि रूट को सामान्य रूप से लिखने योग्य बनाया गया है। अपने परिवर्तन करें और रिबूट करें, सिस्टम फिर से आसानी से पढ़ा जाता है।


+1 क्योंकि केवल पढ़ने वाली रूट फाइलसिस्टम ही सबसे पहले मेरे दिमाग में आई थी।
नाथन उस्मान

यह वास्तव में काफी अच्छा काम करता है। हालाँकि, किसी भी पढ़ने / लिखने के माउंट के बाद, सिस्टम को साफ-साफ रिबूट किया जाना चाहिए ताकि यह जांच सके कि कुछ भी साफ नहीं है। GRUB फेलसेफ जैसी चीजें, एक ब्राउज़र जो दिखा रहा है कि यह सफाई से बंद या fsck नहीं था अन्यथा हमेशा के लिए संरक्षित किया जाएगा। यदि ऐसा होता है, तो किसी अन्य समय को पढ़ने / लिखने के लिए रिबूट करना पड़ता है, और फिर से सफाई बंद हो जाती है।
ड्रोनस

9

अशुद्ध रीबूट (पावर लॉस या रीसेट बटन दबाया गया या कर्नेल पैनिक) के बाद कुछ समय के बाद, सिस्टम आपको विभाजन को ठीक करने के लिए fsck के लिए "y" दबाने के लिए नहीं कहेगा।

यदि आप इससे बचना चाहते हैं, तो संपादित करें / आदि / डिफ़ॉल्ट / आरसीएस और बदलें:

FSCKFIX=no

सेवा:

FSCKFIX=yes

यह सुनिश्चित करेगा कि यह मरम्मत आपको बिना रुके स्वचालित रूप से चलाया जाए।

नकारात्मक पक्ष यह हो सकता है कि आप डेटा खो सकते हैं और आप हार्ड ड्राइव को बाहर निकालना चाहते हैं और इसे पहले क्लोन कर सकते हैं यदि इस पर कुछ भी महत्वपूर्ण है जो बैकअप नहीं है।

उदाहरण के लिए यदि आपके हार्ड ड्राइव कंट्रोलर में कोई खराबी है और fsck ने विभाजन को गलत तरीके से पहचाना और उसे ठीक करने की कोशिश की, तो इससे डेटा हानि हो सकती है जिसे अन्यथा टाला जा सकता है। मैंने खुद कभी इसका अनुभव नहीं किया है और पिछले 7 वर्षों में एक हज़ार सर्वरों के साथ काम किया है - लेकिन फिर भी यह ध्यान में रखना है।


7

आज तक, कियोस्क रीड-ओनली सॉल्यूशन के लिए कोई भी पैकेज overlayrootको स्थापित कर सकता है

sudo apt-get install overlayroot

जो आसानी से स्वीकृत जवाब में से एक की तरह एक पूर्ण समाधान प्रदान करेगा। यह लाभकारी कमांड के लिए भी अनुमति देता है

sudo overlay-chroot

जो पूर्व में पढ़ी जाने वाली केवल आधार डिस्क वाले शेल में लॉग इन करेगा /। इसके बाद संरक्षित सिस्टम में किसी भी तरह का बदलाव करना संभव है और उदाहरण के लिए apt-getपूर्व रीडायनली डिस्क पर पैकेज स्थापित करने के लिए उपयोग । हालांकि, शेल से बाहर निकलने के बाद एक रिबूट की दृढ़ता से सिफारिश की जाती है क्योंकि रैम पर अस्थायी रूप से ओवरराइट की गई फाइलें नए स्थापित लोगों को अस्पष्ट कर सकती हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.