Просмотрено
Метка: FreeBSD

Как я был радистом

Как я был радистом

Нашел в веб-архиве свою старую статью про настройку радио на FreeBSD. Пока не потерлась — выложу здесь, авось кому пригодится. Поставили как-то задачу: взять с микшерного пульта радиохолдинга 3 радиоканала и вещать их в сеть. После танцев с бубном вокруг Shoutcast-a был выбран все-таки Icecast, т.к. ogg ест меньше трафика и звучит лучше. Для тех, кто о онлайн-радио имеет довольно смутное понятие, опишу схему его работы. Состоит оно из 3 частей — источника звука, источника потока и ретранслятора. Может не…

Читать далее Читать далее

Поиск в логах Exim

Поиск в логах Exim

Часто бывает, что кто-то просит найти письмо такого-то пользователя, которое было отправлено позавчера, например. Можно перерывать логи руками, а можно воспользоваться скриптом, который любезно прислал один из читателей: #!/bin/sh to_grep=»$*» if [ ${#to_grep} = 0 ] then echo » STOP: Where is search string? » > /dev/stderr exit 1 fi tmp_major_filename=»/tmp/searchmajortmp$$» rm -f «${tmp_major_filename}» # Мониторим Ctrl+C чтобы не оставлять хвостов из временных файлов. trap ‘rm -f ${tmp_major_filename} ;echo ; exit 13’ TERM INT exlog_log=»/var/log/exim/mainlog» if [ ! -r «${exlog_log}»…

Читать далее Читать далее

Сборка gmirror без перезагрузки

Сборка gmirror без перезагрузки

В сети есть достаточное количество описаний, как на FreeBSD собрать программный RAID-1, он же gmirror. Все они требуют в определенный момент перезагрузки сервера между включением в зеркало первого диска и остальных. Однако, бывают ситуации, когда она нежелательна либо невозможна. Прямо сейчас строю такую машинку, соответственно, пришлось выкручиваться. Итак, начнем: Включаем в ядро поддержку gmirror после перезагрузки: # echo ‘geom_mirror_load=YES’ >> /boot/loader.conf Даем системе доступ для изменения конфигурации дисков: # sysctl kern.geom.debugflags=16 kern.geom.debugflags: 0 -> 16 Вставляем первый диск: # gmirror…

Читать далее Читать далее

Exim: автоблокировка спам-хостов

Exim: автоблокировка спам-хостов

Несмотря на то, что моя конфигурация Exim вышла довольно удачной, некоторое количество спама через нее все же проходит. Как правило, сыпется он с одних и тех же спам-серверов, которые можно блокировать. Однако, каждый раз ходить на сервер через некоторое время становится лениво, потому автоматизируем процесс: #!/bin/sh for file in `find /var/mail/yourdomain.com/spamreport/new -type f` do cat $file | grep «Subject: block=» | sed ‘s/Subject: block=//’ >> /usr/local/etc/exim/spam-hosts done rm -f /var/mail/yourdomain.com/spamreport/new/* Осталось внести изменения в конфигурацию Exim. Добавляем в /usr/local/etc/exim/100.main.conf: hostlist…

Читать далее Читать далее

Спасение данных с умирающего диска

Спасение данных с умирающего диска

Не далее, чем вчера пришлось заниматься вытаскиванием данных с диска, по которому строевым шагом пошли бедблоки. Методика некоторое время обдумывалась, потом была приведена в исполнение. Логика проста: ставим в сервер рядом с проблемным диском такой же по размеру (в моем случае это были Seagate и WD, так что производитель не суть важен, хотя новый честно подбирал похожий по параметрам) и вместо конвульсий в виде dd и прочего копирования пробуем по-тихому отзеркалить все на новый диск. Итак, приступим: # echo ‘geom_mirror_load=YES’…

Читать далее Читать далее

Exim — ошибка в конфиге

Exim — ошибка в конфиге

К сожалению, в мою конфигурацию Экзима закралась ошибка, которая хоть и появлялась редко, была довольно досадной. В частности, при определенных условиях, ACL, который проверяет почту на спам, не видел переменную, в которой хранился адрес адресата и не отрабатывал. В основную статью изменения уже добавлены, решил выложить дополнительный пост для тех, кто ее не будет перечитывать. Итак, надо поправить 2 файла: 500.acl-check-data.conf и configure. 500.acl-check-data.conf: после «.ifdef USE_SPAMD» добавляем строку: warn set acl_m5 = $acl_c_lp configure: после строки «acl_check_rcpt:» вставляем: warn…

Читать далее Читать далее

Обновляем систему по-быстрому

Обновляем систему по-быстрому

Почти во всех руководствах по FreeBSD для обновления системы прелдагают использовать классический cvsup, либо как вариант — cvsup-without-gui. Однако, то же самое можно делать, не устанавливая в систему никаких дополнительных пакетов и гораздо быстрее. Для этого мы воспользуемся аналогом cvsup, поставляемым с базовой системой — csup. Файлы для обновления портов и системы сразу после установки доступны в каталоге /usr/share/examples/cvsup. Там же и поправим нужный: в моем случае — файл обновления портов ports-supfile: # ee /usr/share/examples/cvsup/ports-supfile # Сервер, с которого обновляться,…

Читать далее Читать далее

Мониторинг с помощью Zabbix: установка Zabbix

Мониторинг с помощью Zabbix: установка Zabbix

Как и многие коллеги-администраторы, долгое время я пользовался для мониторинга всего и вся либо Nagios, либо чем-то самописным — так сложилось исторически. В последнее время стало изрядно лениво лазить по конфигурационным файлам, чтоб добавить хост, сервис и т.п., а потом еще и проверять в веб-интерфейсе, все ли видно хорошо. Захотелось некой удобной софтины для мониторинга, с конфигурацией в БД, удобным веб-интерфейсом и прочими прелестями. В качестве таковой был выбран Zabbix и честно говоря, вполне себя оправдывает, разве что ресурсов ест…

Читать далее Читать далее

Fastest CVSUP — обновляемся быстро

Fastest CVSUP — обновляемся быстро

При обновлении системы, портов и т.п. неизменно хочется, чтоб оно прошло побыстрее. В этом нам поможет утилита fastest cvsup, которая подберет самый быстрый cvsup-сервер. В установке и настройке она очень проста: # cd /usr/ports/sysutils/fastest_cvsup # make install ┌────────────────────────────────────────────────────────────────────┐ │                Options for fastest_cvsup 0.2.9_6                   │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │           [ ] ROUNDTRIP  Build with round-trip patch           │ │ │ │                                                                │ │ │ │                                                                │ │ │ │                                                                │ │ │ │                                                                │ │ │ │                                                                │ │ │ │                                                               …

Читать далее Читать далее

Ищем ошибки в работе exim

Ищем ошибки в работе exim

Бывает, что какое-либо письмо не проходит и в логах видно что-то странное, причем методы диагностики без включения полных логов не помогают. Тогда  приходится делать так: # /usr/local/etc/rc.d/exim stop # exim -bd -d+all > /var/log/exim-debug.log 2>&1 Здесь мы потушили Exim и пустили его в ручном режиме с выводом полной информации о его работе (-d+all). Неприятная особенность заключается в том, что Exim пишет лог своей работы в stderr, с которым довольно неудобно работать. Потому конструкция «> /var/log/exim-debug.log 2>&1» перенаправляет stderr в файл…

Читать далее Читать далее