vim script
Добрый день! Часто приходится сортировать питоновские списки в виме, например: a = [ 'aaa' , 'XXX', '','dsgrg', 'sdgsfdg', 'gfdgffg', 'dfgfdgw:swf', 'sdfsdg', 'sdfgsdg', 'sdgsg', 'sdgsfdg' , 'sdgdsg' ] а получить нужно: a = [ 'aaa', 'dfgfdgw:swf', 'dsgrg', 'gfdgffg', 'sdfgsdg', 'sdfsdg', 'sdgdsg', 'sdgsfdg', 'sdgsfdg', 'sdgsg', '', 'XXX' ] т.е. отступ двойной отступ, ширина не больше 80-ти символов Методом тыка написал скрипт который работает по вим7 Но его наверняка можно упросить и хотелось бы что бы он работал и под 6-м вимом Есть специалисты? Сам скрипт: === func! StrICmp(str1, str2) if (a:str1 ? a:str2) return 1 else return 0 endif endfunction let s:cmpref = function( 'StrICmp' ) fun! PySort() let ai_revert = 0 let tw_revert = 0 let ignorecase_revert = 0 if ! &autoindent let ai_revert = 1 set autoindent endif if &textwidth == 0 let tw_revert = 1 set textwidth=80 endif normal! gv"ay let text = matchstr(@a, '\s*\zs.*\ze\s*') let list = split(text, '\_s*,\_s*') call sort(list, s:cmpref) let @a = join(list, ', ') normal! gv"ap normal! >> normal! >> normal! gqq if ai_revert set noautoindent endif if tw_revert set textwidth=0 endif endfun map :call PySort() === -- Pavel PS: Сорри за оффтопик
печать русского из mozill'ы
Добрый день пытаюсь настроить печать из мозиллы по русски - не работает, вместо русского - пустое место как при печати в файл, так и на принтер (используется cups) искал в гугле, но ничего что бы помогло не нашёл, плохо искал? система debian unstable, mozilla 1.4-2
OT: iproute2
Добрый день! Необходимо каджому из N ip адресов выделить определённую фиксированую скорость Прочитал http://www.opennet.ru/docs/RUS/LARTC/ получается что я должен буду создать N классов и N фильтров? плохо читал? В идеале хочется маркировать пакеты с помощью iptables и иметь M (по количеству фиксированых скоростей) классов (и, наверное, фильтров) Это возможно? -- Pavel
Re: OT: iproute2
Yauhen Kharuzhy wrote: Необходимо каджому из N ip адресов выделить определённую фиксированую скорость Прочитал http://www.opennet.ru/docs/RUS/LARTC/ получается что я должен буду создать N классов и N фильтров? Да, естественно. Каждый класс, точнее дисциплина, присоединённая к краевому классу --- грубо говоря, один канал шейпера. Если в него свалить пакеты для нескольких адресов, то резаться будет только суммарная скорость. А в чём проблемы создать N классов? Их будет много и это как-то "не оптимально" :) В идеале хочется маркировать пакеты с помощью iptables и иметь M (по количеству фиксированых скоростей) классов (и, наверное, фильтров) Это возможно? Нет. Чтож, похоже самый эффективный вариант будет резать скорость фильтрами и использовать хеш-фильтры для повышения быстродействия ( http://www.opennet.ru/docs/RUS/LARTC/x1661.html ) -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: OT: iproute2
Nikolay Nikolaev wrote: Pavel Volkovitskiy пишет: Yauhen Kharuzhy wrote: Необходимо каджому из N ip адресов выделить определённую фиксированую скорость Прочитал http://www.opennet.ru/docs/RUS/LARTC/ получается что я должен буду создать N классов и N фильтров? Да, естественно. Каждый класс, точнее дисциплина, присоединённая к краевому классу --- грубо говоря, один канал шейпера. Если в него свалить пакеты для нескольких адресов, то резаться будет только суммарная скорость. А в чём проблемы создать N классов? Их будет много и это как-то "не оптимально" :) ESFQ тебя спасет Я так понимаю что ESFQ будет разделять весь канал поровну между разными ip, а надо каждому по 20кб/с (например) Или выделить для ESFQ rate=20*N ? Будет ли это лучше чем фильтры и хеш-фильтр? -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: OT: iproute2
Pavel Volkovitskiy wrote: Добрый день! Необходимо каджому из N ip адресов выделить определённую фиксированую скорость Сейчас настроил: для исходящего: tc qdisc del dev eth1 root tc qdisc add dev eth1 root handle 1: htb tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit tc class add dev eth1 parent 1:1 classid 1:10 htb \ rate 128kbit ceil 128kbit burst 4k tc filter add dev eth1 parent 1: protocol ip prio 1 u32 \ match ip dst 10.0.2.2/32 classid 1:10 для входящего: tc qdisc del dev eth1 handle : ingress tc qdisc add dev eth1 handle : ingress tc filter add dev eth1 parent : protocol ip prio 1 u32 \ match ip src \ 10.0.2.2/32 police rate 128kbit burst 4k drop flowid :1 Смущает то, что приходится для исходящего использовать htb, фичи которого мне совсем не нужны, а процессор нагружать будет хочется что-то вроде этого: tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 1: pfifo tc filter add dev eth0 parent 1: protocol ip prio 1 \ u32 match ip dst 10.0.2.2/32 \ police rate 128kbit burst 4k drop flowid 1: Но именно в таком виде не работает: # ./test_shaper.sh + tc qdisc del dev eth0 root + tc qdisc add dev eth0 root handle 1: pfifo + tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip dst 10.0.2.2/32 police rate 128kbit burst 4k drop flowid 1: RTNETLINK answers: Invalid argument We have an error talking to the kernel -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: OT: iproute2
abraham shapirus wrote: On Wed, 6 Sep 2006, Pavel Volkovitskiy wrote: PV> Смущает то, что приходится для исходящего использовать htb, фичи которого PV> мне совсем не нужны, а процессор нагружать будет Да что он там нагружать-то будет? Какой у тебя процессор и какой поток на выход идет? 10 mbit, Xeon 3.6 + там ещё нат будет крутиться Хочется сделать правильно :) -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: OT: iproute2
Pavel Volkovitskiy wrote: Pavel Volkovitskiy wrote: Добрый день! Необходимо каджому из N ip адресов выделить определённую фиксированую скорость Сейчас настроил: для исходящего: tc qdisc del dev eth1 root tc qdisc add dev eth1 root handle 1: htb tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit tc class add dev eth1 parent 1:1 classid 1:10 htb \ rate 128kbit ceil 128kbit burst 4k tc filter add dev eth1 parent 1: protocol ip prio 1 u32 \ match ip dst 10.0.2.2/32 classid 1:10 Хорошо, нагрузки я не замечу :) А с этим скриптом всё правильно? Я до этого момента tc не использовал, скрипт написан путём проб и ошибок, может что поправить надо? -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: OT: iproute2
Покотиленко Костик wrote: В Срд, 06/09/2006 в 10:56 +0400, Pavel Volkovitskiy пишет: Pavel Volkovitskiy wrote: Pavel Volkovitskiy wrote: Добрый день! Необходимо каджому из N ip адресов выделить определённую фиксированую скорость Сейчас настроил: для исходящего: tc qdisc del dev eth1 root tc qdisc add dev eth1 root handle 1: htb tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit tc class add dev eth1 parent 1:1 classid 1:10 htb \ rate 128kbit ceil 128kbit burst 4k tc filter add dev eth1 parent 1: protocol ip prio 1 u32 \ match ip dst 10.0.2.2/32 classid 1:10 Хорошо, нагрузки я не замечу :) А с этим скриптом всё правильно? Я до этого момента tc не использовал, скрипт написан путём проб и ошибок, может что поправить надо? Входящий трафик лучше ограничивать как исходящий на интерфейсе смотрящем в сторону клиента тем же HTB. Тут всё немного "перевёрнуто" вот схемка: INET - eth0 - NAT - eth1 - клиент т.е. сейчас htb на eth1 ограничевает "входящую" скорость для клиента у меня динамический SNAT, значит я не могу шейпить трафик от клиентов в инет на eth0? ведь ip уже реальные, статической связи локальный ip - прямой ip нет. или я не прав? -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: OT: iproute2
Покотиленко Костик wrote: В Срд, 06/09/2006 в 11:47 +0400, Pavel Volkovitskiy пишет: Покотиленко Костик wrote: В Срд, 06/09/2006 в 10:56 +0400, Pavel Volkovitskiy пишет: Pavel Volkovitskiy wrote: Pavel Volkovitskiy wrote: Добрый день! Необходимо каджому из N ip адресов выделить определённую фиксированую скорость Сейчас настроил: для исходящего: tc qdisc del dev eth1 root tc qdisc add dev eth1 root handle 1: htb tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit tc class add dev eth1 parent 1:1 classid 1:10 htb \ rate 128kbit ceil 128kbit burst 4k tc filter add dev eth1 parent 1: protocol ip prio 1 u32 \ match ip dst 10.0.2.2/32 classid 1:10 Хорошо, нагрузки я не замечу :) А с этим скриптом всё правильно? Я до этого момента tc не использовал, скрипт написан путём проб и ошибок, может что поправить надо? Входящий трафик лучше ограничивать как исходящий на интерфейсе смотрящем в сторону клиента тем же HTB. Тут всё немного "перевёрнуто" вот схемка: INET - eth0 - NAT - eth1 - клиент т.е. сейчас htb на eth1 ограничевает "входящую" скорость для клиента у меня динамический SNAT, значит я не могу шейпить трафик от клиентов в инет на eth0? ведь ip уже реальные, статической связи локальный ip - прямой ip нет. или я не прав? Можешь, сам так делаю. Вот тебе рецепт по твоей схеме. 1. Создаёш классы HTB для ограничения входящего и исходящего трафика. Причём, все ограничения будут "исходящими", для входящего дисциплины вешаешь на eth1, для исходящего на eth0. 2. Ставишь фильтры на марки файрвола с помощью tc filter fwmark. Например, исходящий трафик будет с маркой 0x10, входящий 0x20. 3. В файрволе маркируешь пакеты как тебе угодно с помощью: iptables -t mangle -A PREROUTING -s -i eth1 -j MARK --set-mark 0x10 iptables -t mangle -A PREROUTING -s -i eth1 -j RETURN iptables -t mangle -A PREROUTING -d -i eth0 -j MARK --set-mark 0x20 iptables -t mangle -A PREROUTING -d -i eth0 -j RETURN Поскольку пакеты маркируются в PREROURING, до SNAT'а они ещё не дошли, т.к. SNAT обрабатывается на выходе в POSTROUTING. Ещё один момент, в tc и iptables марки подаются в разном виде (десятичный|шеснадцатиричный), я точно не помню, проверь сам. Ок, спасибо, буду пробовать :) -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
бага в bash?
Добрый день Похоже нашлась бага в баше $ a="0"; for i in a b c; do a="1"; echo $i; done; echo $a a b c 1 $ a="0"; echo -e "a\nb\nc" | while read i; do a="1"; echo $i; done; echo $a a b c 0 Разве результат не должен получится одинаковым? GNU bash, version 3.00.16(1)-release -- Pavel
vim и пробелы в конце стр ок
Добрый день Где-то в этой рассылке был пример как в виме сделать так, что строка: "ффф ппп " выглядит как: "ффф ппп__" ни у кого не осталось? -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: vim и пробелы в конце ст рок
Pavel Volkovitskiy wrote: Добрый день Где-то в этой рассылке был пример как в виме сделать так, что строка: "ффф ппп " выглядит как: "ффф ппп__" ни у кого не осталось? Самое обидное что ведь было у меня, и работало, "лишние" пробелы показывались "_", но в самом файле оставались пробелами Поискал на vim.org, остановился на таком варианте: au Syntax *syn match Error /\s\+$/ | syn match Error /^\s* \t\s*/ а вариант с ":set lcs=trail:-" - показывает в статус баре текущую строку с подсвечиванием если я нажимаю ":l" что совсем не удобно -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: vim и пробелы в кон це строк
Pavel Ammosov wrote: On Mon, Sep 26, 2005 at 06:37:09PM +0400, Pavel Volkovitskiy wrote: Где-то в этой рассылке был пример как в виме сделать так, что строка: "ффф ппп " выглядит как: "ффф ппп__" ни у кого не осталось? Если надо просто видеть где концы строк, то :set list вполне покатит. Да, это оно! Если сказать :set lcs=trail:_ и :set list то работает, спасибо единственное что я не делал - это не говорил :set list -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: пропустить http-траф фик через фильтр
Dmitry E. Oboukhov wrote: никто не знает нет ли для фаерфокса/мозиллы плагина чтобы можно было регекспами койчто вырезать налету? по аналогии с privoxy Remove-It-Permanently. Оно самое. Только не по регекспам, а по XPath'у. жуткие эти XPath'ы regexp'ы бы было лучше, но реклама вырезалась, спасибо вопрос оставляю открытым :) http://bfilter.sourceforge.net/ Хочу сам использовать для подобных целей, но попробовать ещё не успел -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: light IDS
Alexander Gerasiov wrote: Господа, возник такой вопрос. Знает ли кто-нибудь утилиту, которая умела бы читать сислог (в фоне) и в случае, если там встречается некая подстрока, выполнять какое-то действие (запускать внешнюю команду). С одной стороны, ради такой простой задачи ставить большой IDS не хочется, а с другой стороны уж больно банальная идея и не верится, что никто ничего такого не написал уже. Или надо изобретать велосипед самому? Не знаю работает-ли это с syslog'ом, у меня syslog-ng: filter fCisco { host("^mrc[0-9]*"); }; destination dCisco { file("/var/log/cisco/$HOST.log"); }; destination dCiscoLogChecker { program("/opt/ciscoLogChecker/ciscoLogChecker3.sh"); }; log { source(src); filter(fCisco); destination(dCisco); destination(dCiscoLogChecker); }; Ничего перезапускать не нужно, весь вывод попадает на stdin скрипта, в котором: while read line do [ some test ] && echo "$line" | mail root done -- Pavel
Re: С чего начать?
[EMAIL PROTECTED] wrote: Доброго времени суток! Возникло желание сваять, так сказать, дистр на основе существующего для собственных нужд. Чтоб ничего лишнего не было. Не подскажете с чего необходимо начать? (упреки и ссылки приветствуются) http://www.rpath.com/ -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
cvs - =?UTF-8?B?0L3QtSDQv9C+0L3QuNC80LDRjg==?=
ÐÐÐÑÐÐ ÑÑÑÐ Ñ ÑÑÐ ÑÐÑ Ñ ÐÑÐÐ ÑÑÑÐÐ, ÐÐ Ñ ÐÐ ÐÐÐ ÐÐ ÐÐÐÑ ÐÐÐÑÑÑ ÐÐÐ Ñ ÐÐ ÐÑÐÐ: === $ cvs -f -d ":pserver:[EMAIL PROTECTED]:/home/kde" checkout -rKDE_3_4_BETA_2 kdelibs/README cvs [checkout aborted]: no such tag KDE_3_4_BETA_2 $ cvs -f -d ":pserver:[EMAIL PROTECTED]:/home/kde" checkout -rHEAD kdelibs/README U kdelibs/README $ cd kdelibs/ $ cvs update -rKDE_3_4_BETA_2 cvs [update aborted]: no such tag KDE_3_4_BETA_2 $ cvs log README | head RCS file: /home/kde/kdelibs/README,v Working file: README head: 2.35 branch: locks: strict access list: symbolic names:  KDE_3_4_0_BETA_2: 2.35  KDE_3_4_0_BETA_1: 2.34 cvs [log aborted]: received broken pipe signal === Ñ.Ð. ÑÑÐ Ñ Ñ ÐÑÑÑ, ÐÐ ÐÑÑ ÐÐ ÐÐÐÑ ÐÐ ÐÐÐÑÑÐÐÑÑÑ. -- Pavel
Re: cvs - =?KOI8-R?Q?=CE=C5_=D0=CF=CE=C9=CD=C1=C0?=
Eugene Konev wrote: [ Тут прополз буквоед... ] PV> -rKDE_3_4_BETA_2 kdelibs/README cvs [checkout aborted]: no such tag ^^ [ Тут прополз буквоед... ] PV> symbolic names: PV> KDE_3_4_0_BETA_2: 2.35 [ Тут прополз буквоед... ] Точно!!!)) -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
xls & encoding
ÐÐÐÑÑÐ ÐÐÐÑ ÐÑÑÑ xls Ñ ÐÑÐ, ÐÐÑÐÑÑÐ ÐÑÐÑÐÐ ÐÑÐÐÐÑÑÑ Ð ÐÐÐÑÑÐÐÐ Ñ, ÐÐ catdoc -s cp1251 m.xls ÐÑÐÐÐÑ ÐÐÐ ÐÑÑÐÐ Ð ÐÐ ÑÐÐ-ÑÐ ÐÐÐÑÐÐÐÑÑ ÑÐ ÑÑÐ ÐÑ ÐÐ ÐÐÑÑÐÐÑÐÐ ÐÑÐÑÑÐÐÐÑÑ Ð ÐÑÐÑÐ? -- Pavel -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
система мониторинга
Добрый день Ищу систему мониторинга с поддержкой алармов, для простого отображения графиков вроде бы неплоха cacti (есть в дистрибутиве) BigSister (http://bigsister.graeff.com/home.html) - судя по описнию умеет алармы, но прежде чем заниматься установкой, настройкой.. может уже кто-то смотрел, выбирал? что посоветуете? Из требований - веб интерфейс и работа на linux'е. Желательно opensource -- Pavel Volkovitskiy <[EMAIL PROTECTED]>
cdbs
Пытаюсь разобраться с cdbs, пока получается не очень, документации почти нет... Из одного исходника собираются 2 пакета, причём для каждого из них нужны свои ключи для configure DEB_CONFIGURE_EXTRA_FLAGS - это для всех сразу есть ли возможность указать ключи для каждого пакета? -- Pavel
cups и печать книжк ой
Добрый день Можно ли в cups настроить дополнительный принтер, при печати на который документ будет печататься книжкой, при условии что принтер дуплекс не умеет? т.е. нужна будет пауза для того что бы переложить листы в лоток -- Pavel