понедельник, 22 июня 2009 г.

perl -X функции

if (-e $filename) { print "Файл существует.\n"; }
if (-z $filename) { print "Файл существует и он пустой.\n"; }

if (-r $filename) { print "У меня есть право на чтение файла.\n"; }
if (-w $filename) { print "У меня есть право на изменение файла.\n"; }
if (-x $filename) { print "У меня есть право на выполнение файла.\n"; }
if (-o $filename) { print "Я владелец файла.\n"; }

if (-f $filename) { print "$filename - это обычный файл.\n"; }
if (-d $filename) { print "$filename - это каталог.\n"; }
if (-l $filename) { print "$filename - это символическая ссылка.\n"; }
if (-p $filename) { print "$filename - это FIFO.\n"; }
if (-S $filename) { print "$filename - это сокет.\n"; }
if (-b $filename) { print "$filename - это блок-ориентированное спец. устройство.\n"; }
if (-c $filename) { print "$filename - это символьное спец. устройство.\n"; }
if (-t $filename) { print "Файловый манипулятор открыт для терминала.\n"; }

if (-u $filename) { print "У файла установлен бит setuid\n"; }
if (-g $filename) { print "У файла установлен бит setgid\n"; }
if (-k $filename) { print "У файла установлен бит запрета (бит-липучка)\n"; }

if (-T $filename) { print "Это текстовый файл.\n"; }
if (-B $filename) { print "Это двоичный файл.\n"; }

$size = -s $filename;
print "Размер файла: $size.\n"; }

$modification_time = int(-M $filename);
print "Со времени последнего изменения файла прошло $modification_time дней.\n";

$access_time = int(-A $filename);
print "Со времени последнего чтения файла прошло $access_time дней.\n";

$ctime = int(-C $filename);
print "Со времени последнего изменения файлового дескриптора прошло $ctime дней";

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

geli remove boot promt

geli инициируют раздели по умолчанию при загрузке, для remote server подобное поведение не допустимо

решение

geli configure -B /dev/da0s1d.eli

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

mysql 5.4-6.0 compile error

при сборке mysql версий 5.4 и 6.0 на freebsd 6.4 вылетала ошибка компилятора


/var/tmp//ccdN1bO7.s: Assembler messages:
/var/tmp//ccdN1bO7.s:1571: Error: bad register name `%sil'
/var/tmp//ccdN1bO7.s:1697: Error: bad register name `%dil'
/var/tmp//ccdN1bO7.s:1915: Error: bad register name `%dil'
/var/tmp//ccdN1bO7.s:2804: Error: bad register name `%dil'
/var/tmp//ccdN1bO7.s:3647: Error: bad register name `%sil'

решение.
1. ставим из портов gcc42, появятся бинарники gcc42 и g++42
2. ./configure CC=gcc42 CXX=g++42
3. make ; make install
4. profit!

понедельник, 1 июня 2009 г.

lighttpd digest auth

lighttpd.conf

раскомментарить mod_auth

добавить в секцию host или URL

auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/.passwd"
auth.debug = 2


auth.require = ( "/" =>
(
"method" => "digest",
"realm" => "Restricted Area",
"require" => "valid-user"
))

затем в консоли

htdigest -c /etc/lighttpd/.passwd "Restricted Area" login
chown www:www /etc/lighttpd/.passwd
chmod 400 /etc/lighttpd/.passwd