Language Selection

English French German Italian Portuguese Spanish

GNU Core Utilities: coreutils-9.1 released

Filed under
GNU

This is to announce coreutils-9.1, a stable release.
See the NEWS below for details.

Thanks to everyone who has contributed!
There have been 210 commits by 10 people in the 29 weeks since 9.0

  Bernhard Voelker (3)            Max Filippov (1)
  Bruno Haible (1)                Paul Eggert (136)
  Christian Hesse (1)             Pádraig Brady (64)
  Daniel Knittl-Frank (1)         Rohan Sable (1)
  Jim Meyering (4)                Ville Skyttä (1)

Pádraig [on behalf of the coreutils maintainers]

==================================================================

Here is the GNU coreutils home page:
    https://gnu.org/software/coreutils/

For a summary of changes and contributors, see:
    https://git.sv.gnu.org/gitweb/?p=coreutils.git;a=shortlog;h=v9.1
or run this command from a git-cloned coreutils directory:
    git shortlog v9.0..v9.1

To summarize the 259 gnulib-related changes, run these commands
from a git-cloned coreutils directory:
    git checkout v9.1
    git submodule summary v9.0

==================================================================

Here are the compressed sources:
  https://ftp.gnu.org/gnu/coreutils/coreutils-9.1.tar.gz   (14MB)
  https://ftp.gnu.org/gnu/coreutils/coreutils-9.1.tar.xz   (5.5MB)

Here are the GPG detached signatures[*]:
  https://ftp.gnu.org/gnu/coreutils/coreutils-9.1.tar.gz.sig
  https://ftp.gnu.org/gnu/coreutils/coreutils-9.1.tar.xz.sig

Use a mirror for higher download bandwidth:
  https://www.gnu.org/order/ftp.html

Here are the SHA1 and SHA256 checksums:

cab498ddc655fd3c7da553d80436d28bc9b17283  coreutils-9.1.tar.gz
YFXfkmhgPoI5pcnB1kyyW5qZJTDfZuM7jXimYO2zezU  coreutils-9.1.tar.gz
aa7bf0be95eef29d98eb5c76d4455698b3b705b3  coreutils-9.1.tar.xz
YaH0ENeLp+fzelpPUObRMgrKMzdUhKMlXt3xejhYBCM  coreutils-9.1.tar.xz

The SHA256 checksum is base64 encoded, instead of the
hexadecimal encoding that most checksum tools default to.

[*] Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact.  First, be sure to download both the .sig file
and the corresponding tarball.  Then, run a command like this:

  gpg --verify coreutils-9.1.tar.gz.sig

If that command fails because you don't have the required public key,
or that public key has expired, try the following commands to update
or refresh it, and then rerun the 'gpg --verify' command.

  gpg --locate-external-key P@draigBrady.com

  gpg --recv-keys DF6FD971306037D9

  wget -q -O- 'https://savannah.gnu.org/project/release-gpgkeys.php?group=coreutils&download=1' | gpg --import -

This release was bootstrapped with the following tools:
  Autoconf 2.71
  Automake 1.16.4
  Gnulib v0.1-5194-g58c597d13
  Bison 3.7.4

NEWS

* Noteworthy changes in release 9.1 (2022-04-15) [stable]

** Bug fixes

  chmod -R no longer exits with error status when encountering symlinks.
  All files would be processed correctly, but the exit status was incorrect.
  [bug introduced in coreutils-9.0]

  If 'cp -Z A B' checks B's status and some other process then removes B,
  cp no longer creates B with a too-generous SELinux security context
  before adjusting it to the correct value.
  [bug introduced in coreutils-8.17]

  'cp --preserve=ownership A B' no longer ignores the umask when creating B.
  Also, 'cp --preserve-xattr A B' is less likely to temporarily chmod u+w B.
  [bug introduced in coreutils-6.7]

  On macOS, 'cp A B' no longer miscopies when A is in an APFS file system
  and B is in some other file system.
  [bug introduced in coreutils-9.0]

  On macOS, fmt no longer corrupts multi-byte characters
  by misdetecting their component bytes as spaces.
  [This bug was present in "the beginning".]

  'id xyz' now uses the name 'xyz' to determine groups, instead of xyz's uid.
  [bug introduced in coreutils-8.22]

  'ls -v' and 'sort -V' no longer mishandle corner cases like "a..a" vs "a.+"
  or lines containing NULs.  Their behavior now matches the documentation
  for file names like ".m4" that consist entirely of an extension,
  and the documentation has been clarified for unusual cases.
  [bug introduced in coreutils-7.0]

  On macOS, 'mv A B' no longer fails with "Operation not supported"
  when A and B are in the same tmpfs file system.
  [bug introduced in coreutils-9.0]

  'mv -T --backup=numbered A B/' no longer miscalculates the backup number
  for B when A is a directory, possibly inflooping.
  [bug introduced in coreutils-6.3]

** Changes in behavior

  cat now uses the copy_file_range syscall if available, when doing
  simple copies between regular files.  This may be more efficient, by avoiding
  user space copies, and possibly employing copy offloading or reflinking.

  chown and chroot now warn about usages like "chown root.root f",
  which have the nonstandard and long-obsolete "." separator that
  causes problems on platforms where user names contain ".".
  Applications should use ":" instead of ".".

  cksum no longer allows abbreviated algorithm names,
  so that forward compatibility and robustness is improved.

  date +'%-N' now suppresses excess trailing digits, instead of always
  padding them with zeros to 9 digits.  It uses clock_getres and
  clock_gettime to infer the clock resolution.

  dd conv=fsync now synchronizes output even after a write error,
  and similarly for dd conv=fdatasync.

  dd now counts bytes instead of blocks if a block count ends in "B".
  For example, 'dd count=100KiB' now copies 100 KiB of data, not
  102,400 blocks of data.  The flags count_bytes, skip_bytes and
  seek_bytes are therefore obsolescent and are no longer documented,
  though they still work.

  ls no longer colors files with capabilities by default, as file-based
  capabilties are very rarely used, and lookup increases processing per file by
  about 30%.  It's best to use getcap [-r] to identify files with capabilities.

  ls no longer tries to automount files, reverting to the behavior
  before the statx() call was introduced in coreutils-8.32.

  stat no longer tries to automount files by default, reverting to the
  behavior before the statx() call was introduced in coreutils-8.32.
  Only `stat --cached=never` will continue to automount files.

  timeout --foreground --kill-after=... will now exit with status 137
  if the kill signal was sent, which is consistent with the behavior
  when the --foreground option is not specified.  This allows users to
  distinguish if the command was more forcefully terminated.

** New Features

  dd now supports the aliases iseek=N for skip=N, and oseek=N for seek=N,
  like FreeBSD and other operating systems.

  dircolors takes a new --print-ls-colors option to display LS_COLORS
  entries, on separate lines, colored according to the entry color code.

  dircolors will now also match COLORTERM in addition to TERM environment
  variables.  The default config will apply colors with any COLORTERM set.

** Improvements

  cp, mv, and install now use openat-like syscalls when copying to a directory.
  This avoids some race conditions and should be more efficient.

  On macOS, cp creates a copy-on-write clone if source and destination
  are regular files on the same APFS file system, the destination does
  not already exist, and cp is preserving mode and timestamps (e.g.,
  'cp -p', 'cp -a').

  The new 'date' option --resolution outputs the timestamp resolution.

  With conv=fdatasync or conv=fsync, dd status=progress now reports
  any extra final progress just before synchronizing output data,
  since synchronizing can take a long time.

  printf now supports printing the numeric value of multi-byte characters.

  sort --debug now diagnoses issues with --field-separator characters
  that conflict with characters possibly used in numbers.

  'tail -f file | filter' now exits on Solaris when filter exits.

  root invoked coreutils, that are built and run in single binary mode,
  now adjust /proc/$pid/cmdline to be more specific to the utility
  being run, rather than using the general "coreutils" binary name.

** Build-related

  AIX builds no longer fail because some library functions are not found.
  [bug introduced in coreutils-8.32]

Read more

GNU coreutils 9.1 released

  • GNU coreutils 9.1 released

    Version 9.1 of the GNU coreutils package has been released with lots of small tweaks and improvements. "ls no longer colors files with capabilities by default, as file-based capabilities are very rarely used, and lookup increases processing per file by about 30%. It's best to use getcap [-r] to identify files with capabilities."

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

digiKam 7.7.0 is released

After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. Read more

Dilution and Misuse of the "Linux" Brand

Samsung, Red Hat to Work on Linux Drivers for Future Tech

The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. Read more

today's howtos

  • How to install go1.19beta on Ubuntu 22.04 – NextGenTips

    In this tutorial, we are going to explore how to install go on Ubuntu 22.04 Golang is an open-source programming language that is easy to learn and use. It is built-in concurrency and has a robust standard library. It is reliable, builds fast, and efficient software that scales fast. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel-type systems enable flexible and modular program constructions. Go compiles quickly to machine code and has the convenience of garbage collection and the power of run-time reflection. In this guide, we are going to learn how to install golang 1.19beta on Ubuntu 22.04. Go 1.19beta1 is not yet released. There is so much work in progress with all the documentation.

  • molecule test: failed to connect to bus in systemd container - openQA bites

    Ansible Molecule is a project to help you test your ansible roles. I’m using molecule for automatically testing the ansible roles of geekoops.

  • How To Install MongoDB on AlmaLinux 9 - idroot

    In this tutorial, we will show you how to install MongoDB on AlmaLinux 9. For those of you who didn’t know, MongoDB is a high-performance, highly scalable document-oriented NoSQL database. Unlike in SQL databases where data is stored in rows and columns inside tables, in MongoDB, data is structured in JSON-like format inside records which are referred to as documents. The open-source attribute of MongoDB as a database software makes it an ideal candidate for almost any database-related project. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the MongoDB NoSQL database on AlmaLinux 9. You can follow the same instructions for CentOS and Rocky Linux.

  • An introduction (and how-to) to Plugin Loader for the Steam Deck. - Invidious
  • Self-host a Ghost Blog With Traefik

    Ghost is a very popular open-source content management system. Started as an alternative to WordPress and it went on to become an alternative to Substack by focusing on membership and newsletter. The creators of Ghost offer managed Pro hosting but it may not fit everyone's budget. Alternatively, you can self-host it on your own cloud servers. On Linux handbook, we already have a guide on deploying Ghost with Docker in a reverse proxy setup. Instead of Ngnix reverse proxy, you can also use another software called Traefik with Docker. It is a popular open-source cloud-native application proxy, API Gateway, Edge-router, and more. I use Traefik to secure my websites using an SSL certificate obtained from Let's Encrypt. Once deployed, Traefik can automatically manage your certificates and their renewals. In this tutorial, I'll share the necessary steps for deploying a Ghost blog with Docker and Traefik.