The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск набора базовых системных утилит GNU Coreutils 8.26

01.12.2016 11:25

Вышла новая стабильная версия набора базовых системных утилит GNU Coreutils 8.26, в состав которого входят такие программы, как sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls и т.д.

Основные новшества:

  • В состав включена новая утилита b2sum с реализацией алгоритма хэширования BLAKE2. Набор опций b2sum аналогичен утилитам md5sum и sha1sum;
  • В утилиту comm добавлена опция "--total", при указании которой в конце вывода отображается сводная информация;
  • В утилиту date добавлена опция "--debug", позволяющая детализировать разбор строки с датой, а также реализована макроподстановка "%q", заменяемая при выводе на номер квартала;
  • В df увеличена эффективность разбора списков точек монтирования. Например, список из 2000 записей теперь разбирается за 1.1 сек. вместо 1.7 сек.
  • Утилиты du, shuf, sort и uniq теперь корректно обрабатывают файл при закрытии для него канала stdin;
  • В "install -Z" реализована установка контекста SELinux для создаваемых директорий;
  • В ls унифицировано выравнивание экранированных и неэкранированных элементов вывода;
  • В stat и tail добавлена поддержка файловых систем "balloon-kvm-fs", "cgroup2", "daxfs", "m1fs" (Plexistor FS), "prl_fs" (Parallels FS), "smb2", "zsmalloc" и "wslfs" (Windows Subsystem for Linux);
  • При работе "tail -f" с разделами "prl_fs" и "smb2" используется поллинг, а для всех остальных ФС - inotify;
  • Реализован вызов "stat -f --format=%T", который выводит тип файловой системы;
  • При выполнении "stat --format=%N" при экранировании имён файлов учитывается переменная окружения QUOTING_STYLE;
  • В утилите rm прекращена поддержка сокращённого варианта опции "--no-preserve-root", которую теперь можно применять только в развёрнутом виде;
  • В stat обеспечен вывод времени с наносекундной точностью;
  • В sort, tail и uniq добавлена возможность традиционного использования запросов вида 'sort +2' и 'tail +10' на системах, соответствующих стандарту POSIX 1003.1-2008 (в POSIX 2008 отменено требование по обработке опций вида '+2' как имён файлов).


  1. Главная ссылка к новости (http://www.mail-archive.com/in...)
  2. OpenNews: Релиз набора базовых системных утилит GNU Coreutils 8.25
  3. OpenNews: Релиз набора базовых системных утилит GNU Coreutils 8.24
  4. OpenNews: Подготовлен вариант GNU Coreutils, переписанный на языке Rust
  5. OpenNews: Проблемы безопасности в sort, uniq и join из состава GNU coreutils
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45597-coreutils
Ключевые слова: coreutils
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (24) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 12:36, 01/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > В утилите rm прекращена поддержка сокращённого варианта опции
    > "--no-preserve-root"

    умственно-непоноценные все равно умудряются удалить /
    Ждем не дождемся, когда отменят и этот способ.

     
     
  • 2.11, Линукс еще не готов (?), 23:47, 01/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Что то не припомню случая, когда удаление корня было необходимо.
     

  • 1.3, saahriktu (ok), 16:42, 01/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Дефолтное поведение ls в tty осталось прежним с прошлой версии. К прошлой версии я писал патч для возвращения классического дефолта в ls. Адаптировал его к этой версии: http://saahriktu.org/downloads/patches/ls_literal_quoting_style_cu8.26.patch. .
     
     
  • 2.4, нет (??), 17:17, 01/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    что не так с ls?
     
     
  • 3.5, saahriktu (ok), 17:29, 01/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    'закавычивание имён файлов' теперь по дефолту начиная с GNU Coreutils 8.25. Мой патч убирает это закавычивание.
     
     
  • 4.6, Аноним (-), 18:03, 01/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > 'закавычивание имён файлов' теперь по дефолту начиная с GNU Coreutils 8.25. Мой
    > патч убирает это закавычивание.

    Чем плохо заковычивание? Сколько помню, только полезно.

     
     
  • 5.8, saahriktu (ok), 18:19, 01/12/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Отродясь этого закавычивания в дефолте десятилетиями не было. Кто-то может быть и включал его, но не я. Для таких людей как я оно не просто бесполезно, но и является бардаком. Только лишние символы в строках жрёт и портит всю картину.
     
  • 2.18, Ordu (ok), 23:51, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У меня есть отличный патч, исправляющий ситуацию:

    echo "alias ls='ls --quoting-style=literal'" >> ~/.bashrc
    . ~/.bashrc

     
     
  • 3.19, saahriktu (ok), 23:24, 03/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Это не патч, а опция. Юзерам бинарных дистрибутивов, которые не пересобирают пакеты, ничего другого и не остаётся. Но, суть в том, что до предыдущего релиза у ls по дефолту было такое поведение, а не с опцией. И можно пропатчить с целью вернуть дефолт. Именно дефолт.
     
     
  • 4.20, Ordu (ok), 02:42, 04/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Это не патч, а опция.

    Кэп, вы выступаете нынче под псевдонимом?

    > Именно дефолт.

    Чем "именно дефолт" отличается от "alias ls=...", с точки зрения юзабилити? У меня ls в alias уже хрен его знает сколько лет ради опции --color=auto. Одной опцией больше или меньше в alias -- мне без разницы. При этом мне без разницы, есть ли эти alias'ы или нет, покуда ls работает как мне нравится. alias'ы есть не просят.

    Ты сам не пробовал вогнать в косольку alias без аргументов? Если не пробовал, попробуй: может быть у тебя ls _уже_ используется через alias? Например потому, что заботливые разработчики дистрибутива напихали в /etc/bashrc удобных alias'ов, которые ты используешь даже не зная об этом?

    Но может я не прав? Может есть какое-то скрытое преимущество в том, чтобы какое-нибудь поведение ls было бы дефолтным?

    > Юзерам бинарных дистрибутивов, которые не пересобирают пакеты, ничего другого и не остаётся.

    Я пользователь source-based дистрибутива. Но я не собираюсь держать оверлей ради такой фигни. И даже подключать уже готовый оверлей ради такой фигни я не буду: каждый подключённый оверлей -- это дополнительный удар по безопасности, и дополнительные геморрои с обновлением софта, потому что оверлеи не всегда поспевают за основным деревом портажей, иногда уходят в рассинхрон, и следить за всем этим... Зачем? Зачем весь этот геморрой, когда проблема решается одной строчкой в ~/.bashrc?

     
     
  • 5.21, saahriktu (ok), 03:02, 04/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Дефолтные настройки - это те настройки, которые применяются без явного указания юзерских опций. А при использовании alias'ов оболочка передаёт указанные юзером опции. Есть разница.

    Нет, alias'а для ls у меня нет, и у меня свой дистрибутив на основе LFS'а. И я спокойно патчу что хочу и как хочу без всяких оверлеев. Ну и могу делиться своими патчами. Мало ли кому ещё нужно.

     
     
  • 6.22, cmp (ok), 06:22, 04/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    )), Это пока инсталяция 1, на 2 уже начинаешь втуплять с какими флагами че собирал, хотя может там отдельный сборочный сервер, который синкает жит-деревья исходников и собирает потом, но сомнительно.
     
     
  • 7.23, saahriktu (ok), 10:11, 04/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Какой ещё сборочный сервер? Всегда собираю всё на живых системах руками. Даже на Raspberry Pi 1. И прекрасно помню где какие у меня опции. Эта система, из которой я сейчас пишу, получена последовательностью __ручных__ обновлений из сборки 2007-го года (тогда это был LFS 6.3, а теперь уже пришёл 7.10).
     
     
  • 8.24, cmp (ok), 11:37, 04/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    У меня старый комп ручками с 2002 компилялся обновлялся, ох там надо было попоте... текст свёрнут, показать
     
     
  • 9.25, saahriktu (ok), 11:46, 04/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    При чём тут время Сейчас уже более шустрое железо Базовая система на x86_64 со... текст свёрнут, показать
     

  • 1.7, rh (?), 18:05, 01/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    В df увеличена эффективность разбора списков точек монтирования. Например, список из 2000 записей теперь разбирается за 1.1 сек. вместо 1.7 сек.

    2000 точек монтирования, 2000 точек монтирования, 2000 точек монтирования

     
     
  • 2.9, Nicknnn (ok), 18:32, 01/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    docker с overlayfs же.
     
     
  • 3.10, aepu7Kah8No8chae (?), 20:34, 01/12/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Так в докер же busybox, не?
     
  • 2.12, KonstantinB (ok), 03:49, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    xkcd_619_supported_features.png
     
  • 2.16, Michael Shigorin (ok), 23:31, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > 2000 точек монтирования, 2000 точек монтирования, 2000 точек монтирования

    M2K, однако.

     

  • 1.13, iCat (ok), 04:14, 02/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Для ленивых, но любознательных привожу списочный состав coreutils-8.23

    Файловые утилиты:
    chcon Изменяет контекст безопасности файла (SELinux)
    chgrp Изменяет группу владельца файла
    chown Изменяет владельца файла
    chmod Изменяет права доступа к файлу
    cp Копирование файлов и(или) каталогов
    dd Копирование и преобразование файлов
    df Отображает свободное место на смонтированных файловых системах
    dir То же самое, что и ls -C -b (список файлов выводится в колонках с вертикальной сортировкой)
    dircolors Устанавливает цветовую схему для вывода команды ls
    install Копирует файлы и устанавливает атрибуты
    ln Создаёт ссылку на файл
    ls Выводит список файлов
    mkdir Создаёт каталоги
    mkfifo Создаёт FIFO (именованные каналы)
    mknod Создаёт специальные файлы
    mktemp Создаёт временный файл или каталог
    mv Перемещает и переименовывает файлы
    realpath Возвращает полученный абсолютный или относительный путь к файлу
    rm Удаляет файлы
    rmdir Удаляет пустые каталоги
    shred Перезаписывает файлы чтобы скрыть содержимое (так называемое безопасное удаление), и опционально удаляет файлы
    sync Записывает на диск буферы файловых систем
    touch Изменяет время создания, модификации файлов
    truncate Уменьшает или увеличивает размер файла до заданного размера
    vdir То же самое, что и ls -l -b (выводит список файлов в длинном формате)

    Текстовые утилиты:
    base64 Кодирует/декодирует данные в base64 и выводит в стандартный вывод
    cat Конкатенация и вывод файлов в стандартный вывод
    cksum Проверяет контрольные суммы файла
    comm Сравнивает построчно два упорядоченных файла
    csplit Разделяет файлы на секции
    cut Удаляет поля из каждой строки файла[2]
    expand Преобразует символы табуляции в знаки пробела
    fmt Форматирует текст
    fold Разбивает длинные строки для устройств вывода с ограниченной шириной
    head Выводит несколько первых строк файла
    join Объединяет файлы по общему полю
    md5sum Вычисляет и проверяет хеш MD5
    nl Нумерует строки файла
    numfmt Переформатирует числа
    od Выводит содержимое файлов в восьмеричном и других форматах
    paste Объединяет строки в файлах
    ptx Выводит упорядоченный индекс файла
    pr Преобразует текстовые файлы в формат для печати
    sha1sum,
    sha224sum,
    sha256sum,
    sha384sum,
    sha512sum Вычисляет и проверяет хеш, SHA-224/256/384/512
    shuf Генерирует случайные перестановки
    sort Сортирует строки в текстовых файлах
    split Разделяет файл
    sum Проверяет контрольные суммы файла
    tac Конкатенация и вывод файлов в обратном порядке
    tail Выводит несколько последних строк файла
    tr Преобразовывает или удаляет символы
    tsort Выполняет топологическую сортировку
    unexpand Преобразует символы пробелов в символы табуляции
    uniq Удаляет повторяющиеся строки из упорядоченного файла
    wc Выводит число байтов, слов и строк в файлах

    Shell-утилиты:
    arch То же самое, что и uname -m (выводит название архитектуры машины)
    basename Удаляет префикс в пути к файлу
    chroot Изменяет корневой каталог
    date Выводит/устанавливает системное время и дату
    dirname Удаляет имя файла из полного пути
    du Оценивает, сколько места на диске занимает файл
    echo Отображает строку текста
    env Отображает/изменяет переменные окружения
    expr Вычисляет выражения
    factor Раскладывает число на простые множители
    false Возвращает значение «ложь»
    groups Выводит группы, в которых состоит пользователь
    hostid Выводит цифровой идентификатор для текущего хоста
    id Выводит реальный/эффективный UID и GID
    link Вызывает функцию link() для создания ссылки на файл
    logname Выводит имя (логин), под которым пользователь вошёл в систему
    nice Запускает процесс с указанным приоритетом
    nohup Позволить команде выполняться после выхода пользователя (logout)
    nproc Запрашивает количество (активных) процессоров
    pathchk Проверяет имя файла на правильность или на переносимость
    pinky Простой finger, печатает сведения о пользователе
    printenv Выводит переменные окружения
    printf Форматирует и выводит данные
    pwd Выводит текущий рабочий каталог
    readlink Выводит значение символической ссылки
    runcon Запускает команду с указанным контекстом безопасности
    stdbuf Управляет буферизацией команд, использующих stdio
    seq Выводит числа по порядку
    sleep Задерживает выполнение на определённое время
    stat Возвращает данные об inode
    stty Изменяет и выводит настройки терминала
    tee Отправляет вывод на множество файлов
    test Проверяет условие
    timeout Запустить команду с ограничением по времени
    true Возвращает значение «истина»
    tty Выводит имя терминала
    uname Выводит информацию о системе
    unlink Вызывает функцию unlink() для удаления заданных файлов
    uptime Говорит как долго система работает
    users Выводит имена тех пользователей, которые вошли на текущий хост
    who Выводит список всех вошедших пользователей
    whoami Выводит эффективный UID
    yes До бесконечности выводит заданную строку

    Другие утилиты:
    [ Синоним для test; эта программа позволяет использовать такие выражения, как [ условие ].

     
     
  • 2.14, Анонимный аноним (?), 10:27, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Забыли только упомянуть новую утилиту b2sum, в остальном -- низкий поклон от ленивых, но любознательных
     
     
  • 3.15, Аноним (-), 20:17, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ещё забыли команду kill, разные варианты которой входят в coreutils, util-linux и procps (каждый дистрибутив отдельно решает, какой из этих вариантов устанавливать, а какие удалять) и команду hostname (coreutils и net-tools)
     
  • 3.17, Michael Shigorin (ok), 23:42, 02/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Забыли только упомянуть новую утилиту b2sum
    >> списочный состав coreutils-8.23
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру