No description
Find a file
igo95862 01a6d803b5
Add --user-parent option to nsenter
When this option is used nsenter will fetch the parent user
namespace from any namespace file descriptors available.

It can be combined with existing `--user` option in which case
the parent user namespace will be fetched from the user namespace
and replace it.

The usecase of this option is when a user namespace that owns
the other type namespaces we want to switch to is not actually
bound to any process. Without using ioctl it is impossible to
acquire namespace file descriptor. For example, bubblewrap
`bwrap` command creates unbinded user namespace when `--dev`
option is used.
2023-06-23 00:26:13 +06:00
.github/workflows ci: use clang 16 2023-06-03 09:22:00 +02:00
bash-completion Add --user-parent option to nsenter 2023-06-23 00:26:13 +06:00
config build-sys: gtkdoc-fixxref v1.27 requires module option 2018-02-01 13:23:40 +01:00
disk-utils cfdisk: add hint about labels for bootable flag 2023-06-12 12:34:16 +02:00
Documentation docs: update v2.39-ReleaseNotes 2023-05-17 11:57:07 +02:00
include timeutils: add an inline funciton, is_timespecset() 2023-06-11 05:11:08 +09:00
lib ttyutils: improve get_terminal_default_type() code 2023-05-31 09:18:06 +02:00
libblkid Merge branch 'fix-jfs' of https://github.com/mbroz/util-linux 2023-06-05 11:46:11 +02:00
libfdisk misc: constify some fields 2023-06-03 10:13:59 +02:00
libmount libmount: (tests) add helper for option list splitting 2023-06-13 08:27:48 +02:00
libsmartcols libsmartcols: (samples): fix format truncation warning 2023-05-19 17:50:01 +02:00
libuuid libuuid: fix lib internal cache size 2023-03-09 13:18:33 +01:00
login-utils misc: constify some fields 2023-06-03 10:13:59 +02:00
m4 build-sys: use $LIBS rather than LDFLAGS 2021-06-18 17:21:13 +02:00
man-common Use https for project-related documentation. 2022-11-05 10:43:49 +01:00
misc-utils lsfd: use xstrdup instead of xasprintf(...\"%s\" 2023-06-13 19:21:33 +09:00
po po: merge changes 2023-05-17 11:53:42 +02:00
po-man build-sys: only pass --failure-level if supported 2023-05-31 17:31:42 +02:00
schedutils taskset: (man) Fix typos and use correct markup 2023-04-10 16:34:08 +02:00
sys-utils Add --user-parent option to nsenter 2023-06-23 00:26:13 +06:00
term-utils agetty: use get_terminal_default_type() 2023-05-29 15:11:13 +02:00
tests tests: (lsfd) add a case for testing INOTIFY.INODES.RAW column 2023-06-13 19:18:54 +09:00
text-utils hexdump: add '--one-byte-hex' format option 2023-05-16 20:24:21 +02:00
tools tools: (asciidoctor) explicitly require extensions module 2023-05-31 18:14:28 +02:00
.editorconfig add .editorconfig 2016-01-25 00:12:14 +01:00
.gitignore build-sys: add enosys and syscalls.h to gitignore 2023-06-12 12:47:44 +02:00
.packit.yaml ci: packit: enable -Werror 2023-01-08 16:28:48 +00:00
.shellcheckrc ci: disable shellcheck warning for unused variables 2023-01-23 13:21:54 +00:00
AUTHORS docs: add blkpr in AUTHORS file 2023-04-05 12:43:52 +02:00
autogen.sh build-sys: use set +e before patch --try in ./autogen.sh 2021-10-21 18:27:46 +02:00
ChangeLog docs: Correct ChangeLog URL to history log. 2020-05-11 09:48:43 +02:00
configure.ac tools: (asciidoctor) explicitly require extensions module 2023-05-31 18:14:28 +02:00
COPYING
Makefile.am build-sys: only pass --failure-level if supported 2023-05-31 17:31:42 +02:00
meson.build meson: check for _NL_TIME_WEEK_1STDAY in langinfo.h 2023-06-16 11:53:20 +02:00
meson_options.txt Merge branch '1' of https://github.com/neheb/util-linux 2023-01-02 13:34:01 +01:00
NEWS build-sys: release++ (v2.39) 2023-05-17 11:58:48 +02:00
README Use https for project-related documentation. 2022-11-05 10:43:49 +01:00
README.licensing include: add missing license lines 2023-01-12 15:33:09 +01:00
util-linux.doap Use https for project-related documentation. 2022-11-05 10:43:49 +01:00

				  util-linux

		util-linux is a random collection of Linux utilities

     Note: for the years 2006-2010 this project was named "util-linux-ng".

COMPILE & INSTALL:

      See Documentation/howto-compilation.txt.

MAILING LIST:

      E-MAIL:  util-linux@vger.kernel.org
      URL:     http://vger.kernel.org/vger-lists.html#util-linux
      ARCHIVE: https://lore.kernel.org/util-linux/

      The mailing list will reject email messages that contain:
       - more than 100K characters
       - html
       - spam phrases/keywords
      See: http://vger.kernel.org/majordomo-info.html#taboo

IRC CHANNEL:

      #util-linux at libera.chat:

      irc://irc.libera.chat/util-linux

      The IRC channel and Mailing list are for developers and project
      maintainers. For end users it is recommended to utilize the
      distribution's support system.

BUG REPORTING:

      E-MAIL: util-linux@vger.kernel.org
      Web:    https://github.com/util-linux/util-linux/issues

      Bug reports with sensitive or private information: Karel Zak <kzak@redhat.com>

      This project has no resources to provide support for distribution specific
      issues. For end users it is recommended to utilize the distribution's
      support system.

NLS (PO TRANSLATIONS):

      PO files are maintained by:
	  https://translationproject.org/domain/util-linux.html

VERSION SCHEMA:

      Standard releases:
	  <major>.<minor>[.<maint>]
	     major = fatal and deep changes
	     minor = typical release with new features
	     maint = maintenance releases; bug fixes only

      Development releases:
	 <major>.<minor>-rc<N>

SOURCE CODE:

 Download archive:
	  https://www.kernel.org/pub/linux/utils/util-linux/

 See also:
     Documentation/howto-contribute.txt
     Documentation/howto-build-sys.txt
     Documentation/howto-pull-request.txt

 SCM (Source Code Management) Repository:

    Primary repository:
	  git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git

    Backup repository:
	  git clone git://github.com/util-linux/util-linux.git

    Web interfaces:
	  https://git.kernel.org/cgit/utils/util-linux/util-linux.git
	  https://github.com/util-linux/util-linux

      Note: the GitHub repository may contain temporary development branches too.

      The kernel.org repository contains master (current development) and stable/*
      (maintenance) branches only. All master or stable/* changes are always pushed
      to both repositories at the same time.

    Repository Branches: 'git branch -a'
	  master branch
	   - current development
	   - the source for stable releases when deemed ready.
	   - day-to-day status is: 'it works for me'. This means that its
	     normal state is useful but not well tested.
	   - long-term development or invasive changes in active development are
	     forked into separate 'topic' branches from the tip of 'master'.

	  stable/ branches
	   - public releases
	   - branch name: stable/v<major>.<minor>.
	   - created from the 'master' branch after two or more release
	     candidates and the final public release. This means that the stable
	     releases are committed, tagged, and reachable in 'master'.
	   - these branches then become forked development branches. This means
	     that any changes made to them diverge from the 'master' branch.
	   - maintenance releases are part of, and belong to, their respective
	     stable branch. As such, they are tags(<major>.<minor>.<maint>) and
	     not branches of their own. They are not part of, visible in, or
	     have anything to do with the 'master' development branch. In git
	     terminology: maintenance releases are not reachable from 'master'.
	   - when initially cloned (as with the 'git clone' command given above)
	     these branches are created as 'remote tracking branches' and are
	     only visible by using the -a or -r options to 'git branch'. To
	     create a local branch use the desired tag with this command:
	     'git checkout -b v2.29.2 v2.29.2'

    Tags: 'git tag'
	   - a new tag object is created for every release.
	   - tag name: v<version>.
	   - all tags are signed by the maintainer's PGP key.

    Known Bugs:
	- don't use tag v2.13.1 (created and published by mistake),
	  use v2.13.1-REAL instead.

WORKFLOW EXAMPLE:

 1) development (branch: <master>)

 2) master release (tags: v2.29-rc1, v2.29-rc2, v2.29, branch: <master>)

 3) development (work on v2.30, branch: <master>)

 4) fork -- create a new branch <stable/v2.29> based on tag v2.29

     4a) new patches or cherry-pick patches from <master> (branch: <stable/v2.29>)

     4b) stable release (tag: v2.29.1, branch: <stable/v2.29>)

     4c) more patches; another release (tag: v2.29.2, branch: <stable/v2.29>)

 5) master release v2.30 (branch: <master>)
    ...

where 3) and 4) happen simultaneously.