Jeśli jesteś użytkownikiem Linuksa, prawdopodobnie słyszałeś, że nie musisz defragmentować systemów plików Linux. Zauważysz także, że dystrybucje Linuksa nie są dostarczane z narzędziami do defragmentacji dysku. Ale dlaczego tak jest?
Aby zrozumieć, dlaczego systemy plików Linux nie wymagają defragmentacji w normalnych warunkach - a te w Windowsach - musisz zrozumieć, dlaczego występuje fragmentacja i jak systemy plików Linux i Windows działają inaczej.
Wielu użytkowników systemu Windows, nawet niedoświadczonych, wierzy, że regularne defragmentowanie ich systemów plików przyspieszy działanie komputera. Wiele osób nie wie, dlaczego tak jest.
W skrócie, na dysku twardym znajduje się kilka sektorów, z których każdy może zawierać niewielką część danych. Pliki, szczególnie duże, muszą być przechowywane w wielu różnych sektorach. Załóżmy, że zachowujesz wiele różnych plików w swoim systemie plików. Każdy z tych plików będzie przechowywany w ciągłym klastrze sektorów. Później aktualizujesz jeden z oryginalnie zapisanych plików, zwiększając rozmiar pliku. System plików spróbuje zapisać nowe części pliku tuż obok oryginalnych części. Niestety, jeśli nie ma wystarczająco dużo nieprzerwanego pokoju, plik musi być podzielony na kilka części - wszystko dzieje się w sposób przejrzysty. Kiedy dysk twardy odczytuje plik, jego głowice muszą przeskakiwać pomiędzy różnymi fizycznymi lokalizacjami na dysku twardym, aby odczytać każdy fragment sektorów - to spowalnia działanie.
Defragmentowanie to intensywny proces, który przenosi bity plików wokół, aby zmniejszyć fragmentację, zapewniając, że każdy plik jest ciągły na dysku.
Oczywiście jest inaczej w przypadku dysków półprzewodnikowych, które nie mają ruchomych części i nie powinny być defragmentowane - defragmentacja dysku SSD faktycznie zmniejszy jego żywotność. W najnowszych wersjach systemu Windows nie musisz się martwić o defragmentację systemów plików - Windows robi to automatycznie za ciebie. Aby uzyskać więcej informacji na temat sprawdzonych metod defragmentacji, przeczytaj ten artykuł:
HTG wyjaśnia: czy naprawdę musisz defragmentować swój komputer?
Stary system plików FAT Microsoftu - ostatnio widziany domyślnie w Windows 98 i ME, chociaż jest nadal używany na dyskach flash USB dzisiaj - nie próbuje inteligentnie rozmieszczać plików. Po zapisaniu pliku w systemie plików FAT zapisuje się go możliwie najbliżej początku dysku. Po zapisaniu drugiego pliku zapisuje go zaraz po pierwszym pliku - i tak dalej. Kiedy oryginalne pliki powiększają się, zawsze będą się pofragmentować. Nie ma w pobliżu miejsca, w którym mogliby się rozwinąć.
Nowszy system plików NTFS firmy Microsoft, który trafił na komputery osobiste z systemem Windows XP i 2000, stara się być nieco mądrzejszy. Przydziela więcej wolnej przestrzeni "bufora" wokół plików na dysku, chociaż, jak każdy użytkownik systemu Windows może ci powiedzieć, systemy plików NTFS nadal z czasem ulegają fragmentacji.
Ze względu na sposób działania tych systemów plików należy je zdefragmentować, aby utrzymać najwyższą wydajność. Firma Microsoft rozwiązała ten problem, uruchamiając proces defragmentacji w tle w najnowszych wersjach systemu Windows.
Systemy plików ext2, ext3 i ext4 systemu Linux - ext4 to system plików używany przez system Ubuntu i większość innych aktualnych dystrybucji systemu Linux - przydziela pliki w bardziej inteligentny sposób. Zamiast umieszczać wiele plików blisko siebie na dysku twardym, systemy plików Linux rozpraszają różne pliki na całym dysku, pozostawiając między nimi dużą ilość wolnego miejsca. Kiedy plik jest edytowany i musi się rozwinąć, zwykle jest dużo wolnego miejsca, aby plik mógł się rozwinąć. Jeśli wystąpi fragmentacja, system plików spróbuje przenieść pliki, aby zmniejszyć fragmentację podczas normalnego użytkowania, bez potrzeby korzystania z narzędzia do defragmentacji.
Ze względu na sposób działania tego podejścia zaczniesz widzieć fragmentację, jeśli twój system plików się zapełni. Jeśli wypełni się 95% (lub nawet 80%), zaczniesz widzieć fragmentację. Jednak system plików został zaprojektowany w taki sposób, aby uniknąć fragmentacji podczas normalnego użytkowania.
Jeśli masz problemy z fragmentacją w systemie Linux, prawdopodobnie potrzebujesz większego dysku twardego. Jeśli naprawdę potrzebujesz defragmentacji systemu plików, najprostszy sposób jest prawdopodobnie najbardziej niezawodny: Skopiuj wszystkie pliki z partycji, usuń pliki z partycji, a następnie skopiuj pliki z powrotem na partycję. System plików inteligentnie przydzieli pliki podczas kopiowania ich z powrotem na dysk.
Możesz zmierzyć fragmentację systemu plików Linux za pomocą polecenia fsck - poszukaj "nieciągłych i-węzłów" w danych wyjściowych.