Установка git-клиента Mac OS X Lion

Заходим на сайт гугла и скачиваем самую свежую версию:


http://code.google.com/p/git-osx-installer/downloads/list

После установки, открываем Терминал и правим переменные:

$ vi ~/.bash_profile
export PATH=$PATH:/usr/local/git/bin/

Применяем изменения:

$ source ~/.bash_profile

Проверяем:

$ git --version
git version 1.8.4.2

Supermicro IPMI – настройка и полезные команды

Для работы с IPMI Вы можете использовать на свое усмотрение утилиты: ipmicfg, ipmitool.
Сначала рекомендую установить ipmicfg, так как утилита может сбросить пароль к заводским установкам и менять многие параметры, используя nехнологию IPMI.

Дистрибутив утилиты для различных ОС можно скачать с оффициального сайта: ftp://ftp.supermicro.com/utility/IPMICFG/

Далее, установка под CentOS по шагам:

wget ftp://ftp.supermicro.com/utility/IPMICFG//ipmicfg_1.14.3_20130725.zip
unzip ipmicfg_1.14.3_20130725.zip

Asterisk – установка Fail2Ban

Очень часто мы сталкиваемся с атаками на SIP-серверы, особенно когда сервер виден их сети интернет, поэтому я написал статью-заметку, с целью создать первую линию в защите Вашей IP ATC.

Устанавливаем необходимые пакеты:

 yum install -y fail2ban iptables

Настраиваем конфигурационный файл /etc/fail2ban/fail2ban.conf:

[Definition]

loglevel = 3
logtarget = SYSLOG

socket = /var/run/fail2ban/fail2ban.sock
pidfile = /var/run/fail2ban/fail2ban.pid

Правим конфиг /etc/fail2ban/jail.conf (добавим правило для сервиса asterisk):

[DEFAULT]

ignoreip = 127.0.0.1/8

bantime  = 600
findtime = 600
maxretry = 3

backend = auto
usedns  = warn

# Monitoring settings
[asterisk-iptables]

enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
logpath  = /var/log/asterisk/fail2ban
maxretry = 3
bantime  = 259200

ImageMagick и высокая нагрузка при обработке изображений

При обработке изображений с помощью ImageMagick CPU загружен на 100%, это баг в основных сборках, собранных с параметром –enable-openmp.

Проверяем (OpenMP означает что версия собрана с –enable-openmp):

convert --version
Version: ImageMagick 6.8.7-4 2013-11-02 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2013 ImageMagick Studio LLC
Features: DPC OpenMP

Для решения проблемы, нужно собрать ImageMagick с опцией –disable-openmp, в результате вывод должен быть без OpenMP, также потребуется перезапустить все Ваши воркеры:

convert --version
Version: ImageMagick 6.8.9-0 Q16 x86_64 2014-06-25 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules

Версию, собранную с опцией –disable-openmp для CentOs 6 можно найти в репозитарии: ImageMagick-last-6.8.9.0-2

OpenVZ: как настроить bridge с контейнером

Установка ПО на физическом сервере:

yum install bridge-utils

Создаем vmbr0 интерфейс:

brctl addbr vmbr0

Удаляем IP адрес с физического интерфейса eth1:

ifconfig eth1 0

Добавляем eth1 к мосту:

brctl addif vmbr0 eth1

Конфигурируем IP адрес на интерфейсе vmbr0:

ifconfig vmbr0 192.168.1.1

OpenSwan IPSec VPN Linux Cisco с контейнера OpenVZ

Данную статью пишу больше для себя, чтобы не забыть, ибо времени затрачено довольно много на решение этого вопроса. Для начала хочу отметить, что IPSec VPN не будет работать из контейнера OpenVZ, но будет работать с физического сервера, чего вполне достаточно, чтобы сеть за VPN была видна из Вашего контейнера OpenVZ.
Начнем с установки пакета OpenSwan, я рекомендую ставить отсюда: https://download.openswan.org/openswan/binaries/rhel/6/

rpm -Uhv https://download.openswan.org/openswan/binaries/rhel/6/openswan-2.6.38dr2-9.el6.x86_64.rpm

Желательно сразу иметь представление о схеме сети, понимать что именно Вам нужно. В текущем случае, мы объединяем в IPSec VPN внешний IP OpenVZ контейнера и подсеть за маршрутизатором Cisco.

Linux: защита скриптов от двойного запуска

У всех в повседневной работе присутствуют скрипты, которые выполняются довольно долго и запускаются по крону. Всегда есть риск, что запущенный по крону скрипт будет работать так долго, что придет время запуска его по крону и тогда скрипт запускается вновь, что создает серьезную нагрузку на сервер и вызывает различные проблемы.
На примере скрипта синхронизации контента я покажу как релизовать защиту от двойного запуска программ в linux системах.

Так выглядит сам скрипт:

#!/bin/sh

dt=`date +%c`

  echo $dt
  echo "Sync /srv/photo/ with web02"
  /usr/bin/rsync --numeric-ids -av --delete /srv/photo/ root@web02:/srv/photo/

Так выгляди защита от двойного запуска (добавляем в начало скрипта):

PATH="/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin"                                                                                             

if pidof -x $(basename $0) > /dev/null; then
   for p in $(pidof -x $(basename $0)); do
   if [ $p -ne $$ ]; then
   echo "Script $0 is already running: exiting"
    exit
   fi
   done
fi

service X does not support chkconfig

Чтобы исправить данную ошибку, нужно сделать следующее (имя скрипта myscript):

cp /etc/init.d/myscript /tmp/
chmod +x /etc/init.d/myscript

Добавьте следующие записи в заголовок скрипта /etc/init.d/myscript:

#!/bin/sh
#
# chkconfig: 2345 95 20
# description: Some description
# What your script does (not sure if this is necessary though)
# processname: myscript

Включаем скрипт myscript в автозагрузку:

chkconfig myscript on

Профит!

What Is Kjournald and Why It’s Using 100% of I/O?

У всех случается так, что однажды все перестает работать или работает очень плохо. В таких случаях мы всегда пытаемся найти причину проблемы и устранить ее, но не всегда это получается сделать быстро. Данный материал предназначен как памятка при экстренных случаях, надуюсь пользы она принесет больше, чем вреда.

Очень часто проблема кроется в 100% утилизации дисковой подсистемы, тут либо мы упираемся в лимит производительности (см. IOPS), либо какой-то процесс стал активно использовать систему ввода/вывода. приступим к поиску проблемы.

Установим необходимое ПО:

yum install iotop sysstat -y

Поиск файлов измененных за последнее время

Если нам нужно найти все файлы в каталоге ‘/var’, созданные или изменённые в течении 1 дня:

find /var -type f -mtime -1

Найти файлы в каталоге ‘/var’, время последнего обращения к которым более 10 дней:

find /var -type f -atime +10

Найти файлы и директории с именем file_name. Поиск начать с корня (/)

find / -name file_name