GNU core utilities: Difference between revisions

From Alpine Linux
No edit summary
(reformatted page added links, category and fixed headings)
Line 1: Line 1:
''From [https://www.gnu.org/software/coreutils/ gnu.org]:''
This page explains the [https://www.gnu.org/software/coreutils/ coreutils] implementation in Alpine Linux.  


''The GNU Core Utilities (often called {{Pkg|coreutils}}) are the basic file, shell and text manipulation utilities of the GNU operating system. These are the core utilities which are expected to exist on every operating system.''  
''The GNU Core Utilities {{Pkg|coreutils}} are the basic file, shell and text manipulation utilities of the GNU operating system. These are the core utilities which are expected to exist on every operating system.''. However, Alpine Linux uses [[BusyBox]] in place of the '''coreutils''' for a more lightweight, minimalist and secure experience but the {{Pkg|coreutils}} is still available, if you wish to use it.


<br>
== utmps ==


The {{Pkg|coreutils}} is used in most Linux distributions by default (which is why Linux is often refered to as GNU/linux or GNU+Linux), Alpine uses [https://www.busybox.net/ Busybox] in place of the '''coreutils''' for a more lightweight, minimalist and secure experience but the '''coreutils''' is still available on AlpineLinux if you wish to use it.
Some programs like <code>wall(1)</code> depend on a libc feature named "utmp", that cannot be implemented
 
<br>
 
{{Expand}}
 
===== coreutils libc and utmps in alpine =====
 
Some programs like wall(1) depend on a libc feature named "utmp", that cannot be implemented
in libc securely. For this reason, musl (the libc that Alpine uses) does not implement utmp. Instead, it provides stubs that do nothing.
in libc securely. For this reason, musl (the libc that Alpine uses) does not implement utmp. Instead, it provides stubs that do nothing.


That is why programs that use utmp - such as wall, who or w - output nothing but still exit successfully. This is expected, a feature, and cannot be fixed easily.
That is why programs that use utmp - such as wall, who or w - output nothing but still exit successfully. This is expected, a feature, and cannot be fixed easily.


<br>
The login monitor [https://skarnet.org/software/utmps/ utmps], is a secure implementation of user accounting. The Alpine Linix package {{Pkg|utmps}} can be installed as follows:
 
Some have a nice solution. For example, a {{Pkg|utmps}} login monitor:  


{{Cmd|apk add coreutils utmps}}
{{Cmd|apk add coreutils utmps}}


And then start the helper script which sets up services (it also works without the package "coreutils"):
Once the package is installed, start the helper script which sets up services.


{{Cmd|setup-utmp}}
{{Cmd|setup-utmp}}


{{Note|Take into consideration that there's an alternative to {{Pkg|coreutils}} named {{Pkg|ubase}} (only available in edge) that provides better functionality than the built-in busybox, but less than what coreutils offers}}
Note that it also works without the package {{Pkg|coreutils}}.
 
== ubase ==
 
There also an alternative to {{Pkg|coreutils}} named {{Pkg|ubase}} currently available in [[Repositories#Testing|testing repository]] that provides better functionality than the built-in busybox, but less than what coreutils offers.
 
[[Category:System Administration]]

Revision as of 04:46, 22 October 2024

This page explains the coreutils implementation in Alpine Linux.

The GNU Core Utilities coreutils are the basic file, shell and text manipulation utilities of the GNU operating system. These are the core utilities which are expected to exist on every operating system.. However, Alpine Linux uses BusyBox in place of the coreutils for a more lightweight, minimalist and secure experience but the coreutils is still available, if you wish to use it.

utmps

Some programs like wall(1) depend on a libc feature named "utmp", that cannot be implemented in libc securely. For this reason, musl (the libc that Alpine uses) does not implement utmp. Instead, it provides stubs that do nothing.

That is why programs that use utmp - such as wall, who or w - output nothing but still exit successfully. This is expected, a feature, and cannot be fixed easily.

The login monitor utmps, is a secure implementation of user accounting. The Alpine Linix package utmps can be installed as follows:

apk add coreutils utmps

Once the package is installed, start the helper script which sets up services.

setup-utmp

Note that it also works without the package coreutils.

ubase

There also an alternative to coreutils named ubase currently available in testing repository that provides better functionality than the built-in busybox, but less than what coreutils offers.