Difference between revisions of "File Systems"
Views
Actions
Namespaces
Variants
Tools
m (translation in table) |
m (remove under construction) |
||
(12 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
__TOC__ | __TOC__ | ||
<translate> | <translate> | ||
<!--T:14--> | <!--T:14--> | ||
This page provides information on some of the | This page provides information on some of the filesystems commonly used in Manjaro. It also shows where and how they are used. Further information on these and other filesystems can be found in the ARCH Wiki. | ||
<!--T:15--> | <!--T:15--> | ||
A | A filesystem manages the space on a storage medium (hard disk, SSD ...). It makes this memory available to the operating system so that files can be saved and read again. Each of the following filesystems has advantages and disadvantages. They are mostly developed for a special purpose and are therefore used in a certain environment. | ||
== Linux == <!--T:16--> | == Linux == <!--T:16--> | ||
<!--T:32--> | |||
filesystems that are mostly used under Linux. | |||
Note that many | <!--T:33--> | ||
Note that many filesystem 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 filesystems. So if you regularly use a filesystem, it is a good idea to install the appropriate tools. | |||
=== Ext2 → Ext3 → Ext4 === | === Ext2 → Ext3 → Ext4 === <!--T:34--> | ||
Ext4 is the default | <!--T:35--> | ||
Ext4 is the default filesystem in Manjaro at the moment. It is the evolution of the most used Linux filesystems (Ext3, Ext2) and promises improved design, better performance, reliability, and features over its predecessors. | |||
<!--T:36--> | |||
If you are using Ext2 or Ext3, you can convert the partition to Ext4. Ext4 uses journaling, checksums and write barriers and is therefore more robust against damage. | If you are using Ext2 or Ext3, you can convert the partition to Ext4. Ext4 uses journaling, checksums and write barriers and is therefore more robust against damage. | ||
<!--T:37--> | |||
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). | ||
<!--T:38--> | |||
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] | 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] | ||
<br>For advanced optimizations see [https://wiki.archlinux.org/index.php/Ext4#Improving_performance Improving Ext4 performance@Archwiki]. | <br>For advanced optimizations see [https://wiki.archlinux.org/index.php/Ext4#Improving_performance Improving Ext4 performance@Archwiki]. | ||
Line 28: | Line 34: | ||
====Install==== <!--T:17--> | ====Install==== <!--T:17--> | ||
In | <!--T:39--> | ||
In Manjaro, e2fsprogs is already installed | |||
=== | ===[[Btrfs]]=== <!--T:20--> | ||
A modern '''C'''opy '''o'''n '''W'''rite | <!--T:40--> | ||
A modern '''C'''opy '''o'''n '''W'''rite filesystem for Linux aimed at implementing advanced features while also focusing on '''fault tolerance''', '''repair''' and '''easy administration'''. [[Btrfs]] not only is a filesystem, but also is partly a volume manager, software-raid, backup-tool, and it is flash-friendly. | |||
Because | <!--T:41--> | ||
Because [[Btrfs]] is different, some things seem unfamiliar and strange. Then [[Btrfs]] is a good starting point to search for answers. | |||
Development of Btrfs started in 2007. Since that time, Btrfs is a part of the Linux kernel and is under active development. The Btrfs code base is '''stable''' | <!--T:42--> | ||
* '''Snapshots''' which do not make | Development of Btrfs started in 2007. Since that time, Btrfs is a part of the Linux kernel and is under active development. The Btrfs code base is '''[https://btrfs.wiki.kernel.org/index.php/Status stable] .''' However, new features are still under development. Its main features and benefits are: | ||
* '''Snapshots''' which do not make a full copy of files | |||
* '''RAID''' - support for software-based RAID 0, RAID 1, RAID 10 | * '''RAID''' - support for software-based RAID 0, RAID 1, RAID 10 | ||
* '''Self-healing''' - checksums for data and metadata, automatic detection of silent data corruptions | * '''Self-healing''' - checksums for data and metadata, automatic detection of silent data corruptions | ||
see [https://btrfs.wiki.kernel.org/index.php/Main_Page | <!--T:43--> | ||
see [[Btrfs]], [https://btrfs.wiki.kernel.org/index.php/Main_Page Btrfs@kernel.org], [https://wiki.archlinux.org/title/Btrfs Btrfs@ARCH-wiki], [https://de.wikipedia.org/wiki/Btrfs Btrfs@wikipedia] | |||
====Install==== <!--T:21--> | ====Install==== <!--T:21--> | ||
<!--T:44--> | |||
<tvar|usercmd0>{{UserCmd|command=pamac install btrfs-progs}}</> | <tvar|usercmd0>{{UserCmd|command=pamac install btrfs-progs}}</> | ||
=== | === ReiserFS → reiser4 === <!--T:18--> | ||
<!--T:45--> | |||
ReiserFS 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. | |||
<!--T:46--> | |||
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] | 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==== | ====Install==== <!--T:19--> | ||
<!--T:47--> | |||
<tvar|usercmd2>{{UserCmd|command=pamac install reiserfsprogs reiser4progs}}</> | <tvar|usercmd2>{{UserCmd|command=pamac install reiserfsprogs reiser4progs}}</> | ||
== Windows == <!--T:22--> | == Windows == <!--T:22--> | ||
<!--T:48--> | |||
filesystems mostly used in windows | |||
=== NTFS === | === NTFS === <!--T:49--> | ||
It is the most widely used | <!--T:50--> | ||
It is the most widely used filesystem on windows these days. It does exist in different versions, but unlike FAT32, all of them offer the following points: | |||
* Large files> 4GB | * Large files> 4GB | ||
* Long file names with UTF16 up to 255 characters | * Long file names with UTF16 up to 255 characters | ||
Line 70: | Line 87: | ||
* Compression, encryption, ... | * Compression, encryption, ... | ||
Currently there are some restrictions when using NTFS with Linux. If windows is suddenly switched off or goes into hibernating, the NTFS | <!--T:51--> | ||
Currently there are some restrictions when using NTFS with Linux. If windows is suddenly switched off or goes into hibernating, the NTFS filesystem 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 filesystem as read-only to be on the safe side. | |||
<!--T:53--> | |||
see [https://wiki.archlinux.org/title/NTFS NTFS@ARCH-wiki], [https://en.wikipedia.org/wiki/NTFS NTFS@wikipedia] | |||
<!--T:52--> | |||
{{warning |If you regularly switch between Windows and Linux, you should switch off "hibernation", "Hybrid Boot", "Fast Boot" in Windows. Then Linux has always full (read / write) access to NTFS drives. | |||
* [https://forum.manjaro.org/t/all-of-my-files-are-in-read-only-mode/83777/7 all-of-my-files-are-in-read-only-mode@forum] | |||
}} | |||
====Install==== | ====Install==== <!--T:23--> | ||
<!--T:54--> | |||
<tvar|usercmd3>{{UserCmd|command=pamac install ntfs-3g}}</> | <tvar|usercmd3>{{UserCmd|command=pamac install ntfs-3g}}</> | ||
== DOS == <!--T:24--> | == DOS == <!--T:24--> | ||
<!--T:55--> | |||
filesystems under DOS and early windows on a lot of floppydisks and USB-sticks | |||
=== FAT16 → FAT32 (+VFAT) === | === FAT16 → FAT32 (+VFAT) === <!--T:56--> | ||
This is a traditional | <!--T:57--> | ||
This is a traditional filesystem 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. | |||
<!--T:58--> | |||
Even with FAT32, this comes not without its disadvantages. | Even with FAT32, this comes not without its disadvantages. | ||
* no support for user rights or xattr | * no support for user rights or xattr | ||
Line 95: | Line 121: | ||
* not robust | * not robust | ||
<!--T:59--> | |||
{{warning | FAT Filesystems do not use journaling. Data on such filesystems is vulnerable to irreparable corruption due to ''improper ejection or power outage''.}} | {{warning | FAT Filesystems do not use journaling. Data on such filesystems is vulnerable to irreparable corruption due to ''improper ejection or power outage''.}} | ||
<!--T:60--> | |||
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] | ||
====Install==== <!--T:25--> | ====Install==== <!--T:25--> | ||
<!--T:61--> | |||
<tvar|usercmd4>{{UserCmd|command=pamac install dosfstools}}</> | <tvar|usercmd4>{{UserCmd|command=pamac install dosfstools}}</> | ||
=== exFAT === <!--T:26--> | === exFAT === <!--T:26--> | ||
Microsoft developed the exFAT (Extended File | <!--T:62--> | ||
Microsoft developed the exFAT (Extended File Allocation 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 filesystems. ExFAT is included in Linux 5.4 and higher. | |||
<!--T:63--> | |||
* Flash friendly | * Flash friendly | ||
* No support for user rights or xattr | * No support for user rights or xattr | ||
Line 114: | Line 145: | ||
* Not robust | * Not robust | ||
<!--T:64--> | |||
{{warning | exFAT FS does not use journaling. Data on such a filesystem is vulnerable to irreparable corruption due to ''improper ejection or power outage''.}} | {{warning | exFAT FS does not use journaling. Data on such a filesystem is vulnerable to irreparable corruption due to ''improper ejection or power outage''.}} | ||
Line 119: | Line 151: | ||
see [https://en.wikipedia.org/wiki/ExFAT ExFAT@wikipedia] | see [https://en.wikipedia.org/wiki/ExFAT ExFAT@wikipedia] | ||
====Install==== | ====Install==== <!--T:28--> | ||
<!--T:65--> | |||
<tvar|usercmd5>{{UserCmd|command=pamac install exfatprogs}}</> | <tvar|usercmd5>{{UserCmd|command=pamac install exfatprogs}}</> | ||
== macOS == <!--T:29--> | == macOS == <!--T:29--> | ||
Filesystems mostly used in | <!--T:66--> | ||
Filesystems mostly used in macOS | |||
=== HFS → HFS+ === | === HFS → HFS+ === <!--T:67--> | ||
<!--T:68--> | |||
see [https://en.wikipedia.org/wiki/HFS_Plus HFSPlus@wikipedia] | see [https://en.wikipedia.org/wiki/HFS_Plus HFSPlus@wikipedia] | ||
====Install from AUR==== | ====Install from AUR==== <!--T:69--> | ||
<!--T:70--> | |||
<tvar|usercmd6>{{UserCmd|command=pamac install hfsprogs}}</> | <tvar|usercmd6>{{UserCmd|command=pamac install hfsprogs}}</> | ||
== Others == <!--T:30--> | == Others == <!--T:30--> | ||
=== XFS === | === XFS === <!--T:71--> | ||
<!--T:72--> | |||
see [https://wiki.archlinux.org/title/XFS XFS@ARCH-wiki] | see [https://wiki.archlinux.org/title/XFS XFS@ARCH-wiki] | ||
===ZFS=== | ===ZFS=== <!--T:73--> | ||
<!--T:74--> | |||
see [https://wiki.archlinux.org/title/ZFS ZFS@ARCH-wiki] | see [https://wiki.archlinux.org/title/ZFS ZFS@ARCH-wiki] | ||
==Comparisions== | ==Comparisions== <!--T:75--> | ||
</translate> | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|+ Possible usage of Filesystems | |+<translate><!--T:76--> Possible usage of Filesystems</translate> | ||
|- | |- | ||
! Filesystem !! | !Filesystem!!Manjaro!!Win10!!OSX!!Win9x, DOS | ||
|- | |- | ||
|ext2||●||▷ ExtFS||●|| | |ext2||●||▷ ExtFS||●|| | ||
|- | |- | ||
|ext3/4||●||▷ ExtFS||?|| | |ext3/4||●||▷ ExtFS||?|| | ||
|- | |- | ||
|btrfs||● btrfs-progs||▷ ExtFS, WinBtrfs||-||- | |btrfs||● btrfs-progs||▷ ExtFS, WinBtrfs||-||- | ||
Line 162: | Line 200: | ||
|reiser4||○ reiserfs||?||?||- | |reiser4||○ reiserfs||?||?||- | ||
|- | |- | ||
|NTFS||○ ntfs-3g<br>▶ 5.15?? ntfs3||●||?|| | |NTFS||○ ntfs-3g<br>▶ 5.15?? ntfs3||●||?|| | ||
|- | |- | ||
|FAT32||● dosfstools||●||●|| ● | |FAT32||● dosfstools||●||●||● | ||
|- | |- | ||
|exFAT||▶ 5.4 exfatprogs||●||?||? | |exFAT||▶ 5.4 exfatprogs||●||?||? | ||
|- | |- | ||
|HFS||○ hfsprogs (AUR)||?||●|| | |HFS||○ hfsprogs (AUR)||?||●|| | ||
|- | |- | ||
|XFS||?||▷ ExtFS||?|| | |XFS||?||▷ ExtFS||?|| | ||
|- | |- | ||
|ZFS||?||?||?|| | |ZFS||?||?||?|| | ||
|} | |} | ||
<translate> | |||
● = fully supported, additional tools to install | <!--T:77--> | ||
● = fully supported, additional tools to install | |||
▶ = included since kernel x.x.x | ▶ = included since kernel x.x.x | ||
○ = partially supported | ○ = partially supported | ||
Line 181: | Line 221: | ||
? = feel free to extend ;-) | ? = feel free to extend ;-) | ||
<!--T:78--> | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|+ Some important properties | |+ Some important properties | ||
Line 211: | Line 252: | ||
|} | |} | ||
=See also= | =See also= <!--T:31--> | ||
<!--T:79--> | |||
[https://en.wikipedia.org/wiki/ExFAT Wikipedia:exFAT]<br /> | [https://en.wikipedia.org/wiki/ExFAT Wikipedia:exFAT]<br /> | ||
[https://en.wikipedia.org/wiki/Comparison_of_file_systems Wikipedia:Comparison of | [https://en.wikipedia.org/wiki/Comparison_of_file_systems Wikipedia:Comparison of filesystems]<br /> | ||
[https://wiki.archlinux.org/index.php/Filesystems Archwiki: | [https://wiki.archlinux.org/index.php/Filesystems Archwiki:filesystems]<br /> | ||
</translate> | </translate> | ||
[[Category:Contents Page{{#translation:}}]] | [[Category:Contents Page{{#translation:}}]] | ||
[[Category: | [[Category:filesystems{{#translation:}}]] |
Latest revision as of 16:58, 12 June 2023
This page provides information on some of the filesystems commonly used in Manjaro. It also shows where and how they are used. Further information on these and other filesystems can be found in the ARCH Wiki.
A filesystem manages the space on a storage medium (hard disk, SSD ...). It makes this memory available to the operating system so that files can be saved and read again. Each of the following filesystems has advantages and disadvantages. They are mostly developed for a special purpose and are therefore used in a certain environment.
Linux
filesystems that are mostly used under Linux.
Note that many filesystem 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 filesystems. So if you regularly use a filesystem, it is a good idea to install the appropriate tools.
Ext2 → Ext3 → Ext4
Ext4 is the default filesystem in Manjaro at the moment. It is the evolution of the most used Linux filesystems (Ext3, Ext2) and promises improved design, better performance, reliability, and features over its predecessors.
If you are using Ext2 or Ext3, you can convert the partition to Ext4. Ext4 uses journaling, checksums and write barriers and is therefore more robust against damage.
Currently Ext4 is fully supported in Win10 and OsX. Support for ext4 has been built in since WSL is included in Win10 (2016).
see Ext4@kernel.org, Ext4@ARCH-wiki, Ext4@wikipedia
For advanced optimizations see Improving Ext4 performance@Archwiki.
Install
In Manjaro, e2fsprogs is already installed
Btrfs
A modern Copy on Write filesystem for Linux aimed at implementing advanced features while also focusing on fault tolerance, repair and easy administration. Btrfs not only is a filesystem, but also is partly a volume manager, software-raid, backup-tool, and it is flash-friendly.
Because Btrfs is different, some things seem unfamiliar and strange. Then Btrfs is a good starting point to search for answers.
Development of Btrfs started in 2007. Since that time, Btrfs is a part of the Linux kernel and is under active development. The Btrfs code base is stable . However, new features are still under development. Its main features and benefits are:
- Snapshots which do not make a full copy of files
- RAID - support for software-based RAID 0, RAID 1, RAID 10
- Self-healing - checksums for data and metadata, automatic detection of silent data corruptions
see Btrfs, Btrfs@kernel.org, Btrfs@ARCH-wiki, Btrfs@wikipedia
Install
ReiserFS → reiser4
ReiserFS 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 Reiser4@ARCH-wiki, ReiserFS@wikipedia, Reiser4@wikipedia, Reiser4@kernel.org
Install
Windows
filesystems mostly used in windows
NTFS
It is the most widely used filesystem 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 filesystem 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 filesystem as read-only to be on the safe side.
see NTFS@ARCH-wiki, NTFS@wikipedia
Install
DOS
filesystems under DOS and early windows on a lot of floppydisks and USB-sticks
FAT16 → FAT32 (+VFAT)
This is a traditional filesystem 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
see FAT@ARCH-wiki, FAT@wikipedia
Install
exFAT
Microsoft developed the exFAT (Extended File Allocation 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 filesystems. ExFAT is included in Linux 5.4 and higher.
- Flash friendly
- No support for user rights or xattr
- Files over 4 GB
- Checksums for metadata
- No journal
- Not robust
see ExFAT@wikipedia
Install
macOS
Filesystems mostly used in macOS
HFS → HFS+
Install from AUR
Others
XFS
see XFS@ARCH-wiki
ZFS
see ZFS@ARCH-wiki
Comparisions
Filesystem | Manjaro | Win10 | OSX | Win9x, DOS |
---|---|---|---|---|
ext2 | ● | ▷ ExtFS | ● | |
ext3/4 | ● | ▷ ExtFS | ? | |
btrfs | ● btrfs-progs | ▷ ExtFS, WinBtrfs | - | - |
reiser3 | ● reiser4progs | ▷ RFSTool | ? | - |
reiser4 | ○ reiserfs | ? | ? | - |
NTFS | ○ ntfs-3g ▶ 5.15?? ntfs3 |
● | ? | |
FAT32 | ● dosfstools | ● | ● | ● |
exFAT | ▶ 5.4 exfatprogs | ● | ? | ? |
HFS | ○ hfsprogs (AUR) | ? | ● | |
XFS | ? | ▷ ExtFS | ? | |
ZFS | ? | ? | ? |
● = fully supported, additional tools to install ▶ = included since kernel x.x.x ○ = partially supported ▷ = possible via external tools ? = feel free to extend ;-)
Properties | ext2 | ext3 | ext4 | btrfs | reiserfs(3) | XFS |
---|---|---|---|---|---|---|
journaling | - | ● ordered | ● ordered | ● full | ▶ 2.6 | ● |
barriers | - | ● | ● | |||
checksum | - | - | ◎ metadata | ● full | ● | |
kompression | - | - | - | ●, zstd ▶ 4.14/5.1 |
||
encryption | - | - | ▶ 4.13 | - | ||
snapshots | - | - | - | ● | - | |
TRIM possible | - | - | ▶ 2.6.33 | ▶ 4.3 | ||
xattr, ACL | ◎ | ? | ACL | ACL | ACL | |
small repair | ● fsck | ● fsck | ● fsck | ● auto | reiserfsck | |
journal repair | ● fsck | ● fsck | ● fsck | ● auto 3.2 | ||
repair after power loss | - | ? | ● tune2fs, fsck | ● auto, scrub | ||
since | 1993 | 2001 | 2008 | 2009 | 2001 |
See also
Wikipedia:exFAT
Wikipedia:Comparison of filesystems
Archwiki:filesystems