четверг, 31 декабря 2009 г.

Failed to parse existing X config file '/etc/X11/xorg.conf'

Такое сообщение выдало мне nvidia-settings, при попытке сохранить конфигурацию двух мониторов в xorg.conf. Причиной сообщения является, что nvidia-settings не может правильно прочитать файл конфигурации X-сервера. Решается такая проблема крайне просто:
sudo nvidia-xconfig

вторник, 1 декабря 2009 г.

Type escape sequence to abort

Какая последовательность упоминается, когда надо прервать команду traceroute или ping на cisco?

В зависимости от клиента:
Ctrl-6
Ctrl-Shift-6

четверг, 26 ноября 2009 г.

Кубунтарная мелочёвка

Для общего развития решил опробовать kubuntu 9.10, до этого стояла ubuntu 9.04 соответственно с Gnome. Установилось всё без особых проблем, после чего началась возня с тараканами.
1. Пресловутый NEtworkManager, который по dhcp ловит ip и игнорирует все попытки объяснить ему, что требуются ручные настройки. Побороть удалось следующим способом, создается новое подключение с требуемыми настройками, после этого убираем предустановленный dhcp3-client. И хоть в списке он остается каши больше не просит.

[UPDATE] Каши он не просит, пока не случится какая-нибудь проблема. У меня например произошел при загрузке конфликт адресов, после этого мои настройки были забыты и игнорировались при всех попытках его активировать. Главным устройством стало опять "Auto eth0", который изменил настройки под себя до которых мог дотянуться, а так как никаких данных он получить не смог, то все потер. Справился с проблемой методом удаления к чертям собачим NetworkManager и прописыванием данных в /etc/network/

2. mc (Midnight Commander) не сохраняет настройки. Поборол методом:
$mkdir ~/.mc

3. Подогнали второй монитор, решил использовать как отдельный рабочий стол, в Gnome все завелось без проблем, в KDE4 продолжаются танцы под мерный стук бубна. При выборе в Nvidia Config опции "Separate X screen" первый монитор все нормально отображает, второй светит красивым черным цветом и по нему двигается крестик Х-ов, на этом пока всё.
При попытке использовать пока второй монитор как продолжение первого были использованы настройки "Нескольких мониторов", где категорически запретил открывать окна растягивая на два стола, открывать окна на втором столе, запрет мой был проигнорирован и окна летали туда-сюда только в путь, что ни есть хорошо

4. "Konsole" предоставляет возможность убрать галочку в Настройках "Не показывать меню в новых окнах", на этом функция "галочки" заканчивается, ничего другово не меняется


Подводя кратковременный итог и кощунственно проводя аналогию с Виндами: Gnome мне напоминает в меру устойчивую и не притязательную windows XP, а KDE - Windows Vista - всё красиво и временами работает.

Искренне Ваш,
Михаил Хэйл.

вторник, 20 октября 2009 г.

Конфигурация временной зоны в postfix

Postfix читает конфигурационную информацию исключительно в своих директориях и поэтому /etc/localtime игнорирует. Выход из положения - скопировать этот файл в доступное место: /var/spool/postfix/
mkdir /var/spool/postfix/etc
cp /etc/localtime /var/spool/postfix/etc

postfix check
postfix reload

понедельник, 12 октября 2009 г.

Проброс в локальную сеть

Если проброс делается через шлюз по умолчанию (для машины куда он делается), то достаточно одного правила:
#!/bin/bash
IPTABLES="/sbin/iptables"
GW_IP="80.81.82.83"
SERVER_IP="192.168.0.107"
PORT=80
$IPTABLES -t nat -A PREROUTING -p tcp --dst $GW_IP --dport $PORT -j DNAT --to-destination $SERVER_IP:$PORT
echo 1 > /proc/sys/net/ipv4/ip_forward


Если проброс делаем с другой машины (не шлюза, а обычной), то правила будут выглядеть так:
#!/bin/bash
IPTABLES="/sbin/iptables"
GW_IP="192.168.0.91"
SERVER_IP="192.168.0.107"
PORT=7777
$IPTABLES -t nat -A PREROUTING -p tcp --dst $GW_IP --dport $PORT -j DNAT --to-destination $SERVER_IP:$PORT
$IPTABLES -t nat -I POSTROUTING -p tcp --dst $SERVER_IP --dport $PORT -j SNAT --to $GW_IP
echo 1 > /proc/sys/net/ipv4/ip_forward

четверг, 1 октября 2009 г.

Отключение системного динамика

До перезагрузки:
sudo rmmod pcspkr
Навсегда:
echo blacklist pcspkr >> /etc/modprobe.d/blacklist

вторник, 11 августа 2009 г.

Резервирование канала

Скрипт для выяснения работоспособности канала и переключения на запасной в случае неработоспособности основного
#!/bin/sh
GW1=1.1.1.1
GW2=2.2.2.2
/sbin/ping -q -c 1 $GW1 > /dev/null 2>&1
if [ $? != 0 ]; then
/sbin/ping -q -c 1 $GW2 > /dev/null 2>&1
if [ $? = 0 ]; then
if [ ! -f /tmp/gw.changed ]; then
/sbin/route change default $GW2 \
&& touch /tmp/gw.changed
fi
fi
else
if [ -f /tmp/gw.changed ]; then
/sbin/route change default $GW1 \
&& rm /tmp/gw.changed
fi
fi
То есть мы просто «пингуем» шлюз на стороне основного провайдера, и если он оказывается недоступен, то:
-проверяем работоспособность резервного канала;
-перенастраиваем маршрут по умолчанию на шлюз резервного канала;
-оставляем «метку» /tmp/gw.changed, сигнализирующую о смене шлюза.

При следующем выполнении (например, скрипт можно запускать по cron раз в минуту), если GW1 в норме и есть «метка», то возвращаем основной шлюз на место. Если оба шлюза недоступны, текущее состояние не меняем.

пятница, 7 августа 2009 г.

Соответствие имени интерфейса и SNMP MIB

Необходимо было найти соответствие имени интерфейса в Cisco с его значением в SNMP
Решилось вводом такой команды:
sh snmp mib ifmib ifindex

вторник, 4 августа 2009 г.

Postfix с двумя каналами

Дано: 2 провайдера, почтовый сервер с двумя сетевыми картами, настроенными каждая на своего провайдера.
Задача: обеспечить автоматическое использование 2-го провайдера для SMTP(отправки) в случае если не удаётся отправить почту через первого провайдера.

Решение 1:
inet_interfaces = 1.2.3.4, 5.6.7.8
smtp_bind_address = 0.0.0.0
В этом случае выбор пути пакетов делает ОС.

Решение 2:
Устанавливаем два экземпляра Postfix.

Первый экземпляр для отправки через первого провайдера.
inet_interfaces = 1.2.3.4 - автоматически получится smtp_bind_address = 1.2.3.4
smtp_fallback_relay = [4.5.6.7]:1025 (указывает на второй экземпляр Postfix)

Второй экземпляр для отправки через второго провайдера.
inet_interfaces = 4.5.6.7 - автоматически получится smtp_bind_address = 4.5.6.7
В файле master.cf указываем что слушаем порт 1025

Первый экземпляр Postfix при невозможности отправить почту передаст ее второму экземпляру.

По мотивам posfix.ru

пятница, 31 июля 2009 г.

SysAdminDay

С праздником!!!

вторник, 21 июля 2009 г.

OCS Inventory русикфикация

При всей прелести программы OCS Inventory , у неё есть один недостаток - она не дружит с русским.
Хронику долгой борьбы, которая еще не кончилась, но идет успешно можно найти здесь.

Хроника на английском, но достаточном нативном

пятница, 17 июля 2009 г.

vsftpd: Unexpected response: OOPS: cannot change directory:

При настройке vsftpd выводил ошибку: Unexpected response: OOPS: cannot change directory:

Причина в том, что по умолчанию включен selinux, который и доставляет эту проблему.

Для решения под правами root надо сделать:
#setsebool -P ftp_home_dir 1
#service vsftpd restart

пятница, 10 июля 2009 г.

Установка Skype в Debian x64

Возникла необходимость в установке Skype. Что такое "скайп"? Об этом, конечно, лучше всего почитать в википедии. Мне скайп полезен в первую очередь тем, что позволяет без дополнительных затрат организовать голосовую видеосвязь с людьми, находящимися далеко за пределами нашей страны.

Взять свежий дистрибутив можно тут. Но он там под 32-разрядную платформу. Как быть тем, у кого 64-разрядная платформа?

Вот найденное мной решение:

# apt-get install ia32-libs lib32asound2 lib32gcc1 lib32stdc++6 lib32z1 ia32-libs-gtk libqt4-core libqt4-gui
# dpkg -i --force-all skype-debian__i386.deb
$ skype


Стянуто с.

пятница, 3 июля 2009 г.

Сброс настроек протокола TCP/IP в Windows ХР

оскольку стек протоколов TCP/IP относится к ключевым компонентам Windows XP, возможность удаления протоколов TCP/IP не предусмотрена. Если при просмотре компонентов сетевого интерфейса выделить элемент "Протокол Интернета (TCP/IP)", кнопка "Удалить" остается недоступной. В некоторых случаях оптимальным решением является переустановка стека IP. С помощью программы NetShell стек протоколов TCP/IP можно вернуть в исходное состояние (состояние сразу после установки операционной системы). Соответствующие сведения представлены в данной статье:
http://support.microsoft.com/kb/299357

Установка OpenOffice.org 3 от «Инфра-ресурс»

Скачиваем подходящий дистрибутив с http://i-rs.ru/Skachat

Распаковываем архив:
tar xzfv OOo_[версия]_deb.tar.gz

Устанавливаем пакеты:
sudo dpkg -i ./ru/DEBS/*.deb

Если не установилась интеграция в меню, то
dpkg -i ./ru/DEBS/desktop-integration/openoffice.org[жмем Tab]

четверг, 25 июня 2009 г.

CentOS обновление PHP (php update to 5.2.x)

На сервере стоит PHP 5.1.х, который необходимо обновить до ветки 5.2.х

Добавляем репозитарий Remi себе в систему

wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
wget http://rpms.famillecollet.com/el5.x86_64/remi-release-5-7.el5.remi.noarch.rpm
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

(на текущий момент последняя версия 5-7)

Теперь говорим системе что нам нужно обновить наш PHP из этого репозитория, учтите, что обновится и mysql
yum --enablerepo=remi update php mysql


Искренне Ваш,
Михаил Хэйл.

utf в mysql

Как-то так в /etc/my.cnf

[client]
default-character-set = utf8
character-sets-dir = /usr/share/mysql/charsets

[mysqladmin]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqlcheck]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqldump]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqlimport]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8

[mysqlshow]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=utf8


Искренне Ваш,
Михаил Хэйл.

среда, 24 июня 2009 г.

Свернуть в трей

Иногда необходимо свернуть в трей программу, которая не имеет такой функции. Программа alltray позволяет свернуть практически любое приложение.

Установленная программа находится в "Программы" - "Стандартные". После запуска появится окно, в котором предложено выбрать приложение, которое необходимо поместить в трей. Выбор осуществляется нажатием "мышки" в окне нужной программы.

Для любителей консольного запуска можно использовать: alltray program -s

среда, 17 июня 2009 г.

отображение latency для ping в Zabbix

Создание элемента данных с отображением latency для ping в Zabbix



Искренне Ваш,
Михаил Хэйл.

вторник, 16 июня 2009 г.

postfix-to-mailman: exceptions.OSError [Errno 2]

postfix-to-mailman.py выводит ошибку:
(temporary failure. Command output: exceptions.OSError [Errno 2] No such file or directory Line 123)

1. Проверяем настройки "домашней" директории:
MailmanHome = "/var/lib/mailman"

2. Создаем линк:
# cd /var/lib/mailman
# ln -s /usr/lib/mailman/mail mail


Итого 2 маленьких шажка, которые заняли около 6 часов времени

Искренне Ваш,
Михаил Хэйл.

вторник, 2 июня 2009 г.

Установка srpm на centos

Как установить srpm на Centos5( и не только 5)

1. Скачиваем srpm пакет.
2. Для установки нам потребуется rpmbuild, если данная утилита отсутствует, устанавливаем ее используя команду:
#yum install rpm-build

3. Создаем rpm пакет используя rpmbuild:
rpmbuild --rebuild packet.centos.src.rpm

Получившийся rpm будет находиться в /usr/src/redhat/RPMS/i386.
4. Устанавливаем, получившийся пакет:
# rpm -Uvh packet%{dist}.i386.rpm


Искренне Ваш,
Михаил Хэйл.

среда, 27 мая 2009 г.

Как ограничить доступ на компьютер при Active Directory

Была поставлена задача разрешить доступ на определенные компьютеры ограниченному кругу лиц.
Установить правила в какое время сотрудник может садиться за какой компьютер достаточно легко через доменную политику безопасности. А вот как ограничить доступ на определенный компьютер, прописав именно двух человек, а не запретив списку из сотни с ходу не нашлось.
После некоторого копания установил, что можно ограничить доступ при помощи "локальной политики безопасности".

Находится это:
"Панель управления/Администрирование" -> "Локальная политика безопасности" ->
Локальные политики -> Назначение прав пользователя -> Локальный вход в систему.
Удостоверяемся, что мы в группе "Администраторы" и удаляем "пользователи".
Теперь компьютер закрыт для локального входа для всех, кто не в группе "Администраторы", по вкусу добавляем отдельные учетные записи, если надо предоставить локальный доступ без прав "Администратора"

Искренне Ваш,
Михаил Хэйл.

Волшебство синхронизации

синхронизация удаленной директории
rsync -iavPz --delete-after --exclude-from=exclude.txt backup@ip.add.re.ss:/backup/from ./backup_to


/backup/from уляжется в /backup_to в виде /backup_to/from

вторник, 26 мая 2009 г.

dd заметки

Создание файла размером 4ГБ с помощью dd:
$dd if=/dev/zero of=file_name bs=1024M count=4

опять таки
$dd if=/dev/zero of=file_name bs=1k seek=4096k count=1

пятница, 22 мая 2009 г.

Bugzilla и Active Directory

Маленький путеводитель по настройке Bugzilla для использования авторизации через AD.

Настройка расчитана, что при авторизации в Bugzilla Вы вводите только логин без доменного имени.

Идем в:
Администрирование/Настройки системы
Аутентификация пользователей
Обращаем внимание на раздел user_verify_class и пользуясь стрелками управления делаем приоритеты в таком порядке:


Меняем:
emailregexp: ^[^@]+$
emailsuffix: @domain.ru


Далее идем в пункт меню LDAP и делаем слежующие настройки:
LDAPserver: IP.address.контроллера.домена

Логин, пароль пользователя, который имеет доступ в домен, обратите внимание, что название домена должно быть заглавными буквами
LDAPbinddn: user@DOMAIN:password

Для зоны DOMAIN.ru, если у Вас зона DOMAIN.local, то внесите соответствующее изменение
LDAPBaseDN: cn=users,dc=DOMAIN,dc=ru

LDAPuidattribute: sAMAccountName


Почему так и не иначе - не знаю, глубоко не рыл.

четверг, 21 мая 2009 г.

Создание резервной копии mysql

Необходимо создать полную резервную копию mysql.
Очевидное решение

mysqldump --all-databases

неудобно тем, что все данные сваливаются в один файл и при необходимости сходу восстановить одну базу врядли получится.
Исходя из этого был написан скрипт на bash, сохраняющий каждую базу в отдельном файле.
#!/bin/bash

#default values
DATE=`date +%F`
TIME=`date +%H:%M`
HOST=127.0.0.1
USER=user
PASS=pass

HD_NAME=`hostname`.`hostname -d`
BACKUP_DIR="/backup"
ARCH_NAME=mysql-$HD_NAME-$DATE

touch $BACKUP_DIR/tfile-$$ || exit
rm $BACKUP_DIR/tfile-$$

TMPDIR="/tmp/mdump-$$"
mkdir $TMPDIR || exit

if [ "$PASS" ]; then PASS="-p$PASS"; fi
if [ "$USER" ]; then USER="-u $USER"; fi

BASES=`echo "show databases" | mysql $USER $PASS -N`
if [ ! "$BASES" ]; then exit; fi

for BASE in $BASES; do mysqldump --opt --host=$HOST $USER $PASS $BASE > $TMPDIR/$BASE
done

if [ -f $BACKUP_DIR/$ARCH_NAME.tar.gz ]; then ARCH_NAME="$ARCH_NAME"_"$TIME"; fi

cd $TMPDIR && tar -c $BASES | gzip -f9 > $BACKUP_DIR/$ARCH_NAME.tar.gz && echo $ARCH_NAME created.
rm $TMPDIR/* && rmdir $TMPDIR

Может есть решение и проще, но я на него с ходу не наткнулся.

Удаление Panda

Иногда необходимо удалить антивирус Panda с компьютера, выманивая её бубном.
Для деинсталирования антивируса, если стандартный uninstall не срабатывает, можно использовать команду:
"C:\Program Files\Panda Software\Panda Administrator 3\PavInst\AVTC\AVTC.exe" -A:UNINSTALL -DEL -SHOWIFACE

Если Panda установлена с использованием центра управления, то удалить клиента можно коммандой:
"C:\Program Files\Panda Software\Panda Administrator 3\PavInst\PLAgent\PAVAGENT.EXE" -a:uninstall

Искренне Ваш,
Михаил Хэйл.

четверг, 19 марта 2009 г.

Сдвинуть камень IT-проекта

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

Поддержка руководства
Самый важный фактор, влияющий на успех проекта - административный ресурс.

Конечный пользователь

Нельзя забывать, что проект делаем мы не для себя, а для какого-то круга лиц. Если есть возможность привлеките их на ранней стадии планирования, но при возможности "выбейте в граните" их пожелания, чтобы потом на скаку не менять лошадей. Многонаправленность и не умение объяснить что надо один из камней преткновения и если вы его уберете с дороги шансы на успех значительно повысятся.

Определить цели

Вытекает из предыдущего пункта - четко определите цели.

Опытный руководитель

И определить цели вам поможет опытный руководитель проекта, надеюсь, что это именно Вы.

Объять необъятное

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

Вехи пути

При возможности необходимо оценивать промежуточные результаты, что помогает не упустить важные этапы и события. И подкорректировать планы с минимальными издержками.

Использование стандартной инфраструктуры

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

Управление процессами

Четко определенный процесс позволяет не изобретать каждый раз велосипед, а использовать проверенные временем, позволив сократить время на перераспределение ресурсов, повысить эффективность.

Чем больше факторов будет припасено за пазухой, тем больше шансов получить премию. Уверен, что это далеко не все факторы и все не далеко так просто, но, как говорил вроде Нейл Армстронг: "Маленький шаг для одного человека, большой шаг для все фирмы".

Искренне Ваш,
Михаил Хэйл.

Собрать всё в кучу

Периодически копаюсь на какой-то проблемой, иногда пустяковой, нахожу решение и соответственно о нем забываю, а через пол-года опять по новой.
Из-за того, что как маленький котенок лезу куда попало и все интересно, то делать свой проект с помойкой "все обо всем" никому, даже мне не надо. Мысли, находки, решения буду стараться целенаправленно не забывать оставлять здесь.