Эта статья выглядит как бред, возлагающий вину на другое ПО за проблемы, вызванные враждебным поглощением systemd функций протоколирования. В ней даже упоминается решение (syslog), но только в качестве средства для предложения массивных излишеств вроде logstash
.
Вам не нужен logstash для регистрации горстки демонов на одном хосте.
Из статьи:
И по умолчанию, когда он это делает, stdout перенаправляется в журнал. Журнал, в свою очередь, по умолчанию отправляется в syslog, который на дистрибутивах, совместимых с RedHat 7, попадает в /var/log/messages.
Затем полностью игнорируется очевидный и разумный вариант настройки rsyslogd
и подразумевается, что logstash
и elasticsearch
являются единственными вариантами, если вы хотите сделать что-то, что не может сделать journald.
Современные демоны syslog, такие как rsyslog
и syslog-ng
, могут быть настроены на фильтрацию сообщений syslog по всевозможным критериям, включая имя демона и соответствие шаблону regex. По умолчанию может быть /var/log/messages
, но изменить это значение тривиально просто.
Итак, вам нужны некоторые rsyslog
правила для фильтрации сообщений syslog от вашей службы.
Все, что говорят сторонники systemd о логировании, воспринимайте с большой долей соли - они любят делать вид, что journald
был необходим, потому что до него логирование было примитивным и негибким, что они решают проблему, о которой никто даже не задумывался, не говоря уже о том, чтобы решить ее несколько раз.
Кроме того, BTW, правильный способ для программы вести журнал - это не stdout и не stderr, а использование функций syslog, которые доступны в большинстве языков.
Обе версии используют петлевые устройства и дают одинаковый результат; короткая версия опирается на «умность», добавленную к mount
в последние годы. mount -o loop
явно указывает mount
на использование петлевого устройства; это оставляет само устройство петли на усмотрение mount
, которое будет искать доступное устройство, настраивать его и использовать. (Вы также можете указать устройство с помощью , например,.mount -o loop=/dev/loop1
.)
Хитрость заключается в том, что, получив файл для монтирования, mount
будет автоматически использовать петлевое устройство для его монтирования, когда это необходимо — т. е. , файловая система не указана, или libblkid
определяет, что файловая система поддерживается только на блочных устройствах (, и поэтому для преобразования файла в блочное устройство )необходимо кольцевое устройство.
Более подробная информация содержится в разделе об устройстве контура на справочной странице mount
.
Между mount ubuntu.iso /mnt
и mount -o loop ubuntu.iso /mnt
нет никакой разницы.
Первый обрабатывается прозрачно, как если бы вы использовали второй.
Устройство loop
в основном управляется с помощью команды losteup
. Итак, losetup -a
дает вам обзор используемых петлевых устройств и прикрепленных файлов. Команда mount
может монтировать только блочное устройство . Контурное устройство может создать виртуальное блочное устройство из файла (символьного устройства ).
На самом деле существует большая разница между этими командами, потому что в старых системах Linux mount
не мог распознать файл как правильное устройство для монтирования, но во время выполнения команды монтирования с большим количеством функций, поэтому теперь он может самостоятельно решить попытаться вызвать команду lossup и смонтировать результат. Но если у вас есть образ всего диска не в формате iso, а, например. с MBR в начале команда mount не смогла его распознать, и вам нужно найти пригодный для использования раздел (, например. с помощью команды parted disk_image.raw unit B print
)самостоятельно, а затем смонтируйте его с полной опцией mount comman как:
mount disk_image.raw /mntpoint/ -o loop,offset=${OFFSET_of_PARTITION}
В этом синтаксисе не указано устройство петли, и предполагается, что система выбирает первое свободное (/dev/loop0
, /dev/loop1
и т. д. )Среди других новых возможностей команды mount то, что вам не нужно указывать тип файловой системы монтируемого блочного устройства (в вашем случае -t iso9660
), если поддержка файловой системы была установлена.