В этой статье я расскажу о некоторых особенностях, которые очень помогают при работе с сервисами.
Генераторы трафика
Scapy is a powerful interactive packet manipulation program. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more. It can easily handle most classical tasks like scanning, tracerouting, probing, unit tests, attacks or network discovery (it can replace hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, tethereal, p0f, etc.).
Got fatal error 1236 from master when reading data from binary log: 'Cannot replicate anonymous transaction when AUTO_POSITION = 1, at file /database/mysql/mysql-bin.030053, position 154.; the first event '' at 4, the last event read from 'mysql-bin.030053' at 219, the last byte read from '/database/mysql/mysql-bin.030053' at 219.'
Такую ошибку получили при попытке переключиться по инструкции online migration to GTID replication. Решение не очевидное и нашлось методом гугления, проб.
Путь сетевого пакета
Высокоуровневый путь, по которому проходит пакет от прибытия до приёмного буфера сокета выглядит так:
[Postfix] Dovecot delivery
Если хотите использовать dovecot-delivery вместо стандартного postfix’ового, то нужно сделать следующее:
1) добавить фильтр в master.cf:
dovecot unix – n n – – pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}
ERROR 1144 (42000): Illegal GRANT/REVOKE command; please consult the manual to see which privileges can be used
Такая ошибка появляется, когда вы пытаетесь дать права на объект, на который права не могут распространяться. К примеру, нельзя дать права execute, create temporary table на конкретную таблицу. То есть, сначала сверяемся с мануалом , и, если всё правильно, пробуем по одному удалять “гранты” в надежде найти проблемный.
Принцип ее работы прост: для каждого процесса она создает файл и вешает на него lock. Как только процесс завершается, лок пропадает. Лок также пропадает в случае внезапной смерти процесса, и нет необходимости проверять pid на существование или делать другие телодвижения. Если процесс запускается повторно, а лок-файл еще не освободился, работа скрипта прерывается и выдается сообщение в STDERR.
Появилась задача: делать проверку на спам только для определённых ящиков.
Общая идея такова: после попадания письма в postfix, оно сверяется с фильтром в файле /etc/postfix/transport_spam, если попадает – передаётся на обработку фильтра spamassassin, который описан в master.cf. Он же в свою очередь состоит из проверки на спам и после проверки отдаёт письмо не в postfix, а в procmail, который на основе темы отдаёт её dovecot devivery, который складывает либо в INBOX, либо в JUNK папку соответственно.
Вы можете использовать dovecot-sieve и тогда вам не нужен procmail.
[Solaris] Снепшоты сервисов
Правда удобно, когда правишь сервис через svccfg и что-то пошло не так и нужно быстро откатиться к предыдущему состоянию? Начиная с 11.2 такая возможность есть. И так, есть 4 состояния (покажу на примере сервиса spamd):
# svccfg -s svc:/application/network/spamd:default listsnap
running
initial
previous
start
FreeBSD
Чтобы порт не обновлялся, в /etc/make.conf добавить
.if ${.CURDIR:M*devel/tevent}
IGNORE=yes
.endif
ПС. Подсмотрено в рассылке по freebsd.
А для пакетов так
Заморозить:
# pkg lock <pkg-name>
Разморозить:
# pkg unlock <pkg-name>
Solaris
Заморозить:
# pkg freeze <package-name>
Разморозить:
# pkg unfreeze <package-name>
Linux (Debian)
Заморозить:
# apt-mark hold <package-name>
Разморозить:
# apt-mark unhold <package-name>