Group: Software/FSDG distributions/Filesystems

From LibrePlanet
< Group:Software‎ | FSDG distributions
Revision as of 12:20, 28 August 2023 by GNUtoo (talk | contribs) (Choosing a filesystem: fix link)
Jump to: navigation, search

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.

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)
Install method Boot software Partitions
Graphical installer BIOS /boot /
not encrypted LUKS
ext4 ext4
  • In the graphical installer, encryption is mandatory when selecting "Erase disk", but it can be avoided when using manual partitioning.
Replicant 6.0
Trisquel 10 (nabia)
Ututo S

Filesystems

Distributions
Dragora Dynebolics Guix i686-linux and x86_64-linux Hyperbola LibreCMC Parabola ProteanOS PureOS 10 (byzantium) Replicant 6.0 Trisquel 10 (nabia) Ututo S
btrfs
Packages Yes: btrfs-progs
Guix system[2] Yes
Installer Yes
Rootfs Yes
Packages and manual installation[3] Yes: btrfs-progs
Graphical installer
Rootfs Yes
Packages and debootstrap installation[3] Yes: btrfs-progs
Graphical installer No
Rootfs with the graphical installer No
exfat
Implementation
kernel fuse
Packages Yes: exfatprogs Yes: exfat-fuse, exfat-utils
Graphical installer Yes No
Rootfs with the graphical installer Broken[4] No
Implementation
kernel fuse
Internal partitions No Yes
Rootfs No No
MicroSD card No Yes
ext4
Packages Yes: e2fsprogs
Guix system[2] Yes
Installer Yes
Rootfs Yes
Packages and manual installation[3] Yes: e2fsprogs
Rootfs Yes
Packages and manual installation[3] Yes: e2fsprogs
Graphical installer
Rootfs Yes
Packages and debootstrap installation[3] Yes: e2fsprogs
Graphical installer Yes
Rootfs with the graphical installer Yes
Internal partitions Yes
Rootfs Yes
MicroSD card No[5]
Packages and debootstrap installation[3] Yes: e2fsprogs
Graphical installer
Rootfs Yes
f2fs
Packages Yes: f2fs-tools
Guix system[2] Yes
Installer No
Rootfs Yes
Packages and manual installation[3] Yes: e2fsprogs
Graphical installer
Rootfs Yes
Packages and debootstrap installation[3] Yes: f2fs-tools
Graphical installer No
Rootfs with the graphical installer No
Internal partitions Yes
Rootfs ?
MicroSD card Yes[6]
fat
Packages Yes: dosfstools, mtools
Guix system[2] Yes
Installer Yes
Rootfs No
Packages and manual installation[3] Yes: dosfstools, mtools
Graphical installer
Rootfs No
Packages Yes: dosfstools, mtools
Graphical installer Yes
Rootfs with the graphical installer Broken[7]
Internal partitions Yes
Rootfs No
MicroSD card Yes
hfs No[8] No[9] No[10]
Packages and debootstrap installation[3] Yes: hfsutils
Graphical installer No
Rootfs with the graphical installer No
No[11]
Packages and debootstrap installation[3] Yes: hfsutils
Graphical installer ?
Rootfs with the graphical installer ?
hfs+ No[12] No[13] No[14]
Packages and debootstrap installation[3] Yes: hfsplus
Graphical installer No
Rootfs with the graphical installer No
No[15]
Packages and debootstrap installation[3] Yes: hfsplus
Graphical installer ?
Rootfs with the graphical installer ?
jfs
Packages Yes: jfsutils
Guix system[2] Yes
Installer Yes
Rootfs Yes
Packages Yes: jfsutils
Graphical installer No
Rootfs with the graphical installer No
minix
Packages Yes: util-linux
Graphical installer Yes
Rootfs with the graphical installer Broken[16]
nilfs2
Packages Yes: nilfs-utils
Guix system[2] ?
Installer ?
Rootfs ?
Packages Yes: nilfs-tools
Graphical installer No
Rootfs with the graphical installer No
ntfs
Packages Yes: ntfs-3g
Guix system[2] ?
Installer Broken[17]
Rootfs Broken[18]
Implementation
kernel fuse
Packages Yes: ntfs-3g
Graphical installer No[19] Yes
Rootfs with the graphical installer Broken[20]
reiser4
Kernel No[21]
Packages No
Graphical installer No
Rootfs with the graphical installer No
Kernel No[21]
Packages No
Graphical installer
Rootfs
Kernel No[21]
Packages Yes: reiser4progs
Graphical installer No
Rootfs with the graphical installer No
reiserfs
Kernel Until 2025[22]
Packages No
Graphical installer No
Rootfs with the graphical installer No
Kernel Until 2025[22]
Packages No
Graphical installer
Rootfs
Kernel Until 2025[22]
Packages Yes: reiserfsprogs
Graphical installer No
Rootfs with the graphical installer No
xfs
Packages Yes: xfsprogs
Guix system[2] Yes
Installer Yes
Rootfs Yes
Packages Yes: xfsprogs, xfsdump
Graphical installer No
Rootfs with the graphical installer No
Dragora Dynebolics Guix i686-linux and x86_64-linux 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

  1. See the Unmaintained filesystems as a threat vector lwn.net article for more details.
  2. 2.02.12.22.32.42.52.62.7 This tells if that filesystem can be used in a system.scm system definition.
  3. 3.003.013.023.033.043.053.063.073.083.093.103.113.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.
  4. The installation fails with an error.
  5. After creating the rootfs with mkfs.ext4 from Guix, in Replicant, it says "Corrupted <vendor> SD card" in the notification bar.
  6. We can easily view the card content with "File Manager". It also detects a new MicroSD card when it is just formatted.
  7. The installation fails with an error.
  8. There is no hfsutils package.
  9. There is no hfsutils package.
  10. There is no hfsutils package.
  11. There is no hfsutils repository in the manifest.
  12. There is no hfsprogs package.
  13. There is no hfsprogs package.
  14. There is no hfsprogs package.
  15. There is no hfsprogs repository in the manifest.
  16. The installation fails with an error.
  17. The graphical installer complains about some UUID related issue
  18. 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.
  19. Once installed, the rootfs is mounted with FUSE and ntfs-3g.
  20. 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.
  21. 21.021.121.2 According to the reiser 4 wiki, upstream Linux has no reiser4 support.
  22. 22.022.122.2 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.