উত্তর:
আপনি ext2 ext3 বা ext4 ফাইল সিস্টেমে নিরাপদে fsck.ext2 চালাতে পারেন এমনকি এটি যেমন মাউন্ট করা থাকলেও
sudo fsck.ext2 -fn /dev/sdXY
যদি ড্রাইভটি মাউন্ট করা থাকে তবে এটি অনেকগুলি ত্রুটি আউটপুট দেয় তবে -আন আর্গুমেন্ট এটিকে ড্রাইভটি স্পর্শ না করার কথা বলে।
$ 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 মধ্যে ব্যালেন্সিং সাধারণত জার্নাল এন্ট্রিগুলি ক্রমে প্রয়োগ করে এবং বিশেষত এক্সট 4-তে সামঞ্জস্যকর ব্লকগুলি বাড়ানোর জন্য ফাইল-সিস্টেমের পূর্ব-বরাদ্দকরণের মাধ্যমে যত্ন নেওয়া হয়। 20% এর চেয়ে কম ভগ্নাংশ স্তরের তাড়া করা আপনার সময়ের জন্য উপযুক্ত নাও হতে পারে, বিশেষত যদি আপনার সিস্টেমটি কয়েকটি ফাইল বারবার অ্যাক্সেস করে। আমি একক ডিস্ক সিস্টেমের পড়ার গতি বাড়ানোর জন্য এই কৌশলগুলি অনুসরণ করার পরামর্শ দিচ্ছি:
র্যাম বাড়ান: এটি ফাইল সিস্টেমের ক্যাশে বাড়ায়
ব্লকের আকার বাড়ান: 1 কে থেকে 4 কে ব্লকের আকারের দিকে এগিয়ে যাওয়ার দ্বারা আপনি আপনার ব্লকের আকারের চেয়ে কাছের বা বড় ফাইলগুলির জন্য পঠন করতে আরও ভাল পারফরম্যান্স পাবেন
আপনি যদি পেডেন্টিক হন, আপনি বড় ফাইল এবং ছোট ফাইলগুলি তাদের ব্লকের আকার অনুসারে পার্টিশনে ভাগ করতে পারেন, আপনি যদি কেবল ফটো, ভিডিও এবং উত্স কোডটি পৃথক ডিরেক্টরিতে সঞ্চিত করেন তবে আপনি এটি করতে চাইবেন
এইচডিপর্ম এবং / অথবা ল্যাপটপ-মোড ইউটিলিটি ব্যবহার করে আপনার পঠন-সামনের সেটিংটি বাড়িয়ে দিন
ট্যারের সাথে লিনিয়ার ফ্যাশনে আপনার ফাইল সিস্টেমটিকে ব্যাকআপ এবং পুনরুদ্ধার করুন
আপনার যদি একাধিক ডিস্ক থাকে এবং রাইড স্ট্রাইপিং এবং / অথবা এলভিএম ব্যবহার করে থাকেন তবে আপনি অন্যান্য বিষয়গুলি বিবেচনা করতে পারেন যেমন স্ট্রাইপের আকার।
হ্যাঁ, একটি নির্দিষ্ট 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
শেষ যুক্তি হিসাবে বিকল্পের পরে এটি একটি এক্সট্রোন 3 বা এক্সট 4 পয়েন্ট পয়েন্টে দেখায় । এবং ... "কাজ করে না"? ত্রুটিটি কী পেয়েছেন?