मेरा उबंटू हर बूटअप पर fsck चल रहा है


19

प्रत्येक बूटअप पर यह समान है:

/dev/sda1: clean, 908443/38690816 files, 44176803/154733312 blocks

क्या फाइल सिस्टम स्थिरता सुनिश्चित करने के लिए यह किसी प्रकार का विकल्प उबंटू उपयोग करता है या मेरे एचडीडी में कुछ गड़बड़ है? fsckबूट करते समय 30s तक का समय लगता है और इसलिए ट्रिपल्स के बारे में अन्यथा आवश्यक समय है।

पूर्ण उत्पादन (आंशिक रूप से जर्मन में):

Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
fsck von util-linux 2.20.1
/dev/sda1: sauber, 908443/38690816 Dateien, 44176803/154733312 Blöcke
udevd[623]: unknown key 'SYSFS{idVendor}' in /lib/udev/rules.d/45-libticables.rules:6

udevd[623]: invalid rule '/lib/udev/rules.d/45-libticables.rules:6'

 * Starting mDNS/DNS-SD daemon                                                 [ OK ]
 * Starting Reload cups, upon starting avahi-daemon to make sure remote queues are populated                                                                   [ OK ]
 * Starting configure network device security                                  [ OK ]
 * Starting bluetooth daemon                                                   [ OK ]
 ####* Starting all other stuff

उबंटू का कौन सा संस्करण चल रहा है? क्या आपका सिस्टम साफ-सुथरा है?
ubfan1

रेरिंग x64 = 13.04 64 बिट। शटडाउन साफ-साफ चलता है जहां तक ​​मैं कह सकता हूं (शटडाउन लॉगफाइल कहां है?)
s3lph

1
fsck का कहना है कि यह नहीं चला, कि आयतन साफ ​​था।
Psusi

लेकिन यह साफ करने के लिए चेकिंग कंपोनेंट चलाना पड़ता है, है ना?
s3lph

जवाबों:


25

/ dev / sda1: स्वच्छ, 908443/38690816 फाइलें, 44176803/154733312 ब्लॉक

उस संदेश को बनाने वाली रेखा यह है :

/* Print the summary message when we're skipping a full check */
log_out(ctx, _("%s: clean, %u/%u files, %llu/%llu blocks"),

यह "पूर्ण चेक" को छोड़ देता है लेकिन यह सुनिश्चित कर लेता है कि पत्रिका के लिए कुछ तेज़ परीक्षण साफ़ हैं और अनाथ इनोड्स नहीं हैं:

cat /var/log/boot.log 
fsck from util-linux 2.20.1
fsck from util-linux 2.20.1
/dev/sda1: clean, 260598/771552 files, 1684682/3080192 blocks
/dev/sdb10: recovering journal
/dev/sdb10: Clearing orphaned inode 142568 (uid=1000, gid=1000, mode=0100664, size=32768)
/dev/sdb10: Clearing orphaned inode 138527 (uid=1000, gid=1000, mode=0100600, size=9580)
/dev/sdb10: clean, 54957/991232 files, 3498365/3958006 blocks

यह सामान्य और अपेक्षित है। यदि यह एक वास्तविक संपूर्ण जाँच होती तो इसमें अधिक समय लगता लेकिन आमतौर पर इसमें एक या कम समय लगता है। सिस्टमड systemd-fsck(8)मैनुअल पेज में ऐसी स्थितियाँ होती हैं जहाँ पूर्ण जाँच चालू होती है:

systemd-fsck-root.service रूट फाइल सिस्टम पर फाइल सिस्टम जांच के लिए जिम्मेदार है, लेकिन केवल तभी जब रूट फाइल सिस्टम initramfs में चेक नहीं किया गया था। systemd-fsck @ .service का उपयोग अन्य सभी फ़ाइल सिस्टमों के लिए और रूट फाइल सिस्टम के लिए initramfs के लिए किया जाता है।

इन सेवाओं को बूट पर शुरू किया जाता है यदि फाइल सिस्टम के लिए पासनो / इन / एफस्टैब शून्य से अधिक मूल्य पर सेट है। रूट के लिए फ़ाइल सिस्टम चेक अन्य फ़ाइल सिस्टम से पहले किया जाता है। अन्य फाइल सिस्टम को समानांतर में जांचा जा सकता है, सिवाय इसके जब वे एक ही घूर्णन डिस्क पर हों।

systemd-fsck विशिष्ट फाइल सिस्टम के बारे में कोई विवरण नहीं जानता है, और बस प्रत्येक फाइल सिस्टम प्रकार (/sbin/fsck.*) के लिए विशिष्ट फाइल सिस्टम चेकर्स को निष्पादित करता है। यह सहायक यह तय करेगा कि फाइलसिस्टम को वास्तव में अंतिम चेक, माउंट की संख्या, अशुद्ध अंकल आदि के समय के आधार पर जांचना चाहिए या नहीं।

आप बस जांच कर सकते हैं कि चलाने के लिए कुछ भी नहीं के बगल में परीक्षण हुए (यदि आप सिस्टमड का उपयोग करते हैं):

sudo systemd-analyze blame | grep fsck
          1.608s systemd-fsck@dev-disk-by\x2duuid-408535fe\x2d28e6\x2d4d82\x2dbb59\x2d9810ead089a3.service
            87ms systemd-fsck@dev-mapper-vlhome\x2dlvhome.service

आपके लिंक पर q का उत्तर कहता है कि आप व्यवहार को संशोधित करके नियंत्रित कर सकते हैं /etc/fstab। यह स्थापित करने के लिए ही संभव है 0या 1या मैं जब इस "तेज" परीक्षण करने अपने सिस्टम बता सकते हैं?
s3lph

@the_Seppi नहीं, आप fstab में fsck को निष्क्रिय नहीं कर सकते, लेकिन आदेश, मेरा यह अन्य उत्तर इसे समझाता है, बस इसके अंत के बारे में पढ़ें।
Braiam

मैंने पढ़ा है कि अंतिम अंक को 0 पर बदलने से माउंट पर
ssl

@the_Seppi हाँ, आप सही हैं, 1और 2चेक किए जाने के आदेश का निर्धारण करते हैं लेकिन 0या कोई भी यह नहीं कहता है कि इसकी आवश्यकता नहीं है। लेकिन तब मेरे पास 0 में दोनों मान हैं और अभी भी चेक प्राप्त करते हैं।
ब्राह्म

2
लॉन्चपैड पर एक बग की सूचना दी गई है: अपस्टार्ट बग # 1504688 । इसमें टिप्पणी # 17 में एक संभावित समाधान शामिल है ।
अज़ूरिन

1

क्या आप सुनिश्चित हैं कि यह fsck है जो 30s ले रहा है और इतना ही नहीं कि udvd से संबंधित अगला कंसोल संदेश 30 सेकंड लेता है? दूसरे शब्दों में, शायद udvd कंसोल संदेश दिखाने से पहले libticables पर काम करने में 30 सेकंड का समय ले रहा है?

अस्थायी रूप से हटाने (या कहीं और जाने) का प्रयास करें

/lib/udev/rules.d/45-libticables.rules

और देखें कि क्या मदद करता है।


नहीं, यह निश्चित रूप से fsck है। के Running /scripts/init-bottom ...doneबारे में 3s में मुद्रित किया जाता है, लगभग 30 पर fsck- साफ।
s3lph

आप किस प्रकार की फाइलसिस्टम का उपयोग कर रहे हैं?
जोसेफ सैन्टैनियलो

मैं EXT4
s3lph

क्या यह "fsck von ..." या "/ dev / sda ..." से पहले विराम देता है?
जोसेफ सैंटनिएलो

आप कहां बढ़ रहे हैं / देव / sda1? आप जोड़ने की कोशिश कर सकते हैं: noauto,x-systemd.automountfstab विकल्पों में अगर यह / घर या कुछ है। इसलिए सिस्टम बढ़ते हुए तब तक छोड़ देगा जब तक कि यह प्रतिरूपित
जोसेफ

0

हर बूट पर यह fsck खराब घड़ी के कारण मेरे साथ हुआ। ऐसा प्रतीत होता है कि systemd-fsck @ systemd-timesyncd से पहले चलता है, और बिना बैटरी-समर्थित RTC के, fsck चलाने के समय सिस्टम का समय गलत है।

मैंने पुष्टि की कि यह वास्तव में क्या है जो पूरी जांच को चालू करता है (बजाय जल्दी से fsck बाहर निकलने की), systemd-timesynd को अक्षम करके, घड़ी को प्री-सिंक मान में सेट करना, और fsck चलाना। E2fsck तब पूरी जांच करने के लिए आगे बढ़ता है, एक बार यह पता लगा लेता है कि अंतिम सुपरब्लॉक लिखने का समय भविष्य में है:

fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Superblock last write time (Mon Jun 19 00:48:11 2017,
    now = Tue Jan 31 20:09:28 2017) is in the future.
Fix<y>? yes
Pass 1: Checking inodes, blocks, and sizes
...

ध्यान दें, पूर्ण चेक के लिए यह ट्रिगर पिछले चेक के बाद से अधिकतम माउंट काउंट और टाइम अंतराल के अन्य ट्रिगर्स से संबंधित नहीं है dumpe2fs -h, जो अन्य उत्तरों में उल्लिखित है।

ध्यान दें कि, घड़ी को सेट किए बिना (जो कि टाइमसिंक्स को सिंक करने दे), fsck पूरी जांच नहीं करेगा, लेकिन 'फाइलसिस्टम क्लीन' संदेश के साथ जल्दी से बाहर निकल जाएगा।

वर्कअराउंड के रूप में, मैंने 'पास' फ़ील्ड को 0. पर सेट करके / etc / fstab में fsck को निष्क्रिय कर दिया। आखिरकार, मैं इस डिवाइस के लिए बैटरी समर्थित RTC खरीदूंगा।


-1

मेरी खोजों ने मुझे निष्कर्ष निकाला कि उबंटू डिफ़ॉल्ट अधिकतम माउंट गिनती -1 पर सेट है। इसका मतलब यह है कि fsck कभी भी किसी भी बूट पर नहीं चलेगी चाहे कितने भी माउन्ट हों। आप कमांड द्वारा अपनी जाँच कर सकते हैं -

sudo dumpe2fs -h /dev/sda8 | grep -i 'mount count'

आप अपनी आवश्यकता का उपयोग करके इसे बढ़ा सकते हैं tune2fs। एक विशिष्ट उदाहरण इस प्रकार है -

sudo tune2fs -c 30 -i 1w /dev/sda8

अपने अनुरूप इसे अनुकूलित करें।


1
नहीं, इसका मतलब है कि मान को कर्नेल और e2fsck द्वारा अस्वीकृत किया जाएगा: linux.die.net/man/8/tune2fs "यदि अधिकतम-माउंट-गणना 0 या -1 है, तो फाइलसिस्टम माउंट होने की संख्या की उपेक्षा की जाएगी।" e2fsck (8) और कर्नेल द्वारा। "
हैप्पी कैक्टस

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