जवाबों:
आप सुरक्षित रूप से fsck.ext2 को ext2 ext3 या ext4 फाइल सिस्टम पर चला सकते हैं, भले ही वह इस तरह माउंट हो
sudo fsck.ext2 -fn /dev/sdXY
यदि ड्राइव माउंट किया गया है, तो यह बहुत सारी त्रुटियों को आउटपुट करेगा, लेकिन -n तर्क यह बताता है कि ड्राइव को स्पर्श नहीं करना है।
$ sudo fsck.ext2 -fn /dev/sda1
e2fsck 1.42 (29-Nov-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Ubuntu_Rescue: 291595/1222992 files (0.2% non-contiguous), 1927790/4882432 blocks
sudo tune2fs -C 16000 /dev/sda1
और रिबूट करें।
फाइलों के आवंटन के समय फाइलसिस्टम के आधुनिक एक्स्ट्रीम परिवार संतुलन और आकस्मिकता को ध्यान में रखते हैं। Ext3 और ext4 बैलेंसिंग में आमतौर पर जर्नल एंट्रीज़ को क्रम में लगाने से, और विशेष रूप से ext4 में, सन्निहित ब्लॉकों को बढ़ाने के लिए फाइल-सिस्टम एक्सटेंशंस को प्री-एलोकेंट करके ध्यान रखा जाता है। 20% से कम विखंडन स्तर का पीछा करना आपके समय के लायक नहीं हो सकता है, खासकर यदि आपका सिस्टम बार-बार कुछ फाइलों तक पहुंच रहा है। मेरा सुझाव है कि एकल डिस्क सिस्टम के लिए रीड स्पीड बढ़ाने के लिए इन युक्तियों का अनुसरण करें:
increase ram: इससे फाइलसिस्टम कैश बढ़ता है
ब्लॉक का आकार बढ़ाएँ: 1k से 4k ब्लॉक साइज़ की ओर बढ़ने से, आपको अपने ब्लॉक साइज़ के पास या उससे बड़ी फ़ाइलों के लिए रीड्स पर बेहतर प्रदर्शन मिलेगा
यदि आप पांडित्यपूर्ण हैं, तो आप बड़ी फ़ाइलों और छोटी फ़ाइलों को उनके ब्लॉक आकार द्वारा विभाजन में व्यवस्थित कर सकते हैं, आप केवल ऐसा करना चाहते हैं यदि आप अलग-अलग निर्देशिकाओं में फ़ोटो, वीडियो और स्रोत कोड संग्रहीत कर सकते हैं
एचडीपीआर और / या लैपटॉप-मोड उपयोगिता का उपयोग करके अपनी रीड-फॉरवर्ड सेटिंग बढ़ाएं
बैकअप और अपने फाइल सिस्टम को एक रेखीय अंदाज़ में पुनर्स्थापित करें जैसे कि टार के साथ
यदि आपके पास कई डिस्क हैं और आप रेड स्ट्रिपिंग और / या एलवीएम का उपयोग कर रहे हैं, तो आप अन्य कारकों पर विचार करेंगे, जैसे कि स्ट्राइप का आकार।
हाँ, एक विशिष्ट fsck
आह्वान है (जड़, या सुडोल के रूप में):
$ fsck /dev/sdXY
अपने मामले के लिए सही मापदंडों के साथ एक्स और वाई को बदलें (जैसे /dev/sda1
)।
एक विभाजन पक्ष पर इस दौड़ मत करो! यह आपके फाइल सिस्टम को गंभीर रूप से नुकसान पहुंचा सकता है।
लिनक्स और डीफ़्रैग्मेन्टिंग के बारे में कुछ और जानकारी के लिए, मेरा जवाब यहाँ देखें ।
यदि आपको विशेष रूप से fsck चलाने की आवश्यकता नहीं है, लेकिन बस अपने ड्राइव के विखंडन की जांच करना चाहते हैं, तो निम्न स्क्रिप्ट ( यहां से ली गई ) चाल को करना चाहिए:
#!/usr/bin/perl -w
#this script search for frag on a fs
use strict;
#number of files
my $files = 0;
#number of fragment
my $fragments = 0;
#number of fragmented files
my $fragfiles = 0;
#search fs for all file
open (FILES, '-|', "find '$ARGV[0]' -xdev -type f -print0");
$/ = "\0";
while (defined (my $file = <FILES>)) {
open (FRAG, "-|", "filefrag", $file);
my $res = <FRAG>;
if ($res =~ m/.*:\s+(\d+) extents? found/) {
my $fragment = $1;
$fragments += $fragment;
if ($fragment > 1) {
$fragfiles++;
}
$files++;
} else {
print ("$res : not understand for $file.\n");
}
close (FRAG);
}
close (FILES);
print ( $fragfiles / $files * 100 . "% non contiguous files, " . $fragments / $files . " average fragments.\n");
आप इसे प्रश्न में निर्देशिका (या आरोह बिंदु) पर चला सकते हैं:
$ frag_check.pl $HOME/
1.32410691664555% non contiguous files, 1.05380668862427 average fragments.
आप इस जानकारी को प्राप्त करने के लिए e2defrag जैसे टूल का उपयोग कर सकते हैं।
ध्यान रखें कि लिनक्स फ़ाइल सिस्टम की प्रकृति के कारण, डीफ़्रेगिंग सामान्य रूप से अनावश्यक है।
e4defrag -c
, लेकिन यह काम नहीं किया।
-c
अंतिम तर्क के रूप में विकल्प के बाद इसे Ext3 या Ext4 moint बिंदु पर इंगित करें । और ... "काम नहीं किया"? आपको क्या त्रुटि है?