12 окт. 2012 г.

Установка Skype 4 в Oracle Linux 6 (Redhat 6 / CentOS 6)

Скайпу нужны х86 библиотеки. Установим его зависимости вначале:

yum install alsa-lib.i686 fontconfig.i686 freetype.i686 glib2.i686 libSM.i686 libXScrnSaver.i686 libXi.i686 libXrandr.i686 libXrender.i686 libXv.i686 libstdc++.i686 pulseaudio-libs.i686 qt.i686 qt-x11.i686 zlib.i686

Теперь качаем скайп static билд и распаковываем:

wget --trust-server-names http://www.skype.com/go/getskype-linux-beta-static
mkdir /opt/skype 

tar xvf skype_static* -C /opt/skype --strip-components=1

Сделаем ссылку на библиотеку, которую скайп "не понимает", но она есть - под другим именем.

cd /usr/lib 
ln -s libtiff.so.3 /usr/lib/libtiff.so.4

Сделаем ссылки в менюшки, чтобы всё было "по фен-шую"

ln -s /opt/skype/skype.desktop /usr/share/applications/skype.desktop 
ln -s /opt/skype/icons/SkypeBlue_48x48.png /usr/share/icons/skype.png 
ln -s /opt/skype/icons/SkypeBlue_48x48.png /usr/share/pixmaps/skype.png 

Сдедаем фейковый бинарник для запуска статика:

touch /usr/bin/skype 
chmod 755 /usr/bin/skype

В нем пропишем:

#!/bin/sh 
export SKYPE_HOME="/opt/skype" 
 $SKYPE_HOME/skype --resources=$SKYPE_HOME $*

Всё. Запускаем скайп просто из командной строки: skype или из менюшек.
Если будут проблемы со звуком - читаем ниже про настройку alsamixer.

Изменить временную зону (timezone) в Linux без перезагрузки

Файлы временных зон находятся в папке и подпапках /usr/share/zoneinfo/
Делаем ссылку /etc/localtime на нужную нам зону, перезаписывая существеющую:

ln -sf /usr/share/zoneinfo/Asia/Calcutta /etc/localtime

Проверяем:

date

Поменять дату и время легко командой:

date -s "18 OCT 20113 18:00:00"
Только дату:

date +%Y%m%d -s "20131018"

Только время:

date +%T -s "10:13:13"

10 окт. 2012 г.

Nut. Изменить уровень заряда UPS, при котором начинается shutdown event

Допустим, нам необходимо, чтобы ПК начинал выключаться при 40% заряда ИБП, а не при 10% - как задано по-умолчанию.

Для этого нужно в /etc/ups/upsd.users добавить пользователя:

[some_name]

password = some_password
allowfrom = localhost
actions = set

А затем выполнить команду (например, для UPS определенного как apc_backups@localhost) :

upsrw -s battery.charge.low=40 -u some_name -p some_password apc_backups@localhost

Так мы меняем параметр с 10% на 40%. У других UPS этот параметр может называться по-другому, а также он может сбрасываться на дефолтное значение при перезагрузке ПК.

9 окт. 2012 г.

Ошибка при доставке почты в dovecot: ... status=deferred (temporary failure)

Если на почтовый сервер postfix + dovecot не приходит почта и мы видим ошибку в mail.log примерно такого вида:

postfix/pipe[26239]: 7390F1203B3: to=<user1@domain.com>, relay=dovecot, delay=483, delays=483/0.01/0/0.02, dsn=4.3.0, status=deferred (temporary failure)

То ищем дополнительный лог довекота:

locate dovecot-deliver.log

Смотрим:

tail /home/vmail/dovecot-deliver.log

А там видим такое:

Fatal: Plugin 'sieve' not found from directory /usr/lib/dovecot/modules

Это значит, что не хватает плугина Sieve.Ставим (Debian way) и перезапускаем dovecot:

aptitude install dovecot-sieve
service dovecot restart

8 окт. 2012 г.

Доступ на ESXi сервер через ssh по ключу

Доступ по ключу удобная штука, и не заменимая при автоматизации.

Для реализации доступа по ключу создаем пару ключей, как я присал в этой статье. Затем, если мы хотим заходить на пользователя root по ключу, то выполняем команду (изменив данные на свои):

cat ~/.ssh/id_dsa.pub | ssh root@esxi.machine.com 'cat >> /etc/ssh/keys-root/authorized_keys'

Ключи в ESXi хранятся в файле /etc/ssh/keys-ИМЯ_ПОЛЬЗОВАТЕЛЯ/authorized_keys.

Тестируем (не забываем, что в папке ~/.ssh того пользователя, под которым ходим, должен быть приватный ключ с владельцем этот пользователь и правами 400):

ssh root@esxi.machine.com

Удаленное логирование сообщений роутера (например, Asus-16n)

Полезная фишка есть в сетевом оборудовании - запись своих логов на удаленный сервер. А дальше эти логи могут выгребаться каким-либо скриптом, отсылаться на электронную почту и так далее.

На самом сетевом оборудовании логирование на удаленный сервер настраивается по-разному, но как-правило нужно просто прописать адрес лог-сервера и - возможно - порт.

Заходим на сервер, на котором предполагается хранить логи раутера, и правим /etc/rsyslog.conf
Включаем модули для сбора удаленных логов:

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

И дописываем в секцию Rules правило для записи логов роутера в отдельный файл:

###############
#### RULES ####
###############

if $hostname contains 'asus16n' then /var/log/router.log;TraditionalFormat

Теперь все сообщения от источника с именем хоста asus16n будут записываться кроме общей лого-свалки, в отдельный файл /var/log/router.log. Для другого оборудовая скорее всего будут другие ключевые слова для парсинга логов.

Поправка:

В некоторых версиях rsyslog вместо TraditionalFormat нужно писать RSYSLOG_TraditionalFileFormat

5 окт. 2012 г.

Настройка автоматического выключения при low battery от UPS с помощью nut (Network UPS Tools)

Если имеются ИБП с подключением по USB, то целесообразно настроить корректное атовыключение рабочих станций на Oracle Linux 6.3 и Debian при отсутствии питания от сети. ИБП - Mustek PowerAgent 650 с USB.

1. Подключаем все провода, не забываем USB-кабелем соединить ПК и ИБП.
2. Устанавливаем Nut:

aptitude install nut

или

yum install nut

Особые извращенцы могут, конечно же, скомпилить из исходников :)
Различие между Debian и RHEL6 дистрибутивами только в том, что конфигурационные файлы в 1м случае лежат в /etc/nut, а во 2м - в /etc/ups :)

3. Настройка драйвера. Смотрим наши юсб-устройсва командой:

lsusb

Ищем среди них что-то типа:

Bus 001 Device 004: ID 0665:5161 Cypress Semiconductor USB to Serial