среда, 22 августа 2012 г.

Книжка про перл

$ mkdir beginning_perl
$ cd  beginning_perl
$ lynx --source http://www.perl.org/books/beginning-perl/| grep pdf| awk -F"\"" '{print $4}' | xargs wget
$ gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Beginning_Perl.pdf -dBATCH 3145_Intro.pdf 3145_Chap01.pdf 3145_Chap02.pdf 3145_Chap03.pdf 3145_Chap04.pdf 3145_Chap05.pdf 3145_Chap06.pdf 3145_Chap07.pdf 3145_Chap08.pdf 3145_Chap09.pdf 3145_Chap10.pdf 3145_Chap11.pdf 3145_Chap12.pdf 3145_Chap13.pdf 3145_Chap14.pdf 3145_AppA.pdf 3145_AppB.pdf 3145_AppC.pdf 3145_AppD.pdf 3145_AppE.pdf 3145_AppF.pdf 3145_AppG.pdf 3145_AppH.pdf 3145_AppJ.pdf 3145_Index.pdf

Cpanel wildcard domains and nginx

На днях появилась такая проблемка:
1. Клиент в сипанели цепляет вайдкардный домен вида *.domain.com.
2. Панель добавляет алиас www.*.domain.com.
3. При генерации конфига nginx в директиву server_name попадает значение  "*.domain.com www.*.domain.com"/
4. Nginx проверяет новый конфиг и говорит, что он invalid, т.к. "*" допускается только в начале или конце сервернейма.

Сипанель нельзя заставить генерить имена с "*" в середине, поэтому пришлось выгребать такие имена из нагенерённого конфига.

Сделал такую штуку:
#!/usr/bin/perl
my $filename=$ARGV[0];
open(IN, "<", $filename) or die "open error\n";

while (<IN>) {
        my($line) = $_;
        chomp($line);
        if (m/server_name/) {
                $line =~ s/\S+\*\S+//g;
        }
        print  "$line\n";
}
Дергаю её после генерации конфига, в патч для скрипта-генератора:
--- build-conf.sh       2010-03-04 14:26:39.000000000 +0300
+++ build-conf.sh_new   2012-08-22 11:58:27.000000000 +0400
@@ -16,13 +16,16 @@

 cd $ROOT

-if [ ! -f $NGINX/vhosts.conf.new ]; then
-       touch $NGINX/vhosts.conf.new
-       chmod 600 $NGINX/vhosts.conf.new
+if [ ! -f $NGINX/vhosts.conf.raw ]; then
+        touch $NGINX/vhosts.conf.raw
+        chmod 600 $NGINX/vhosts.conf.raw
 fi

 # build nginx conf using default template in $TMPL
-$ROOT/ngx_conf_gen.pl -c /usr/local/apache/conf/httpd.conf > $NGINX/vhosts.conf.new || exit 4
+$ROOT/ngx_conf_gen.pl -c /usr/local/apache/conf/httpd.conf > $NGINX/vhosts.conf.raw || exit 4
+
+# remove invalid wildcarded server_name (example: www.*.server.com)
+$ROOT/rm_badwildcard.pl $NGINX/vhosts.conf.raw > $NGINX/vhosts.conf.new

 new=`$MD5 $NGINX/vhosts.conf.new | cut -f1 -d' '`
 cur=`$MD5 $NGINX/vhosts.conf | cut -f1 -d' '`

понедельник, 13 августа 2012 г.

gem install pg fail

Поганый руби не собирает pg:
# gem install pg
Building native extensions.  This could take a while...
......
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

        /usr/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Офигенно, вроде бы попросту не находит libpq-fe.h. А он есть ))
Задавать пути бесполезно, всё равно не находит ))

А на самом деле нужно поставить девел набор - gcc, make и т.д. и тогда всё соберётся )) Ну кто бы мог подумать )) А в еррорах это написать не судьба

четверг, 26 июля 2012 г.

Ubuntu 12.04 suxx

Попросил клиент дедик с убунту 12. Разметку прислал без отдельного /tmp
Ставлю аптом пакеты, желаемые этим товарищем, а мне апт говорит:
E: Problem executing scripts DPkg::Pre-Invoke 'mount -o remount,exec /tmp'
Вот так вот. Даже мысли недопускается о том, что /tmp может не быть вынесен отдельно.
Воркараунд - рамдиск. В /etc/fstab добавил:
tmpfs /tmp tmpfs defaults 0 0
Замаунтил, поставил что надо, размаунтил, закомментил рамдиск.

пятница, 20 июля 2012 г.

Could not find a kernel path for virt type 'xen': Debian vs Ubuntu

Пытаюсь в ксене через virt-install сделать машинку с бубунтой.
Урлом указываю: http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-amd64/
После стягивания manifest имею:
Could not find a kernel path for virt type 'xen'

Оказалось, в манифесте пути не совпадают с фактическими. Поэтому либвирт не может скачать файлики ксеновые.
Из дебага:
 Fri, 20 Jul 2012 15:12:40 DEBUG    HTTP hasFile: didn't find http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-amd64/images/xen/vmlinuz
А всё потому, что на самом деле путь:
http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-amd64/current/images/xen/vmlinuz

Для сравнения взял дебиан, урл:
http://mirrors.cn99.com/debian/dists/Debian6.0.5/main/installer-amd64/
Всё шикарно поставилось )

ЗЫ
Только после сетапа надо в виртуалке ксен ядро поставить и конфиг машинки поправить (http://www.howtoforge.com/installing-debian-squeeze-6.0-domu-on-centos-5.5-x86_64-dom0)

среда, 18 июля 2012 г.

Диплом!

Вот они, шесть лет жизни:


Красненький, не зря ботал ))
Теперь надо про аспирантуру узнавать.

пятница, 13 июля 2012 г.

Self signed cert and existing key

Как сгенерить самоподписанный сертификат для существующего закрытого ключа:
$ openssl req -new -key mykey.key -out myreq.req -subj '/C=RU/ST=Moscow/L=Moscow/O=AccessD Lab/OU=SA Dept/CN=accessdlab.blogspot.com'
$ openssl req -x509 -key mykey.key -days 1825 -in myreq.req -out mycert.crt

вторник, 19 июня 2012 г.

Апотекарий Ксиан

Ну вот он и готов, имя на свитке написано )



 
Наверно, надо вокруг фонарика сделать отблеск, но пока не умею. Зато удалось сделать правильную линзу, с оранжевым отблеском и бликом, причём с первого захода )


Теперь начал своего многострадального капеллана. Задолбался заделывать файнкастовый брак, исправил самый заметный и начал красить:


среда, 13 июня 2012 г.

Защитился!

Ну вот я и защитился )
На отлично ) Теперь вопрос в цвете корки. У меня всего 7 четвёрок, но фишка в том, что при расчёте корки берут не все оценки, а входящие в диплом. В диплом попадают не все предметы, а часть пятёрок пропадает из-за объединения курсов - например 4 матана (или 5, не помню сколько их там было) дадут всего одну оценку. А вот четвёрки разбросало так, что они не объединятся и не пересчитаются (
Ещё сказали, что у меня рекомендация на аспирантуру.. Вот думаю - надо оно мне или нет...

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

среда, 6 июня 2012 г.

Рамдиск и свободная оператива

Как считается память, отведённая под рамдиск?
Оказалось, что свободное место на рамдиске подсчитывается, как свободная память, а занятое - и как used, и как cached