Как перенаправить журналы к устройству FIFO?

Часто APT-GOW предпочтет удалить десятки пакетов вместо того, чтобы просто обновить пару других пакетов.

Я обычно запускаю способность в интерактивном режиме, выберите пакет, который я хочу установить с помощью +, а затем проверять, какие другие пакеты могут быть нарушены этим действием (перейти к следующему «сломанному» пакету с ключом «B». Часто просто просто Обновление тех (опять же с +) решит проблему с небольшим количеством хлопот. Когда все решено, нажмите «g» для «идти и сделать это». Он покажет сводку того, что произойдет (страница через полный список, это кроме закодирован, чтобы помочь), а затем нажмите «G» снова, когда доволен.

-121--175571-

Вместо этого вы можете использовать Perl вместо этого:

$ printf '%s%s%s' 'ăâé' | LC_ALL=C.UTF-8 perl -Mopen=locale -ne '
    BEGIN { $/ = \1 }
    printf "%s\n", $_;
'
ă
â
é
1
06.06.2014, 20:00
1 ответ

я наконец нашел решение.

Это пятибалльное устройство, которое я создаю при загрузке системы:

LOG_DEV=/dev/logi
if [ ! -r $LOG_DEV ]; then
    mkfifo $LOG_DEV
    chmod 640 $LOG_DEV
    chown root:morfik $LOG_DEV
fi

Я только что добавил его в файл /etc/init.d/rsyslog.

Имея такое устройство, я могу отправлять туда все журналы, помещая в файл /etc/rsyslog.conf следующую строку:

*.*                 -/dev/logi

Это первая строка в разделе правил, поэтому каждый журнал идет туда и продолжает обрабатывать другие правила в конфигурационном файле. Следующее правило в этом файле:

:msg,contains,"IPTABLES:" /var/log/iptables
& stop

которое отправляет iptables лог в определенный файл, после чего rsyslog просто прекращает обработку записей, содержащих фразу IPTABLES:. Следующие правила - это обычные правила в конфигурационном файле rsyslog.

Так что я только что получил то, что хотел - все лог-файлы отправляются на устройство fifo + отдельный лог-файл для записей в iptables.

0
28.01.2020, 01:56

Теги

Похожие вопросы