четверг, 30 декабря 2010 г.

Как узнать, что на машине стоит Adaptec RAID контроллер?

dmesg | grep Ada
Adaptec aacraid driver 1.1-5[2461]-ms
scsi 6:0:0:0: Direct-Access Adaptec Device 0 V1.0 PQ: 0 ANSI: 2

воскресенье, 26 декабря 2010 г.

В OpenVZ добавлена поддержка iotop!

Начиная с версии: RHEL5 2.6.18 194.26.1.el5 028stab079.1

Как собрать сам iotop под CentOS: http://forum.openvz.org/index.php?t=msg&goto=41203&

Источник: http://wiki.openvz.org/News/updates

GoDaddy SSL wildcard сертификаты криво работают в Chrome

Если быть точным, выдается ошибка:
Вы попытались открыть domain.ru, однако представленный сервером сертификат не является доверенным для операционной системы вашего ПК. Это может означать, что данный сервер сгенерировал собственные данные подтверждения безопасности, на которые Google Chrome не может полагаться, либо злоумышленник пытается перехватить данные коммуникации. Мы не советуем продолжать, особенно если вы не видели предупреждения для этого сайта ранее.

И в подробностях указано что "Сертификат подписан неизвестным" бюро.

Чтобы избавится от проблемы, нам нужен intermediate сертификат GoDaddy (что это,читаем тут). Заходим на страницу https://certs.godaddy.com/anonymous/repository.seam, там ищем файлик "gd_intermediate.crt", копируем ссылку на него.

Заходим на сервер:
cd /etc/apache2
wget тут_ссылка_на_сертификат

Далее открываем конфиг Апача:
vi /etc/apache2/apache2.conf

Ищем, где указан наш сертификат, это будут строки в стиле:
SSLCertificateFile /etc/apache2/ssl.crt/domain.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/domain.key

И добавляем чуть ниже:
SSLCertificateChainFile /etc/apache2/gd_intermediate.crt

Применяем настройки:
invoke-rc.d apache2 restart


Все, теперь никаких ошибок от сертификата в Chrome не будет :)

Источник: http://www.cupcakewithsprinkles.com/godaddy-ssl-certificate-and-chrome/ и http://doejo.com/blog/godaddy-ssl-certificate-throws-errors-in-google-chrome

суббота, 25 декабря 2010 г.

Обновление прошивки D-Link Dir-320

http://internet.natm.ru/setting/wifi/asus-wl-500g-premium/65-d-link-dir-320#0-1

Узнать свой ИНН онлайн

http://service.nalog.ru:8080/innmy.do

Из недостатков:
1) Не используется SSL, при использовании по открытым сетям Ваши данные могут перехватить крайне легко
2) Меня не нашло, хотя ИНН, разумеется, есть :) Сведений о Вашем ИНН в федеральной базе данных Единого государственного реестра налогоплательщиков не найдено. Для получения ИНН Вам необходимо заполнить заявление о постановке на учет. Заполнить заявление на постановку на учет в электронном виде Вы можете здесь.

Update:

3) Меня-таки нашло, по совету Genmed попробовал данные своего старого паспорта и меня чудным образом нашло :)

четверг, 23 декабря 2010 г.

the "alias" directive may not be used inside location given by regular expression

Это означает, что нужно использовать Nginx версии выше 0.7.40.

Источник: http://nginx.org/pipermail/nginx/2010-July/021280.html

Где взять список всех доменов зон .ru .su .рф?

ru: https://partner.r01.ru/zones/ru_domains.gz
su: https://partner.r01.ru/zones/su_domains.gz
рф: https://partner.r01.ru/zones/rf_domains.gz

Поля разделены табами:
имя_домена
регистратор
дата_регистрации
дата_окончания_регистрации
дата_освобождения
делегирован_ли_домен (1 - делегирован, 0 - не делегирован)

Для .com / .net / .org и прочих искать вот тут: http://www.verisign.com/domain-name-services/domain-information-center/tld-zone-access/

К слову, аналогичный ресурс, правда, с доступом по паролю (достаточно быть просто клиентом), есть у REG.RU: https://stat.reg.ru/domainlist?tld=ru

Источник: http://domenforum.net/showthread.php?t=67147&page=2 и http://forum.searchengines.ru/showthread.php?t=584377

Как заставить TomCat на Linux слушать 80й порт вместо 8180?

Просто прописать в конфиге 80й нельзя, так как он привилегированный и биндится на него может только root. Как же обойти эту проблему? Либо поставить реверс-прокси (nginx, lighttpd) либо заюзать немного Linux магии.

Выполняем следующую конфигурацию iptables:
iptables -t nat -A OUTPUT -d 127.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8180
iptables -t nat -A OUTPUT -d 213.133.x.x -p tcp --dport 80 -j REDIRECT --to-ports 8180
iptables -t nat -A PREROUTING -d 213.133.x.x -p tcp --dport 80 -j REDIRECT --to-ports 8180

Эти правила делают переброс портов и при соединении на 80й порт будет срабатывать прозрачный переброс на 8180.

Источник: http://www.klawitter.de/tomcat80.html

Про интравертов и экстравертов

http://moskalyuk.name/3190

среда, 22 декабря 2010 г.

Как добавить IP на Debian как алияс для eth0?

Легко!

Открываем конфиг сети:
vi /etc/network/interfaces

Добавляем там:
auto eth0:0
iface eth0:0 inet static
address xx.xx.xx.xx
netmask 255.255.255.255

Применяем:
/etc/init.d/networking restart

Через несколько мгновений адрес должен запинговаться.

Время - это капитал работника умственного труда. (с) Оноре Бальзак

Время - это капитал работника умственного труда. (с) Оноре Бальзак

Офигенная фраза! Очень понравилась!

Как короче записать shutdown -r now?

Вот так:
shutdown -r 0

пятница, 17 декабря 2010 г.

NOTICE: Your partition size "all" exceeded the maximum partition size of 2000G. We set the partition size to the maximum available size

NOTICE: Your partition size "all" exceeded the maximum partition size of 2000G. We set the partition size to the maximum available size.

Такая ошибка в инсталляторе ОС в FastVPS.ru намекает, что пора погуглить, что такое GPT.

вторник, 14 декабря 2010 г.

Как изменить адрес, используемый для отправки почты Postfix ом другим серверам?

vi /etc/postfix/main.cf

Добавляем в самый низ:
smtp_bind_address = ...

Применяем настройки:
/etc/init.d/postfix restart

После этого все внешние почтовые сервера будут видеть указанный IP при подключении нашего сервера:
Received: from test.domain.ru ([88.198.xx.xx])
 Но если нужно сохранить работу Postfix на ВСЕХ IP адреса, то достаточно сделать в конфиге /etc/postfix/master.cf вот так:

smtp      unix  -       -       -       -       -       smtp  -o smtp_bind_address=xx.yy.zz.ww
 

Создание шифрованных разделов на Mac OS X - TrueCrypt

PLEASE DO NOT USE IT ANYMORE http://www.truecrypt.org/downloads

Всем любителям клевых Лис, рекомендуется!

Велкам http://shpilenok.livejournal.com/31166.html!

понедельник, 13 декабря 2010 г.

Как включить логгирование cron задач в Debian 5 Lenny?

vi /etc/rsyslog.conf

И правим строку:
#cron.* /var/log/cron.log

На:
cron.* /var/log/cron.log

Применяем настройки:
/etc/init.d/rsyslog restart

После этого все cron задачи начнут записываться в лог-файл:
/var/log/cron.log

Как привязать пользователя ISPManager к определенному IP?

vi /usr/local/ispmgr/var/userconf/ispmgr.username

И добавляем строчку:
Access ip_addr

После этого перезапускаем ISPManager:
killall ispmgr

После данных операций пользователь username сможет входить лишь с данного IP.

пятница, 10 декабря 2010 г.

Как заставить жить вместе apt-get / dpkg и /tmp, смонтированную как noexec?

Очень легко, открываем конфиг:
/etc/apt/apt.conf:

И добавляем там:
DPkg::Pre-Invoke{"mount -o remount,exec /tmp";};
DPkg::Post-Invoke {"mount -o remount /tmp";};

Но, обращаю внимание! /tmp уже до подключения этих команд должна быть смонтирована как noexec и с отдельного раздела!

Источник: http://www.debian-administration.org/articles/57

Итак, ждем книгу про Ассинджа :) Кто напишет быстрее всех?

Сабж =)

Как сконвертировать таблицу размещения разделов dos/mbr в GPT без потери данных?

http://www.rodsbooks.com/gdisk/mbr2gpt.html

Но я не использовал этого! Так что - на свой страх и риск, уважаемые!

Как добавить дополнительный диск (но не отдельный!) в XenServer для размещения виртуальных машин?

Итак, имеем установленный на /dev/sda XenServer и пустой (только что установленный) диск /dev/sdb:
fdisk -l

Disk /dev/sda: 750.1 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 523 4194304 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 523 1045 4194304 83 Linux
/dev/sda3 1045 91201 724183393 8e Linux LVM

Disk /dev/sdb: 750.1 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table


Создаем на базе /dev/sdb физическое устройство LVM:
pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created

Убеждаемся, что все ок:
pvdisplay
--- Physical volume ---
PV Name /dev/sda3
VG Name VG_XenStorage-f7499bd4-b272-1f99-60f9-8b729e065161
PV Size 690.63 GB / not usable 9.78 MB
Allocatable yes
PE Size (KByte) 4096
Total PE 176800
Free PE 136132
Allocated PE 40668
PV UUID c5zR7M-96Yc-wiwi-NclQ-RhCw-P9qz-5R2hUh

"/dev/sdb" is a new physical volume of "698.64 GB"
--- NEW Physical volume ---
PV Name /dev/sdb
VG Name
PV Size 698.64 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID X3296z-a02v-3iS0-eteF-H2WA-62w3-jC0glw


Но данный диск еще не стал доступен для создания виртуальных машин на нем:
vgdisplay
--- Volume group ---
VG Name VG_XenStorage-f7499bd4-b272-1f99-60f9-8b729e065161
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 58
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 6
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 690.62 GB
PE Size 4.00 MB
Total PE 176800
Alloc PE / Size 40668 / 158.86 GB
Free PE / Size 136132 / 531.77 GB
VG UUID cEjZ1H-xTE2-e2fv-9grZ-bjDW-nU3g-lAAITl

Теперь нам нужно расширить на эти дополнительные 600+ гигабайт существующий Volume Group "VG_XenStorage-f7499bd4-b272-1f99-60f9-8b729e065161":
vgextend VG_XenStorage-f7499bd4-b272-1f99-60f9-8b729e065161 /dev/sdb

Вуаля:
vgdisplay
--- Volume group ---
VG Name VG_XenStorage-f7499bd4-b272-1f99-60f9-8b729e065161
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 59
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 6
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 1.36 TB
PE Size 4.00 MB
Total PE 355651
Alloc PE / Size 40668 / 158.86 GB
Free PE / Size 314983 / 1.20 TB
VG UUID cEjZ1H-xTE2-e2fv-9grZ-bjDW-nU3g-lAAITl


После этого, чтобы получить доступ ко всему дисковому пространству необходима перезагрузка:
shutdown -r now

Но, обращаю внимание, данная конфигурация крайне небезопасна, используйте аппаратные RAID контроллеры!

Источник: http://support.citrix.com/article/CTX116176

среда, 8 декабря 2010 г.

вторник, 7 декабря 2010 г.

Баг с source пакетом от Apache2 в Debian

Актуальная версия Apache в Debian сейчас lenny8, но исходники Апача упорно качаются от 7го:

# dpkg -l | grep 'apache2 '
ii apache2 2.2.9-10+lenny8 Apache HTTP Server metapackage

# apt-get clean
# apt-get source apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 6546kB of source archives.
Get:1 http://security.debian.org lenny/updates/main apache2 2.2.9-10+lenny7 (dsc) [1682B]
Get:2 http://security.debian.org lenny/updates/main apache2 2.2.9-10+lenny7 (tar) [6397kB]
Get:3 http://security.debian.org lenny/updates/main apache2 2.2.9-10+lenny7 (diff) [147kB]
Fetched 6546kB in 6s (1012kB/s)
gpg: Signature made Sun 28 Mar 2010 10:07:07 PM MSD using DSA key ID AE3BE9AA
gpg: Can't check signature: public key not found
dpkg-source: extracting apache2 in apache2-2.2.9
dpkg-source: info: unpacking apache2_2.2.9.orig.tar.gz
dpkg-source: info: applying apache2_2.2.9-10+lenny7.diff.gz

sources.list (это этом не используется заpinивание пакаджей):
cat /etc/apt/sources.list
deb ftp://mirror.hetzner.de/debian/packages lenny main contrib non-free
deb ftp://mirror.hetzner.de/debian/security lenny/updates main contrib non-free

deb http://ftp.de.debian.org/debian lenny main non-free contrib
deb-src http://ftp.de.debian.org/debian lenny main non-free contrib

deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free

Бага / фича?

Update: видимо, какое-то из зеркал тупит, на другой машине не воспроизвелось и стянуло lenny8.

Спецификация протокола RTMP

http://www.adobe.com/devnet/rtmp.html

PDF спецификации: http://www.adobe.com/content/dam/Adobe/en/devnet/rtmp/pdf/rtmp_specification_1.0.pdf

Спецификация форматов flv и f4v

http://www.adobe.com/devnet/f4v.html

PDF с спецификацией: http://download.macromedia.com/f4v/video_file_format_spec_v10_1.pdf

Руководство по написанию безопасных программ от НАСА

http://www.hq.nasa.gov/office/codeq/doctree/871913.pdf

понедельник, 6 декабря 2010 г.

Установка Red5 на Windows XP / 2008

1. Открываем страницу загрузки Red5: http://www.red5.org/wiki/0_9_1
2. Выбираем там: Windows
3. Ждем пока скачается файл setup-Red5-0.9.1.exe
4. Запускаем его
5. Next
6. I agree
7. Next
8. Install
9. Будет выдано окошко "Enter IP address for your server". И при тесте локально дома нужно сюда вписать: 127.0.0.1, при тесте, когда будет тестироваться нагрузка (по локалке), нужно будет вносить сюда IP адрес машины, на которую ставим, в локальной сети (192.168.*.*).
10. Будет выдано окошко "Enter port number to use for http requests", вводим в него: 5080
11. Next
12. Finish

После этого, чтобы запустить Red5 щелкаем по "Мой компьютер" правой кнопкой мыши, выбираем "Управление", внизу щелкаем по "Службы и приложения", разворачиваем список и внутри него из 3х пунктов выбираем: Службы. Потом справа выбираем Red5 и в левом (но не самом левом!) меню выбираем "Запустить службу", через несколько мгновений она запусится.

Все, установка закончена, открываем в браузере: http://127.0.0.1:5080/ (или, если тесты идут в локальной сети, вместо 127.0.0.1 выбираем 192.68.*.*). Должна появиться цветастая страница Red5. Все, сервер установлен и будет автоматически загружаться при запуске системы.

Установка JRE на WIndows XP

1. Открываем страницу загрузки инсталлятора Java: http://javadl.sun.com/webapps/download/AutoDL?BundleId=44398
2. После этого начнется загрузка файла "jre-6u22-windows-i586-s.exe", дожидаемся окончания загрузки.
3. Запускаем инсталлятор
4. На главной странице инсталлятора щелкаем "Install" в нижнем правом углу.
5. Щелкаем Close в инсталляторе
6. Java установлена :)

Есть два Debian репозитория и пакет с одинаковыми версиями в обоих

Есть ли вариант сделать повышенный приоритет для одного из репозиториев? Или только pin отдельных пакетов?

воскресенье, 5 декабря 2010 г.

Интересная опция Linux ядра

ip_nonlocal_bind - BOOLEAN If set, allows processes to bind() to non-local IP addresses, which can be quite useful - but may break some applications.

Кому не слабо придумать ей практическое применение?

Что такое TIME_WAIT статус tcp сокета в Linux?

http://www.softlab.ntua.gr/facilities/documentation/unix/unix-socket-faq/unix-socket-faq-2.html#ss2.7

В двух словах:
When you close a socket, the server goes into a TIME_WAIT state, just to be really really sure that all the data has gone through

А вот пару слов, почему они могут быть вредны, эти самые TIME_WAIT соединения: http://wiki.apache.org/HttpComponents/FrequentlyAskedConnectionManagementQuestions

Есть пара вариантов, как избежать пагубного влияния большого числа TIME_WAIT на обработку соединений, они включаются ключами sysctl:
tcp_tw_recycle - BOOLEAN
Enable fast recycling TIME-WAIT sockets. Default value is 0. It should not be changed without advice/request of technical experts.

tcp_tw_reuse - BOOLEAN
Allow to reuse TIME-WAIT sockets for new connections when it is safe from protocol viewpoint. Default value is 0. It should not be changed without advice/request of technical experts.

Источник: документация ядра Линукс, Documentation/networking/ip-sysctl.txt

Типы состояния tcp сокетов в Linux

ESTABLISHED The socket has an established connection.
SYN_SENT The socket is actively attempting to establish a connection.
SYN_RECV A connection request has been received from the network.
FIN_WAIT1 The socket is closed, and the connection is shutting down.
FIN_WAIT2 Connection is closed, and the socket is waiting for a shutdown from the remote end.
TIME_WAIT The socket is waiting after close to handle packets still in the network.
CLOSE The socket is not being used.
CLOSE_WAIT The remote end has shut down, waiting for the socket to close.
LAST_ACK The remote end has shut down, and the socket is closed. Waiting for acknowledgement.
LISTEN The socket is listening for incoming connections. Such sockets are not included in the output unless you specify the --listening (-l) or --all (-a) option.
CLOSING Both sockets are shut down but we still don’t have all our data sent.
UNKNOWN The state of the socket is unknown.

Источник: man netstat

Nginx + memcached = connect() to 127.0.0.1:11211 failed (99: Cannot assign requested address) while connecting to upstream

При нагрузочном тестировании:
ab -c 45 -n 1000000 http://domain.ru/

Вот такая радость в логах Nginx 0.7.65:
2010/12/05 21:54:14 [crit] 21537#0: *14117 connect() to 127.0.0.1:11211 failed (99: Cannot assign requested address) while connecting to upstream, client: xx.xx.xx.xx server: domain.ru, request: "POST /test.php HTTP/1.1", subrequest: "/test.php", upstream: "memcached://127.0.0.1:11211", host: "domain.ru"

Как симптом море TIME_WAIT ов:
netstat -an |grep TIME_WAIT | grep 11211 | wc -l
24203

Фиксить нужно так:
Нужно увеличить число исходящих портов. Как это сделать в Линуксе - не знаю.
--
Игорь Сысоев

Но проблема в том, что пул этих адресов итак огромен:
sysctl -a|grep range
net.ipv4.ip_local_port_range = 32768 61000

Далее идет вот такое обсуждение перенастройки на 1024-65535:
now my benchmark test works fine. are there any other problems
when i run debian with this large port range?

No, there should no be problems.
You may set 1024-65535.

Есть еще вариант:
sysctl -a | grep recycl
net.ipv4.tcp_tw_recycle = 0

sysctl -a | grep reuse
net.ipv4.tcp_tw_reuse = 0

Итого, резюмируя, лично я делаю так (18000 потому, что с 21 по 17900 у меня висят различные демоны):
echo "net.ipv4.ip_local_port_range = 18000 61000" >> /etc/sysctl.conf
sysctl -p

И не забываем перезаупстить Nginx:
/etc/init.d/nginx restart

Итого, мы где-то на 15 000 портов расширили интервал исходящих портов и ошибка должна исчезнуть.

Источник: вот и вот

Очень простое написание демонов на Perl с использованием Proc::Daemon (Debian)

Для сабжа есть прекрасный модуль:
http://search.cpan.org/~deti/Proc-Daemon-0.05/lib/Proc/Daemon.pod

Также для защиты от запуска нескольких экземпляров нам понадобится модуль Proc::PID::File.

Устанавливаем его и модуль Proc::PID::File:
apt-get install -y libproc-daemon-perl libproc-pid-file-perl

Начинаем использовать:
#!/usr/bin/perl

use strict;
use warnings;

use Proc::Daemon;
use Proc::PID::File;

# Daemonize
Proc::Daemon::Init();

# Если демон уже запущен, то просто выходим.
if (Proc::PID::File->running()) {
print "Already running\n";
exit 0;
}

# инициализируем демона

# Enter loop to do work
for (;;) {
# выполняем циклическую задачу
}

Вот и все :)

Предвкушая вопрос, почему проверяем демона на существование после демонизации:
Returns true when the process is already running. Please note that this call must be made *after* daemonisation i.e. subsequent to the call to fork(). If the verify flag was set during the instance creation, the process id is verified, alternatively the flag may be passed directly to this method.

По поводу защиты от запуска нескольких экземпляров - она работает прекрасно, pid файл создается в папке /var/run:
ls -la /var/run/ | grep pl
-rw-rw-rw- 1 root root 6 2010-12-05 21:21 mydaemon.pl.pid

Источник: http://www.perlmonks.org/index.pl?node_id=478839

Последовательность запуска задач в пределах заданного runlevel в Debian

С пониманием, когда запускается какой runlevel, обычно проблем нету, но есть проблемы с пониманием, как задачи упорядочиваются внутри конкретного runlevel. Рассмотрим на примере /etc/rcS.d/. В данной папке есть очень много файлов с именами вида SNNимя, где NN - двухзначное число:
ls
README S05keymap.sh S20module-init-tools S35quota S45mountnfs.sh S70x11-common
S01glibc.sh S07hdparm S25mdadm-raid S36mountall-bootclean.sh S46mountnfs-bootclean.sh S75sudo
S02hostname.sh S08hwclockfirst.sh S26lvm2 S36udev-mtab S47lm-sensors S99stop-bootlogd-single
S02mountkernfs.sh S10checkroot.sh S30checkfs.sh S37mountoverflowtmp S48console-screen.sh
S03udev S11hwclock.sh S30procps S39ifupdown S55bootmisc.sh
S04mountdevsubfs.sh S12mtab.sh S34fuse S40networking S55urandom
S05bootlogd S18ifupdown-clean S35mountall.sh S43portmap S70screen-cleanup

Последовательность тут очень простая: загрузка начинается со скриптов c меньшим номером и переходит к скриптам с большим номером.

Оригинал:
The two-digit number mm is used to determine the order in which to run the scripts: low-numbered links have their scripts run first. For example, the K20 scripts will be executed before the K30 scripts. This is used when a certain service must be started before another. For example, the name server bind might need to be started before the news server inn so that inn can set up its access lists. In this case, the script that starts bind would have a lower number than the script that starts inn so that it runs first:
/etc/rc2.d/S17bind
/etc/rc2.d/S70inn

Есть очень удобный способ просмотра последовательности запуска:
find /etc/rcS.d/ | sort -g
/etc/rcS.d/
/etc/rcS.d/README
/etc/rcS.d/S01glibc.sh
/etc/rcS.d/S02hostname.sh
/etc/rcS.d/S02mountkernfs.sh
/etc/rcS.d/S03udev
/etc/rcS.d/S04mountdevsubfs.sh
/etc/rcS.d/S05bootlogd
/etc/rcS.d/S05keymap.sh
/etc/rcS.d/S07hdparm
/etc/rcS.d/S08hwclockfirst.sh
/etc/rcS.d/S10checkroot.sh
/etc/rcS.d/S11hwclock.sh
/etc/rcS.d/S12mtab.sh
/etc/rcS.d/S18ifupdown-clean
/etc/rcS.d/S20module-init-tools
/etc/rcS.d/S25mdadm-raid
/etc/rcS.d/S26lvm2
/etc/rcS.d/S30checkfs.sh
/etc/rcS.d/S30procps
/etc/rcS.d/S34fuse
/etc/rcS.d/S35mountall.sh
/etc/rcS.d/S35quota
/etc/rcS.d/S36mountall-bootclean.sh
/etc/rcS.d/S36udev-mtab
/etc/rcS.d/S37mountoverflowtmp
/etc/rcS.d/S39ifupdown
/etc/rcS.d/S40networking
/etc/rcS.d/S43portmap
/etc/rcS.d/S45mountnfs.sh
/etc/rcS.d/S46mountnfs-bootclean.sh
/etc/rcS.d/S47lm-sensors
/etc/rcS.d/S48console-screen.sh
/etc/rcS.d/S55bootmisc.sh
/etc/rcS.d/S55urandom
/etc/rcS.d/S70screen-cleanup
/etc/rcS.d/S70x11-common
/etc/rcS.d/S75sudo
/etc/rcS.d/S99stop-bootlogd-single

Источник: http://www.debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit

суббота, 4 декабря 2010 г.

CentOS + PHP 5.1.6 + eAccelerator 0.9.6.1 = не собирается

/usr/src/eaccelerator-0.9.6.1/ea_store.c: In function 'store_property_access_check':
/usr/src/eaccelerator-0.9.6.1/ea_store.c:683: error: 'zend_property_info' has no member named 'ce'

Это баг 0.9.6.1 версии eAccelerator: http://eaccelerator.net/ticket/426

Очевидный фикс: юзаем 0.9.6 версию.

Как управлять VmWare ESXi ?

Посредством VmWare vSphere Client, который скачать (только под Windows), можно здесь: https://www.vmware.com/tryvmware/index.php?p=free-esxi&lp=1

Причем, утилита абсолютно бесплатна:
YOUR FREE VSPHERE HYPERVISOR REGISTRATION INCLUDES ACCESS TO
VMware ESXi 4.1
VMware vSphere Client
VMware Go

четверг, 2 декабря 2010 г.

Установка ssh2 расширения для PHP на CentOS 5.5 из PECL

Ставим все необходимое для сборки:
yum install -y php-devel libssh2-devel php-pear

Собираем модуль:
pecl install -f ssh2

Подключаем ssh2 расширение к PHP:
echo "extension=ssh2.so" > /etc/php.d/ssh2.ini

Убеждаемся, что все ок:
php -m | grep ssh2
ssh2

Перезапускаем Апача:
/etc/init.d/httpd restart

Монтирование /tmp с noexec на OpenVZ контейнерах

http://kb.parallels.com/article_130_648_en.html

Nginx, директива post_action, выполнение действий ПОСЛЕ обработки запроса клиента

Вот ссылка с фоурмов: http://article.gmane.org/gmane.comp.web.nginx.english/1305

В офф документации не нашел, но штука крайне интересная.