# util-linux

> standard package of utility programs for Linux

**Wikidata**: [Q1050995](https://www.wikidata.org/wiki/Q1050995)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Util-linux)  
**Source**: https://4ort.xyz/entity/util-linux

## Summary
util-linux is a standard package of utility programs designed for the Linux operating system. It is a foundational collection of free software that implements essential system commands such as mount, kill, and renice, allowing users to manage filesystems, processes, and user environments.

## Key Facts
- **Classification:** Utility software, software collection, and free software.
- **Primary Operating System:** Linux; also utilized by distributions like OpenWrt for embedded systems.
- **Core Implementations:** Provides the standard versions of commands including mount, umount, chsh, kill, renice, and nice.
- **Licensing:** Distributed under multiple licenses, including GNU GPL v2.0 or later, 4-clause BSD License, and GNU Library GPL v2.0 or later.
- **Stable Versions:** Version 2.32 was released on March 22, 2018; version 2.31.1 was released on December 19, 2017.
- **Repository:** Source code is hosted on GitHub (util-linux/util-linux) and kernel.org.
- **Quality Assurance:** Employs continuous integration via GitHub Actions and workflows.
- **Aliases:** Also known as util-linux-ng.

## FAQs
### Q: What is included in the util-linux package?
A: The package contains a collection of essential system utilities for Linux. It specifically implements core commands such as mount and umount for filesystem management, kill and renice for process control, and chsh for changing login shells.

### Q: What licenses apply to util-linux?
A: util-linux uses a multi-license approach. Its components are covered by the GNU General Public License version 2.0 (or later), the 4-clause BSD License, and the GNU Library General Public License version 2.0 or later.

### Q: Where can developers find the util-linux source code and issue tracker?
A: The primary source code repository is hosted on GitHub under the util-linux organization. This location also hosts the project's issue tracker for reporting bugs and requesting features.

## Why It Matters
util-linux is a critical component of the Linux ecosystem, providing the basic tools required for nearly every Linux-based system to function. As a "standard package," it ensures that fundamental administrative commands are consistent across different distributions, from desktop environments to specialized platforms like OpenWrt for wifi routers. 

Its status as free software is significant because it allows the global community to run, study, and modify the code, ensuring the transparency and longevity of core system tools. By implementing essential functions like filesystem mounting and process priority management (renice), util-linux serves as the bridge between the Linux kernel and the user's ability to control the operating system. Its ongoing maintenance and stable release cycle are vital for the security and reliability of modern computing infrastructure.

## Notable For
- **Standard System Utilities:** Serves as the definitive implementation for fundamental Linux commands like mount and kill.
- **Broad Platform Support:** Integrated into diverse package managers including Gentoo (sys-apps/util-linux), Arch Linux, Debian, and Homebrew.
- **Embedded System Integration:** A core component for OpenWrt, demonstrating its utility in resource-constrained embedded environments.
- **Active Community Development:** Maintains a dedicated IRC channel (#util-linux on Libera.chat) and a robust GitHub presence for collaborative development.

## Body

### Software Classification and Licensing
util-linux is categorized as utility software and a software package collection. It is distributed as free software, adhering to terms that allow users to freely run, study, and change the software. The project's licensing is diverse, incorporating the GNU General Public License (GPL) version 2.0 or later, the 4-clause BSD License, and the GNU Library General Public License (LGPL) version 2.0 or later.

### Technical Implementations
The package is responsible for the implementation of several essential Unix-like commands:
- **Filesystem Tools:** mount and umount.
- **Process Management:** kill, nice, and renice.
- **User Management:** chsh.

The project is developed using a specific programming language (referenced as Q15777) and utilizes continuous integration for software quality assurance, specifically through GitHub workflows and actions.

### Distribution and Package Management
util-linux is available through a wide array of package management systems across different operating systems:
- **Linux Distributions:** It is found in the Arch Linux repositories (as util-linux and libutil-linux), Gentoo (sys-apps/util-linux), and Debian (stable and source packages).
- **Specialized Systems:** It is a requirement for OpenWrt, a Linux distribution for routers and embedded systems.
- **Cross-Platform Availability:** It is available as a FreeBSD port (devel/util-linux), a NetBSD package (devel/libuuid), and via Homebrew for macOS (util-linux and gnu-getopt).
- **AUR Packages:** Specialized versions in the Arch User Repository include util-linux-selinux and util-linux-aes.

### Version History and Development
The project has a long history of releases. Stable version 2.32 was released on March 22, 2018, following release candidates 2.32-rc1 and 2.32-rc2. Other notable stable versions include 2.31.1 (December 2017), 2.27 (September 2015), and 2.26.2 (April 2015). Earlier records indicate versions such as 2.2, 2.5, and 2.8 were released in late 2006.

Development is primarily managed through GitHub and kernel.org. The project maintains an official website and source repository on GitHub under the username "util-linux," where it also manages its issue tracker. Community communication is facilitated through a dedicated IRC channel on Libera.chat.

## References

1. [Source](https://github.com/karelzak/util-linux/blob/master/README.licensing)
2. [The util-linux-ng Open Source Project on Open Hub: Languages Page. Open Hub](https://www.openhub.net/p/util-linux-ng/analyses/latest/languages_summary)
3. [Release 2.26.2. 2015](https://github.com/karelzak/util-linux/releases/tag/v2.26.2)
4. [Release 2.27. 2015](https://github.com/karelzak/util-linux/releases/tag/v2.27)
5. [Contribute to util-linux development by creating an account on GitHub](https://github.com/karelzak/util-linux/releases/tag/v2.31.1)
6. [Source](https://www.kernel.org/pub/linux/utils/util-linux/v2.31/)
7. [Source](https://github.com/karelzak/util-linux/releases/tag/v2.32-rc1)
8. [Source](https://www.kernel.org/pub/linux/utils/util-linux/v2.32/)
9. [Source](https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.32/)
10. [Source](https://github.com/karelzak/util-linux/releases/tag/v2.32)
11. [Release 2.2. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.2)
12. [Release 2.5. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.5)
13. [Release 2.7.1. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.7.1)
14. [Release 2.8. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.8)
15. [Release 2.9i. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.9i)
16. [Release 2.9v. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.9v)
17. [Release 2.10f. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.10f)
18. [Release 2.10m. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.10m)
19. [Release 2.10s. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.10s)
20. [Release 2.11f. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.11f)
21. [Release 2.11m. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.11m)
22. [Release 2.11n. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.11n)
23. [Release 2.11o. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.11o)
24. [Release 2.11q. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.11q)
25. [Release 2.11r. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.11r)
26. [Release 2.11t. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.11t)
27. [Release 2.11u. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.11u)
28. [Release 2.11v. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.11v)
29. [Release 2.11w. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.11w)
30. [Release 2.11x. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.11x)
31. [Release 2.11y. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.11y)
32. [Release 2.12a. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12a)
33. [Release 2.12d. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12d)
34. [Release 2.12h. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12h)
35. [Release 2.12i. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12i)
36. [Release 2.12j. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12j)
37. [Release 2.12k. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12k)
38. [Release 2.12l. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12l)
39. [Release 2.12m. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12m)
40. [Release 2.12o. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12o)
41. [Release 2.12p. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12p)
42. [Release 2.12q. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12q)
43. [Release 2.12r. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12r)
44. [Release 2.12. 2006](https://github.com/karelzak/util-linux/releases/tag/v2.12)
45. [Release 2.13. 2007](https://github.com/karelzak/util-linux/releases/tag/v2.13)
46. [Release 2.13.0.1. 2007](https://github.com/karelzak/util-linux/releases/tag/v2.13.0.1)
47. [Release 2.13.1. 2007](https://github.com/karelzak/util-linux/releases/tag/v2.13.1)
48. [Release 2.13.1.1. 2008](https://github.com/karelzak/util-linux/releases/tag/v2.13.1.1)
49. [Release 2.14. 2008](https://github.com/karelzak/util-linux/releases/tag/v2.14)
50. [Release 2.14.1. 2008](https://github.com/karelzak/util-linux/releases/tag/v2.14.1)