Group: Software/FSDG distributions/Filesystems
(Also warn more about reiser3 deprecation) |
(→Filesystems: Add column for Guix HURD) |
||
Line 93: | Line 93: | ||
|- bgcolor="#6699ff" | |- bgcolor="#6699ff" | ||
! rowspan=2 | | ! rowspan=2 | | ||
− | ! colspan= | + | ! colspan=12 | Distributions |
|- | |- | ||
! Dragora | ! Dragora | ||
! Dynebolics | ! Dynebolics | ||
− | ! Guix i686-linux and x86_64-linux | + | ! Guix i686-linux and x86_64-linux (x86 GNU/Linux) |
+ | ! Guix i586-gnu (HURD) | ||
! Hyperbola | ! Hyperbola | ||
! LibreCMC | ! LibreCMC | ||
Line 110: | Line 111: | ||
| <!-- Dragora --> | | <!-- Dragora --> | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
− | | <!-- Guix --> | + | | <!-- Guix x86 GNU/Linux --> |
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- bgcolor="#6699ff" | |- bgcolor="#6699ff" | ||
Line 126: | Line 127: | ||
| {{yes}} | | {{yes}} | ||
|} | |} | ||
+ | | <!-- Guix HURD --> | ||
| <!-- Hyperbola --> | | <!-- Hyperbola --> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 162: | Line 164: | ||
| <!-- Dragora --> | | <!-- Dragora --> | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
− | | <!-- Guix --> | + | | <!-- Guix x86 GNU/Linux --> |
+ | | <!-- Guix HURD --> | ||
| <!-- Hyperbola --> | | <!-- Hyperbola --> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 216: | Line 219: | ||
| <!-- Dragora --> | | <!-- Dragora --> | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
− | | <!-- Guix --> | + | | <!-- Guix x86 GNU/Linux --> |
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- bgcolor="#6699ff" | |- bgcolor="#6699ff" | ||
Line 232: | Line 235: | ||
| {{yes}} | | {{yes}} | ||
|} | |} | ||
+ | | <!-- Guix HURD --> | ||
| <!-- Hyperbola --> | | <!-- Hyperbola --> | ||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
Line 301: | Line 305: | ||
| <!-- Dragora --> | | <!-- Dragora --> | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
− | | <!-- Guix --> | + | | <!-- Guix x86 GNU/Linux --> |
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- bgcolor="#6699ff" | |- bgcolor="#6699ff" | ||
Line 317: | Line 321: | ||
| {{yes}} | | {{yes}} | ||
|} | |} | ||
+ | | <!-- Guix HURD --> | ||
| <!-- Hyperbola --> | | <!-- Hyperbola --> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 366: | Line 371: | ||
| <!-- Dragora --> | | <!-- Dragora --> | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
− | | <!-- Guix --> | + | | <!-- Guix x86 GNU/Linux --> |
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- bgcolor="#6699ff" | |- bgcolor="#6699ff" | ||
Line 382: | Line 387: | ||
| {{no}} | | {{no}} | ||
|} | |} | ||
+ | | <!-- Guix HURD --> | ||
| <!-- Hyperbola --> | | <!-- Hyperbola --> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 432: | Line 438: | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
| {{no}}<ref>[https://packages.guix.gnu.org/search/?query=hfsutils There is no hfsutils package].</ref> | | {{no}}<ref>[https://packages.guix.gnu.org/search/?query=hfsutils There is no hfsutils package].</ref> | ||
+ | | | ||
| {{no}}<ref>[https://www.hyperbola.info/packages/?q=hfsutils There is no hfsutils package].</ref> | | {{no}}<ref>[https://www.hyperbola.info/packages/?q=hfsutils There is no hfsutils package].</ref> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 469: | Line 476: | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
| {{no}}<ref>[https://packages.guix.gnu.org/search/?query=hfsprogs There is no hfsprogs package].</ref> | | {{no}}<ref>[https://packages.guix.gnu.org/search/?query=hfsprogs There is no hfsprogs package].</ref> | ||
+ | | | ||
| {{no}}<ref>[https://www.hyperbola.info/packages/?q=hfsprogs There is no hfsprogs package].</ref> | | {{no}}<ref>[https://www.hyperbola.info/packages/?q=hfsprogs There is no hfsprogs package].</ref> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 505: | Line 513: | ||
| <!-- Dragora --> | | <!-- Dragora --> | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
− | | <!-- Guix --> | + | | <!-- Guix x86 GNU/Linux --> |
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- bgcolor="#6699ff" | |- bgcolor="#6699ff" | ||
Line 521: | Line 529: | ||
| {{yes}} | | {{yes}} | ||
|} | |} | ||
+ | | <!-- Guix HURD --> | ||
| <!-- Hyperbola --> | | <!-- Hyperbola --> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 545: | Line 554: | ||
| <!-- Dragora --> | | <!-- Dragora --> | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
− | | <!-- Guix --> | + | | <!-- Guix x86 GNU/Linux --> |
+ | | <!-- Guix HURD --> | ||
| <!-- Hyperbola --> | | <!-- Hyperbola --> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 570: | Line 580: | ||
| <!-- Dragora --> | | <!-- Dragora --> | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
− | | <!-- Guix --> | + | | <!-- Guix x86 GNU/Linux --> |
− | |||
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- bgcolor="#6699ff" | |- bgcolor="#6699ff" | ||
Line 587: | Line 596: | ||
| ? | | ? | ||
|} | |} | ||
+ | | <!-- Guix HURD --> | ||
| <!-- Hyperbola --> | | <!-- Hyperbola --> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 611: | Line 621: | ||
| <!-- Dragora --> | | <!-- Dragora --> | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
− | | <!-- Guix --> | + | | <!-- Guix x86 GNU/Linux --> |
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- bgcolor="#6699ff" | |- bgcolor="#6699ff" | ||
Line 626: | Line 636: | ||
| {{no|Broken}}<ref>In the graphical installer, the installation fails with: "The installer has encountered an unexpected problem. [...]", and we then get a stacktrace. If we manually install with the same system.scm we'd probably get the exact same stacktrace.</ref> | | {{no|Broken}}<ref>In the graphical installer, the installation fails with: "The installer has encountered an unexpected problem. [...]", and we then get a stacktrace. If we manually install with the same system.scm we'd probably get the exact same stacktrace.</ref> | ||
|} | |} | ||
+ | | <!-- Guix HURD --> | ||
| <!-- Hyperbola --> | | <!-- Hyperbola --> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 658: | Line 669: | ||
| <!-- Dragora --> | | <!-- Dragora --> | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
− | | <!-- Guix --> | + | | <!-- Guix x86 GNU/Linux --> |
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- bgcolor="#6699ff" | |- bgcolor="#6699ff" | ||
Line 673: | Line 684: | ||
| {{no}} | | {{no}} | ||
|} | |} | ||
+ | | <!-- Guix HURD --> | ||
| <!-- Hyperbola --> | | <!-- Hyperbola --> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 713: | Line 725: | ||
| <!-- Dragora --> | | <!-- Dragora --> | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
− | | <!-- Guix --> | + | | <!-- Guix x86 GNU/Linux --> |
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- bgcolor="#6699ff" | |- bgcolor="#6699ff" | ||
Line 728: | Line 740: | ||
| {{no}} | | {{no}} | ||
|} | |} | ||
+ | | <!-- Guix HURD --> | ||
| <!-- Hyperbola --> | | <!-- Hyperbola --> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 768: | Line 781: | ||
| <!-- Dragora --> | | <!-- Dragora --> | ||
| <!-- Dynebolics --> | | <!-- Dynebolics --> | ||
− | | <!-- Guix --> | + | | <!-- Guix x86 GNU/Linux --> |
{| class="wikitable sortable" border="1" | {| class="wikitable sortable" border="1" | ||
|- bgcolor="#6699ff" | |- bgcolor="#6699ff" | ||
Line 784: | Line 797: | ||
| {{yes}} | | {{yes}} | ||
|} | |} | ||
+ | | <!-- Guix HURD --> | ||
| <!-- Hyperbola --> | | <!-- Hyperbola --> | ||
| <!-- LibreCMC --> | | <!-- LibreCMC --> | ||
Line 808: | Line 822: | ||
! Dragora | ! Dragora | ||
! Dynebolics | ! Dynebolics | ||
− | ! Guix i686-linux and x86_64-linux | + | ! Guix i686-linux and x86_64-linux (x86 GNU/Linux) |
+ | ! Guix i586-gnu (HURD) | ||
! Hyperbola | ! Hyperbola | ||
! LibreCMC | ! LibreCMC | ||
Line 818: | Line 833: | ||
! Ututo S | ! Ututo S | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=12 | Distributions |
|} | |} | ||
Revision as of 00:53, 9 September 2023
Contents
Introduction
This article is about filesystems support and might be extended to take into account block device technologies too like LVM,RAID, etc.
Choosing a filesystem
Using the default filesystem currently proposed during the installation of your distribution is a good idea. It makes sure that the filesystem is properly integrated and that the distribution trusts it enough (with data integrity, and security[1]) to propose it by default.
Known issues and limitations
- With NTFS the free software implementation lacks the ability to repair the filesystem without nonfree software, so if you have data in NTFS filesystem it would be a good idea to move it to other filesystems.
- ReiserFS 3 will be removed from Linux in 2025.[2]
Defaults
The defaults filesystems used are often a good indication of what filesystems are best supported by the distribution.
Distribution | Defaults | Comments | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dragora | ||||||||||||||
Dynebolics | ||||||||||||||
Guix | ||||||||||||||
Hyperbola | ||||||||||||||
LibreCMC | ||||||||||||||
Parabola | ||||||||||||||
ProteanOS | ||||||||||||||
PureOS 10 (byzantium) |
|
|
||||||||||||
Replicant 6.0 | ||||||||||||||
Trisquel 10 (nabia) | ||||||||||||||
Ututo S |
Filesystems
Distributions | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dragora | Dynebolics | Guix i686-linux and x86_64-linux (x86 GNU/Linux) | Guix i586-gnu (HURD) | Hyperbola | LibreCMC | Parabola | ProteanOS | PureOS 10 (byzantium) | Replicant 6.0 | Trisquel 10 (nabia) | Ututo S | |||||||||||||||||||||||||||||||||||||
btrfs |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
exfat |
|
|
||||||||||||||||||||||||||||||||||||||||||||||
ext4 |
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||
f2fs |
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
fat |
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
hfs | No[9] | No[10] | No[11] |
|
No[12] |
|
||||||||||||||||||||||||||||||||||||||||||
hfs+ | No[13] | No[14] | No[15] |
|
No[16] |
|
||||||||||||||||||||||||||||||||||||||||||
jfs |
|
|
||||||||||||||||||||||||||||||||||||||||||||||
minix |
|
|||||||||||||||||||||||||||||||||||||||||||||||
nilfs2 |
|
|
||||||||||||||||||||||||||||||||||||||||||||||
ntfs |
|
|
||||||||||||||||||||||||||||||||||||||||||||||
reiser4 |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
reiserfs |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
xfs |
|
|
||||||||||||||||||||||||||||||||||||||||||||||
Dragora | Dynebolics | Guix i686-linux and x86_64-linux (x86 GNU/Linux) | Guix i586-gnu (HURD) | Hyperbola | LibreCMC | Parabola | ProteanOS | PureOS 10 (byzantium) | Replicant 6.0 | Trisquel 10 (nabia) | Ututo S | |||||||||||||||||||||||||||||||||||||
Distributions |
Block device layer
Distributions | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Dragora | Dynebolics | Guix | Hyperbola | LibreCMC | Parabola | ProteanOS | PureOS 10 (byzantium) | Replicant 6.0 | Trisquel 10 (nabia) | Ututo S | |
LVM2 |
References
- ↑ See the Unmaintained filesystems as a threat vector lwn.net article for more details.
-
↑ 2.02.12.22.3
The Linux kernel documentation for the REISERFS_FS option tells that:
Reiserfs is deprecated and scheduled to be removed from the kernel
in 2025. If you are still using it, please migrate to another
filesystem or tell us your usecase for reiserfs.
- ↑ 3.03.13.23.33.43.53.63.7 This tells if that filesystem can be used in a system.scm system definition.
- ↑ 4.004.014.024.034.044.054.064.074.084.094.104.114.12 Since users simply run commands manually during the manual installation, they can easily use the (packaged) tools to create new filesystems and add them to /etc/fstab for automatic mounting.
- ↑ The installation fails with an error.
- ↑ After creating the rootfs with mkfs.ext4 from Guix, in Replicant, it says "Corrupted <vendor> SD card" in the notification bar.
- ↑ We can easily view the card content with "File Manager". It also detects a new MicroSD card when it is just formatted.
- ↑ The installation fails with an error.
- ↑ There is no hfsutils package.
- ↑ There is no hfsutils package.
- ↑ There is no hfsutils package.
- ↑ There is no hfsutils repository in the manifest.
- ↑ There is no hfsprogs package.
- ↑ There is no hfsprogs package.
- ↑ There is no hfsprogs package.
- ↑ There is no hfsprogs repository in the manifest.
- ↑ The installation fails with an error.
- ↑ The graphical installer complains about some UUID related issue
- ↑ In the graphical installer, the installation fails with: "The installer has encountered an unexpected problem. [...]", and we then get a stacktrace. If we manually install with the same system.scm we'd probably get the exact same stacktrace.
- ↑ Once installed, the rootfs is mounted with FUSE and ntfs-3g.
- ↑ The installation succeeds, but then sudo and policykit are broken due to wrong permissions. So users can't install any software. It's also a very bad idea to use NTFS since there is at the time of writing no way to safely repair corrupted NTFS filesystems with free software: The only tools we have are in ntfs-3g and they are way too experimental and dangerous so they are probably not shipped by any distribution.
- ↑ 22.022.122.2 According to the reiser 4 wiki, upstream Linux has no reiser4 support.