🧠 Skills: Rust coreutils добрались до
Коллеги, навык выходного дня — короткий и полезный.
📌 ФАКТЫ
В Ubuntu 26.04 LTS большинство утилит coreutils уже работает на uutils (переписаны на Rust)
В 26.10 к ним добавились самые «опасные» в скриптах:
Цель Canonical — безопасность памяти. Но любая переписанная утилита может по-другому обрабатывать редкие флаги, сообщения об ошибках и граничные случаи
🛠 ЧЬИ У ВАС УТИЛИТЫ
Bash
🛠 ПРОГОН СКРИПТОВ В КОНТЕЙНЕРЕ
Bash
⚠️ НА ЧТО СМОТРЕТЬ
Парсинг вывода
Проверки по тексту ошибок (
Редкие флаги
💡 В ЧЁМ СУТЬ
#skills #linux #bash #ubuntu #rust #coreutils #sysadmin #admin_future
cp, mv и rm. Как проверить, что ваши скрипты не сломаютсяКоллеги, навык выходного дня — короткий и полезный.
📌 ФАКТЫ
В Ubuntu 26.04 LTS большинство утилит coreutils уже работает на uutils (переписаны на Rust)
В 26.10 к ним добавились самые «опасные» в скриптах:
cp, mv, rmЦель Canonical — безопасность памяти. Но любая переписанная утилита может по-другому обрабатывать редкие флаги, сообщения об ошибках и граничные случаи
🛠 ЧЬИ У ВАС УТИЛИТЫ
Bash
cp --version | head -1 # «uutils coreutils» или «GNU coreutils»
ls -l "$(command -v cp)" # куда ведёт бинарь
🛠 ПРОГОН СКРИПТОВ В КОНТЕЙНЕРЕ
Bash
# Чистая 26.10 рядом, ничего не ломая на сервере
docker run --rm -it -v "$PWD/scripts:/scripts:ro" ubuntu:26.10 bash
# внутри: прогоняем скрипты на тестовых данных
bash -x /scripts/backup.sh
⚠️ НА ЧТО СМОТРЕТЬ
Парсинг вывода
ls, df, du, stat через awk/cut — формат может отличатьсяПроверки по тексту ошибок (
grep 'No such file')Редкие флаги
cp (--reflink, --preserve=..., --sparse)💡 В ЧЁМ СУТЬ
Хороший скрипт проверяет код возврата, а не текст в выводе. Если скрипт ломается от смены реализации
ls, значит, он и так был хрупким. Повод переписать его на
find -printfили
stat -cс явным форматом.
#skills #linux #bash #ubuntu #rust #coreutils #sysadmin #admin_future