User:Sertonix/Freedom of choice: Difference between revisions

From Alpine Linux
(link to Technical Steering Committee)
(→‎SU: add run0)
 
(26 intermediate revisions by one other user not shown)
Line 3: Line 3:
== Bootloaders ==
== Bootloaders ==
* See: [[Bootloaders]]
* See: [[Bootloaders]]
* Not supported: <code>systemd-boot</code>
* Also: {{Pkg|systemd-boot}}


== Kernel ==
== Kernel ==
Line 17: Line 17:
|-
|-
| [https://www.gnu.org/software/libc/ glibc] || style="background:red" | None || [[Running glibc programs]]
| [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://gitlab.alpinelinux.org/alpine/tsc/-/issues/17 alpine-glibc]
Line 40: Line 42:
* See also: [https://wiki.gentoo.org/wiki/Initramfs Gentoo Wiki]
* See also: [https://wiki.gentoo.org/wiki/Initramfs Gentoo Wiki]


== Pid 1 ==
== PID 1 ==


{| class="wikitable"
{| class="wikitable"
Line 48: Line 50:
| busybox init || style="background:lime" | Full || Default
| busybox init || style="background:lime" | Full || Default
|-
|-
| {{Pkg|s6-linux-init}} || style="background:silver" | Needs testing ||
| {{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
| {{Pkg|dumb-init}} || style="background:silver" | Needs testing || For containers
Line 56: Line 62:
| {{Pkg|epoch}} || style="background:silver" | Needs testing ||
| {{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
|-
|-
| [https://ewontfix.com/14/ Felker init] || style="background:red" | None ||
| custom || style="background:lime" | Full || For example in docker containers
|-
| systemd || style="background:red" | None ||
|}
|}
* See also: [https://wiki.gentoo.org/wiki/Init_system Gentoo Wiki]
* See also: [https://wiki.gentoo.org/wiki/Init_system Gentoo Wiki]
Line 72: Line 76:
|-
|-
| [[OpenRC]] || style="background:lime" | Full || Default
| [[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|runit}} || style="background:orange" | As OpenRC service ||
|-
| {{Pkg|s6-rc}} || style="background:silver" | In development ? ||
|-
|-
| {{Pkg|daemontools}} || style="background:silver" | Needs testing ||
| {{Pkg|daemontools}} || style="background:silver" | Needs testing ||
Line 83: Line 89:
| {{Pkg|supervisor}} || style="background:silver" | Needs testing ||
| {{Pkg|supervisor}} || style="background:silver" | Needs testing ||
|-
|-
| [https://davmac.org/projects/dinit/ dinit] || style="background:red" | None || [https://davmac.org/projects/dinit/alpine-demo/ unofficial test]
| busybox runit || style="background:red" | None || Not enabled in a busybox package
|-
| busybox runit || style="background:red" | None ||
|-
| [https://core.suckless.org/svc/ svc] || style="background:red" | None ||
|-
| sysmgr || style="background:red" | None ||
|-
|-
| upstart || style="background:red" | None ||
| systemd || style="background:red" | None || Supported by postmarketOS
|-
|-
| sysmgr || style="background:red" | None ||
| without || style="background:lime" | Full || Requires to replace {{Pkg|alpine-base}} with custom set of packages (See {{Issue|71686}})
|-
| systemd || style="background:red" | None ||
|}
|}
* See also: [https://wiki.gentoo.org/wiki/Init_system Gentoo Wiki]
* See also: [https://wiki.gentoo.org/wiki/Init_system Gentoo Wiki]
Line 116: Line 114:
| [https://skarnet.org/software/s6/s6-socklog.html s6-socklog] from {{pkg|s6}} || 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 ||
| systemd-journald || style="background:red" | None || Supported by postmarketOS
|-
| without || style="background:silver" | Needs testing ||
|}
|}
* See also: [[Syslog]]
* See also: [[Syslog]]
Line 131: Line 131:
|-
|-
| [[eudev]] || style="background:lime" | Full ||
| [[eudev]] || style="background:lime" | Full ||
|-
| [https://core.suckless.org/smdev/ smdev] || style="background:red" | None ||
|-
|-
| vdev || style="background:red" | None ||
| vdev || style="background:red" | None ||
|-
|-
| systemd-udev || style="background:red" | None ||
| systemd-udev || style="background:red" | None || Supported by postmarketOS
|}
|}


Line 151: Line 149:
| {{Pkg|elogind}} || style="background:silver" | Needs testing ||
| {{Pkg|elogind}} || style="background:silver" | Needs testing ||
|-
|-
| systemd-logind || style="background:red" | None ||
| 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.archlinux.org/title/Power_management Archwiki]
Line 168: Line 168:
| {{Pkg|dhclient}} || 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.archlinux.org/title/Network_configuration#DHCP Archwiki]
* See also: [https://wiki.gentoo.org/wiki/Resolv.conf Gentoo Wiki - resolv.conf]
* See also: [https://wiki.gentoo.org/wiki/Resolv.conf Gentoo Wiki - resolv.conf]
Line 175: Line 176:
== Wi-Fi ==
== Wi-Fi ==
* See: [[Wi-Fi]]
* See: [[Wi-Fi]]
* Also supported: {{pkg|eiwd}}


== Seat/Session Managnent ==
== Seat/Session Managnent ==
Line 188: Line 190:
| {{Pkg|turnstile}} || style="background:silver" | needs testing || session only
| {{Pkg|turnstile}} || style="background:silver" | needs testing || session only
|-
|-
| systemd-logind || style="background:red" | None ||
| 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/Seatd Gentoo Wiki - seatd]
Line 209: Line 213:
| {{Pkg|util-linux-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 ||
| 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]
* See also: [https://wiki.gentoo.org/wiki/Login Gentoo Wiki]
Line 221: Line 227:
| {{Pkg|busybox}} || style="background:lime" | Full || Dependency of {{pkg|alpine-base}}
| {{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 busybox package
| {{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 ||
| {{Pkg|util-linux}} || style="background:lime" | Full ||
|-
|-
| [[GNU_core_utilities|coreutils]] || 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|toybox}} || style="background:silver" | Needs testing ||
Line 232: Line 242:
|-
|-
| {{Pkg|ubase}} || 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]
* See also: [https://wiki.archlinux.org/title/Core_utilities Archwiki]
Line 244: Line 256:
|-
|-
| {{Pkg|bash}} || style="background:lime" | Full ||
| {{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 also: [[Change default shell]]
Line 256: Line 276:
! Name !! Support !! Notes
! Name !! Support !! Notes
|-
|-
| su from {{Pkg|busybox-suid}} || style="background:lime" | Full || default
| {{ic|su}} from {{Pkg|busybox-suid}} || style="background:lime" | Full || default, can't be removed by default ({{issue|11730}})
|-
|-
| su from {{Pkg|shadow-login}} || style="background:lime" | Full ||
| {{ic|su}} from {{Pkg|shadow-login}} || style="background:lime" | Full ||
|-
|-
| su from {{Pkg|util-linux-login}} || style="background:lime" | Full ||
| {{ic|su}} from {{Pkg|util-linux-login}} || style="background:lime" | Full ||
|-
|-
| {{Pkg|sudo}} || style="background:lime" | Full ||
| {{Pkg|sudo}} || style="background:lime" | Full ||
Line 267: Line 287:
|-
|-
| [https://skarnet.org/software/s6/s6-sudo.html s6-sudo] || style="background:silver" | Needs testing ||
| [https://skarnet.org/software/s6/s6-sudo.html s6-sudo] || style="background:silver" | Needs testing ||
|
|-
|-
| without || style="background:silver" | Needs testing ||
| run0 || style="background:red" | None || Supported by postmarketOS
|-
| without || style="background:lime" | Full ||
|}
|}


Line 303: Line 326:
| scron || style="background:red" | None ||
| scron || style="background:red" | None ||
|-
|-
| systemd-timer || 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.archlinux.org/title/Cron Archwiki]
Line 316: Line 341:
| [[Setting_up_a_SSH_server#OpenSSH|openssh]] || style="background:lime" | Full ||
| [[Setting_up_a_SSH_server#OpenSSH|openssh]] || style="background:lime" | Full ||
|-
|-
| [[Setting_up_a_SSH_server#Dropbear|dropbear]] || style="background:lime" | Full || provide ssh command {{pkg|dropbear-ssh}}
| [[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.archlinux.org/title/Secure_Shell Archwiki]
Line 327: Line 354:
== See Also ==
== See Also ==
* [[Architecture|Alpine Architecture]]
* [[Architecture|Alpine Architecture]]
* See also: [https://gitlab.alpinelinux.org/alpine/tsc/-/issues/55 Future of busybox]
* [https://gitlab.alpinelinux.org/alpine/tsc/-/issues/55 Future of busybox]

Latest revision as of 07:02, 23 July 2025

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

Kernel

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

Initramfs

Name Support Notes
mkinitfs Full Default
dracut Full
booster Full
tinyramfs None
without None may require custom Kernel, kisslinux without initramfs

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
systemd None Supported by postmarketOS
custom Full For example in docker containers

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
systemd None Supported by postmarketOS
without Full Requires to replace alpine-base with custom set of packages (See #71686)

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

Device Manager

Name Support Notes
mdev Full Default
mdevd Full
eudev Full
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

DHCP Client

Name Support Notes
busybox udhcpc Full Default
dhcpcd Full
dhclient Full
without aka static Full

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

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

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

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
run0 None Supported by postmarketOS
without Full

SSL/TLS

Name Support Notes
openssl Full Default
libressl Needs testing
bearssl Needs testing

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

SSH

Name Support Notes
openssh Full
dropbear Full provide ssh command dropbear-ssh
without Full

Desktop

See Also