Ubuntu hibernate fails
Запись создана 5 октября, 2010
Hibernate это по нашему спящий режим, содержимое ОЗУ скидывается в swap и компьютер выключается, после включения машина работает с того же момента что и до ухода в хибернейт. Кто работал с виртуальными машинами типа vmware и пр. будет понятнее если сравнить с save state выключением.
Вобщем, когда на рабочий компьютер я устанавливал Ubuntu у меня было всего 1 гиг ОЗУ, соответственно инсталятор сделал небольшой swap раздел. Чуть позже я добил ОЗУ до 4-х гиг и swap раздела стало нехватать для спящего режима. Сделал swap раздел на другом диске и другого размера, машина стала уходить в спящий режим без ошибок, а вот вместо того чтобы просыпаться из него, система просто грузилась заново. Как оказалось нужно менять имя раздела или UID раздела swap не только в fstab но и в файле /etc/initramfs-tools/conf.d/resume
echo RESUME=$(sudo /sbin/blkid | grep swap | awk '{print $2}') > /etc/initramfs-tools/conf.d/resume
на всякий пожарный перегенерим initramfs:
sudo update-initramfs -u
» Запись из раздела Linux desktop, Ubuntu | Комментировать
Cisco 7912 from SCCP to SIP and provisioning
Запись создана 26 сентября, 2010
Несколько лет назад покупал пару IP фонов Cisco CP-7912G= прошивал старенькой SIP прошивкой, настраивались аппараты вручную с клавиатуры аппарата, а тут вот захотелось заапдейтить firmware и заставить аппараты брать конфиг с tftp сервера. Захотел — сделал! теперь расскажу как.
Будем считать что tftp сервер у вас уже есть и dhcp сервер отдает option-150. Будем считать что корень tftp у нас в /tftpboot.
[cc lang=»bash»]
cd /tftpboot
wget https://itblog.su/wp-content/uploads/2010/09/7912.tar.gz
tar zxf 7912.tar.gz
[/cc]
Из архива распакуются файлы:
[cc lang=»ini»]
bmp2logo.exe
cfgfmt.exe
cfgfmt.linux
cfgfmt.sun
CP7912080001SIP060412A.sbin
gkdefault.cfg
gkdefault.txt
prserv.exe
prserv.linux
prserv.sun
Readme.txt
sipexample.txt
sip_ptag.dat
[/cc]
первый файл который сливает телефон имеет имя gkdefault.cfg файлик этот бинарный.
в файле прописываются конфигурационные данные одинаковые для всех телефонов, это так называемый первый уровень provisioning. В качестве второго уровня выступает файл gk
Итак для того чтобы телефон прошился последней фирмварью CP7912080001SIP060412A.sbin нужно создать файл gkdefault.txt с содержимым:
#txt upgradecode:3,0x601,0x0400,0x0100,0.0.0.0,69,0x060412a,CP7912080001SIP060412A.sbin UIPassword:1234
после чего из текстового файла сделать бинарный.
[cc lang=»bash»]
chmod +x cfgfmt.linux
./cfgfmt.linux -tsip_ptag.dat gkdefault.txt gkdefault.cfg
[/cc]
Теперь создадим файл gk00192ff6e690.txt для второго уровня.
#txt dhcp:1 Proxy:192.168.1.100 UID:100 PWD:password_here LoginID:100 SIPRegOn:1
ну и конечно скомпилируем:
[cc lang=»bash»]
./cfgfmt.linux -tsip_ptag.dat gk00192ff6e690.txt gk00192ff6e690.cfg
[/cc]
теперь сделаем ресет телефона, для этого нужно набрать комбинацию **#** и подтвердить желаение сделать manufacture reset.
более подробная инструкция по провизионингу ест ьв файле sipexample.txt
» Запись из раздела Cisco, VoIP | Комментировать
static routes pushed through DHCP
Запись создана 15 сентября, 2010
Моя домашняя сеть находится в 192.168.1.0/24, а голос вынесен в подсеть 192.168.0.0/24.
доступ «в мир» роутится через 192.168.1.1 а в голос через 192.168.1.111 (да вот захотелось мне так).
Домашние машины получают ip адреса из подсети 192.168.1.0/24, а айпифоны из подсети 192.168.0.0/24
соответственно по дефолту машины не могут получить доступа к фойсовым аппаратам (ATA и IP фоны), прописывать на каждой машине статик роуты, я считаю моветоном. К счастью, не я один так считаю и есть rfc3442 позволяющий с DHCP сервера передавать клиентам статичные маршруты.
итак настроим dhcp сервер давать статик роут на сеть 192.168.0.0/24 через 192.168.1.111
[cc lang=»ini»]
option ms-classless-static-routes code 249 = array of unsigned integer 8;
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
option ms-classless-static-routes 24, 192,168,0, 192, 168, 1, 111;
option rfc3442-classless-static-routes 24, 192,168,0, 192, 168, 1, 111;
[/cc]
Так как Microsoft компания новатор, срать ей хотелось на RFC. По этому в приведенном выше конфиге присутствуют ms-classless строки. Если у вас в сети нет windows машин, то можно их не уазывать.
На сервере делаем service dhcpd restart, а на клиенте /etc/init.d/networking restart и на клиенте получим:
[cc lang=»bash»]
shakirov@work:~$ route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
192.168.0.0 192.168.1.111 255.255.255.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
[/cc]
справедливо это для Ubuntu на клиенте, говорят что в других дистрибутивах нужно в /etc/dhcp3/dhclient.conf добавить:
[cc lang=»bash»]option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;[/cc]
И в том же файле в поле request добавить параметр rfc3442-classless-static-routes; выглядеть в итоге должно так:
[cc lang=»ini»]
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name «
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
[/cc]
И еще, если нет, то надо создать файл /etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-routes
[cc lang=»bash»]
RUN=»yes»
if [ «$RUN» = «yes» ]; then
if [ «$new_rfc3442_classless_static_routes» != «» ]; then
if [ «$reason» = «BOUND» ] || [ «$reason» = «REBOOT» ]; then
rfc_routes=($new_rfc3442_classless_static_routes)
for(( i=0; i < ${#rfc_routes[@]}; )); do net_length=${rfc_routes[$i]} ((i++)) net_address=(0 0 0 0) for(( j=0; j < $[$net_length / 8 + \ ($net_length % 8 ? 1 : 0)]; j++, i++)); do net_address[$j]=${rfc_routes[$i]} done gateway=(0 0 0 0) for (( j=0; j < 4; j++, i++ )); do gateway[$j]=${rfc_routes[$i]} done old_IFS="$IFS" IFS='.' if [ "$net_length" == "32" ]; then /sbin/route add -host "${net_address[*]}" gw "${gateway[*]}" else /sbin/route add -net "${net_address[*]}/$net_length" gw "${gateway[*]}" fi IFS="$old_IFS" done fi fi fi [/cc] Ну и конечно сделать его исполняемым. кстати, если нужно передать несколько статичных маршрутов клиентам, то перечислять их надо через запятую, примерно вот так: [cc lang="ini"] option ms-classless-static-routes 24, 192,168,0, 192,168,1,111, 16, 172,16, 10,16,40,100; option rfc3442-classless-static-routes 24, 192,168,0, 192,168,1,111, 16, 172,16, 10,16,40,100; [/cc] И на последок, если используете OpenWRT и сервер dnsmasq, то вам приголится мануал http://www.debian-administration.org/articles/471
» Запись из раздела networking, Несортированное | 5 комментариев
Elastix Flash Operator Panel default password
Запись создана 13 сентября, 2010
If you a new user to Elastix (Unified Communications platform Asterisk based) and trying to enter FOP (flash operator panel) first time, you’ll need to enter a password that not the same as admin passowrd.
Deffauld password stored in file /etc/amportal.conf section:
[cc lang=»ini»]
# FOPPASSWORD: the secret code for performing transfers and hangups in the FOP
FOPPASSWORD=eLaStIx.2oo7
[/cc]
so as you see, default password is «eLaStIx.2oo7» without quotes. And you beter to change it.
» Запись из раздела VoIP | Комментировать
Мультифон в Asterisk (trixbox/elastix/freePBX)
Запись создана 11 сентября, 2010
Trunk Description: multifon
Outbound Caller ID: 79297xxxxxx
Trunk Name: multifon
PEER Details:
[cc lang=»ini»]
host=multifon.ru
username=79297xxxxxx
secret=PASSWORD_HERE
type=peer
dtmfmode=inband
insecure=very
fromuser=79297xxxxxx
fromdomain=multifon.ru
qualify=yes
nat=yes
[/cc]
Register String:
[cc lang=»ini»]79297xxxxxx:PASSWORD_HERE@multifon.ru[/cc]
» Запись из раздела VoIP | Комментировать
MySQL 5 to MySQL 4.1 downgrade on Plesk
Запись создана 26 августа, 2010
Для сборки mysql на потребуется установить:
[cc lang=»bash»]
yum install gcc ncurses-devel gcc-c++
[/cc]
берем тарбол mysql-4.1.22, распаковываем, собираем и ставим в /opt/mysql-4.1.22 дефолтная кодировка mysql будет cp1251
[cc lang=»bash»]
wget https://itblog.su/downloads/mysql-4.1.22.tar.gz
tar zxf mysql-4.1.22.tar.gz
cd mysql-4.1.22
./configure —with-charset=cp1251 —with-collation=cp1251_general_ci \
—with-extra-charset=all —prefix=/opt/mysql-4.1.22 \
—without-docs —without-man —without-bench
make && make install
[/cc]
теперь остановим mysql5 установленный панелью Plesk и заменим инитскрипт
[cc lang=»bash»]
/etc/init.d/mysqld stop
gzip /etc/init.d/mysqld
cp /opt/mysql-4.1.22/share/mysql/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
[/cc]
После запуска mysql 4.1 проверим работоспособность mysql
[cc lang=»bash»]
mysql -uadmin -p`cat /etc/psa/.psa.shadow`
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 4.1.22
[/cc]
В панели плеск root не используется, суперпользователь имеет логин admin а пароль совпадает с паролем от входа в панель, если вы его забыли или не знаете, подсмотреть его можно в файле /etc/psa/.psa.shadow
» Запись из раздела CentOS Linux, MySQL | Комментировать
Monitoring Adaptec RAID controller under Ubuntu
Запись создана 26 июля, 2010
Для мониторинга RAID массива построенного на контроллере Adaptec крайне удобно использовать утилиту arcconf.
нативно адаптек дает пакет для RHEL/SCO/FreeBSD/Windows .deb пакетов в этом списке нет. Понадобилось поставить на Ubuntu 10.04, ставить будем так:
[cc lang=»bash»]
wget -c -q http://download.adaptec.com/raid/storage_manager/asm_linux_x86_v6_40_18530.rpm
sudo alien —scripts asm_linux_x86_v6_40_18530.rpm
sudo dpkg -i storman_6.40-18531_i386.deb
sudo ln -s /usr/StorMan/libstdc++.so.5 /usr/lib
sudo /usr/StorMan/arcconf GETCONFIG 1
Controllers found: 1
———————————————————————-
Controller information
———————————————————————-
Controller Status : Optimal
Channel description : SAS/SATA
Controller Model : Adaptec 3405
Controller Serial Number : 7C2110BD45E
Physical Slot : 3
Temperature : 55 C/ 131 F (Normal)
Installed memory : 128 MB
Copyback : Disabled
Background consistency check : Enabled
Automatic Failover : Enabled
Stayawake period : Disabled
Spinup limit internal drives : 0
Spinup limit external drives : 0
Defunct disk drive count : 0
Logical devices/Failed/Degraded : 1/0/0
[/cc]
» Запись из раздела Adaptec, Ubuntu | Комментировать
installing CentOS from USB pen drive
Запись создана 8 июля, 2010
Понадобилось у становить CentOS на машину которая не умеет загружаться по сети и не оказалось под рукой CD-ROM. Создаем загрузочную флешку для установки CentOS
вставляем флешку в usb порт, появляется новое устройство /dev/sdd теперь запустим fdisk
fdisk /dev/sdd
удалим все разделы создадим:
/dev/sdd1 размером 15 MB
/dev/sdd2 всё остальное пространство
/dev/sdd1 нужно сделть Bootable, т.е. загрузочным и переходим к установке:
wget http://mirror.yandex.ru/centos/5.4/os/i386/images/diskboot.img
dd if=diskboot.img of=/dev/sdd1
если размер USB диска позволяет, то форматируем /dev/sdd2 в ext3
mkfs.ext3 /dev/sdd2
и копируем в этот раздел содержимое установочного диска.
теперь можно начать установку с USB диска и выбрать установка с диска указав второй раздел или указать локальный http репозиторий для установки
» Запись из раздела CentOS Linux | Комментировать
HP iLo self signed sertificate
Запись создана 21 апреля, 2010
Есть у меня пара HP ProLiant DL360-ых, которые оснащены iLO (это ip-kvm, power management и многое другое через вебморду). так вот, и у того и у другого оказался сертификат с одним и тем же серийником. как следствие firefox не давал зайти.
Покупать ssl сертификаты для iLO на мой взгляд глупо, по этому решено было сгенерить self signed
[cc lang=»bash»]
openssl genrsa -out ca.key 1024
openssl req -new -x509 -days 365 -key ca.key -out ca.pem -subj /CN=ilo.server.com/O=Company/C=RU
[/cc]
теперь из Administration -> Certificate Administration делаем «Generate a certificate request» и полученный ключ Certificate Signing Request кладем в ilo-server1.csr ну и подписываем его:
[cc lang=»bash»]
openssl x509 -req -days 365 -in ilo-server1.csr -CA ca.pem -CAkey ca.key -set_serial 01 -out ilo-server1.crt
[/cc]
для второго сервера из того же Administration -> Certificate Administration делаем «Generate a certificate request» и полученный ключ Certificate Signing Request кладем в ilo-server2.csr и подписываем его тем же ключом но с другим серийником:
[cc lang=»bash»]
openssl x509 -req -days 365 -in ilo-server2.csr -CA ca.pem -CAkey ca.key -set_serial 02 -out ilo-server2.crt
[/cc]
полученные ilo-server1.crt и ilo-server2.crt вставляем в форму на следующем шаге Certificate Administration, а именно на Step 3. Import Certificate.
» Запись из раздела Несортированное | 3 комментария
php memcache and memcached on CentOS 5 and up
Запись создана 1 марта, 2010
The first thing we should do is install rpmforge repo if still not, you can use this HOWTO.
the next step is installing memcached and libmemcache
[cc lang=»bash»]yum install libmemcache memcached -y[/cc]
starting memcached:
[cc lang=»bash»]memcached -d -m 256 -l 127.0.0.1 -p 11211 -u nobody[/cc]
you can add a line above to /etc/rc.local to start memcached daemon at system startup
now we will install memcache php extension
[cc lang=»bash»]
wget http://pecl.php.net/get/memcache-2.1.2.tgz
tar -xvf memcache-2.1.2.tgz && cd memcache-2.1.2
phpize && ./configure —enable-memcache && make && make install
echo «extension=memcache.so» >> `php -i | grep «Loaded Configuration File» | awk ‘{print $5}’`
[/cc]
and restart apache: /etc/init.d/httpd restart
and now the task is done. enjoy it!
PS: sorry for terrible english.
» Запись из раздела CentOS Linux, PHP | 3 комментария