User:Sertonix/Freedom of choice: Difference between revisions

From Alpine Linux
(→‎See Also: link alpine Architecture)
(→‎Service Manager: Remove sysmgr and upstart from list)
 
(35 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 also includes things that are not supported but maybe could.
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 ==
== Bootloaders ==
* See: [[Bootloaders]]
* See: [[Bootloaders]]
* Not supported: <code>systemd-boot</code>
* Not supported: <code>systemd-boot</code> ([https://gitlab.com/postmarketOS/pmaports/-/tree/master/main/systemd-boot PostmarketOS does])
 
== Kernel ==
* See: [[Kernels]]


== Libc ==
== Libc ==
Line 14: 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://wiki.gentoo.org/wiki/Libc Gentoo Wiki]


== Initramfs ==
== Initramfs ==
Line 33: Line 40:
|}
|}
* See also: [[Initramfs init]]
* See also: [[Initramfs init]]
* See also: [https://wiki.gentoo.org/wiki/Initramfs Gentoo Wiki]


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


{| class="wikitable"
{| class="wikitable"
Line 42: 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 ||
|-
| {{Pkg|s6-linux-init}} || style="background:orange" | Works || Not integrated
|-
|-
| {{Pkg|dumb-init}} || style="background:silver" | Needs testing || For containers
| {{Pkg|dumb-init}} || style="background:silver" | Needs testing || For containers
Line 49: Line 59:
|-
|-
| {{Pkg|epoch}} || style="background:silver" | Needs testing ||
| {{Pkg|epoch}} || style="background:silver" | Needs testing ||
|-
| openrc-init || style="background:red" | None || Is excluded from the {{pkg|openrc}} package
|-
|-
| [https://core.suckless.org/sinit/ sinit] || style="background:red" | None ||
| [https://core.suckless.org/sinit/ sinit] || style="background:red" | None ||
Line 56: Line 68:
| systemd || style="background:red" | None ||
| systemd || style="background:red" | None ||
|}
|}
* See also: [https://wiki.gentoo.org/wiki/Init_system Gentoo Wiki]
* See also: [https://wiki.archlinux.org/title/Init Archwiki]
* See also: [https://wiki.archlinux.org/title/Init Archwiki]


Line 65: Line 78:
|-
|-
| [[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
|-
|-
| {{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 76: Line 91:
| {{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 ||
| [https://core.suckless.org/svc/ svc] || style="background:red" | None ||
|-
|-
| sysmgr || style="background:red" | None ||
| systemd || style="background:red" | None ||
|-
| upstart || style="background:red" | None ||
|-
|-
| sysmgr || style="background:red" | None ||
| without || style="background:red" | None ||
|-
| systemd || style="background:red" | None ||
|}
|}
* See also: [https://wiki.gentoo.org/wiki/Init_system Gentoo Wiki]
* See also: [https://wiki.archlinux.org/title/Init Archwiki]
* See also: [https://wiki.archlinux.org/title/Init Archwiki]


Line 98: Line 108:
! Name !! Support !! Notes
! Name !! Support !! Notes
|-
|-
| busybox syslog || style="background:lime" | Full ||
| [[Syslog#busybox_syslog|busybox syslog]] || style="background:lime" | Full || Default
|-
|-
| {{Pkg|rsyslog}} || style="background:lime" | Full ||
| {{Pkg|rsyslog}} || style="background:lime" | Full ||
|-
|-
| {{Pkg|syslog-ng}} || 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 ||
| systemd-journald || style="background:red" | None ||
|-
| without || style="background:silver" | Needs testing ||
|}
|}
* See also: [[Syslog]]
* See also: [[Syslog]]


== [[:Category:Device Manager|Device Manager]] ==
== [[Device Manager]] ==


{| class="wikitable"
{| class="wikitable"
Line 140: Line 156:
|-
|-
| systemd-logind || style="background:red" | None ||
| systemd-logind || style="background:red" | None ||
|-
| 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]
* See also: [https://wiki.gentoo.org/wiki/Power_management Gentoo Wiki]


== DHCP Client ==
== DHCP Client ==
Line 156: Line 175:
|-
|-
| [https://core.suckless.org/sdhcp/ sdhcp] || style="background:red" | None ||
| [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]


== Wi-Fi ==
== Wi-Fi ==
* See: [[Wi-Fi]]
* See: [[Wi-Fi]]
* Also supported: {{pkg|eiwd}}


== Seat/Session Managnent ==
== Seat/Session Managnent ==
Line 168: Line 192:
! Name !! Support !! Notes
! Name !! Support !! Notes
|-
|-
| {{Pkg|elogind}} || style="background:lime" | Full ||
| [[elogind]] || style="background:lime" | Full ||
|-
|-
| {{Pkg|seatd}} || style="background:lime" | Full || seats only
| {{Pkg|seatd}} || style="background:lime" | Full || seats only
|-
| {{Pkg|turnstile}} || style="background:silver" | needs testing || session only
|-
|-
| systemd-logind || style="background:red" | None ||
| systemd-logind || style="background:red" | None ||
|-
| 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 ==
== Login ==
Line 190: Line 222:
|-
|-
| systemd-logind || style="background:red" | None || style="background:lime" | Yes ||
| systemd-logind || style="background:red" | None || style="background:lime" | Yes ||
|-
| without || style="background:lime" | Full || style="background:red" | No ||
|}
|}
* See also: [https://wiki.gentoo.org/wiki/Login Gentoo Wiki]


== Shell Utils ==
== Shell Utils ==
Line 198: Line 233:
! Name !! Support !! Notes
! Name !! Support !! Notes
|-
|-
| {{Pkg|busybox}} || style="background:lime" | Full || Can't be uninstalled
| {{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 busybox package
Line 205: Line 240:
|-
|-
| [[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 211: Line 250:
|-
|-
| {{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 223: Line 264:
|-
|-
| {{Pkg|bash}} || style="background:lime" | Full ||
| {{Pkg|bash}} || style="background:lime" | Full ||
|-
| {{Pkg|dash}} || style="background:lime" | Full ||
|-
| {{Pkg|yash}} || style="background:lime" | Full ||
|-
| busybox hush || style="background:red" | None ||
|-
| without || style="background:red" | None || sometimes implicit dependency
|}
|}
* [[Change default shell]]
* 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.archlinux.org/title/Command-line_shell Archwiki]
* See also: [https://wiki.gentoo.org/wiki/Shell Gentoo Wiki]


== SU ==
== SU ==
Line 232: Line 283:
|-
|-
! Name !! Support !! Notes
! Name !! Support !! Notes
|-
| 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 ||
|-
| su from {{Pkg|util-linux-login}} || style="background:lime" | Full ||
|-
|-
| {{Pkg|sudo}} || style="background:lime" | Full ||
| {{Pkg|sudo}} || style="background:lime" | Full ||
Line 237: Line 294:
| {{Pkg|doas}} || style="background:lime" | Full || sudo shim using doas: {{Pkg|doas-sudo-shim}}
| {{Pkg|doas}} || style="background:lime" | Full || sudo shim using doas: {{Pkg|doas-sudo-shim}}
|-
|-
| without || style="background:lime" | Full ||
| [https://skarnet.org/software/s6/s6-sudo.html s6-sudo] || style="background:silver" | Needs testing ||
|-
| without || style="background:silver" | Needs testing ||
|}
|}


Line 254: Line 313:
* See also: [https://gitlab.alpinelinux.org/alpine/tsc/-/issues/28 consider LibreSSL as default OpenSSL provider again]
* 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://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 ==
== Cron ==
Line 272: Line 332:
|-
|-
| systemd-timer || style="background:red" | None ||
| systemd-timer || style="background:red" | None ||
|-
| without || style="background:lime" | Full || 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]
* See also: [https://wiki.gentoo.org/wiki/Cron Gentoo Wiki]


== SSH ==
== SSH ==
Line 284: Line 347:
|-
|-
| [[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 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]
* See also: [https://wiki.gentoo.org/wiki/SSH Gentoo Wiki - OpenSSH]
* See also: [https://wiki.gentoo.org/wiki/Dropbear Gentoo Wiki - Dropbear]


== Desktop ==
== Desktop ==
* See: [[Desktop environments and Window managers]]
* See: [[Desktop environments and Window managers]]
* See also: [https://wiki.archlinux.org/title/Desktop_environment Desktop environment - Archwiki]


== See Also ==
== See Also ==
* [[Alpine_security|Alpine security applications]]
* [[Architecture|Alpine Architecture]]
* [[Architecture|Alpine Architecture]]
* [https://gitlab.alpinelinux.org/alpine/tsc/-/issues/55 Future of busybox]

Latest revision as of 12:09, 29 February 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

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
s6-linux-init Works Not integrated
dumb-init Needs testing For containers
runit-init Needs testing runit-init starting OpenRC
epoch Needs testing
openrc-init None Is excluded from the openrc package
sinit None
Felker init None
systemd None

Service Manager

Name Support Notes
OpenRC Full Default
dinit In testing dinit-alpine includes service files
s6-rc Works Not integrated
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
without None

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
without Needs testing

Device Manager

Name Support Notes
mdev Full Default
mdevd Full
eudev Full
smdev None
vdev None
systemd-udev None

Power Managment

Name Support Notes
busybox acpid Full Default
acpid Full
elogind Needs testing
systemd-logind None
without Full

DHCP Client

Name Support Notes
busybox udhcpc Full Default
dhcpcd Full
dhclient Full
sdhcp None
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
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
without Full No

Shell Utils

Name Support Notes
busybox Full Dependency of alpine-base
busybox-extras Full Some commands that are missing in the 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
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
without Needs testing

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
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