Ad Discendum, Non Ad Docendum

Для того, чтобы учиться, а не для того, чтобы учить

Человечный мануал "по линуксу"

Posted by Денис Лозко Thu, 22 Nov 2007 15:03:00 GMT

© Michael Klishin:

Самый человечный мануал “по линуксу”,
как ни странно, FreeBSD Handbook.

Даже завел отдельный раздел, ибо пора…

Posted in , , | no comments |

А я таки что-то да умею.

Posted by Денис Лозко Thu, 15 Nov 2007 22:35:00 GMT

Как оказалось, мой rc.script для PHP-FCGI кому то да пригодился кроме меня.

Posted in , , | no comments |

Король умер.. Да здравствует Король!!!

Posted by Денис Лозко Tue, 28 Aug 2007 06:28:00 GMT

BIND 8 End Of Life Announcement

ISC is announcing BIND 8 to be End of Life as of today, 27 August 2007.

ISC strongly encourages users who depend on BIND 8 to migrate to BIND 9 as soon as possible.

It’s never easy to retire a product. The security issues of BIND 8 are many, and 7 years after the release of BIND 9, ISC must devote our efforts to maintaining and enhancing the current version. BIND 9 was always intended as a replacement for BIND 8, thus there are no more BIND 8 releases planned beyond 8.4.7-P1, being released today.

Doug Barton <dougb@freebsd.org> to freebsd-announ:

I will be marking the bind8 (BIND 8.3.7) port FORBIDDEN since it contains the predictable query ID bug. I will also update the bind84 (currently BIND 8.4.7) port to 8.4.7-P1, and mark that port DEPRECATED with an EXPIRATION_DATE 3 months in the future.

Целая эпоха кончилась.

Posted in , , | no comments |

(почти) Все что вы хотели но боялись спросить...

Posted by Денис Лозко Sat, 14 Jul 2007 06:18:00 GMT

В весьма простой и доходчивой форме описаны вкусности, к которым следует быть готовым к моменту выхода FreeBSD 7.0.

Мне особенно интересным кажется предыстория нововведений.

jemalloc:

The currently used malloc() library, called phkmalloc since its creator is Poul-Henning Kamp, is almost a decade old in its present implementation. It was designed for a time when memory was scarce, the priorities considered in memory allocation were different, and multithreading was still an academic idea. Even so, it’s one of the more popular malloc() implementations, used in all BSDs and even some Linux distributions.
Because of its inefficiency when used in multithreaded applications running on multiprocessor systems, a new userland memory allocator was created, named jemalloc after Jason Evans, its creator.

SHED_ULE 2.0:

The original SCHED_ULE was underperforming and buggy, so it got reworked.

Posted in , | 2 comments |

Что дольше...

Posted by Денис Лозко Fri, 25 May 2007 16:33:00 GMT

Скачать ISO-шку FreeBSD на 128к или сбрать ее самому на

CPU: AMD Duron(tm) processor (805.40-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x631  Stepping = 1
  Features=0x183f9ff
  AMD Features=0xc0440800,MMX+,3DNow+,3DNow>
real memory  = 536805376 (511 MB)
avail memory = 515829760 (491 MB)

?

Posted in , , , | no comments |

Цифры

Posted by Денис Лозко Sat, 31 Mar 2007 06:09:00 GMT

…P-133, 48Mb RAM собирает 6.2-STABLE за 22 часа :-)

Posted in , , , | 4 comments |

at last

Posted by Денис Лозко Thu, 22 Mar 2007 21:21:00 GMT

Пара вечеров, и trac умеет закрывать тикет по “fixes #xxx”

Posted in , | 3 comments |

Kill ^[

Posted by Денис Лозко Tue, 27 Feb 2007 22:01:00 GMT

Спросил меня сегодня pahan

есть такой символ управляющий )
^[[m
как его обработать?

как его заматчить?
регекспом …
ебучий линуховый топ его юзает
такой символ
фря - нет

Я ему уже сказал, что там не ^[[m, а че нить типа ^[[1;37m, что представляет собой Escape sequence для отображения визуальных текстовых эфектов, как-то цвет текста/фона, подчеркиваение/зачеркивание ну и т.п.

Для того что-бы ввести сам символ ^[ можно поступить по разному:

  • можно воспользоватся незамысловатой комбинацией <ctl>-V+<ctrl>-[, в результате чего получим непечатаемый символ (но тот что нужен), который удобно использовать напрямую из комманд-лайн’а, точно так же как на скриншоте (надобно кликноть для оригинала):
  • а можно по другому: вместо <ctl>-V+<ctrl>-[ использовать \033, что можно использовать (на манер примера выше с sed’ом) следующим образом:
> tail -10 log/development.log|perl -e ‘while($_=<>){$_=~s/\033\[([0-9]{1,2};)*[0-9]m//g;print $_}’

Posted in , | 1 comment |

mpd+mg_netflow

Posted by Денис Лозко Sat, 17 Feb 2007 20:13:00 GMT

Перевожу все свои туннельчеги на домашнем серевере на MPD.

Так как раньше особо с ним работать не приходилось - усиленно читаем доки, и листаем OpenNET.

Как оказалось недавно (11 февраля) вышел релиз 4.1. Среди всего прочего в него добавлена поддержка NetFlow и NAT посредством ng_netflow(4) и ng_nat(4) netgraph-модуля FreeBSD соответсвенно.

Если ng_nat(4) еще весьма мал и выплывают в нем глюки (например incorrect checksum в пакетах), то ng_netflow уже достаточно объезжен и пользуются им в полный рост.

Так вот…

Полез я поискать способы собирать Netflow-статистику посредством mpd поинтиреснее, нежели банально new -N -n -i ng0. В результате напоролся на одно занятное письмецо в freebsd-россылке freebsd-questions@freebsd.org. Осбый интирес в нем резюмирование, еще, наверное, до того как эти чертовы индусы умные дяди и тёти из Сisco придумали Netflow.V1, нашедшее свое отражение в фразе одного весьма известного анекдота:

…После сборки доработать напильником.

Posted in , , | no comments |

PHP4+XSLT+ZendOptimizer

Posted by Денис Лозко Fri, 16 Feb 2007 13:04:00 GMT

Я уже писал, что мне приходят дайджесты fido7.ru.unix.bsd. Так вот очередная заинтиресовававшая меня тема: ”xslt+zend=core dump”.

Суть проблемы заключается в том, что если у вас с утра в гороскопе было сказано, что будут проблемы, а вы не признаете гороскоп, или же вы поставили не на ту сферическую лошадку в вакууме, или же просто так и в добавок ко всему у вас есть PHP4, использующий свой extension xslt вместе с ZendOptimizer (как cli так и апач с mod_php) , то у вас заимеется возможность поближе подружится с софтом, который “выпадает в корку”. Причем, действительно не понятно (во всяком случае мне и пока) по какой причине такое происходит.

У меня это было на одной из машин, находившихся в моей юриздикции.

Об помощи, я даже спрашивал у “знатоков” в PHPClub‘е…

Sergey A. Gribchenko также напоролся на эту проблему, о чем он не поленился написать в рассылку UAFUG‘а. К тому времени методом научного тыка я уже нашел один способ, как заставить апач работать и не выпадать в кору, чем там же и поделился.

Алгоритм весьма прост.

Для того, что бы запустить сам апач, коментируем в соответсвующем ini-файле (/usr/local/etc/php.ini и /usr/local/etc/php/extensions.ini) строчку о XSLT-модуле.

/usr/local/etc/php/extensions.ini:

1 extension=mysqli.so
2 extension=snmp.so
3 extension=mbstring.so
4 extension=mysql.so
5 extension=pcre.so
6 extension=xml.so
7 ;extension=xslt.so
8 extension=bz2.so
9 extension=mcrypt.so
10 extension=session.so
11 extension=zlib.so
12 extension=openssl.so
13 extension=tokenizer.so
14 extension=pdf.so
15 extension=gd.so
16 extension=ctype.so
17 extension=sqlite.so

Стартуем апач, снимаем коментарий, и делаем

# apachectl graceful
/usr/local/sbin/apachectl graceful: httpd gracefully restarted

В результете получаем работающий mod_php c XSLT и ZendOptimizer’ом.

Недостаток налицо: при старте системы сам апач так не подымется, и не каждый duty-андроид в состоянии понять, что надо сделать и зачем.

Впоследствии, применив повторно метод, придуманый выдающимся немецким математиком и врачом Гансом Фридрихом Тыком, был обнаружен еще один способ. Этот еще проще. Внимание, сейчас будет смешно.

Строчку c extension=xslt.so необходимо записать ДВАЖДЫ:

1 extension=mysqli.so
2 extension=snmp.so
3 extension=mbstring.so
4 extension=mysql.so
5 extension=pcre.so
6 extension=xml.so
7 extension=xslt.so
8 extension=xslt.so
9 extension=bz2.so
10 extension=mcrypt.so
11 extension=session.so
12 extension=zlib.so
13 extension=openssl.so
14 extension=tokenizer.so
15 extension=pdf.so
16 extension=gd.so
17 extension=ctype.so
18 extension=sqlite.so

В результате, конечно же, получим при старте кучу warning’ов наподобии этого:

> php -v
PHP Warning: Function registration failed - duplicate name - xslt_create in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_sax_handlers in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_scheme_handlers in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_error_handler in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_base in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_encoding in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_log in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_process in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_error in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_errno in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_free in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_set_object in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_setopt in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_getopt in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_backend_version in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_backend_name in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - xslt_backend_info in Unknown on line 0
PHP Warning: xslt: Unable to register functions, unable to load in Unknown on line 0
PHP 4.4.4 with Suhosin-Patch 0.9.6 (cli) (built: Dec 27 2006 12:51:47)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
    with Zend Extension Manager v1.0.8, Copyright (c) 2003-2005, by Zend Technologies
    with Zend Optimizer v2.5.10, Copyright (c) 1998-2005, by Zend Technologies

но зато работает, и стартует без проблем со стартом системы.

Единственная неувязочка - при обновлении самого textproc/php4-xslt, система стирает содержимое о модуле из extensions.ini, о чем заблаговременно позаботились разработчики bsd.php.mk. Лечится или вынесением одной из строчек в сам php.ini, или жешче: установкой флага schg на файл.

# ls -lo /usr/local/etc/php/extensions.ini
-rw-r–r– 1 root wheel - 306 Jan 8 20:47 /usr/local/etc/php/extensions.ini
# chflags noschg /usr/local/etc/php/extensions.ini
# ls -lo /usr/local/etc/php/extensions.ini
-rw-r–r– 1 root wheel schg 306 Jan 8 20:47 /usr/local/etc/php/extensions.ini

Главное об этом потом не забыть, когда чего нить досталять нужно.

Posted in , | 2 comments |

Older posts: 1 2