vim script

2006-07-24 Пенетрантность Pavel Volkovitskiy

Добрый день!

Часто приходится сортировать питоновские списки в виме, например:
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'ы

2003-08-04 Пенетрантность Pavel Volkovitskiy
Добрый день

пытаюсь настроить печать из мозиллы по русски - не работает, вместо
русского - пустое место как при печати в файл, так и на принтер
(используется cups)

искал в гугле, но ничего что бы помогло не нашёл, плохо искал?

система debian unstable, mozilla 1.4-2





OT: iproute2

2006-09-04 Пенетрантность Pavel Volkovitskiy

Добрый день!

Необходимо каджому из N ip адресов  
выделить определённую фиксированую  
скорость


Прочитал http://www.opennet.ru/docs/RUS/LARTC/
получается что я должен буду создать N  
классов и N фильтров? плохо читал?


В идеале хочется маркировать пакеты с  
помощью iptables и иметь M (по количеству  
фиксированых скоростей) классов (и,  
наверное, фильтров)


Это возможно?

--  
Pavel

Re: OT: iproute2

2006-09-04 Пенетрантность Pavel Volkovitskiy

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

2006-09-05 Пенетрантность Pavel Volkovitskiy

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

2006-09-05 Пенетрантность Pavel Volkovitskiy

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

2006-09-05 Пенетрантность Pavel Volkovitskiy

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

2006-09-05 Пенетрантность 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 не использовал, 
скрипт написан путём проб и ошибок, может что поправить надо?


--
Pavel



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: OT: iproute2

2006-09-06 Пенетрантность 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 нет. или я не прав?


--
Pavel


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: OT: iproute2

2006-09-06 Пенетрантность Pavel Volkovitskiy

Покотиленко Костик 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?

2005-09-15 Пенетрантность Pavel Volkovitskiy




Добрый день


Похоже нашлась бага в баше

$ 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 и пробелы в конце стр ок

2005-09-26 Пенетрантность Pavel Volkovitskiy

Добрый день


Где-то в этой рассылке был пример как в виме сделать так, что строка:
"ффф ппп  "
выглядит как:
"ффф ппп__"

ни у кого не осталось?

--
Pavel


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: vim и пробелы в конце ст рок

2005-09-27 Пенетрантность Pavel Volkovitskiy

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 и пробелы в кон це строк

2005-09-27 Пенетрантность Pavel Volkovitskiy

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-траф фик через фильтр

2005-11-18 Пенетрантность Pavel Volkovitskiy

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

2006-01-31 Пенетрантность Pavel Volkovitskiy

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: С чего начать?

2006-02-10 Пенетрантность Pavel Volkovitskiy

[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==?=

2005-02-08 Пенетрантность Pavel Volkovitskiy




ÐÐÐÑÐÐ ÑÑÑÐ

Ñ ÑÑÐ ÑÐÑ Ñ ÐÑÐÐ ÑÑÑÐÐ, ÐÐ Ñ ÐÐ ÐÐÐ ÐÐ ÐÐÐÑ ÐÐÐÑÑÑ ÐÐÐ Ñ ÐÐ
ÐÑÐÐ:

===
$ 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?=

2005-02-08 Пенетрантность Pavel Volkovitskiy
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

2005-05-16 Пенетрантность Pavel Volkovitskiy
ÐÐÐÑÑÐ ÐÐÐÑ

ÐÑÑÑ xls Ñ  ÐÑÐ, ÐÐÑÐÑÑÐ 
ÐÑÐÑÐÐ ÐÑÐÐÐÑÑÑ Ð
ÐÐÐÑÑÐÐÐ Ñ,
ÐÐ catdoc -s cp1251 m.xls ÐÑÐÐÐÑ ÐÐÐ ÐÑÑÐÐ
Ð ÐÐ ÑÐÐ-ÑÐ ÐÐÐÑÐÐÐÑÑ ÑÐ ÑÑÐ ÐÑ ÐÐ 
ÐÐÑÑÐÐÑÐÐ ÐÑÐÑÑÐÐÐÑÑ Ð ÐÑÐÑÐ?

-- 
Pavel


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



система мониторинга

2003-11-14 Пенетрантность Pavel Volkovitskiy
Добрый день

Ищу систему мониторинга с поддержкой алармов, для простого отображения
графиков вроде бы неплоха cacti (есть в дистрибутиве)
BigSister (http://bigsister.graeff.com/home.html) - судя по описнию
умеет алармы, но прежде чем заниматься установкой, настройкой.. может
уже кто-то смотрел, выбирал? что посоветуете?
Из требований - веб интерфейс и работа на linux'е. Желательно opensource

-- 
Pavel Volkovitskiy <[EMAIL PROTECTED]>


cdbs

2004-11-26 Пенетрантность Pavel Volkovitskiy


Пытаюсь разобраться с cdbs, пока получается не очень, документации почти 
нет...


Из одного исходника собираются 2 пакета,
причём для каждого из них нужны свои ключи для configure

DEB_CONFIGURE_EXTRA_FLAGS - это для всех сразу
есть ли возможность указать ключи для каждого пакета?

--
Pavel


cups и печать книжк ой

2004-12-08 Пенетрантность Pavel Volkovitskiy

Добрый день

Можно ли в cups настроить дополнительный принтер, при печати на который 
документ будет печататься книжкой, при условии что принтер дуплекс не 
умеет? т.е. нужна будет пауза для того что бы переложить листы в лоток


--
Pavel