Z jakiego systemu plików Linux powinieneś skorzystać?
Podczas formatowania partycji na komputerze z systemem Linux zobaczysz wiele różnych opcji systemu plików. Te opcje nie muszą być przytłaczające. Jeśli nie masz pewności, który system plików Linuksa jest używany, istnieje prosta odpowiedź.
Szybka odpowiedź: Użyj Ext4, jeśli nie jesteś pewien
Dostaniemy się do chwastów i za chwilę zmniejszymy różnicę między różnymi systemami plików, ale jeśli nie jesteś pewien: użyj Ext4.
Ext4 jest domyślnym systemem plików dla większości dystrybucji Linuksa. Jest to ulepszona wersja starszego systemu plików Ext3. Nie jest to najnowocześniejszy system plików, ale to dobrze: oznacza to, że Ext4 jest stabilny i stabilny.
W przyszłości dystrybucje Linuksa będą stopniowo przesuwać się w kierunku BtrFS. BtrFS jest wciąż nowatorski i wymaga wielu opracowań, więc będziesz go unikać w systemach produkcyjnych. Ryzyko uszkodzenia danych lub innych problemów nie jest warte potencjalnej poprawy prędkości.
Pamiętaj jednak, że ta "use Ext4" dotyczy tylko partycji systemu Linux i innych partycji na dysku, do których ma dostęp tylko Linux. Jeśli formatujesz dysk zewnętrzny, który chcesz udostępnić innym systemom operacyjnym, nie powinieneś używać Ext4, ponieważ Windows, macOS i inne urządzenia nie mogą odczytać systemów plików Ext4. Będziesz chciał użyć exFAT lub FAT32 podczas formatowania dysku zewnętrznego w systemie Linux.
Jeśli konfigurujesz partycje na głównym dysku rozruchowym systemu Linux, będziesz także chciał utworzyć partycję wymiany o wielkości co najmniej kilku GB podczas konfigurowania tych partycji. Ta partycja jest używana dla "przestrzeni wymiany". Jest podobny do pliku stronicowania w systemie Windows. Linux zamienia pamięć do obszaru wymiany, gdy jego pamięć RAM jest pełna. Ta partycja musi być sformatowana jako "zamiana" zamiast na konkretny system plików.
Co to jest dziennikarstwo?
Jedną z rzeczy, którą zauważysz wybierając między systemami plików, jest to, że niektóre z nich są oznaczone jako system plików "księgowania", a inne nie. To jest ważne.
Kronikowanie ma na celu zapobieganie awariom danych i nagłej utracie zasilania. Powiedzmy, że twój system jest w trakcie zapisywania pliku na dysk i nagle traci moc. Bez dziennika komputer nie miałby pojęcia, czy plik został całkowicie zapisany na dysku. Plik pozostanie tam na dysku, uszkodzony.
W dzienniku komputer zauważy, że zamierza zapisać określony plik na dysku w dzienniku, zapisać ten plik na dysku, a następnie usunąć to zadanie z dziennika. Jeśli w trakcie zapisywania pliku wyłączy się zasilanie, system Linux sprawdzi dziennik systemu plików po jego uruchomieniu i wznowie wykonywania częściowo ukończonych zadań. Zapobiega to utracie danych i uszkodzeniu plików.
Zapisywanie w dzienniku znacznie obniża wydajność zapisu na dysku, ale jest opłacalne na komputerze stacjonarnym lub laptopie. To nie jest tak dużo, jak mogłoby się wydawać. Pełny plik nie jest zapisywany w dzienniku. Zamiast tego tylko metadane pliku, i-węzeł lub lokalizacja dysku są zapisywane w dzienniku, zanim zostaną zapisane na dysku.
Każdy nowoczesny system plików obsługuje funkcję kronikowania, a podczas konfigurowania komputera stacjonarnego lub przenośnego należy korzystać z systemu plików obsługującego rejestrowanie.
Systemy plików, które nie oferują funkcji kronikowania, są dostępne do użytku na serwerach o wysokiej wydajności i innych takich systemach, w których administrator chce wycisnąć dodatkową wydajność. Są również idealne do dysków flash wymiennych, w których nie chcesz wyższego obciążenia i dodatkowych zapisów z księgowania.
Jaka jest różnica między wszystkimi tymi systemami plików Linuksa?
Podczas gdy Microsoft rozwija Windows i Apple kontroluje macOS, Linux jest projektem open-source opracowanym przez społeczność. Każdy (lub jakakolwiek firma) z umiejętnościami i czasem może stworzyć nowy system plików Linux. To jeden z powodów, dla których jest tak wiele opcji. Oto różnice:
- Zewn oznacza "Rozszerzony system plików" i był pierwszym stworzonym specjalnie dla systemu Linux. Miał cztery główne poprawki. "Ext" to pierwsza wersja systemu plików, wprowadzona w 1992 roku. Była to poważna aktualizacja systemu plików Minix używanego w tamtym czasie, ale brakuje jej ważnych funkcji. Wiele dystrybucji Linuksa nie obsługuje już Ext.
- Ext2 nie jest systemem plików księgowania. Po wprowadzeniu był to pierwszy system plików obsługujący rozszerzone atrybuty plików i 2 terabajtów. Brak dziennika Ext2 oznacza, że zapisuje na dysku mniej, co czyni go użytecznym dla pamięci flash, jak dyski USB. Jednak systemy plików, takie jak exFAT i FAT32, również nie używają kronikowania i są bardziej kompatybilne z różnymi systemami operacyjnymi, więc zalecamy unikanie Ext2, chyba że wiesz, że potrzebujesz go z jakiegoś powodu.
- Ext3 to w zasadzie tylko Ext2 z kronikowaniem. Ext3 został zaprojektowany tak, aby był kompatybilny wstecz z Ext2, pozwalając na konwersję partycji pomiędzy Ext2 i Ext3 bez konieczności formatowania. Trwał on dłużej niż Ext4, ale Ext4 istnieje już od 2008 roku i jest szeroko testowany. W tym momencie lepiej jest korzystać z Ext4.
- Ext4 został również zaprojektowany z myślą o kompatybilności wstecznej. Możesz zamontować system plików Ext4 jako Ext3 lub zamontować system plików Ext2 lub Ext3 jako Ext4. Zawiera nowsze funkcje, które zmniejszają fragmentację plików, pozwalają na większe woluminy i pliki oraz używają alokacji z opóźnieniem w celu poprawy trwałości pamięci flash. Jest to najnowocześniejsza wersja systemu plików Ext i jest domyślna w większości dystrybucji Linuksa.
- BtrFS, wymawiane "Butter" lub "Better" FS, zostało pierwotnie zaprojektowane przez Oracle. To skrót od "B-Tree File System" i pozwala na pulę dysków, migawki, przezroczystą kompresję i defragmentację online. Zawiera wiele tych samych pomysłów, które można znaleźć w ReiserFS, systemie plików, w którym niektóre dystrybucje Linuksa były używane domyślnie. BtrFS ma być czystą przerwą od serii plików systemowych Ext. Ted Ts'o, opiekun systemu plików Ext4, uważa Ext4 za rozwiązanie krótkoterminowe i uważa, że BtrFS jest drogą naprzód. Spodziewaj się, że BtrFS stanie się domyślnym rozwiązaniem zarówno w dystrybucji dla serwerów korporacyjnych, jak i dla komputerów osobistych w ciągu następnych kilku lat, ponieważ jest on dalej testowany.
- ReiserFS był dużym krokiem naprzód dla systemów plików Linux, kiedy został wprowadzony w 2001 roku i zawierał wiele nowych funkcji, których Ext nigdy nie byłby w stanie zaimplementować. ReiserFS został zastąpiony przez Reiser4, który poprawił się w wielu funkcjach, które były niekompletne lub brakowało w pierwszym wydaniu, w 2004. Ale rozwój Reiser4 zatrzymał się po tym, jak główny programista, Hans Reiser, został wysłany do więzienia w 2008 roku. Reiser4 wciąż nie jest w głównym jądrze systemu Linux i jest mało prawdopodobne, aby się tam dostać. BtrFS jest lepszym wyborem długoterminowym.
- ZFS został zaprojektowany przez Sun Microsystems dla Solaris i jest obecnie własnością Oracle. ZFS obsługuje wiele zaawansowanych funkcji, takich jak łączenie napędów, migawki i dynamiczne stripowanie dysków - BtrFS domyślnie przyniesie wiele z tych funkcji do systemu Linux. Każdy plik ma sumę kontrolną, więc ZFS może stwierdzić, czy plik jest uszkodzony. Oprogramowanie ZFS oparte na otwartym oprogramowaniu firmy Sun jest objęte licencją Sun CDDL, co oznacza, że nie można go włączyć do jądra systemu Linux. Możesz jednak zainstalować obsługę ZFS na dowolnej dystrybucji Linuksa. Ubuntu oferuje teraz oficjalną obsługę ZFS, począwszy od wersji Ubuntu 16.04. Ubuntu domyślnie używa ZFS dla kontenerów.
- XFS został opracowany przez Silicon Graphics w 1994 r. dla systemu operacyjnego SGI IRX i został przeniesiony na Linuksa w 2001 r. Jest podobny do Ext4 pod pewnymi względami, ponieważ wykorzystuje również opóźnione przydzielanie, aby pomóc w fragmentacji plików i nie pozwala na zamontowane migawki. Można go powiększać, ale nie skurczyć, w locie. XFS ma dobrą wydajność w przypadku dużych plików, ale ma gorszą wydajność niż inne systemy plików, gdy ma do czynienia z wieloma małymi plikami. Może to być przydatne w przypadku niektórych typów serwerów, które przede wszystkim muszą radzić sobie z dużymi plikami.
- JFS, lub "Journaled File System", został opracowany przez IBM dla systemu operacyjnego IBM AIX w 1990 r. i później przeniesiony na system Linux. Zapewnia niskie zużycie procesora i dobrą wydajność zarówno dla dużych, jak i małych plików. Partycje JFS można dynamicznie zmieniać, ale nie skurczyć. Był bardzo dobrze zaplanowany i ma wsparcie w większości głównych dystrybucji, jednak jego testowanie wydajności na serwerach Linux nie jest tak rozbudowane jak Ext, ponieważ zostało zaprojektowane dla AIX. Ext4 jest częściej używany i jest szerzej testowany.
- Zamiana jest opcją podczas formatowania dysku, ale nie jest faktycznym systemem plików. Jest używany jako pamięć wirtualna i nie ma struktury systemu plików. Nie można go zamontować, aby zobaczyć jego zawartość. Swap jest używany jako "scratch space" przez jądro Linuxa, aby tymczasowo przechowywać dane, które nie mieszczą się w pamięci RAM. Jest również używany do hibernacji. Podczas gdy system Windows przechowuje plik stronicowania jako plik na głównej partycji systemowej, Linux rezerwuje oddzielną pustą partycję dla obszaru wymiany.
- FAT16, FAT32, i exFAT: Systemy plików FAT firmy Microsoft często są opcją podczas formatowania dysku w systemie Linux. Te systemy plików nie zawierają dziennika, więc są idealne do zewnętrznych dysków USB. To de facto standard, który każdy system operacyjny - Windows, MacOS, Linux i inne urządzenia - może odczytać. To sprawia, że są idealnym systemem plików do użycia podczas formatowania zewnętrznego dysku, którego chcesz używać z innymi systemami operacyjnymi. FAT32 jest starszy. exFAT jest idealną opcją, ponieważ obsługuje pliki o rozmiarze ponad 4 GB i partycje o wielkości ponad 8 TB, w przeciwieństwie do FAT32.
Istnieją również inne systemy plików Linux, w tym systemy plików zaprojektowane specjalnie do przechowywania plików flash w urządzeniach wbudowanych i na kartach SD. Ale są to opcje, które najczęściej widzisz podczas korzystania z Linuksa.