В материале о том, что в наши дни find
, как правило, не нуждается в xargs
, я отметил, что в конструкции '-exec ... {} +'
скобки ('{}'
) (для имён файлов, генерируемых find
) должны находиться в конце команды. В комментарии к той публикации анонимный читатель сказал, что это неприменимо к -exec-версии, которая запускает отдельную команду для каждого имени файла. В результате можно поместить заменяемое имя файла в любом месте команды. Это, как оказалось, относится не только к GNU Find, являясь стандартной возможностью, и я полагаю, что этого даже требует Single Unix Specification (SUS) для find.
Рубрика «системное администрирование» - 22
Заметки о Unix: ограничения опции -exec команды find и стремление к удобству при реализации команд
2021-05-06 в 12:59, admin, рубрики: UNIX, Блог компании RUVDS.com, Настройка Linux, системное администрированиеПростой, но умный ход, применяемый в zsh и fish для решения проблемы пропущенного символа перевода строки
2021-05-05 в 12:56, admin, рубрики: linux, ruvds_перевод, Блог компании RUVDS.com, системное администрированиеСегодня я хочу рассказать о том, как командные оболочки zsh и fish обнаруживают пропущенные символы перевода строки и выделяют соответствующие места в выводе программ, делая это в условиях, когда модель программирования Unix не даёт им возможности исследовать то, что выводят программы.
Большинство командных оболочек, включая bash, ksh, dash и ash, выводят приглашение командной строки в той позиции, в которой остался курсор после завершения работы предыдущей команды.
То, что приглашение (почти) всегда выводится в известном всем месте, в самой левой колонке следующей строки, объясняется тем фактом, что Unix-программы единодушно сотрудничают в деле размещения курсора именно в этой позиции после завершения их работы.
Читать полностью »
Идеальная избирательная система
2021-05-02 в 11:52, admin, рубрики: Accuracy, Countability, iac, immutability, Анализ и проектирование систем, голосование, дэг, избирательная система, распределенные системы, системное администрирование, Стандарты связи, хранение данныхНа днях мне пришло сообщение от портала Госуслуги с предложением поучаствовать в тестировании дистанционного электронного голосования (ДЭГ). Стало интересно, начал гуглить и поисковик сразу же выдал ссылку на хабровскую статью «Обзор системы дистанционного электронного голосования ЦИК РФ». Ознакомился…и…после прочтения, испытал противоречивые чувства, которые вылились в эту статью, созданную на базе идеи, описанной мной еще в 2018 году на сайте change.org.
После года разработки вышел эмулятор QEMU 6.0
2021-04-30 в 16:29, admin, рубрики: qemu, Блог компании Selectel, виртуализация, разработка, системное администрирование, Софт, эмуляция
Прошел ровно год с момента выхода эмулятора QEMU 5.0, и сейчас разработчики представили новую версию. Проект дает возможность запустить программное обеспечение, подготовленное для одной архитектуры, на аппаратной платформе с другой архитектурой.
Пример — выполнение приложения для ARM на ПК с процессором x86. Благодаря особенностям эмулятора приложение в изолированном окружении выполняется почти с той же эффективностью, что и в нативном окружении. Достигается это, в частности, за счет прямого выполнения инструкций на процессоре, а также за счет применения гипервизора Xen или модуля KVM. Сейчас эмулятор поддерживает 14 аппаратных архитектур и может эмулировать около 400 разных устройств. За год разработчики внесли свыше 3 тысяч изменений от 268 разработчиков.
Читать полностью »
Обман обманщиков: форк-бомба нового уровня
2021-04-29 в 11:57, admin, рубрики: linux, ruvds_переводы, безопасность, Блог компании RUVDS.com, информационная безопасность, Настройка Linux, системное администрированиеСразу предупреждаю: не копируйте примеры кода из этой статьи и не запускайте их в своей командной оболочке.
Есть люди, которые развлекают себя жестокими шутками над новичками, обманом подводя их к запуску разрушительных инструкций в командной оболочке.
Часто это принимает форму грубо замаскированных команд, вроде той, что показана ниже. Её запуск приведёт к выполнению в текущей директории команды rm -rf *
, которая всё удалит. Вот эта команда:
$(echo cm0gLXJmICoK | base64 -d)
Много лет назад я наткнулся на людей, которые играли в такие игры, и решил их проучить.
Читать полностью »
werf vs. Helm: корректно ли их вообще сравнивать?
2021-04-29 в 7:11, admin, рубрики: continuous delivery, devops, helm, kubernetes, open source, werf, Блог компании Флант, системное администрирование
Эта статья — развернутый ответ на вопрос, который нам периодически задают: чем werf отличается от Helm? На первый взгляд можно предположить, что задача у них примерно одинаковая: автоматизировать деплой приложений в Kubernetes. Но всё, конечно, немного сложнее…
Роль в CI/CD
Если упрощенно показать утилиты в рамках полного цикла CI/CD, то их функции значительно отличаются:
Helm |
werf |
— |
Почему -usr-bin-test на 4Кб меньше, чем -usr-bin-[?
2021-04-25 в 13:00, admin, рубрики: bash, linux, ruvds_перевод, Блог компании RUVDS.com, Настройка Linux, Разработка под Linux, системное администрирование
Пользователь с Reddit под ником mathisweirdaf поделился интересными наблюдениями:
$ ls -lh /usr/bin/{test,[}
-rwxr-xr-x 1 root root 59K Sep 5 2019 '/usr/bin/['
-rwxr-xr-x 1 root root 55K Sep 5 2019 /usr/bin/test
[
и test
должны быть псевдонимами друг друга, и все же между исполняющими их файлами из GNU coreutils наблюдается разница в 4Кб. Почему?Читать полностью »
Генерация изображений с помощью echo-printf в 5 строчках кода без библиотек и заголовков
2021-04-25 в 9:00, admin, рубрики: bash, linux, ruvds_перевод, Блог компании RUVDS.com, обработка изображений, Разработка под Linux, системное администрированиеtl;dr: форматы файлов Netpbm позволяют легко выводить пиксели, используя только текстовый ввод-вывод.

Вот весь генерирующий это изображение скрипт bash без зависимостей:
#!/bin/bash
exec > my_image.ppm # Все инструкции echo будут писать в этот файл
echo "P3 250 250 255" # формат, ширина, высота, максимальное значение цвета
for ((y=0; y<250; y++)) {
for ((x=0; x<250; x++)) {
echo "$((x^y)) $((x^y)) $((x|y))" # r, g, b
}
}
Сброс пароля и базовая настройка Cisco 1941
2021-04-25 в 7:01, admin, рубрики: Cisco, cli, Блог компании Маклауд, первые шаги, Сетевые технологии, системное администрирование
Бывает так, что приходится сталкиваться с задачами, к решению которых ты вроде бы и не готов, а получить результат надо здесь и сейчас. Знакомо, да? Добро пожаловать в мир восточноевропейского менеджмента с соответствующей культурой управления.
Ещё три утилиты, упрощающие работу с kubectl: fubectl, Kubelive, Web Kubectl
2021-04-23 в 6:37, admin, рубрики: cli, devops, kubectl, kubernetes, Блог компании Флант, системное администрирование
Какая утилита чаще всего встречается в .bash_history
SRE/DevOps-инженера, работающего с Kubernetes? Конечно, kubectl
Читать полностью »