Вихід нової версії coreutils 9.8: ключові зміни

Вихід нової версії coreutils 9.8: ключові зміни та функції

Проект GNU оголосив про випуск нової стабільної версії coreutils 9.8. Це важлива колекція базових утиліт для роботи з файлами, оболонкою та текстом, яка присутня на більшості систем Linux та Unix-подібних систем.

Нові функції coreutils 9.8

Цей реліз містить кілька помітних функцій. Найбільш вражаючою є підтримка SHA3 хешування в команді cksum. Тепер доступні опції для SHA3-224, SHA3-256, SHA3-384 та SHA3-512. Утиліта basenc тепер також підтримує кодування та декодування Base58. Цей формат розроблений для уникнення візуально неоднозначних символів.

Покращення та виправлення

Команда fold тепер враховує символи з кількома байтами, що забезпечує правильну обробку широких символів. З’явилася нова опція --characters. Команда nproc була оновлена для дотримання квот CPU версії cgroup v2 у Linux. Тепер команда stty може встановлювати довільні baud-рейти на підтримуваних системах.

Окрім нових функцій, оновлення також усуває велику кількість помилок. Наприклад, команди cp --sparse=always тепер правильно створюють дірки в файлах у більшій кількості випадків, а tail більше не виводить зайві рядки в певних умовах. Також виправлена команда od, щоб уникнути помилок пам’яті та неправильного поводження з великими ширинами.

Поліпшення відповідності стандартам та продуктивності

Основні утиліти, такі як install, ls та nohup, також отримали виправлення для усунення неправильного або заплутаного поведінки. Coreutils 9.8 також поліпшує відповідність стандарту POSIX.1-2024. Команда realpath тепер підтримує опцію -E, readlink реагує більш стабільно при встановленому POSIXLY_CORRECT, а tsort тепер приймає та ігнорує опцію -w.

Щодо продуктивності, утиліта factor швидше обробляє дуже великі числа, а seq покращила точність з великими початковими значеннями.

Контроль над апаратним прискоренням

На завершення, такі інструменти, як cksum та wc, тепер можуть вимкнути апаратне прискорення під час виконання через змінну середовища GLIBC_TUNABLES. Це дає більше контролю над виконанням команд.

Додаткову інформацію можна знайти в анонсі.