jot (FreeBSD)
seq (Linux)
две простые утилиты для работы с последовательностями, прекрасная альтернатива замены for в shell скриптах.
(далее…)
1 Март 2010
jot и seq или как упростить себе работы с циклами
23 Ноябрь 2009
Как посмотреть окружение запущенного процесса?
Иногда нужно подсмотреть окружение запущенного процесса, для этого есть несколько способов и утилит.
Linux:
cat /proc/PID/environ
Solaris:
pargs -e PID
FreeBSD:
mount -t procfs none /proc
ps ewwwp PID
Общий подход для всех UNIX систем:
gcore PID
получим core файл
string core.PID
19 Ноябрь 2009
Добавляем в CentOS5 rpmforge
По умолчанию yum в CentOS имеет достаточно куцый список репозиториев, с которыми он может работать. В них нет многих нужных пакетов, например мне потребовался nrpe, и yum его не нашел. Ставить из исходников при наличии yum – лишняя головная боль через какое-то время. Так что добавляем RPMForge!
Все очень просто. Идем на сайт https://rpmrepo.org/RPMforge и видим в документации
-
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.$dist.rf.$arch.rpm
-
rpm -Uhv rpmforge-release-0.3.6-1.$dist.rf.$arch.rpm
Для CentOS5 нужна вот эта версия http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm (для x64 http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm)
Выполняем команды и получаем установленный репозиторий. Можно пользоваться!
2 Ноябрь 2009
Bruteforce на SSH по странам
Что сеть полна ботов, пытающихся сделать что-то нехорошее, уже давно не новость. И увидеть в логах попытки отправить письмо через ваш SMTP, попытки пройти аутентификацию у вас на сайте или попытки подобрать пароль от FTP/SSH – обычное дело. Ради интереса решил натравить geoip на логи неудачных попыток входа по ssh.
Смотрите что получилось:
(далее…)
22 Октябрь 2009
PHP + Asterisk AMI
Asterisk Manager Interface (AMI) – интерфейс, позволяющей клиентам подключаться к работающему asterisk, и через набор заданных функций получать данные о его работе или менять его настройки. Звучит хорошо?
(далее…)
SIP / AGENT, is still ‘Not in Use’ when it probably should not be!
WARNING[18373]: app_queue.c:2705 try_calling: The device state of this queue member, SIP/612, is still ‘Not in Use’ when it probably should not be!
Please check UPGRADE.txt for correct configuration settings.
Какое-то время наблюдал вот такое сообщение в логах и не мог понять почему не меняется статус для очередей когда смотришь queue show queuename.
(далее…)
15 Октябрь 2009
FreeBSD mbuf и nmbclusters (или сколько нужно памяти вашему серверу)
Каждое сетевое соединение потребляет определенный объем памяти ядра, чем больше соединений, тем больше памяти нужно и тем ближе момент, когда в списке процессов можно будет увидеть статус zoneli (zonelimit). Но обо всем по порядку.
(далее…)
8 Октябрь 2009
ipset значительно облегчает жизнь iptables
В iptables мне очень не хватало таблиц PF!
block in quick on $if inet proto tcp from
Как красиво выглядит такое правило в PF по сравнению с ужасным аналогом в iptables:
$IPTABLES -A INPUT -i eth1 -p tcp -m tcp -s 192.168.0.1 -d $me –dport 80 -j DROP
$IPTABLES -A INPUT -i eth1 -p tcp -m tcp -s 192.168.4.1 -d $me –dport 80 -j DROP
$IPTABLES -A INPUT -i eth1 -p tcp -m tcp -s 10.10.0.1 -d $me –dport 80 -j DROP
$IPTABLES -A INPUT -i eth1 -p tcp -m tcp -s 10.0.1.1 -d $me –dport 80 -j DROP
…
И так далее. Более того, проверка каждого нового правила – это лишняя нагрузка на процессор, так что если у вас несколько тысяч правил, то не удивляйтесь idle процессора, равного 0 процентов… В общем такое положение дел в iptables меня долго отпугивало от него. Но не так давно я нашел проект http://ipset.netfilter.org/ , который дает весь функционал таблиц PF и даже больше!
(далее…)
30 Сентябрь 2009
OpenVPN – простейшая реализация.
OpenVPN – замечательный продукт сообщества OpenSource, позволяющий легки и просто организовать VPN.
Забудьте про PPTP, L2TP и IpSec, для работы OpenVPN нужен только UDP или TCP порт, что значительно упрощает развертывания VPN для клиентов за NAT.
(далее…)
21 Сентябрь 2009
Как приостановить процесс и потом вернуться к его исполнению в Linux
Если у вас есть какой-то работающий процесс, например gzip, архивирующий большой объем данных, и вам вдруг стало необходимо проверить, а хватит ли места на диске, то вас совершенно необязательно прерывать архивирование.
(далее…)