соответствие чипов памяти и названия модуля
Запись создана 21 ноября, 2008
Делаю запись для себя, чтобы не забыть :)
» Запись из раздела Несортированное | 2 комментария
How to repair a corrupt Firebird database?
Запись создана 19 ноября, 2008
Частично повредилась база данных Firebird, ругается и не дает делать бакапы. К счастью в серверной установке Firebird есть утилиты для восстановления БД (если повреждения не серьезные). Ниже листинг батника.
[cc lang=»dos»]
echo подготавливаем базу к дампу
gfix.exe -mend -user SYSDBA -pas masterkey server:c:\databases\base.gdb
echo делаем дамп
gbak.exe -b -g -user SYSDBA -pas masterkey server:c:\databases\base.gdb c:\databases\backup\base.bak
echo переименовываем файл базы
rename c:\databases\base.gdb c:\databases\base.orig
echo восстанавливаем базу из дампа.
gbak.exe -user SYSDBA -pas masterkey C:\databases\backup\base.bak server:c:\databases\base.gdb
[/cc]
Принятые умолчания и пояснения:
c:\databases\base.gdb — путь к файлу бд
server:c:\databases\base.gdb — сетевой путь к файлу бд (server менять на имя машины и БД)
у GFIX есть еще пара ключей. -v проверка БД, и -v -f полная проверка БД Firebird
» Запись из раздела Базы данных | 8 комментариев
Pandion Reconnect
Запись создана 19 ноября, 2008
В популярном Jabber клиенте Pandion есть одна неприятность, не умеет он делать реконнект если потеряно сединение с сервером. Лечится это правкой файла C:\Program Files\Pandion\src\main\XMPPOnStream.js меняем блок (в районе 297-ой строки):
[cc lang=»javascript»]
else if ( ReceivedXML.documentElement.selectSingleNode( ‘/stream:error’ ) )
{
if ( external.windows.Exists( ‘signup’ ) )
OnLoginAbort();
else
{
external.globals( ‘XMPPReconnect’ ) = false;
var Str = ‘‘;
warn( ‘SENT: ‘ + Str );
external.XMPP.SendText( Str );
external.XMPP.Disconnect();
}
}
[/cc]
на блок:
[cc lang=»javascript»]
else if ( ReceivedXML.documentElement.selectSingleNode( ‘/stream:error’ ) )
{
if ( external.windows.Exists( ‘signup’ ) )
OnLoginAbort();
else
{
if ( ReceivedXML.documentElement.selectSingleNode( ‘/stream:error/system-shutdown’ ) )
external.globals( ‘XMPPReconnect’ ) = true;
else
external.globals( ‘XMPPReconnect’ ) = false;
}
}
[/cc]
» Запись из раздела jabber | Комментировать
Ajax Edit Comments — проблемы с кодировкой.
Запись создана 14 ноября, 2008
Есть такой замечательный плагин, WP Ajax Edit Comments. Позволяет он очень удобно редактировать комментарии, как хозяину блога (ссылочки убрать, например), так и комментатору. Но вот незадача, плагин этот выводит AJAX форму крякозябрами.

Лечится это добавлением в файл wp-content/plugins/wp-ajax-edit-comments/php/comment-editor.php строчки
[cc lang=»php»]header(«Content-Type:text/html;charset=utf-8»);[/cc]
» Запись из раздела wordpress | 9 комментариев
sendmail: rejecting connections on daemon MTA: load average
Запись создана 6 октября, 2008
У sendmail есть такая забавная настройка, позволяющая не релеить письма в случае высокого load average. По умолчанию, если не ошибаюсь, значение авг не должно превышать 12-ти. Если avg выше, то будут лезть ошибки вроде этой:
sendmail: rejecting connections on daemon MTA: load average: 26
Лечится это внесением в конфиг /etc/mail/sendmail.cf строчек:
[cc lang=»bash»]
O QueueLA=100
O RefuseLA=100
[/cc]
Или же в конфиге /etc/mail/sendmail.mc директивы:
[cc lang=»bash»]
define(`confQueueLA’, `100′)dnl
define(`confRefuseLA’, `100′)dnl
[/cc]
» Запись из раздела Unix | 2 комментария
монтирование раздела с кирилицей в именах файлов
Запись создана 30 сентября, 2008
Ситуация, CentOS 5.2 с локалью ru_RU.UTF-8 и диск снятый с виндовой машины, соответственно все имена файлов в кодировке windows-1251.
Задача: расшарить диск по ftp так чтобы файлы с кириллическими именами отображались нормально.
Устанавливаем локаль ru_RU.CP1251
[cc lang=»bash»][root@dev2 ~]# localedef —no-archive -c -f CP1251 -i ru_RU ru_RU.CP1251[/cc]
Монтируем диск:
[cc lang=»bash»][root@dev2 ~]# mount -t ntfs-3g -o locale=ru_RU.CP1251 /dev/sda1 /var/ftp/pub/[/cc]
Для того чтобы диск монтировался при старте системы, пропишем в /etc/fstab
[cc lang=»bash»]/dev/sda1 /var/ftp/pub/disk-f ntfs-3g locale=ru_RU.CP1251 0 0[/cc]
» Запись из раздела CentOS Linux | 2 комментария
аналог seq для freeBSD
Запись создана 30 сентября, 2008
утилита seq присутствующая в linux весьма полезна, что она делает? просто считает от и до. Например:[cc lang=»bash»][root@rhca ~]# seq 1 5
1
2
3
4
5
[/cc]
В написании минискриптов, вещь не заменимая.. но в FreeBSD нет утилиты seq, зато есть аналог: jot
Приведу пример, например есть логи /var/httpd/logs/error_log.0 … error_log.9 нужно их «обнулить» в linux я бы сделал так:
[cc lang=»bash»]for i in `seq 0 9`; do echo > /var/httpd/logs/error_log.$i;done[/cc]
а во FreeBSD делаем так: [cc lang=»bash»]for i in `jot 10 0`; do echo > /var/httpd/logs/error_log.$i;done[/cc]
» Запись из раздела Unix | 4 комментария
Apache: (28)No space left on device
Запись создана 9 сентября, 2008
По разным причинам (например утечка памяти в mod_perl), заканчиваются свободные семафоры, Apache падает, и подыматься отказывается, мотивируя это пространной ошибкой: (28)No space left on device
Допустим апач работает от пользователя httpd, тогда для того чтобы посмотреть занятые семафоры сделаем:
ipcs -s | grep httpd
ну и собственно живительная пилюля, убивающая занятые семафоры:
[cc lang=»bash»]
ipcs -s | grep httpd | perl -e ‘while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}’
или
ipcs -s | grep httpd | gawk ‘{ print $2 }’ | xargs -n 1 ipcrm sem
[/cc]
» Запись из раздела web server | Комментировать
linux hardware lister — выводим список железа
Запись создана 24 августа, 2008
Несколько статей в этом блоге посещалось определению материнской платы, дисковой системы. Наткнулся на замечательную тулзу которая позволяет определить ещё остальное. Установка и пример использования ниже. Ставить будем на Centos 5.2 из rpmforge.
[cc lang=»bash»]
[root@dev2 ~]# yum install lshw -y
[root@dev2 ~]# lshw -short
H/W path Device Class Description
======================================================
system VT82C694X
/0 bus 694X-686
/0/0 memory 128KiB BIOS
/0/4 processor Celeron (Coppermine)
/0/4/a memory 32KiB L1 cache
/0/4/b memory 128KiB L2 cache
/0/1f memory 512MiB Flash Memory
/0/1f/0 memory 128MiB DIMM
/0/1f/1 memory 256MiB DIMM
/0/1f/2 memory 128MiB DIMM
/0/1f/3 memory DIMM [empty]
/0/100 bridge VT82C693A/694x [Apollo PRO133x]
/0/100/1 bridge VT82C598/694x [Apollo MVP3/Pro133x AGP]
/0/100/1/0 display NV11DDR [GeForce2 MX200]
/0/100/7 bridge VT82C686 [Apollo Super South]
/0/100/7.1 storage VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE
/0/100/7.1/0 ide0 bus IDE Channel 0
/0/100/7.1/0/0 /dev/hda disk TOSHIBA DVD-ROM SDM2012C
/0/100/7.1/0/1 /dev/hdb disk 120GB ST3120026A
/0/100/7.1/0/1/1 /dev/hdb1 volume 32GiB EXT3 volume
/0/100/7.1/0/1/2 /dev/hdb2 volume 39GiB EXT3 volume
/0/100/7.1/0/1/3 /dev/hdb3 volume 39GiB EXT3 volume
/0/100/7.1/0/1/4 /dev/hdb4 volume 1506MiB Linux swap volume
/0/100/7.1/0/1/4/5 /dev/hdb5 volume 1498MiB Linux swap / Solaris partition
/0/100/7.1/1 ide1 bus IDE Channel 1
/0/100/7.1/1/0 /dev/hdc disk 120GB ST3120814A
/0/100/7.1/1/0/1 /dev/hdc1 volume 111GiB EXT3 volume
/0/100/7.2 bus VT82xxxxx UHCI USB 1.1 Controller
/0/100/7.2/1 usb1 bus UHCI Host Controller
/0/100/7.3 bus VT82xxxxx UHCI USB 1.1 Controller
/0/100/7.3/1 usb2 bus UHCI Host Controller
/0/100/7.4 bridge VT82C686 [Apollo Super ACPI]
/0/100/7.5 multimedia VT82C686 AC97 Audio Controller
/0/100/9 eth0 network VT6105 [Rhine-III]
[/cc]
» Запись из раздела CentOS Linux | 2 комментария
Добавляем диапазон ip адресов.
Запись создана 24 августа, 2008
Без лишних слов привожу листинги, однозначно работает это в Red Hat, Fedora Core ну и в CentOS на примере которого и буду показывать.
[cc lang=»bash»]
[root@dev2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
# VIA Technologies, Inc. VT6105 [Rhine-III]
DEVICE=eth0:0
HWADDR=00:04:23:dc:ef:29
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.12.222
GATEWAY=192.168.12.100
TYPE=Ethernet
[/cc]
[cc lang=»bash»]
[root@dev2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0-range0
IPADDR_START=192.168.12.223
IPADDR_END=192.168.12.230
CLONENUM_START=1
[/cc]
рестартим сеть /etc/init.d/network restart
и получаем желаемое:
[cc lang=»bash»]
inet 192.168.12.200/24 brd 192.168.12.255 scope global eth0
inet 192.168.12.222/24 brd 192.168.12.255 scope global secondary eth0:0
inet 192.168.12.223/24 brd 192.168.12.255 scope global secondary eth0:1
inet 192.168.12.224/24 brd 192.168.12.255 scope global secondary eth0:2
inet 192.168.12.225/24 brd 192.168.12.255 scope global secondary eth0:3
inet 192.168.12.226/24 brd 192.168.12.255 scope global secondary eth0:4
inet 192.168.12.227/24 brd 192.168.12.255 scope global secondary eth0:5
inet 192.168.12.228/24 brd 192.168.12.255 scope global secondary eth0:6
inet 192.168.12.229/24 brd 192.168.12.255 scope global secondary eth0:7
inet 192.168.12.230/24 brd 192.168.12.255 scope global secondary eth0:8
[/cc]
» Запись из раздела CentOS Linux, networking | Комментировать