User:Sertonix/Freedom of choice: Difference between revisions
(initial notes) |
(update status of openrc-init) |
||
(85 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This is an overview over the different available programms, etc. that can be selected from when using alpine. It is also intended as a reference what should be documented and what could be supported. | |||
== | == Bootloaders == | ||
* See: [[Bootloaders]] | |||
* Not supported: <code>systemd-boot</code> ([https://pkgs.postmarketos.org/packages?name=systemd-boot PostmarketOS does]) | |||
== Kernel == | |||
* See: [[Kernels]] | |||
== | == Libc == | ||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| {{Pkg|musl}} || style="background:lime" | Full || Default | |||
|- | |||
| [https://www.gnu.org/software/libc/ glibc] || style="background:red" | None || [[Running glibc programs]] | |||
|- | |||
| without aka static || style="background:orange" | depends on package || Note that this only means no libc at runtime | |||
|} | |||
* See also: [https://gitlab.alpinelinux.org/alpine/tsc/-/issues/17 alpine-glibc] | |||
* See also: [https://wiki.gentoo.org/wiki/Libc Gentoo Wiki] | |||
== | == Initramfs == | ||
# | {| class="wikitable" | ||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| {{Pkg|mkinitfs}} || style="background:lime" | Full || Default | |||
|- | |||
| {{Pkg|dracut}} || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|booster}} || style="background:lime" | Full || | |||
|- | |||
| [https://github.com/illiliti/tinyramfs tinyramfs] || style="background:red" | None || | |||
|- | |||
| without || style="background:red" | None || may require [[custom Kernel]], [https://kisslinux.org/install#021 kisslinux without initramfs] | |||
|} | |||
* See also: [[Initramfs init]] | |||
* See also: [https://wiki.gentoo.org/wiki/Initramfs Gentoo Wiki] | |||
== | == PID 1 == | ||
# | {| class="wikitable" | ||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| busybox init || style="background:lime" | Full || Default | |||
|- | |||
| {{Pkg|dinit}} || style="background:orange" | In testing || Shutdown commands are prefixed with {{ic|dinit-}}. eg {{ic|dinit-reboot}} | |||
|- | |||
| {{Pkg|s6-linux-init}} || style="background:orange" | Works || Requires manually running {{ic|s6-linux-init-maker}} | |||
|- | |||
| {{Pkg|openrc-init}} || style="background:orange" | Manual setup || | |||
|- | |||
| {{Pkg|dumb-init}} || style="background:silver" | Needs testing || For containers | |||
|- | |||
| runit-init || style="background:silver" | Needs testing || [https://dev.alpinelinux.org/~clandmeter/other/forum.alpinelinux.org/comment/383.html#comment-383 runit-init starting OpenRC] | |||
|- | |||
| {{Pkg|epoch}} || style="background:silver" | Needs testing || | |||
|- | |||
| [https://core.suckless.org/sinit/ sinit] || style="background:red" | None || | |||
|- | |||
| systemd || style="background:red" | None || Supported by postmarketOS | |||
|- | |||
| custom || style="background:lime" | Full || For example in docker containers | |||
|} | |||
* See also: [https://wiki.gentoo.org/wiki/Init_system Gentoo Wiki] | |||
* See also: [https://wiki.archlinux.org/title/Init Archwiki] | |||
== | == Service Manager == | ||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| [[OpenRC]] || style="background:lime" | Full || Default | |||
|- | |||
| {{Pkg|dinit}} || style="background:orange" | In testing || {{Pkg|dinit-alpine}} includes service files | |||
|- | |||
| {{Pkg|s6-rc}} || style="background:orange" | Works || Not integrated. For containers there is {{Pkg|s6-overlay}} | |||
|- | |||
| {{Pkg|runit}} || style="background:orange" | As OpenRC service || | |||
|- | |||
| {{Pkg|daemontools}} || style="background:silver" | Needs testing || | |||
|- | |||
| {{Pkg|daemontools-encore}} || style="background:silver" | Needs testing || | |||
|- | |||
| {{Pkg|supervisor}} || style="background:silver" | Needs testing || | |||
|- | |||
| busybox runit || style="background:red" | None || Not enabled in a busybox package | |||
|- | |||
| [https://core.suckless.org/svc/ svc] || style="background:red" | None || | |||
|- | |||
| systemd || style="background:red" | None || Supported by postmarketOS | |||
|- | |||
| without || style="background:lime" | Full || Requires to replace {{Pkg|alpine-base}} with custom set of packages (See {{Issue|71686}}) | |||
|} | |||
* See also: [https://wiki.gentoo.org/wiki/Init_system Gentoo Wiki] | |||
* See also: [https://wiki.archlinux.org/title/Init Archwiki] | |||
== | == System Logs == | ||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| [[Syslog#busybox_syslog|busybox syslog]] || style="background:lime" | Full || Default | |||
|- | |||
| {{Pkg|rsyslog}} || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|syslog-ng}} || style="background:lime" | Full || | |||
|- | |||
| {{pkg|socklog}} || style="background:silver" | Needs testing || | |||
|- | |||
| [https://skarnet.org/software/s6/s6-socklog.html s6-socklog] from {{pkg|s6}} || style="background:silver" | Needs testing || | |||
|- | |||
| systemd-journald || style="background:red" | None || Supported by postmarketOS | |||
|- | |||
| without || style="background:silver" | Needs testing || | |||
|} | |||
* See also: [[Syslog]] | |||
== [[Device Manager]] == | |||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| [[mdev]] || style="background:lime" | Full || Default | |||
|- | |||
| [[mdevd]] || style="background:lime" | Full || | |||
|- | |||
| [[eudev]] || style="background:lime" | Full || | |||
|- | |||
| [https://core.suckless.org/smdev/ smdev] || style="background:red" | None || | |||
|- | |||
| vdev || style="background:red" | None || | |||
|- | |||
| systemd-udev || style="background:red" | None || Supported by postmarketOS | |||
|} | |||
== Power Managment == | |||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| [[busybox acpid]] || style="background:lime" | Full || Default | |||
|- | |||
| {{Pkg|acpid}} || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|elogind}} || style="background:silver" | Needs testing || | |||
|- | |||
| systemd-logind || style="background:red" | None || Supported by postmarketOS | |||
|- | |||
| without || style="background:lime" | Full || | |||
|} | |||
* See also: [https://wiki.archlinux.org/title/Power_management Archwiki] | |||
* See also: [https://wiki.gentoo.org/wiki/Power_management Gentoo Wiki] | |||
== DHCP Client == | |||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| [[Udhcpc|busybox udhcpc]] || style="background:lime" | Full || Default | |||
|- | |||
| {{Pkg|dhcpcd}} || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|dhclient}} || style="background:lime" | Full || | |||
|- | |||
| [https://core.suckless.org/sdhcp/ sdhcp] || style="background:red" | None || | |||
|- | |||
| without aka static || style="background:lime" | Full || | |||
|} | |||
* See also: [[Configure Networking]] | |||
* See also: [https://wiki.archlinux.org/title/Network_configuration#DHCP Archwiki] | |||
* See also: [https://wiki.gentoo.org/wiki/Resolv.conf Gentoo Wiki - resolv.conf] | |||
== Wi-Fi == | |||
* See: [[Wi-Fi]] | |||
* Also supported: {{pkg|eiwd}} | |||
== Seat/Session Managnent == | |||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| [[elogind]] || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|seatd}} || style="background:lime" | Full || seats only | |||
|- | |||
| {{Pkg|turnstile}} || style="background:silver" | needs testing || session only | |||
|- | |||
| systemd-logind || style="background:red" | None || Supported by postmarketOS | |||
|- | |||
| without || style="background:lime" | Full || Not recommended with graphical enviroment | |||
|} | |||
* [https://wiki.gentoo.org/wiki/Seatd Gentoo Wiki - seatd] | |||
* [https://wiki.gentoo.org/wiki/Elogind Gentoo Wiki - elogind] | |||
* [https://wiki.archlinux.org/title/Init#logind ArchWiki - systemd-logind] | |||
* [https://chimera-linux.org/docs/configuration/seat Chimera Linux docs] | |||
== Login == | |||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Supports [[PAM]] !! Notes | |||
|- | |||
| busybox login || style="background:lime" | Full || style="background:red" | No || Default | |||
|- | |||
| {{Pkg|greetd}} || style="background:lime" | Full || style="background:lime" | Yes || requires greeter | |||
|- | |||
| {{Pkg|shadow-login}} || style="background:lime" | Full || style="background:lime" | Yes || | |||
|- | |||
| {{Pkg|util-linux-login}} || style="background:lime" | Full || style="background:lime" | Yes || | |||
|- | |||
| systemd-logind || style="background:red" | None || style="background:lime" | Yes || Supported by postmarketOS | |||
|- | |||
| without || style="background:lime" | Full || style="background:red" | No || | |||
|} | |||
* See also: [https://wiki.gentoo.org/wiki/Login Gentoo Wiki] | |||
== Shell Utils == | |||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| {{Pkg|busybox}} || style="background:lime" | Full || Dependency of {{pkg|alpine-base}} | |||
|- | |||
| {{Pkg|busybox-extras}} || style="background:lime" | Full || Some commands that are missing in the main {{Pkg|busybox}} package | |||
|- | |||
| {{Pkg|util-linux}} || style="background:lime" | Full || | |||
|- | |||
| [[GNU_core_utilities|coreutils]] || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|s6-portable-utils}} || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|s6-linux-utils}} || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|toybox}} || style="background:silver" | Needs testing || | |||
|- | |||
| {{Pkg|sbase}} || style="background:silver" | Needs testing || | |||
|- | |||
| {{Pkg|ubase}} || style="background:silver" | Needs testing || | |||
|- | |||
| without || style="background:red" | None || A lot of implicit dependency | |||
|} | |||
* See also: [https://wiki.archlinux.org/title/Core_utilities Archwiki] | |||
== Shell == | |||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| busybox ash || style="background:lime" | Full || Default | |||
|- | |||
| {{Pkg|bash}} || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|dash}} || style="background:lime" | Full || When used as /bin/sh this may cause breakage. | |||
|- | |||
| {{Pkg|yash}} || style="background:lime" | Full || | |||
|- | |||
| busybox hush || style="background:red" | None || | |||
|- | |||
| without || style="background:red" | None || sometimes implicit dependency | |||
|} | |||
* See also: [[Change default shell]] | |||
* See proposal: [https://gitlab.alpinelinux.org/alpine/tsc/-/issues/39 replace busybox ash with another /bin/sh] | |||
* See also: [https://wiki.archlinux.org/title/Command-line_shell Archwiki] | |||
* See also: [https://wiki.gentoo.org/wiki/Shell Gentoo Wiki] | |||
== SU == | |||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| {{ic|su}} from {{Pkg|busybox-suid}} || style="background:lime" | Full || default, can't be removed by default ({{issue|11730}}) | |||
|- | |||
| {{ic|su}} from {{Pkg|shadow-login}} || style="background:lime" | Full || | |||
|- | |||
| {{ic|su}} from {{Pkg|util-linux-login}} || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|sudo}} || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|doas}} || style="background:lime" | Full || sudo shim using doas: {{Pkg|doas-sudo-shim}} | |||
|- | |||
| [https://skarnet.org/software/s6/s6-sudo.html s6-sudo] || style="background:silver" | Needs testing || | |||
|- | |||
| without || style="background:lime" | Full || | |||
|} | |||
== SSL/TLS == | |||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| {{Pkg|openssl}} || style="background:lime" | Full || Default | |||
|- | |||
| {{Pkg|libressl}} || style="background:silver" | Needs testing || | |||
|- | |||
| {{Pkg|bearssl}} || style="background:silver" | Needs testing || | |||
|} | |||
* See also: [https://gitlab.alpinelinux.org/alpine/tsc/-/issues/28 consider LibreSSL as default OpenSSL provider again] | |||
* See also: [https://wiki.archlinux.org/title/Transport_Layer_Security Archwiki] | |||
* See also: [https://github.com/haproxy/wiki/wiki/SSL-Libraries-Support-Status haproxy SSL Libraries Support Status] | |||
== Cron == | |||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| {{Pkg|cronie}} || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|dcron}} || style="background:lime" | Full || | |||
|- | |||
| {{Pkg|fcron}} || style="background:lime" | Full || | |||
|- | |||
| vixie-cron || style="background:red" | None || | |||
|- | |||
| scron || style="background:red" | None || | |||
|- | |||
| systemd.timer || style="background:red" | None || Supported by postmarketOS | |||
|- | |||
| without || style="background:lime" | Full || {{Pkg|alpine-baselayout}} includes cron specific directories though | |||
|} | |||
* See also: [https://wiki.archlinux.org/title/Cron Archwiki] | |||
* See also: [https://wiki.gentoo.org/wiki/Cron Gentoo Wiki] | |||
== SSH == | |||
{| class="wikitable" | |||
|- | |||
! Name !! Support !! Notes | |||
|- | |||
| [[Setting_up_a_SSH_server#OpenSSH|openssh]] || style="background:lime" | Full || | |||
|- | |||
| [[Setting_up_a_SSH_server#Dropbear|dropbear]] || style="background:lime" | Full || provide {{ic|ssh}} command {{pkg|dropbear-ssh}} | |||
|- | |||
| without || style="background:lime" | Full || | |||
|} | |||
* See also: [https://wiki.archlinux.org/title/Secure_Shell Archwiki] | |||
* See also: [https://wiki.gentoo.org/wiki/SSH Gentoo Wiki - OpenSSH] | |||
* See also: [https://wiki.gentoo.org/wiki/Dropbear Gentoo Wiki - Dropbear] | |||
== Desktop == | |||
* See: [[Desktop environments and Window managers]] | |||
== See Also == | |||
* [[Architecture|Alpine Architecture]] | |||
* [https://gitlab.alpinelinux.org/alpine/tsc/-/issues/55 Future of busybox] |
Latest revision as of 22:42, 8 October 2024
This is an overview over the different available programms, etc. that can be selected from when using alpine. It is also intended as a reference what should be documented and what could be supported.
Bootloaders
- See: Bootloaders
- Not supported:
systemd-boot
(PostmarketOS does)
Kernel
- See: Kernels
Libc
Name | Support | Notes |
---|---|---|
musl | Full | Default |
glibc | None | Running glibc programs |
without aka static | depends on package | Note that this only means no libc at runtime |
- See also: alpine-glibc
- See also: Gentoo Wiki
Initramfs
Name | Support | Notes |
---|---|---|
mkinitfs | Full | Default |
dracut | Full | |
booster | Full | |
tinyramfs | None | |
without | None | may require custom Kernel, kisslinux without initramfs |
- See also: Initramfs init
- See also: Gentoo Wiki
PID 1
Name | Support | Notes |
---|---|---|
busybox init | Full | Default |
dinit | In testing | Shutdown commands are prefixed with dinit- . eg dinit-reboot
|
s6-linux-init | Works | Requires manually running s6-linux-init-maker
|
openrc-init | Manual setup | |
dumb-init | Needs testing | For containers |
runit-init | Needs testing | runit-init starting OpenRC |
epoch | Needs testing | |
sinit | None | |
systemd | None | Supported by postmarketOS |
custom | Full | For example in docker containers |
- See also: Gentoo Wiki
- See also: Archwiki
Service Manager
Name | Support | Notes |
---|---|---|
OpenRC | Full | Default |
dinit | In testing | dinit-alpine includes service files |
s6-rc | Works | Not integrated. For containers there is s6-overlay |
runit | As OpenRC service | |
daemontools | Needs testing | |
daemontools-encore | Needs testing | |
supervisor | Needs testing | |
busybox runit | None | Not enabled in a busybox package |
svc | None | |
systemd | None | Supported by postmarketOS |
without | Full | Requires to replace alpine-base with custom set of packages (See #71686) |
- See also: Gentoo Wiki
- See also: Archwiki
System Logs
Name | Support | Notes |
---|---|---|
busybox syslog | Full | Default |
rsyslog | Full | |
syslog-ng | Full | |
socklog | Needs testing | |
s6-socklog from s6 | Needs testing | |
systemd-journald | None | Supported by postmarketOS |
without | Needs testing |
- See also: Syslog
Device Manager
Name | Support | Notes |
---|---|---|
mdev | Full | Default |
mdevd | Full | |
eudev | Full | |
smdev | None | |
vdev | None | |
systemd-udev | None | Supported by postmarketOS |
Power Managment
Name | Support | Notes |
---|---|---|
busybox acpid | Full | Default |
acpid | Full | |
elogind | Needs testing | |
systemd-logind | None | Supported by postmarketOS |
without | Full |
- See also: Archwiki
- See also: Gentoo Wiki
DHCP Client
Name | Support | Notes |
---|---|---|
busybox udhcpc | Full | Default |
dhcpcd | Full | |
dhclient | Full | |
sdhcp | None | |
without aka static | Full |
- See also: Configure Networking
- See also: Archwiki
- See also: Gentoo Wiki - resolv.conf
Wi-Fi
Seat/Session Managnent
Name | Support | Notes |
---|---|---|
elogind | Full | |
seatd | Full | seats only |
turnstile | needs testing | session only |
systemd-logind | None | Supported by postmarketOS |
without | Full | Not recommended with graphical enviroment |
Login
Name | Support | Supports PAM | Notes |
---|---|---|---|
busybox login | Full | No | Default |
greetd | Full | Yes | requires greeter |
shadow-login | Full | Yes | |
util-linux-login | Full | Yes | |
systemd-logind | None | Yes | Supported by postmarketOS |
without | Full | No |
- See also: Gentoo Wiki
Shell Utils
Name | Support | Notes |
---|---|---|
busybox | Full | Dependency of alpine-base |
busybox-extras | Full | Some commands that are missing in the main busybox package |
util-linux | Full | |
coreutils | Full | |
s6-portable-utils | Full | |
s6-linux-utils | Full | |
toybox | Needs testing | |
sbase | Needs testing | |
ubase | Needs testing | |
without | None | A lot of implicit dependency |
- See also: Archwiki
Shell
Name | Support | Notes |
---|---|---|
busybox ash | Full | Default |
bash | Full | |
dash | Full | When used as /bin/sh this may cause breakage. |
yash | Full | |
busybox hush | None | |
without | None | sometimes implicit dependency |
- See also: Change default shell
- See proposal: replace busybox ash with another /bin/sh
- See also: Archwiki
- See also: Gentoo Wiki
SU
Name | Support | Notes |
---|---|---|
su from busybox-suid |
Full | default, can't be removed by default (#11730) |
su from shadow-login |
Full | |
su from util-linux-login |
Full | |
sudo | Full | |
doas | Full | sudo shim using doas: doas-sudo-shim |
s6-sudo | Needs testing | |
without | Full |
SSL/TLS
Name | Support | Notes |
---|---|---|
openssl | Full | Default |
libressl | Needs testing | |
bearssl | Needs testing |
- See also: consider LibreSSL as default OpenSSL provider again
- See also: Archwiki
- See also: haproxy SSL Libraries Support Status
Cron
Name | Support | Notes |
---|---|---|
cronie | Full | |
dcron | Full | |
fcron | Full | |
vixie-cron | None | |
scron | None | |
systemd.timer | None | Supported by postmarketOS |
without | Full | alpine-baselayout includes cron specific directories though |
- See also: Archwiki
- See also: Gentoo Wiki
SSH
Name | Support | Notes |
---|---|---|
openssh | Full | |
dropbear | Full | provide ssh command dropbear-ssh
|
without | Full |
- See also: Archwiki
- See also: Gentoo Wiki - OpenSSH
- See also: Gentoo Wiki - Dropbear