Group: Software/FSDG distributions/DistroConfiguration

From LibrePlanet
Jump to: navigation, search
(Configuration: fix typo)
(Configuration: Document the lack of preseed in PureOS.)
 
(18 intermediate revisions by the same user not shown)
Line 11: Line 11:
 
! Works
 
! Works
 
! Skills
 
! Skills
 +
! Can configure the local system
 +
! Can configure remote systems
 +
! Can install the distribution
 +
! Can create images
 
! Features
 
! Features
 
|-
 
|-
| rowspan=2 | Debian installer preseed
+
| rowspan=5 | Consfigurator
 +
| Guix
 +
| {{no|Not packaged}}
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
| Hyperbola
 +
| {{no|Not packaged}}
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
| Parabola
 +
| {{no|Not packaged}}
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 
| PureOS 10 (byzantium)
 
| PureOS 10 (byzantium)
 +
| {{no|Not packaged}}
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
| Trisquel 11 (aramo)
 +
| {{yellow|Partial}}<ref>It can be used but some features seem really tied to Debian. For instance in /usr/share/common-lisp/source/consfigurator/src/property/apt.lisp get-default-mirrors only has the URL of the Debian mirrors. So certain functions do assume a Debian system but other work fine on Debian derivatives or other non-debian related distributions.</ref>
 +
| Require to know lisp
 +
| {{yes}}<ref>There are local or sudo connection type available</ref>
 +
| {{yes}}<ref>This works through SSH. It needs SBCL on the remote computer to support all the features. A reduced set of features is still available if the remote computer doesn't have SBCL.</ref>
 +
| {{no}}
 +
| {{yes}}<ref>This is an advertised feature but I didn't test it yet.</ref>
 
|
 
|
 +
* Can configure the whole system
 +
|-
 +
| rowspan=3 | Cockpit
 +
| Parabola
 +
| {{yes}}
 +
| rowspan=3 | Interfaces:
 +
* Web: Very easy to use
 +
* Command line interface through the web interface
 +
| {{yes}}
 +
| {{yes}}<ref name="cockpit-remote-ssh">This works through SSH. It also requires cockpit on the target computer.</ref>
 +
| {{no}}
 +
| {{no}}
 +
|
 +
* Can manage storage devices including LVM volumes
 +
* Can configure network
 +
* Can manage virtual machines (libvirt) and containers (podman)
 +
* Can manage user accounts
 +
* Can keep the system up to date
 +
* Many plugins available but very few are packaged<ref>At the time of writing, the following packages are available:
 +
* {{DistroPackage|parabola|cockpit-machines}} for virtual machines
 +
* {{DistroPackage|parabola|cockpit-packagekit}} for installing packages
 +
* {{DistroPackage|parabola|cockpit-pcp}} for information on system performance
 +
* {{DistroPackage|parabola|cockpit-podman}} for managing podman containers
 +
* {{DistroPackage|parabola|cockpit-storaged}} for managing storage through udisks</ref>.
 +
* Also has a builtin terminal for the rest.
 +
|-
 +
| PureOS Byzantium
 +
| {{yes}}<ref>It should normally work as it doesn't require too much distro specific integration.</ref>
 +
| {{yes}}
 +
| {{yes}}<ref name="cockpit-remote-ssh"></ref>
 +
| {{no}}
 +
| {{no}}
 +
|-
 +
| Trisquel 11
 +
| {{yes}}<ref>It should normally work as it doesn't require too much distro specific integration.</ref>
 +
| {{yes}}
 +
| {{yes}}<ref name="cockpit-remote-ssh"></ref>
 +
| {{no}}
 +
| {{no}}
 +
|-
 +
| rowspan=3 | Debian installer preseed
 +
| PureOS 10 (byzantium)
 +
| {{no}}<ref>First there is no netinstall for PureOS: The existing iso installer have no netinstall option in their menu. In addition, passing 'auto=true priority=critical preseed/file=/media/preseed.cfg' as arguments before the '---' in syslinux also doesn't work.</ref>
 
| rowspan=2 |
 
| rowspan=2 |
| rowspan=2 |
+
| rowspan=3 {{No}}
 +
| rowspan=3 {{No}}
 +
| rowspan=3 {{Yes}}
 +
| rowspan=3 {{No}}
 +
| rowspan=3 |
 +
* Can configure the whole system<ref>The preseed file enable to answer the questions of the netinstall installer, but it's also possible to do much more, including copying files to the target installation system or run commands inside it with preseed/late_command / in-target. The files to be copied could be provided on the same media that contains the preseed.cfg file.</ref>
 
|-
 
|-
 
| Trisquel 10
 
| Trisquel 10
|
+
| {{no}}<ref>Unlike Trisquel 11, there is no preseed option in the installer. Passing 'auto=true priority=critical preseed/file=/media/preseed.cfg' as arguments before the '---' in syslinux also doesn't work.</ref>
 +
|-
 +
| Trisquel 11 (aramo)
 +
| {{yes}}
 +
| Hard to use.<ref>If you mount trisquel-netinst_11.0_amd64.iso, there is a preseed folder with an examples. However these are just example and a lot of options are not documented anywhere. https://preseed.debian.net/debian-preseed/ has a more complete list of options for Debian, so by combining both you can use them as documentation and somehow manage to make it what you want to do with some trial and errors along the way.</ref>
 
|-
 
|-
 
| rowspan=2 | FAI
 
| rowspan=2 | FAI
Line 26: Line 124:
 
|
 
|
 
| rowspan=2 |
 
| rowspan=2 |
 +
| {{yes}}
 +
| rowspan=2 |?
 +
| rowspan=2 |?
 +
| rowspan=2 |?
 
| rowspan=2 |
 
| rowspan=2 |
 
|-
 
|-
 
| Trisquel 10
 
| Trisquel 10
 
| {{yes}}<ref>It's used by the FSF so it works</ref>
 
| {{yes}}<ref>It's used by the FSF so it works</ref>
 +
| {{yes}}
 
|-
 
|-
 
| rowspan=2 | Freedombox
 
| rowspan=2 | Freedombox
Line 38: Line 141:
 
* No command line interface: users are expected to use the web interface to configure the services otherwise there is a risk of breaking the system.
 
* No command line interface: users are expected to use the web interface to configure the services otherwise there is a risk of breaking the system.
 
Installation:
 
Installation:
* Trisquel doesn't have freedombox images
+
* PureOS and Trisquel don't have freedombox images
 
* The installation requires to type 2 commands.
 
* The installation requires to type 2 commands.
 
* Some features (like snapshots) also require specific options during the installation (like to use a btrfs filesystem).
 
* Some features (like snapshots) also require specific options during the installation (like to use a btrfs filesystem).
 +
| {{yes}}
 +
| {{no}}
 +
| ?
 +
| ?
 
| rowspan=2 |
 
| rowspan=2 |
 
* Can deploy many services (wikis, etc)
 
* Can deploy many services (wikis, etc)
Line 46: Line 153:
 
|-
 
|-
 
| Trisquel 10
 
| Trisquel 10
| {{orange|Too fragile}}<ref>Tested with the [https://wiki.debian.org/FreedomBox/Hardware/Debian Debian instructions] on Trisquel 10. After installing Trisquel with the default graphical install with the default partitioning or with the textual installation and selecting nothing in "software selection", and installing freedombox, installing Mediawiki broke apt because mysql didn't find its data directory.</ref>
+
| {{yellow|Partial}}<ref>Tested with the [https://wiki.debian.org/FreedomBox/Hardware/Debian Debian instructions] on Trisquel 10. After installing Trisquel with the default graphical install with the default partitioning or with the textual installation and selecting nothing in "software selection", and installing freedombox, installing Mediawiki broke apt because mysql didn't find its data directory.</ref>
 +
| {{yes}}
 +
| {{no}}
 +
| ?
 +
| ?
 
|-
 
|-
| Guix configuration language
+
| rowspan=4 | Guix configuration language
 
| Guix
 
| Guix
 
| {{yes}}<ref name="native">It's the distribution native configuration interface so it works.</ref>
 
| {{yes}}<ref name="native">It's the distribution native configuration interface so it works.</ref>
| Require to know lisp
+
| rowspan=4 | Require to know lisp
|
+
| {{yes}}
 +
| {{yes}}
 +
| {{yes}}
 +
| {{yes}}
 +
| rowspan=4 |
 
* Can configure the whole system
 
* Can configure the whole system
 +
|-
 +
| Parabola
 +
| {{yes}}
 +
| {{no}}
 +
| {{yes}}
 +
| {{yes}}
 +
| {{yes}}
 +
|-
 +
| PureOS 10 (byzantium)
 +
| {{yes}}
 +
| {{no}}
 +
| {{yes}}
 +
| {{yes}}
 +
| {{yes}}
 +
|-
 +
| Trisquel 11 (aramo)
 +
| {{yes}}
 +
| {{no}}
 +
| {{yes}}
 +
| {{yes}}
 +
| {{yes}}
 
|-
 
|-
 
| rowspan=3 | Holo
 
| rowspan=3 | Holo
Line 59: Line 195:
 
| {{no|Incompatible}}<ref name="guix-holo">Holo use the distribution package manager to handle the configuration, but [https://github.com/holocm/holo-build holo-build] only supports deb, pacman and rpm packages formats.</ref>
 
| {{no|Incompatible}}<ref name="guix-holo">Holo use the distribution package manager to handle the configuration, but [https://github.com/holocm/holo-build holo-build] only supports deb, pacman and rpm packages formats.</ref>
 
| rowspan=3 |
 
| rowspan=3 |
 +
| {{yes}}
 +
| rowspan=3 | ?
 +
| rowspan=3 | ?
 +
| rowspan=3 | ?
 
| rowspan=3 |
 
| rowspan=3 |
 
|-
 
|-
 
| Parabola
 
| Parabola
 
| {{yes}}<ref name="added">It was added by the distribution so it works.</ref>
 
| {{yes}}<ref name="added">It was added by the distribution so it works.</ref>
 +
| {{yes}}
 
|-
 
|-
| Trisquel 10
+
| Trisquel 11
 
| {{no|Not packaged}}
 
| {{no|Not packaged}}
 +
| {{yes}}
 
|-
 
|-
 
| UCI
 
| UCI
Line 76: Line 218:
 
** Configuration files
 
** Configuration files
 
* Require to have some networking notions (what is an IP address, a firewall, etc)
 
* Require to have some networking notions (what is an IP address, a firewall, etc)
 +
| {{yes}}
 +
| {{no}}
 +
| {{no}}
 +
| {{no}}
 
|
 
|
 
* Can configure network services (dhcp, WiFi access point, etc)
 
* Can configure network services (dhcp, WiFi access point, etc)
 
|-
 
|-
 
|}
 
|}

Latest revision as of 21:13, 26 August 2024

Introduction

This article will look at the configuration system available for various FSDG compliant distributions.

Configuration

Configuration system Distribution Works Skills Can configure the local system Can configure remote systems Can install the distribution Can create images Features
Consfigurator Guix Not packaged
Hyperbola Not packaged
Parabola Not packaged
PureOS 10 (byzantium) Not packaged
Trisquel 11 (aramo) Partial[1] Require to know lisp Yes[2] Yes[3] No Yes[4]
  • Can configure the whole system
Cockpit Parabola Yes Interfaces:
  • Web: Very easy to use
  • Command line interface through the web interface
Yes Yes[5] No No
  • Can manage storage devices including LVM volumes
  • Can configure network
  • Can manage virtual machines (libvirt) and containers (podman)
  • Can manage user accounts
  • Can keep the system up to date
  • Many plugins available but very few are packaged[6].
  • Also has a builtin terminal for the rest.
PureOS Byzantium Yes[7] Yes Yes[5] No No
Trisquel 11 Yes[8] Yes Yes[5] No No
Debian installer preseed PureOS 10 (byzantium) No[9] No No Yes No
  • Can configure the whole system[10]
Trisquel 10 No[11]
Trisquel 11 (aramo) Yes Hard to use.[12]
FAI PureOS 10 (byzantium) Yes ? ? ?
Trisquel 10 Yes[13] Yes
Freedombox PureOS 10 (byzantium) Yes[14] Interfaces:
  • Web: Very easy to use
  • No command line interface: users are expected to use the web interface to configure the services otherwise there is a risk of breaking the system.

Installation:

  • PureOS and Trisquel don't have freedombox images
  • The installation requires to type 2 commands.
  • Some features (like snapshots) also require specific options during the installation (like to use a btrfs filesystem).
Yes No ? ?
  • Can deploy many services (wikis, etc)
  • Can configure network services? (DHCP, WiFi, etc?)
Trisquel 10 Partial[15] Yes No ? ?
Guix configuration language Guix Yes[16] Require to know lisp Yes Yes Yes Yes
  • Can configure the whole system
Parabola Yes No Yes Yes Yes
PureOS 10 (byzantium) Yes No Yes Yes Yes
Trisquel 11 (aramo) Yes No Yes Yes Yes
Holo Guix Incompatible[17] Yes ? ? ?
Parabola Yes[18] Yes
Trisquel 11 Not packaged Yes
UCI LibreCMC Yes[16] Relatively easy to use:
  • It has 3 interfacesthat work well together:
    • Web
    • Command line
    • Configuration files
  • Require to have some networking notions (what is an IP address, a firewall, etc)
Yes No No No
  • Can configure network services (dhcp, WiFi access point, etc)
  1. It can be used but some features seem really tied to Debian. For instance in /usr/share/common-lisp/source/consfigurator/src/property/apt.lisp get-default-mirrors only has the URL of the Debian mirrors. So certain functions do assume a Debian system but other work fine on Debian derivatives or other non-debian related distributions.
  2. There are local or sudo connection type available
  3. This works through SSH. It needs SBCL on the remote computer to support all the features. A reduced set of features is still available if the remote computer doesn't have SBCL.
  4. This is an advertised feature but I didn't test it yet.
  5. 5.05.15.2 This works through SSH. It also requires cockpit on the target computer.
  6. At the time of writing, the following packages are available:
    cockpit-machines for virtual machines
    cockpit-packagekit for installing packages
    cockpit-pcp for information on system performance
    cockpit-podman for managing podman containers
    cockpit-storaged for managing storage through udisks
  7. It should normally work as it doesn't require too much distro specific integration.
  8. It should normally work as it doesn't require too much distro specific integration.
  9. First there is no netinstall for PureOS: The existing iso installer have no netinstall option in their menu. In addition, passing 'auto=true priority=critical preseed/file=/media/preseed.cfg' as arguments before the '---' in syslinux also doesn't work.
  10. The preseed file enable to answer the questions of the netinstall installer, but it's also possible to do much more, including copying files to the target installation system or run commands inside it with preseed/late_command / in-target. The files to be copied could be provided on the same media that contains the preseed.cfg file.
  11. Unlike Trisquel 11, there is no preseed option in the installer. Passing 'auto=true priority=critical preseed/file=/media/preseed.cfg' as arguments before the '---' in syslinux also doesn't work.
  12. If you mount trisquel-netinst_11.0_amd64.iso, there is a preseed folder with an examples. However these are just example and a lot of options are not documented anywhere. https://preseed.debian.net/debian-preseed/ has a more complete list of options for Debian, so by combining both you can use them as documentation and somehow manage to make it what you want to do with some trial and errors along the way.
  13. It's used by the FSF so it works
  14. PureOS 10 (byzantium) is based on Debian Bullseye, which is supports Freedombox (reference: "Currently, FreedomBox works in Debian Stable (Bullseye), Testing (Bookworm), and Unstable (Sid). " in the Debian wiki page about Freedombox. Installing Mediawiki also works well while in Trisquel it fails.
  15. Tested with the Debian instructions on Trisquel 10. After installing Trisquel with the default graphical install with the default partitioning or with the textual installation and selecting nothing in "software selection", and installing freedombox, installing Mediawiki broke apt because mysql didn't find its data directory.
  16. 16.016.1 It's the distribution native configuration interface so it works.
  17. Holo use the distribution package manager to handle the configuration, but holo-build only supports deb, pacman and rpm packages formats.
  18. It was added by the distribution so it works.