GNU core utilities: Difference between revisions

From Alpine Linux
No edit summary
Line 26: Line 26:
And then start the helper script which sets up services (it also works without the package "coreutils"):
And then start the helper script which sets up services (it also works without the package "coreutils"):


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

Revision as of 19:22, 27 March 2023

From gnu.org:

The GNU Core Utilities (often called 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 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 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.


This material needs expanding ...

Please feel free to help us complete it.

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.

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.


Some have a nice solution. For example, a utmps login monitor:

apk add coreutils utmps

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

setup-utmp

Note: Take into consideration that there's an alternative to coreutils named ubase (only available in edge) that provides better functionality than the built-in busybox, but less than what coreutils offers