Difference between revisions of "File Systems"

m
disable translation of usercmd
(conversion to ext4, robustness, support)
m (disable translation of usercmd)
(11 intermediate revisions by the same user not shown)
Line 13: Line 13:
File systems that are mostly used under linux.
File systems that are mostly used under linux.


Be aware that a lot of filesystem-drivers are included into the Linux kernel. You may not need anything special to mount, read or write these filesystems. But there are packages with additional tools. You may need them to format, check, repair, modify or tune such filesystems.
Note that many file system drivers are already included in the Linux kernel. You may not need anything else to mount, read, or write these filesystems. But there are packages with additional tools. You may need them to format, check, repair, modify, or optimize such file systems. So if you regularly use a file system, it is a good idea to install the appropriate tools


=== Ext2 → Ext3 → Ext4 ===
=== Ext2 → Ext3 → Ext4 ===
Line 23: Line 23:
Currently Ext4 is fully supported in Win10 and OsX. Support for ext4 has been built in since WSL is included in Win10 (2016).
Currently Ext4 is fully supported in Win10 and OsX. Support for ext4 has been built in since WSL is included in Win10 (2016).


see [https://wiki.archlinux.org/title/Ext4 Ext4@ARCH-wiki], [https://de.wikipedia.org/wiki/Ext4 Ext4@wikipedia]
see [https://ext4.wiki.kernel.org/ Ext4@kernel.org], [https://wiki.archlinux.org/title/Ext4 Ext4@ARCH-wiki], [https://de.wikipedia.org/wiki/Ext4 Ext4@wikipedia]  


====Install==== <!--T:17-->
====Install==== <!--T:17-->
Line 41: Line 41:
====Install==== <!--T:21-->
====Install==== <!--T:21-->


{{UserCmd|command=pamac install btrfs-progs}}
{{UserCmd|command=</translate>pamac install btrfs-progs<translate>}}


=== reiserfs → reiser4 === <!--T:18-->
=== reiserfs → reiser4 === <!--T:18-->


This was used some time ago in a few linux distros. You may need it if you move to manjaro and have to read data from such harddisks.  
Reiserf was the first journaling filesystem to be included in the standard kernel. It was actively used by some distros some time ago, but is not currently widely used. Reiser4 is the successor to reiserfs (3). However, Reiser4 seems not to be integrated in the kernel yet.


see [https://wiki.archlinux.org/title/Reiser4 Reiser4@ARCH-wiki], [https://en.wikipedia.org/wiki/ReiserFS ReiserFS@wikipedia], [https://en.wikipedia.org/wiki/Reiser4 Reiser4@wikipedia]
see [https://wiki.archlinux.org/title/Reiser4 Reiser4@ARCH-wiki], [https://en.wikipedia.org/wiki/ReiserFS ReiserFS@wikipedia], [https://en.wikipedia.org/wiki/Reiser4 Reiser4@wikipedia], [https://reiser4.wiki.kernel.org/ Reiser4@kernel.org]


====Install====  <!--T:19-->
====Install====  <!--T:19-->
Line 59: Line 59:
=== NTFS ===
=== NTFS ===


This today is used by most windows installs
It is the most widely used file system on windows these days. It does exist in different versions, but unlike FAT32, all of them offer the following points:
* Large files> 4GB
* Long file names with UTF16 up to 255 characters
* Rights management, ACL
* Journaling of metadata
* Compression, encryption, ...
 
Currently there are some restrictions when using NTFS with Linux. If windows is suddenly switched off or goes into hibernating, the NTFS file system is left in a "dirty-state". When Windows starts again, NTFS is the first to be cleaned. This operation is currently not supported by the Linux driver. Then Linux shows the NTFS file system as read-only to be on the safe side.
 
{{warning |If you regularly switch between Windows and Linux, you should switch off "hibernation", "Hybrid Boot", "Fast Boot" in Windows. Then Linux has allways full (read / write) access to NTFS drives.}}


see [https://wiki.archlinux.org/title/NTFS NTFS@ARCH-wiki], [https://en.wikipedia.org/wiki/NTFS NTFS@wikipedia]
see [https://wiki.archlinux.org/title/NTFS NTFS@ARCH-wiki], [https://en.wikipedia.org/wiki/NTFS NTFS@wikipedia]
Line 71: Line 80:
File systems under DOS and early windows on a lot of floppydisks and USB-sticks
File systems under DOS and early windows on a lot of floppydisks and USB-sticks


=== FAT → FAT32 VFAT ===
=== FAT16 → FAT32 (+VFAT) ===
 
This is a traditional file system under DOS and early Windows versions. Even today it can be found on many floppy disks, USB sticks and hard drives. It is supported by all types of operating systems and is therefore often used to exchange files, to pass them on, or to keep them accessible to both operating systems in the case of dualboot.
 
Even with FAT32, this comes not without its disadvantages.
* no support for user rights or xattr
* severely restricted file names (8.3 or LFN for VFAT, no distinction between lowercase and uppercase)
* no files over 2GB (FAT16) 4GB (FAT32)
* no journaling
* not robust


You may find this filesystem on disks created under DOS or Windows9x. It is sometimes used to transport files from one operating system to another.
{{warning | FAT Filesystems do not use journaling. Data on such filesystems is vulnerable to irreparable corruption due to ''improper ejection or power outage''.}}


see [https://wiki.archlinux.org/title/FAT FAT@ARCH-wiki], [https://en.wikipedia.org/wiki/File_Allocation_Table FAT@wikipedia]
see [https://wiki.archlinux.org/title/FAT FAT@ARCH-wiki], [https://en.wikipedia.org/wiki/File_Allocation_Table FAT@wikipedia]
Line 83: Line 101:
=== exFAT === <!--T:26-->
=== exFAT === <!--T:26-->


Microsoft created the exFAT (Extended File Alocation Table) to make up for the inadequacies of FAT32, as it can hold large files, large numbers of files & use very large partitions. Supported on Linux, Windows, MacOS and many other devices, it is one of the most compatible filesystems.
Microsoft developed the exFAT (Extended File Alocation Table) in 2006 and optimized it for flash memories such as USB sticks and SD cards. It can store large files and large numbers of files, and it can manage very large partitions. It is supported by Linux, Windows, macOS and many other devices and is one of the most compatible file systems. ExFAT is included in Linux 5.4.
A good choice when you need to share a removable device between many systems.
 
* Flash friendly
* No support for user rights or xattr
* Files over 4 GB
* Checksums for metadata
* No journal
* Not robust
 
{{warning | exFAT FS does not use journaling. Data on such a filesystem is vulnerable to irreparable corruption due to ''improper ejection or power outage''.}}


<!--T:27-->
<!--T:27-->
see [https://en.wikipedia.org/wiki/ExFAT ExFAT@wikipedia]
see [https://en.wikipedia.org/wiki/ExFAT ExFAT@wikipedia]
{{warning | exFAT FS does not use journaling. Data on such a filesystem is vulnerable to irreparable corruption due to ''improper ejection or power outage''.}}


====Install====  <!--T:28-->
====Install====  <!--T:28-->
Line 131: Line 156:
|reiser3||● reiser4progs||▷ RFSTool||?||-
|reiser3||● reiser4progs||▷ RFSTool||?||-
|-
|-
|reiser4||reiserfs||?||?||-
|reiser4||reiserfs||?||?||-
|-
|-
|NTFS||○ ntfs-3g||■||?||  
|NTFS||○ ntfs-3g<br>▶ 5.15?? ntfs3||■||?||  
|-
|-
|FAT||● dosfstools||■||■|| ■
|FAT32||● dosfstools||■||■|| ■
|-
|-
|exFAT||exfatprogs||■||?||?
|exFAT||▶ 5.4 exfatprogs||■||?||?
|-
|-
|HFS||○ hfsprogs (AUR)||?||■||  
|HFS||○ hfsprogs (AUR)||?||■||  
Line 147: Line 172:
  ■ = fully supported
  ■ = fully supported
  ● = fully supported, additional tools to install
  ● = fully supported, additional tools to install
▶ = included since kernel x.x.x
  ○ = partially supported
  ○ = partially supported
  ▷ = possible via external tools
  ▷ = possible via external tools
Line 154: Line 180:
|+ Some important properties
|+ Some important properties
|-
|-
! Properties !!ext2!!ext3!!ext4!!btrfs||reiserfs||XFS
! Properties !!ext2!!ext3!!ext4!!btrfs||reiserfs(3)||XFS
|-
|-
|journaling ||-||● ordered||● ordered||● ||▶ 2.6||●
|journaling ||-||● ordered||● ordered||● full||▶ 2.6||●
|-
|-
|barriers ||-||||●||●||?||
|barriers ||-||||●||●
|-
|-
|checksum ||-||-||◎ metadata||● full||?||
|checksum ||-||-||◎ metadata||● full||
|-
|-
|kompression||-||-||-||●,<br><small>zstd ▶ 4.14/5.1</small>||-||
|kompression||-||-||-||●,<br><small>zstd ▶ 4.14/5.1</small>||
|-
|-
|encryption||-||-||▶ 4.13||-||
|encryption||-||-||▶ 4.13||-
|-
|-
|snapshots||-||-||-||●||-||
|snapshots||-||-||-||●||-
|-
|-
|TRIM possible||-||-||▶ 2.6.33||▶ 4.3
|TRIM possible||-||-||▶ 2.6.33||▶ 4.3
translator
987

edits