<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7514425272082487617</id><updated>2010-09-06T22:29:50.581+04:00</updated><title type='text'>dels_how-to's</title><subtitle type='html'>Приложение *nix направленности, отражающее мои успехи, мысли, деяния в мире FOSS.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.delayer.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default?orderby=updated'/><link rel='alternate' type='text/html' href='http://www.delayer.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default?start-index=26&amp;max-results=25&amp;orderby=updated'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>125</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-7821999076197194817</id><published>2010-09-06T22:29:00.000+04:00</published><updated>2010-09-06T22:29:50.588+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='кодировки'/><title type='text'>Нечитаемые имена файлов внутри zip-архива</title><content type='html'>Дельно о корректной распаковке за-zip-ленных в виндах архивах с левой кодировкой - &lt;a href="http://debback.blogspot.com/2010/08/unzip-cp1251-utf-8.html"&gt;тут&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-7821999076197194817?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/7821999076197194817/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=7821999076197194817' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/7821999076197194817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/7821999076197194817'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/09/zip.html' title='Нечитаемые имена файлов внутри zip-архива'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-1232047526486868457</id><published>2010-09-03T16:50:00.000+04:00</published><updated>2010-09-03T16:50:58.293+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='inet'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='МТС'/><title type='text'>МТС Коннект</title><content type='html'>&lt;div style="text-align: justify;"&gt;Поговорим о 3G/EDGE/GPRS USB модемах, раздаваемых "большой тройкой". Сейчас речь пойдет о Huawei E1550, но, думаю, для других моделей все нижесказанное тоже актуально, за исключением разве что idProduct'а и idVendor'а, которые можно найти в Сети для каждой железки. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Проблема работы этих устройств в линуксах заключается, по большому счету, в том, что при подключении девайс определяется как CD-ROM, на котором лежит софт для подключения и работы в винде. После установки он сам переключает (flip-flop) девайс на "режим модема". У linux же такое переключение возможно, если работать с модемом софтинкой Mobile Partner от Huawei. Но она, на мой взгляд, уж сильно прожорливая и неторопливая, что особо нехорошо для мобильных устройств. Итак, основная задача - перевести девайс в режим модема, заимев в результате &lt;b&gt;/dev/ttyUSB0&lt;/b&gt;, через который &lt;b&gt;pppd&lt;/b&gt; и&amp;nbsp; будет "звонить". В случае Ubuntu все просто:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;sudo apt-get install usb-modeswitch&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Свежие версии "знают" о &lt;b&gt;Huawei E1550&lt;/b&gt;, поэтому добавлять ничего не придется. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Для того, чтобы модем переключался в нужный режим автоматически при подключении, создадим правило udev: &lt;b&gt;/etc/udev/rules.d/45-huawei1550.rules&lt;/b&gt; следующего содержания:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;SUBSYSTEM=="usb", SYSFS{idProduct}=="1446", SYSFS{idVendor}=="12d1",  RUN+="/usr/sbin/usb_modeswitch -v 0x12d1 -p 0x1446 -m 0x01 -M  55534243000000000000000000000011060000000000000000000000000000"&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Таким образом, если udev видит подключенное устройство с совпадающими параметрами, он выполняет соответствующую команду.&lt;/div&gt;&lt;div style="text-align: justify;"&gt; Для проверки следует переподключить модем и поглядеть вывод &lt;b&gt;lsusb&lt;/b&gt;, который должен отрапортовать о наличии модема.&lt;/div&gt;&lt;blockquote&gt;lsusb | grep Huawei&lt;br /&gt;Bus 003 Device 004: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;В случае с Debian Lenny действий придется совершить чуть больше, ибо пакет &lt;b&gt;usb-modeswitch&lt;/b&gt; доступен только для sid. Не беда, соберем сами. Алгоритм простой: качаем исходники, распаковываем, собираем и устанавливаем. Предварительно полезно прочитать информацию на &lt;a href="http://www.draisberghof.de/usb_modeswitch/"&gt;страничке&lt;/a&gt; продукта, выяснив, к примеру, что для сборки необходимо установить пакеты &lt;b&gt;tcl&lt;/b&gt; и &lt;b&gt;libusb-dev&lt;/b&gt;, а также pppconfig для последующей настройки подключения.&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;apt-get install tcl libusb-dev pppconfig&lt;/div&gt;&lt;div style="text-align: justify;"&gt;mkdir modswitch; cd modeswitch&lt;/div&gt;&lt;div style="text-align: justify;"&gt;wget -c http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-1.1.4.tar.bz2&lt;/div&gt;&lt;div style="text-align: justify;"&gt;tar zjvf&amp;nbsp; usb-modeswitch-1.1.4.tar.bz2&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cd&amp;nbsp; usb-modeswitch-1.1.4&lt;/div&gt;&lt;div style="text-align: justify;"&gt;make install &lt;/div&gt;&lt;div style="text-align: justify;"&gt;cd ..&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;wget -c http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-20100826.tar.bz2&lt;/div&gt;&lt;div style="text-align: justify;"&gt;tar xjvf usb-modeswitch-data.tar.bz2&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cd&amp;nbsp; usb-modeswitch-data&lt;/div&gt;&lt;div style="text-align: justify;"&gt;make install &lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Установщик сам "договорится" с udev-ом, поэтому переключение в режим модема при подключении девайса должно работать сразу, что и следует&amp;nbsp; проверить после окончания установки usb-modeswitch. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Теперь осталось лишь настроить ppp-подключение. Запускаем &lt;b&gt;pppconfig&lt;/b&gt;, отвечаем на вопросы, к примеру, так:&amp;nbsp;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;Create -&amp;gt; mts -&amp;gt; dynamic -&amp;gt; pap -&amp;gt; mts -&amp;gt; mts -&amp;gt; 115200 -&amp;gt; tone -&amp;gt; *99# -&amp;gt; Нет -&amp;gt; /dev/ttyUSB0 -&amp;gt; Finished&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Все, осталось запустить соединение:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;pppd call mts nodetach&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Все должно работать.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Один раз, на убунте, столкнулся с ошибкой: pppd отключался с таким отлупом: &lt;/div&gt;&lt;blockquote&gt;Protocol-Reject for 'Compression Control Protocol' (0x80fd) received&lt;br /&gt;rcvd  [IPCP ConfNak id=0x1 &lt;ms-dns1 0.0.0.0=""&gt; &lt;ms-dns2 0.0.0.0=""&gt; &lt;ms-wins 0.0.0.0=""&gt; &lt;ms-wins 0.0.0.0=""&gt;]&lt;br /&gt;sent [IPCP ConfReq id=0x2 &lt;compress 01="" 0f="" vj=""&gt; &lt;addr 0.0.0.0=""&gt;  &lt;ms-dns1 0.0.0.0=""&gt; &lt;ms-dns2 0.0.0.0=""&gt;]&lt;br /&gt;Modem hangup&lt;br /&gt;Connection terminated.&lt;/ms-dns2&gt;&lt;/ms-dns1&gt;&lt;/addr&gt;&lt;/compress&gt;&lt;/ms-wins&gt;&lt;/ms-wins&gt;&lt;/ms-dns2&gt;&lt;/ms-dns1&gt;&lt;/blockquote&gt;Полечилось явным указанием точки входа в &lt;b&gt;/etc/chatscripts/mts&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;# modeminit&lt;br /&gt;'' ATZ&lt;br /&gt;''  AT+CGDCONT=1,\"IP\",\"internet.mts.ru\"&lt;/blockquote&gt;Проверка скорости на &lt;a href="http://internet.yandex.ru/"&gt;internet.yandex.ru&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://internet.yandex.ru/"&gt;&lt;img border="0" src="http://internet.yandex.ru/informer/horizontal/1334/350/" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://internet.yandex.ru/"&gt;Я.Интернет. Измерьте вашу скорость.&lt;/a&gt;&lt;br /&gt;То бишь - HSDPA имеет место быть худо-бедно ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-1232047526486868457?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/1232047526486868457/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=1232047526486868457' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/1232047526486868457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/1232047526486868457'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/09/blog-post.html' title='МТС Коннект'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-7063758784435977731</id><published>2010-08-12T18:09:00.001+04:00</published><updated>2010-08-12T18:13:23.039+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='netlogon'/><category scheme='http://www.blogger.com/atom/ns#' term='samba'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>samba + централизованное управление монтированием сетевых ресурсов</title><content type='html'>&lt;div style="text-align: justify;"&gt;Некоторое упрощение и централизация операций с пользовательскими сетевыми дисками...&lt;br /&gt;Настройки самбы:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;security = user &lt;/div&gt;&lt;div style="text-align: justify;"&gt;[homes]&lt;br /&gt;comment = Home Directories&lt;br /&gt;browseable = no&lt;br /&gt;path = /home/%u/net&lt;/div&gt;&lt;div style="text-align: justify;"&gt;read only = no&lt;br /&gt;create mask = 0770&lt;br /&gt;directory mask = 0770&lt;br /&gt;valid users = %S&lt;br /&gt;[netlogon]&lt;br /&gt;comment = Network Logon Service&lt;br /&gt;path = /home/%u/netlogon&lt;br /&gt;guest ok = no&lt;/div&gt;&lt;div style="text-align: justify;"&gt;read only = yes&lt;br /&gt;browseable = no&lt;br /&gt;share modes = no&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Скрипт подключения сетевых дисков (для каждого win-пользователя) &lt;b&gt;l_script.cmd&lt;/b&gt;:&amp;nbsp;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;@echo off&lt;/div&gt;&lt;div style="text-align: justify;"&gt;net use z: \\server\share1 /y&lt;/div&gt;&lt;div style="text-align: justify;"&gt;net use y: \\server\share2 /y&lt;/div&gt;&lt;div style="text-align: justify;"&gt;...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;net use b: \\server\shareN /y&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Настройки на рабочей станции пользователя:&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Записанный в автозагрузку скрипт обращения к удаленному скрипту (&lt;b&gt;l_script.cmd&lt;/b&gt; на сервере) &lt;b&gt;login.cmd&lt;/b&gt;:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;@echo off&lt;/div&gt;&lt;div style="text-align: justify;"&gt;net time \\server /set /y&lt;/div&gt;&lt;div style="text-align: justify;"&gt;call \\server\netlogon\l_script.cmd&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Таким образом, при логине win-пользователя в систему вызывается &lt;b&gt;login.cmd&lt;/b&gt;, который синхронизирует время с сервером и вызывает оттуда скрипт &lt;b&gt;l_script.cmd&lt;/b&gt;, который, в свою очередь, монтирует заданные для этого пользователя шары. Для того, чтобы при запуске системы окно консоли не вызывало испуг пользователя (с последующим звонком админу ;) ), сворачиваем его в панель задач: правый клик на ярлыке .cmd-файла в Автозагрузке - Свойства - Ярлык - пункт Окно - Свернутое в значок.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;P. S.: Описанный механизм будет работать без участия пользователя лишь в случае, если учетная запись пользователя на рабочей станции полностью совпадает с учетной записью на сервере. Если по каким-то причинам это невозможно, то следует поменять скрипт &lt;b&gt;login.cmd&lt;/b&gt; следующим образом:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;@echo off&lt;/div&gt;&lt;div style="text-align: justify;"&gt;net time \\server /set /y&lt;/div&gt;&lt;div style="text-align: justify;"&gt;net use p: \\server\netlogon /USER:username password&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;call p:\l_script.cmd&lt;/div&gt;net use p: /delete /y&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-7063758784435977731?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/7063758784435977731/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=7063758784435977731' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/7063758784435977731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/7063758784435977731'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/08/samba.html' title='samba + централизованное управление монтированием сетевых ресурсов'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-3127872833075864256</id><published>2010-08-12T17:48:00.000+04:00</published><updated>2010-08-12T17:48:38.721+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><category scheme='http://www.blogger.com/atom/ns#' term='samba'/><title type='text'>samba + ldap</title><content type='html'>&lt;div style="text-align: justify;"&gt;Оставлю здесь ключевые грабли по проекту "Авторизация пользователей samba в LDAP". Во-первых, ссылка на описание переменных самбы - &lt;a href="http://www.samba.org/samba/docs/using_samba/ch06.html#samba2-CHP-6-TABLE-2"&gt;вот&lt;/a&gt; или &lt;a href="http://www.linuxtopia.org/online_books/network_administration_guides/using_samba_book/ch04_01_07.html"&gt;вот&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Далее, по конфигу: &lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;netbios name = SERVER&lt;/div&gt;&lt;div style="text-align: justify;"&gt;security = user&lt;/div&gt;&lt;div style="text-align: justify;"&gt;passdb backend = ldapsam:ldap://127.0.0.1&lt;br /&gt;ldap passwd sync = no&lt;br /&gt;ldap suffix = dc=gmz,dc=local&lt;br /&gt;ldap user suffix = ou=users&lt;br /&gt;ldap group suffix = ou=groups&lt;br /&gt;ldap admin dn = cn=admin,dc=gmz,dc=local&lt;br /&gt;enable privileges = no&lt;br /&gt;obey pam restrictions = no&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;domain logons = yes&lt;br /&gt;domain master = yes&lt;br /&gt;local master = yes&lt;/div&gt;&lt;div style="text-align: justify;"&gt;#для замуты с логонскриптами &lt;/div&gt;&lt;div style="text-align: justify;"&gt;logon path = \\%N\%U\profile&lt;/div&gt;&lt;div style="text-align: justify;"&gt;logon drive = P:&lt;br /&gt;logon home = \\%N\%U&lt;/div&gt;&lt;div style="text-align: justify;"&gt;logon script = l_script.bat&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Чтобы самба начала ходить к лдапу, ей нужно дать пароль админской записи: &lt;b&gt;smbpasswd -w "ldap_admin_password"&lt;/b&gt; &lt;/div&gt;&lt;div style="text-align: justify;"&gt;По дереву LDAP'a:&amp;nbsp; дабы пользователь мог авторизовываться через ldap на самба-шарах, нужно:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1) после его создания дать ему objectClass'ы sambaSamAccount (возможно после добавления include samba.schema в slapd.conf) и shadowAccount;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2) добавить аттрибут shadowLastChange (для того, чтобы заработала смена пароля через smbpasswd)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3) добавить пользователя непосредственно в самбу: &lt;b&gt;smbpasswd user&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Также следует установить пакеты smbldap-tools и samba-doc. Там есть и тема для LDAP'а или некие необходимые скрипты (в основном, похоже, интересны для построения домена).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-3127872833075864256?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/3127872833075864256/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=3127872833075864256' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/3127872833075864256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/3127872833075864256'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/08/samba-ldap.html' title='samba + ldap'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-1335435703041707096</id><published>2010-08-11T12:16:00.000+04:00</published><updated>2010-08-11T12:16:47.465+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><category scheme='http://www.blogger.com/atom/ns#' term='skel'/><title type='text'>LDAP + skel = проблемы создания домашнего каталога</title><content type='html'>&lt;div style="text-align: justify;"&gt;Наткнулся на интересные грабли: при настройке ldap-аутентификации (Lenny) у ldap-пользователя при первом логине должен создаваться домашний каталог с содержимым &lt;b&gt;/etc/skel/&lt;/b&gt;. Это делается благодаря следующим настройкам &lt;b&gt;/etc/pam.d/common-session&lt;/b&gt;:&lt;/div&gt;&lt;blockquote&gt;session&amp;nbsp;&amp;nbsp;&amp;nbsp; sufficient&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pam_unix.so&lt;br /&gt;session&amp;nbsp;&amp;nbsp;&amp;nbsp; sufficient&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pam_ldap.so use_first_pass&lt;br /&gt;session    required       pam_mkhomedir.so skel=/etc/skel/ umask=0077&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Затыка в том, что пользователь авторизуется, входит, но домашнюю директорию не получает (работает с HOME=/). Выяснилось, что так как sufficient означает "Request is immediately allowed if this line succeeds." (&lt;a href="http://onlamp.com/pub/a/bsd/2003/02/20/FreeBSD_Basics.html"&gt;отсюда&lt;/a&gt;), то до последней записи модуль почему-то не доходит (хотя по уму вроде как должен, ведь required стоит). Так или иначе, если мы перенесем запись для skel-а выше:&lt;/div&gt;&lt;blockquote&gt;session    required       pam_mkhomedir.so skel=/etc/skel/ umask=0077&lt;br /&gt;session&amp;nbsp;&amp;nbsp;&amp;nbsp; sufficient&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pam_unix.so&lt;br /&gt;session&amp;nbsp;&amp;nbsp;&amp;nbsp; sufficient&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  pam_ldap.so use_first_pass&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;то работоспособность восстанавливается - домашняя директория ldap-пользователя создается. То ли баг, то ли фича, фиг знает ;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-1335435703041707096?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/1335435703041707096/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=1335435703041707096' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/1335435703041707096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/1335435703041707096'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/08/ldap-skel.html' title='LDAP + skel = проблемы создания домашнего каталога'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-5660318369194117697</id><published>2010-08-09T15:54:00.000+04:00</published><updated>2010-08-09T15:54:16.442+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progressbar'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='copy'/><category scheme='http://www.blogger.com/atom/ns#' term='cp'/><title type='text'>Копирование в консоли с прогрессбаром</title><content type='html'>&lt;div style="text-align: justify;"&gt;Каждый, кто копировал/архивировал/дампил что-то большое консольно, задумывался "а когда ж все это завершится?". То есть мечтал о прогрессбаре. Найденные на просторах Хабра &lt;a href="http://habrahabr.ru/blogs/linux/65384/"&gt;pipeviewer (pv)&lt;/a&gt; и скрипт &lt;a href="http://habrahabr.ru/blogs/linux/99187/"&gt;bar&lt;/a&gt; отчасти проблему решают (в плане архивов и дампов), однако для меня наиболее частой операцией подобного рода является копирование папок с большим количеством файлов, опрогрессбарить которое ни тому, ни другому не под силу. И найденный позже рецепт копировать &lt;a href="http://www.samba.org/rsync/"&gt;rsync&lt;/a&gt;'ом (rsync -r --progress /path/from/ /path/to/) также не стал панацеей, так как он показывает прогресс каждого файла, а не общий, как хотелось бы. В итоге решение все же &lt;a href="http://www.beatex.org/web/advancedcopy.html"&gt;есть&lt;/a&gt;. Модифицированный GNU cp под рабочим названием Advanced Copy имеет дополнительную опцию -g, при указании которой программа рисует прогрессбар процесса копирования файла, а если речь идет о директории, то -gR рисует уже два прогрессбара, для текущего копируемого файла и общего процесса копирования в целом.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Для работы вполне достаточно взять &lt;a href="http://www.beatex.org/web/advcopy/cp-0.2b.bz2"&gt;готовый&lt;/a&gt; бинарник и положить куда-нибудь в $PATH (разработчики рекомендуют заменить стандартный cp, я же просто положил его рядышком, обозвав cpbar'ом ;)), предварительно разархивировав, конечно, и поставив бит исполнения (+x).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Если вдруг не заработало, или это не ваш метод, на странице проекта можно получить инструкцию о том, как пропатчить GNU cp и скомпилировать модифицированный бинарь самостоятельно.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-5660318369194117697?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/5660318369194117697/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=5660318369194117697' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/5660318369194117697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/5660318369194117697'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/08/blog-post.html' title='Копирование в консоли с прогрессбаром'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-6157630117473114497</id><published>2010-08-05T17:31:00.000+04:00</published><updated>2010-08-05T17:31:56.399+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2000'/><category scheme='http://www.blogger.com/atom/ns#' term='hint'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='terminal'/><title type='text'>Если закончились временные лицензии на Windows 2000 Server...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Внезапная жопа приключилась у одного из клиентов - с рабочей станции (WinXP) перестало пускать на терминальный сервер (Win2k) с отмазой "из-за сетевой ошибки". Вскрытие показало, что виной всему было то, что старый недобрый двухтысячный сервер не имел активированного сервера лицензирования. А временная лицензия, выданная сабжевому компьютеру, внезапно кончилась.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Конечно, правильным путем решения такой проблемы является регистрация сервера лицензиования с последующей выдачей постоянных лицензий всем пользователям. Однако в полевых условиях это сделать возможным не представилось. Посему запоминаем временный хинт: удалить на клиентской машине ветку реестра &lt;b&gt;HKLM\SOFTWARE\Microsoft\MSLicensing&lt;/b&gt;. Должно полегчать. До кучи я еще изменил имя компьютера, дабы временный сертификат выдался и сохранился в базе с другим именем.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;В общем, мораль - на забываем о временных рамках ;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-6157630117473114497?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/6157630117473114497/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=6157630117473114497' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/6157630117473114497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/6157630117473114497'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/08/windows-2000-server.html' title='Если закончились временные лицензии на Windows 2000 Server...'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-4426014084227300085</id><published>2010-07-25T19:03:00.000+04:00</published><updated>2010-07-25T19:03:36.641+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='radiotray'/><title type='text'>Прослушивание web stream'ов</title><content type='html'>&lt;div style="text-align: justify;"&gt;После появляения относительно толстого интернета я бросил качать всяческие радиошоу, а начал слушать музыку онлайн. На сегодяшний день основной музтрафик мне делает &lt;a href="http://ah.fm/"&gt;AH.fm&lt;/a&gt; и &lt;a href="http://etn.fm/"&gt;ETN.fm&lt;/a&gt;. Иногда еще &lt;a href="http://di.fm/"&gt;DI.fm&lt;/a&gt;, но у них поток хилый, всего в 128kbps, против 192kbps и 256kbps у вышеназванных ресурсов соответственно. Но пост не об этом.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Сначала я слушал радио через &lt;a href="http://amarok.kde.org/"&gt;amarok&lt;/a&gt;. Но чем дальше, тем он тяжелее, и ждать его запуска мне малость поднадоело. Сей плаер замечательно подходит для прослушивания и управления сколь угодно большой локальной коллекции, однако для двух-трех вебстримов - слонопотамен, к сожалению.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt; Потом был &lt;a href="http://eu.real.com/realplayer"&gt;realplayer&lt;/a&gt;. Запускается шустро, запомненные в Favourite url-ы стримов транслирует без вопросов. Плюс есть приятная (пусть и не особо используемая на практике) опция Live Pause (можно остановить прослушивание в любой момент, и затем продолжить с того же места, без перерыва трансляции). Однако сунувших как-то в монитор ресурсов, узрел, что все равно памяти сия софтинка уедает будь здоров.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;В итоге после прочесывания apt-cache search-ем репозитория Sid-а была найдена панацея. Имя ей - &lt;a href="http://radiotray.sourceforge.net/"&gt;radiotray&lt;/a&gt;. Суть - имеется иконка в трее, по левому клику - список запомненных радиостанций, по правому - настройки этого списка и выход. Всё! Никаких тебе окон, вопросов, диалогов..ничего. Чистой воды unixway - проигрывать вебстримы и больше ничего.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-4426014084227300085?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/4426014084227300085/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=4426014084227300085' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/4426014084227300085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/4426014084227300085'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/07/web-stream.html' title='Прослушивание web stream&apos;ов'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-4995161661337882632</id><published>2010-06-30T16:41:00.005+04:00</published><updated>2010-06-30T16:48:34.284+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iconv'/><category scheme='http://www.blogger.com/atom/ns#' term='incron'/><title type='text'>Перекодировка выгрузок клиент-банка на лету (iconv + incrond)</title><content type='html'>&lt;div style="text-align: justify;"&gt;Думал, что писал об этом, а оказалось, что думал о том, чтобы написать ;) Так или иначе, имеется небольшой скриптик, который в связке с &lt;a href="http://www.delayer.org/2009/09/inotifywait-incron.html"&gt;когда-то&lt;/a&gt; упомянутым &lt;a href="http://inotify.aiken.cz/?section=incron&amp;amp;page=about&amp;amp;lang=en"&gt;incron&lt;/a&gt;'ом занимается перекодировкой (практически "на лету") выгружаемой информации из клиент-банка из UTF-8 в CP-1251 для последующей загрузки оной в 1Сv8.1. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Создать его пришлось вследствие нежелания 1С-ки кушать выгруженные из клиент-банка (java-апплет ibank2, доступ через Firefox) данные, ибо они отдаются и сохраняются в UTF-8, тогда как 1C-ка (запущена под &lt;a href="http://etersoft.ru/wine/"&gt;Wine@Etersoft&lt;/a&gt;) понимает только CP-1251.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Описанный костыль работает следующим образом: демоном incrond мониторится папочка:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;incrontab -l&lt;br /&gt;/exchange/банк/экспорт IN_CLOSE_WRITE /usr/local/bin/bank_tr_ex.sh $#&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Как только в ней сохраняется файл (флаг IN_CLOSE_WRITE), запускается скрипт bank_tr_ex.sh:&lt;/div&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;ICONV=/usr/bin/iconv&lt;br /&gt;DIR=/home/exchange/банк/экспорт&lt;br /&gt;OLDDIR=/home/exchange/банк/экспорт/old&lt;br /&gt;FILE="$@"&lt;br /&gt;ENC=`enca -i $DIR/$FILE`&lt;br /&gt;&lt;br /&gt;if [ "$ENC" == "UTF-8" ]; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #echo $FILE&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mv $DIR/$FILE $OLDDIR/$FILE.utf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ICONV -o $OLDDIR/$FILE -f UTF-8 -t CP1251 $OLDDIR/$FILE.utf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mv $OLDDIR/$FILE $DIR/$FILE&lt;br /&gt;fi&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Задача скрипта: забекапить загруженный файл ($FILE.utf), транскодировать его в CP1251, подсунуть перекодированный файл вместо изначального.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;После этого 1С-ка кушает выгрузку за милую душу ;) &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-4995161661337882632?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/4995161661337882632/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=4995161661337882632' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/4995161661337882632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/4995161661337882632'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/06/iconv-incrond.html' title='Перекодировка выгрузок клиент-банка на лету (iconv + incrond)'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-2504159160353868113</id><published>2010-06-23T17:10:00.000+04:00</published><updated>2010-06-23T17:10:47.582+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='www'/><category scheme='http://www.blogger.com/atom/ns#' term='apache2'/><category scheme='http://www.blogger.com/atom/ns#' term='редирект'/><title type='text'>Простейший редирект для www</title><content type='html'>&lt;div style="text-align: justify;"&gt;Задачка: сделать редирект с http://localhost/ на http://localhost/blah, желательно быстро и просто. Возможные решения:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1) index.html:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;lt;META HTTP-EQUIV="REFRESH" CONTENT="0.2;URL=http://localhost/blah &amp;gt;&lt;/div&gt;&lt;/blockquote&gt;0.2 - время в секундах до редиректа&lt;br /&gt;2) index.php:&lt;br /&gt;&lt;blockquote&gt;&amp;lt;?&lt;br /&gt;header ('Location: http://localhost/blah');&lt;br /&gt;&amp;nbsp;&amp;gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-2504159160353868113?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/2504159160353868113/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=2504159160353868113' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/2504159160353868113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/2504159160353868113'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/06/www.html' title='Простейший редирект для www'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-3134660379880521399</id><published>2010-06-22T16:19:00.000+04:00</published><updated>2010-06-22T16:19:50.759+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='apt-key'/><title type='text'>GPG-ключ репозитория</title><content type='html'>&lt;div style="text-align: justify;"&gt;Елы-палы, постоянно забываю, как в Дебиане (и бубунтопроизводных) добавить ключ к репозиторию:&lt;/div&gt;&lt;blockquote&gt;gpg --armor --export PUBKEY | sudo &lt;em&gt;apt&lt;/em&gt;-key &lt;em&gt;add&lt;/em&gt;  -&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-3134660379880521399?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/3134660379880521399/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=3134660379880521399' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/3134660379880521399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/3134660379880521399'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/06/gpg.html' title='GPG-ключ репозитория'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-5017967687254731844</id><published>2010-06-22T10:54:00.004+04:00</published><updated>2010-06-22T11:01:50.272+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='udev'/><title type='text'>Debian guest + VMWare</title><content type='html'>&lt;div style="text-align: justify;"&gt;При работе с гостевым Debian'ом в VMWare ESXi выяснилась занятная штука: udev Дебиана в упор не видел и не хотел именовать (и как следствие, я не мог указать нужное мне имя) сетевые интерфейсы. Более того, в &lt;b&gt;/etc/udev/rules.d/&lt;/b&gt; вообще не появлялся файл &lt;b&gt;70-persistent-net.rules&lt;/b&gt;, в котором описываются имеющиеся сетевые интерфейсы и осуществляется привязка имени интерфейса к его MAC-адресу.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Оказалось, что вопрос &lt;a href="http://www.debian-administration.org/users/Nilshar/weblog/5"&gt;встал&lt;/a&gt; не только передо мной, и имеется его объяснение и решение: udev-ный генератор правил игнорирует сетевые интерфейсы, mac-адреса которых отвечают правилу:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;blockquote&gt;# ignore interfaces with locally administered or null MAC addresses&lt;br /&gt;# and VMWare virtual interfaces&lt;br /&gt;ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}=""&lt;br /&gt;ENV{MATCHADDR}=="00:00:00:00:00:00", ENV{MATCHADDR}=""&lt;br /&gt;ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", ENV{MATCHADDR}=""&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;То есть, не назначаются имена интерфейсам с MAC-адресами, назначаемыми вручную (и соответствующим правилу "?[2367abef]:*"), с нулевыми MAC-ами, и как раз адресами, которые по умолчанию принадлежат виртуальным vmware-интерфейсам. Таким образом, комментируем строчку&lt;br /&gt;&lt;blockquote&gt;ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", ENV{MATCHADDR}="",&amp;nbsp;&lt;/blockquote&gt;перезагружаемся, и udev сгенерит файлик &lt;b&gt;70-persistent-net.rules&lt;/b&gt;, в котором будут нужные нам строчки.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-5017967687254731844?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/5017967687254731844/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=5017967687254731844' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/5017967687254731844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/5017967687254731844'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/06/debian-guest-vmware.html' title='Debian guest + VMWare'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-4592213531805478605</id><published>2010-06-18T11:31:00.000+04:00</published><updated>2010-06-18T11:31:57.154+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pic'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Управление пакетами в Linux</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://26.media.tumblr.com/tumblr_l455lybUbl1qbvremo1_500.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="241" src="http://26.media.tumblr.com/tumblr_l455lybUbl1qbvremo1_500.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Интересная картинка, структурирующая кое-какие знания-понимания системы управления пакетами в Linux-дистрибутивах. Не то чтобы истина в последней инстанции и панацея от всех разнодистрибутивных непоняток, но в целом здраво.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-4592213531805478605?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/4592213531805478605/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=4592213531805478605' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/4592213531805478605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/4592213531805478605'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/06/linux.html' title='Управление пакетами в Linux'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-7968985734340203615</id><published>2010-02-28T16:27:00.002+03:00</published><updated>2010-06-16T09:56:53.386+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Debian. Неофициальные репозитории пакетов</title><content type='html'>Некоторое количество неофициальных репозиториев Debian - &lt;a href="http://linuxoid.dyndns.org/%D0%9F%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B8_%D0%B4%D0%BB%D1%8F_Debian"&gt;тут&lt;/a&gt;. Вполне может пригодиться.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-7968985734340203615?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/7968985734340203615/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=7968985734340203615' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/7968985734340203615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/7968985734340203615'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/02/debian.html' title='Debian. Неофициальные репозитории пакетов'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-5082455058289751007</id><published>2010-06-10T11:16:00.000+04:00</published><updated>2010-06-10T11:16:09.433+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>VMWare Remote Console + неработающие стрелки на клавиатуре</title><content type='html'>&lt;div style="text-align: justify;"&gt;Опять косяки с VMWare Server, точнее, с ее console. Оказывается, в некоторых случаях (а так как это связано с драйвером клавиатуры и свежим X.org, то проблема возможна во многих свежих релизах дистрибутивов) отваливается половина клавы (стрелки, цифры и т.д.) внутри гостевой машины. Воспроизводится на lin- и win- гостях. Лечилово описано в базе знаний VMWare - &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&amp;amp;docType=kc&amp;amp;externalId=1007439"&gt;тут&lt;/a&gt;. Вкратце, правка /etc/vmware/config на хост-системе ни к чему не привела, чему я не удивлен, ведь я прихожу через браузер с третьей машины, которая не является ни гостем, ни хостом. Поэтому лечилово работает, если добавить требуемые строки в ~/.vmware/config, или создать оный с этими строками, если файл отсутствует. Мне почему-то еще пришлось переустановить Remote Console Plug-In, хотя это должно быть лишним. Опосля этих действий - заработали и стрелочки, и нампад.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-5082455058289751007?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/5082455058289751007/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=5082455058289751007' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/5082455058289751007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/5082455058289751007'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/06/vmware-remote-console.html' title='VMWare Remote Console + неработающие стрелки на клавиатуре'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-8934919028807381304</id><published>2010-06-10T10:16:00.000+04:00</published><updated>2010-06-10T10:16:14.375+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>Запуск двух разных версий Firefox</title><content type='html'>&lt;div style="text-align: justify;"&gt;Как обычно, ВНЕЗАПНО!!1 выяснилось, что Firefox 3.6.3 в частности и вся 3.6.х серия вообще не работает с vmWare Server 2.0. Точнее, не со всей "вмтварью" в целом, а c Remote Console плугином. Он устанавливается без вопросов, но попытка открыть консоль виртуальной машины вываливается ошибка: &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;Cannot access virtual machine console. The request timed out&lt;br /&gt;&lt;br /&gt;The attempt to acquire a valid session ticket for &lt;i&gt;имя виртмашины&lt;/i&gt; took longer than  expected. If this problem persists, contact your system administrator.&amp;nbsp;&lt;/blockquote&gt;Поиск в Сети подтвердил как проблему, так и отсутствие работающего решения. Однако, Firefox 3.5.9 работает корректно. Отсюда решение (временное, пока vmware-шники не допилят свой плугин): установить для работы с vmware релиз Fx 3.5.9, разрулить окружение фаерфоксов&amp;nbsp; с помощью профилей, запускать с разных ярлычков.&lt;br /&gt;Выглядит это следующим образом:&lt;br /&gt;1) создаем два профиля с помощью &lt;b&gt;firefox -ProfileManager&lt;/b&gt; (один для работы в vmware - &lt;b&gt;ff359&lt;/b&gt;, второй - для работы в Сети - &lt;b&gt;ff363&lt;/b&gt;);&lt;br /&gt;2) загружаем, распаковываем два огнелиса - &lt;a href="http://download.mozilla.org/?product=firefox-3.6.3&amp;amp;os=linux&amp;amp;lang=ru"&gt;3.6.3&lt;/a&gt; (нынешний stable), &lt;a href="http://download.mozilla.org/?product=firefox-3.5.9&amp;amp;os=linux&amp;amp;lang=ru"&gt;3.5.9&lt;/a&gt; (oldstable, я так понимаю).&lt;br /&gt;3) создаем ярлычки запуска, указывая в поле запускаемой команды для "рабочего" браузера:&lt;br /&gt;&lt;blockquote&gt;/opt/ff363/firefox -no-remote -P "ff363"&lt;/blockquote&gt;для "вмтварного":&lt;br /&gt;&lt;blockquote&gt;/opt/ff359/firefox -no-remote -P "ff359"&lt;/blockquote&gt;Собственно, все ;) Теперь каждый из огнелисов запускается с собственным профилем, то есть дополнения, закладки, етц не пересекаются (опция &lt;b&gt;-P&lt;/b&gt;), и при запуске копии браузера при уже запущенном открывается новое окно, а не вкладка (опция &lt;b&gt;-no-remote&lt;/b&gt;).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-8934919028807381304?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/8934919028807381304/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=8934919028807381304' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/8934919028807381304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/8934919028807381304'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/06/firefox.html' title='Запуск двух разных версий Firefox'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-2009622345892840612</id><published>2010-06-01T00:45:00.001+04:00</published><updated>2010-06-01T00:45:45.398+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='addons'/><title type='text'>Браузерное</title><content type='html'>&lt;div style="text-align: justify;"&gt;Потихоньку переезжаю на Firefox. В основном потому, что надоело маяться с оперой по сабжу просмотра разного рода онлайн видео, а также - сильно нешустрой работы с гуглосервисами. Согласен, в винде таких проблем нет, и опера рулез ;) Но в линуксе, к сожалению, у норвежцев не все так радужно. Плюс хреново (опять же, в линуксе) работает Opera Link (особенно отвратно , точнее совсем никак, через прокси). А альтернативы (по степени интеграции) вследствие закрытости API браузера нет. А синхронизация между рабочим браузером и домашним мне нужна. По тем же причинам не вышло на равных работать дома в ФФ (смотреть "трубу" и читать Google Reader), на работе в Опере (гуглить, ресерчить, читать) - единого средства синхронизации закладок (а лучше еще и сохраненной истории и паролей) не существует. А то, что можно присобачить (тот же &lt;a href="http://diigo.com/"&gt;diigo.com&lt;/a&gt;, к примеру), использовать в опере с удобством невозможно, ибо работать можно разве что с закладками, и то или на отдельной странице, или сервлетом. В огнелиса же, с помощью дополнений, интегрируется практически что угодно. И синхронизация между n-ным количеством браузеров отпадает, как проблема, в принципе.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Посему - едем.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Все знают, что без дополнений Фаерфокс - так себе поделие. С ними же - мощный инструмент интернетчика любого помола. Таким образом, вот уже с недельку то тут, то там подглядываю да подсобирываю дополнения, которые призваны облегчить мне жизнь тяжелую и неказистую. Описывать свой use-лист смысла не вижу, ибо все дополнения, которые мною используются сегодня, я сбил в одну &lt;a href="https://addons.mozilla.org/ru/firefox/collection/dels"&gt;подборочку&lt;/a&gt;, там все алфавитно сортировано и описаниями автоматически снабжено. Оттуда же и стащить себе можно, коли что понравится. Конечно, по мере увеличения скилла лисозаводчика сей список будет меняться. Однако линк останется прежним, поэтому милости просим. Вдруг кто что для себя найдет, что сделает его пребывание в Сети более комфортным. Ведь ради этого все и писалось (ну, кроме, конечно, цели самому не забыть, где что лежит и как туда добраться ;) )&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-2009622345892840612?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/2009622345892840612/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=2009622345892840612' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/2009622345892840612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/2009622345892840612'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/06/blog-post.html' title='Браузерное'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-2092040755628611468</id><published>2009-09-03T17:24:00.004+04:00</published><updated>2010-05-19T18:38:28.778+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='inotify'/><category scheme='http://www.blogger.com/atom/ns#' term='incron'/><title type='text'>inotifywait / incron - базовое использование</title><content type='html'>&lt;div align="justify"&gt;&lt;br /&gt;Часто требуется мониторить какой-то системный каталог на предмет создания/изменения/удаления файлов в нем и совершать в зависимости от произошедшего события некие действия: просканить на вирусы, изменить права доступа, послать сообщение, etc.&amp;nbsp;&lt;/div&gt;&lt;div align="justify"&gt;Наиболее удобным средством для подобного мониторинга мне видится &lt;b&gt;&lt;a href="http://www.ibm.com/developerworks/ru/library/l-ubuntu-inotify/"&gt;inotify&lt;/a&gt;&lt;/b&gt; - подсистема ядра Linux, занимающаяся слежением за событиями на уровне файловой системы. Ее возможности как раз соответствуют поставленным парой предложений выше задачам, а также оставляют немалый "запас прочности" на более широкий спектр вопросов. Для работы с inotify следует установить пакет &lt;b&gt;inotify-tools&lt;/b&gt;. Это даст возможность воспользоваться в своих скриптах утилитами &lt;a href="http://linux.die.net/man/1/inotifywait"&gt;inotifywait&lt;/a&gt; и &lt;a href="http://linux.die.net/man/1/inotifywatch"&gt;inotifywatch&lt;/a&gt;. &lt;/div&gt;&lt;div align="justify"&gt;Первая утилита, &lt;b&gt;inotifywait&lt;/b&gt;, ждет определенных изменений заданного файла (или файлов в каталоге) и при их возникновении завершает свою работу или пишет в STDOUT лог произошедших действий (если работает в режиме монитора &lt;b&gt;-m&lt;/b&gt;). Идеальна для использования в скриптах. К примеру,&amp;nbsp;&lt;/div&gt;&lt;div align="justify"&gt;&lt;blockquote&gt;#!/bin/bash &lt;br /&gt;INF=/usr/bin/inotifywait &lt;br /&gt;TARGET=/home/share/&lt;br /&gt;$INF -mrqq --format '%w%f' -e close -e moved_to -e create -e modify $TARGET | while read file; do chmod -R 777 $file; done&amp;nbsp;&lt;/blockquote&gt;Сей скрипт будет давать права 777 файлу $file при его создании, модификации, перемещении в заданную $TARGET директорию.&lt;/div&gt;&lt;div align="justify"&gt;&lt;b&gt;inotifywatch&lt;/b&gt;, вторая утилита пакета, предназначена для мониторинга заданного файла/каталога на предмет определенных действий над оным за заданный промежуток времени с последующей выдачей статистики. &amp;nbsp;Ее выгодно применять для какого-нить дебага нибудь-чего.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Вместо использования inotifywait для мониторинга внутри скрипта, с последующим выполнением какого-то действия, очень удобно использовать демон &lt;a href="http://inotify.aiken.cz/?section=incron&amp;amp;page=doc&amp;amp;lang=en"&gt;incron&lt;/a&gt; (это отдельный пакет, использующий ту же подсистему inotify), который занимается по сути тем же самым, и при совершении заданного действия запускает указанный ему скрипт. Очень хороший русскоязычный док по работе с incron'ом можно поглядеть &lt;a href="http://wiki.opennet.ru/Incrontab"&gt;тут&lt;/a&gt;, имеются и примеры использования. Дабы не увеличивать степень энтропии интернетов, копировать сюда думаю излишне. В качестве примера, сейчас работает вот такой скрипт:&lt;br /&gt;&lt;blockquote&gt;#: /home/interra# cat /etc/incron.d/temp&lt;br /&gt;/home/share/ IN_CREATE,IN_ACCESS,IN_MODIFY /home/interra/temper.sh&lt;br /&gt;#: /home/interra# cat /home/interra/temper.sh&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;/bin/chmod -R 777 /home/share/&lt;/blockquote&gt;&lt;/div&gt;&lt;div align="justify"&gt;Также можно, аналогично работе с &lt;strong&gt;cron&lt;/strong&gt;, использовать утилиту &lt;strong&gt;incrontab&lt;/strong&gt; для записи правил срабатывания &lt;strong&gt;incron&lt;/strong&gt;-a. "Внутрь" его записывается то же, что сохраняется в&lt;strong&gt; /etc/incron.d/&lt;/strong&gt;.&lt;br /&gt;А если в двух словах - работа с &lt;b&gt;incron&lt;/b&gt; абсолютно идентична работе с &lt;b&gt;cron&lt;/b&gt;. Вообще, &lt;b&gt;incron&lt;/b&gt; = &lt;b&gt;inotify cron&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-2092040755628611468?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/2092040755628611468/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=2092040755628611468' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/2092040755628611468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/2092040755628611468'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2009/09/inotifywait-incron.html' title='inotifywait / incron - базовое использование'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-5788790122837581491</id><published>2010-05-05T10:23:00.000+04:00</published><updated>2010-05-05T10:23:09.191+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clusterssh'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>ClusterSSH</title><content type='html'>&lt;div align="justify"&gt;Оказывается, есть такая &lt;a href="http://sourceforge.net/apps/mediawiki/clusterssh/index.php?title=Main_Page"&gt;круть&lt;/a&gt;. Как использовать это счастье - чтить &lt;a href="http://citkit.ru/articles/602/"&gt;сюда&lt;/a&gt;. Есть в репах Деба/Убунты.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-5788790122837581491?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/5788790122837581491/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=5788790122837581491' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/5788790122837581491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/5788790122837581491'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/05/clusterssh.html' title='ClusterSSH'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-3801217597904721427</id><published>2010-04-28T12:14:00.001+04:00</published><updated>2010-04-28T12:14:33.390+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xsane'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><category scheme='http://www.blogger.com/atom/ns#' term='saned'/><title type='text'>Netwok Scanner (saned + xsane) HOWTO</title><content type='html'>&lt;div align="justify"&gt;Замечательный разжеванный &lt;a href="http://wiki.archlinux.org/index.php/USB_Scanner_Support"&gt;метод&lt;/a&gt; настройки &lt;a href="http://www.sane-project.org/"&gt;saned&lt;/a&gt; и &lt;a href="http://www.xsane.org/"&gt;xsane&lt;/a&gt; для работы сканера по сети. Если кратко, то&lt;/div&gt;&lt;div align="justify"&gt;1) сервер:&lt;/div&gt;&lt;div align="justify"&gt;а) &amp;nbsp;/etc/sane.d/saned.conf :&lt;/div&gt;&lt;blockquote&gt;localhost&lt;/blockquote&gt;&lt;blockquote&gt;192.168.0.0/24&lt;/blockquote&gt;&lt;div align="justify"&gt;b) /etc/xinetd.d/sane-port:&amp;nbsp;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;blockquote&gt;service sane-port&lt;/blockquote&gt;&lt;blockquote&gt;{&lt;/blockquote&gt;&lt;blockquote&gt;port        = 6566&lt;/blockquote&gt;&lt;blockquote&gt;socket_type = stream&lt;/blockquote&gt;&lt;blockquote&gt;wait        = no&lt;/blockquote&gt;&lt;blockquote&gt;user        = nobody&lt;/blockquote&gt;&lt;blockquote&gt;group       = scanner&lt;/blockquote&gt;&lt;blockquote&gt;server      = /usr/sbin/saned&lt;/blockquote&gt;&lt;blockquote&gt;disable     = no&lt;/blockquote&gt;&lt;blockquote&gt;}&lt;/blockquote&gt;c) &amp;nbsp;/etc/services:&lt;br /&gt;&lt;blockquote&gt;sane-port 6566/tcp # SANE network scanner daemon&lt;/blockquote&gt;&amp;nbsp;d) /etc/rc.d/xinetd start&lt;br /&gt;&lt;br /&gt;2) xsane&lt;br /&gt;&amp;nbsp;a) &amp;nbsp;/etc/sane.d/net.conf:&lt;br /&gt;&lt;blockquote&gt;192.168.0.1 #saned server IP&lt;/blockquote&gt;&lt;br /&gt;Как-то так, да...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-3801217597904721427?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/3801217597904721427/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=3801217597904721427' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/3801217597904721427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/3801217597904721427'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/04/netwok-scanner-saned-xsane-howto.html' title='Netwok Scanner (saned + xsane) HOWTO'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-1705630587347802138</id><published>2010-04-14T01:19:00.000+04:00</published><updated>2010-04-14T01:19:29.670+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eml'/><title type='text'>Добыча вложений из eml-файла</title><content type='html'>&lt;div align="justify"&gt;Есть .eml файл, внутри которого торчит бинарник. Задача - достать оный ;) Оказалась - не такая уж и тривиальная: васяких типа доставальщиков, экстракторов и прочих вьюверов масса, но все хотят денег и не хотят работать. Прочитать письмо можно, банально сменив разрешение на .mht и скормив любому браузеру. А вот достать аттач - не выходит. Решение: &lt;a href="http://wincmd.ru/plugring/wlx_msg.html"&gt;плугин&lt;/a&gt; для просмотра\работы с EML-файлами для Total Commander. Ставим, откываем на F3 - правой кнопкой - Save Attached To... Всё! ;) Теоретически плуг работает и с Unreal Commander, но практически у меня не завелся - файл все равно открывается в Universal Viewer'е, что неправильно. Разбираться, честно, лень, спать пора ;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-1705630587347802138?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/1705630587347802138/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=1705630587347802138' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/1705630587347802138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/1705630587347802138'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/04/eml.html' title='Добыча вложений из eml-файла'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-2691447599677523649</id><published>2010-04-13T11:02:00.001+04:00</published><updated>2010-04-13T11:02:48.372+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>Vmware Server 2.0.2 + RuntimeFault: Database temporarily unavailable or has network problems.</title><content type='html'>&lt;div align="justify"&gt;Странная ботва с VMware Server, была как на 2.0.1, так и после обновления до 2.0.2: при попытке добавить новую роль или ассоциировать имеющиеся роли с пользователями вмтварь плюется ошибкой вида&lt;/div&gt;&lt;blockquote&gt;RuntimeFault: Database temporarily unavailable or has network problems.&lt;/blockquote&gt;&lt;div align="justify"&gt;Выяснилось (&lt;a href="http://communities.vmware.com/message/1070373;jsessionid=8ECC3DD13218D5966139472617BD5A44"&gt;тут&lt;/a&gt; и &lt;a href="http://blogs.sysfaq.ru/kukulkan/2009/07/13/vmware-server-2-runtimefault-database-temporarily-unavailable-or-has-network-problems-%D0%BF%D1%80%D0%B8-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B8-permission/"&gt;тут&lt;/a&gt;), что проблема возникает вследствие того, что при добавлении юзера в роль происходит конфликт id-номеров вновь добавляемого пользователя, и администратора. Лечится это изменением директивы &lt;strong&gt;NextAceId&lt;/strong&gt; &lt;nextaceid&gt;с &lt;/nextaceid&gt;&lt;b&gt;&lt;nextaceid&gt;11&lt;/nextaceid&gt;&lt;/b&gt; на &lt;b&gt;&lt;nextaceid&gt;20&lt;/nextaceid&gt;&lt;/b&gt; в файле &lt;b&gt;&amp;nbsp;/etc/vmware/hostd/authorization.xml.&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-2691447599677523649?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/2691447599677523649/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=2691447599677523649' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/2691447599677523649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/2691447599677523649'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/04/vmware-server-202-runtimefault-database.html' title='Vmware Server 2.0.2 + RuntimeFault: Database temporarily unavailable or has network problems.'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-6413534630154909017</id><published>2010-04-12T10:33:00.001+04:00</published><updated>2010-04-12T10:33:27.807+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='EAN13'/><title type='text'>Контрольная цифра EAN-13</title><content type='html'>&lt;div align="justify"&gt;Потребовалось "восстановить" незаписанную вовремя контрольную (13-ую, последнюю) цифру штрихкода EAN-13. Собственно, результат:&lt;/div&gt;&lt;blockquote&gt;#!/bin/bash&lt;br /&gt;#Проверка наличия кода&lt;br /&gt;if [ -z "$1" ]; then&lt;br /&gt;echo "Введите сканкод в качестве аргумента"&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;CODE12=$1&lt;br /&gt;#Определение длины кода&lt;br /&gt;LEN1=`echo $CODE12 | wc -m`&lt;br /&gt;#отбрасывание символа перевода строки&lt;br /&gt;let LEN2=$LEN1-2&lt;br /&gt;#echo $LEN1&lt;br /&gt;#echo $LEN2&lt;br /&gt;#Разбиение строки кода на отдельные цифры&lt;br /&gt;for D in `seq 0 $LEN2`&lt;br /&gt;do&lt;br /&gt;let NUM=$D&lt;br /&gt;let DIG$NUM=${CODE12:$D:1}&lt;br /&gt;#               echo DIG$NUM=$DIG$NUM&lt;br /&gt;#               echo $D&lt;br /&gt;done&lt;br /&gt;#Если по длине предполагается неполный  EAN13, произвести расчет контрольной цифры&lt;br /&gt;if [ $LEN2 == 11 ];then&lt;br /&gt;#chet&lt;br /&gt;VAR1=`expr $DIG1 + $DIG3 + $DIG5 + $DIG7 + $DIG9 + $DIG11`&lt;br /&gt;#nechet&lt;br /&gt;VAR2=`expr $DIG0 + $DIG2 + $DIG4 + $DIG6 + $DIG8 + $DIG10`&lt;br /&gt;VAR3=`expr $VAR1 \* 3`&lt;br /&gt;VAR4=`expr $VAR2 + $VAR3`&lt;br /&gt;#Выбираем только последнюю цифру переменной $VAR4, если ее длина больше 1&lt;br /&gt;LENVAR4=`expr length $VAR4`&lt;br /&gt;if [ "$LENVAR4" -gt "1" ]; then&lt;br /&gt;VAR4OFFSET=`expr $LENVAR4 \- 1`&lt;br /&gt;let VAR4LAST=${VAR4:$VAR4OFFSET:1}&lt;br /&gt;#               echo $VAR4LAST&lt;br /&gt;else&lt;br /&gt;#Если длина $VAR4 единична, сразу определяем $VAR4LAST&lt;br /&gt;VAR4LAST=$VAR4&lt;br /&gt;fi&lt;br /&gt;CTRL=`expr 10 \- $VAR4LAST`&lt;br /&gt;if [ $CTRL == 10 ]; then&lt;br /&gt;CTRL=0&lt;br /&gt;fi&lt;br /&gt;#Вывести контрольную цифру&lt;br /&gt;&amp;nbsp;       echo "Контрольная цифра для штрихкода $CODE12 - $CTRL"&lt;br /&gt;fi&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-6413534630154909017?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/6413534630154909017/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=6413534630154909017' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/6413534630154909017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/6413534630154909017'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/04/ean-13.html' title='Контрольная цифра EAN-13'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-4970577910180578706</id><published>2010-04-08T16:05:00.000+04:00</published><updated>2010-04-08T16:05:42.553+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='motd'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Karmic + MOTD</title><content type='html'>&lt;div align="justify"&gt;Не могу сказать, в какой из версий Ubuntu после 8.04 (hardy) появилась фича пихать в сообщение приветствия после успешного логина информацию об имеющихся обновлениях, но в 9.10 (karmic) она имеется точно. И меня напрягают неизбежные тормоза между успешной аутентификацией и появлением консоли. Поэтому надо выключить. Беглый обзор системы дал следующий рецепт: найти в&lt;strong&gt; /etc/pam.d/sshd&lt;/strong&gt; строчку&amp;nbsp;&lt;/div&gt;&lt;blockquote&gt;&amp;nbsp;session    optional     pam_motd.so&lt;/blockquote&gt;и закомментировать оную. Быстро и просто.&lt;br /&gt;&lt;div align="justify"&gt;Если копнуть глубже, то выясняется, что сабжевый PAM-модуль поставляет пакет &lt;a href="https://wiki.ubuntu.com/UpdateMotd"&gt;update-motd&lt;/a&gt;. Там же говорится, что для отключения динамического заполнения MOTD достаточно удалить содержимое &lt;strong&gt;/etc/update-motd.d/&lt;/strong&gt;. Или вообще снести напрочь этот пакет ;)&lt;/div&gt;&lt;div align="justify"&gt;Так или иначе, но без сей приблуды (не спорю, местами полезной) консолька снова радует быстрым логином ;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-4970577910180578706?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/4970577910180578706/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=4970577910180578706' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/4970577910180578706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/4970577910180578706'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2010/04/karmic-motd.html' title='Karmic + MOTD'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7514425272082487617.post-1767546222979154895</id><published>2009-12-21T15:04:00.003+03:00</published><updated>2010-04-05T12:14:21.326+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cuneifrom'/><title type='text'>cuneiform + yagf</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial [monotype]&amp;quot;; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;Если есть сканер с &lt;a href="http://www.sane-project.org/"&gt;saned&lt;/a&gt;, и есть linux (в данном случае Ubuntu 8.04 и Debian Lenny), то можно порешать задачу настройки системы распознавания текстов. Некогда проприетарная, OCR-система &lt;a href="http://www.cuneiform.ru/"&gt;Cuneiform&lt;/a&gt;&amp;nbsp;сегодня распространяется под свободной лицензией. Ее &lt;a href="https://launchpad.net/cuneiform-linux"&gt;linux-порт&lt;/a&gt; разрабатывается сообществом под &lt;a href="http://www.ohloh.net/licenses/bsd_2clause_ish"&gt;Simplified BSD&lt;/a&gt; лицензией. Некоторую информацию, а также официальные релизы проекта можно почерпнуть на официальной страничке. Также существует отдельная &lt;a href="http://symmetrica.net/cuneiform-linux/"&gt;ветка&lt;/a&gt;, разрабатываемая &lt;a href="http://symmetrica.net/"&gt;Андреем Боровским&lt;/a&gt;, целью которой является работа Cuneiform'a в Linux с текстами на смешанных языках (русский-английский и т.д.). Им же разрабатывается графический интерфейс к консольному cuneiform, под названием &lt;a href="http://symmetrica.net/cuneiform-linux/yagf-ru.html"&gt;YAGF&lt;/a&gt;. Вот это все счастье и будем заставлять работать.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Arial [monotype]&amp;quot;; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;Качаем исходные коды&amp;nbsp;cuneiform'a и yagf'a:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;wget -c http://symmetrica.net/cuneiform-linux/cuneiform-multilang-0.7.0.tar.gz &lt;br /&gt;wget &amp;nbsp;http://symmetrica.net/cuneiform-linux/yagf-0.8.1.tar.gz&lt;/blockquote&gt;Далее необходимо установить некоторые дополнительные пакеты. Что-то может быть уже установлено ранее..&lt;br /&gt;&lt;blockquote&gt;wajig install qt4-dev-tools imagemagick libmagick++9-dev libaspell-dev aspell-ru cmake build-essential&lt;/blockquote&gt;(еще необходим qmake, он, зараза, в зависимости от дистрибутива, шкерится в разных пакетах: в убунтах - &amp;nbsp;libqt4-dev, который доступен из backports-репозитория, в дебиане - qt4-qmake.)&lt;br /&gt;Распаковываем tarball-ы и компилируем/устанавливаем оба пакета:&lt;br /&gt;&lt;blockquote&gt;tar -xzvf cuneiform-multilang-0.7.0.tar.gz&lt;br /&gt;tar -xzvf &amp;nbsp;yagf-0.8.1.tar.gz&lt;br /&gt;cd&amp;nbsp;cuneiform-multilang-0.7.0&lt;br /&gt;cmake ./ &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install ( less readme.txt)&lt;br /&gt;cd ../yagf-0.8.1&lt;br /&gt;cmake ./ &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;/blockquote&gt;Считаем, что сканер уже подключен и настроен, и пользователь, от имени которого происходит запуск yagf'а, находится в группе scanner. Или добавляем его в эту группу.&lt;br /&gt;&lt;blockquote&gt;adduser user scanner&lt;/blockquote&gt;Если при запуске распознавания cureiform не находит libpuma.so или другую необходимую ему библиотеку, то необходимо или пересобрать cuneiform с опцией &lt;b&gt;-DCMAKE_INSTALL_PREFIX=/usr&lt;/b&gt;&lt;br /&gt;или использовать скрипт, создающий симлинки на библиотеки из /usr/local/lib в /usr/lib:&lt;br /&gt;&lt;blockquote&gt;#!/bin/bash&lt;/blockquote&gt;&lt;blockquote&gt;for lib in `ls /usr/local/lib/*.so`&lt;br /&gt;do&lt;br /&gt;LIBNAME=`echo $lib | awk -F "/" {'print $5'}`&lt;br /&gt;ln -s $lib /usr/lib/$LIBNAME&lt;br /&gt;done&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7514425272082487617-1767546222979154895?l=www.delayer.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.delayer.org/feeds/1767546222979154895/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7514425272082487617&amp;postID=1767546222979154895' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/1767546222979154895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7514425272082487617/posts/default/1767546222979154895'/><link rel='alternate' type='text/html' href='http://www.delayer.org/2009/12/cuneiform-yagf.html' title='cuneiform + yagf'/><author><name>Delayer</name><uri>http://www.blogger.com/profile/05936704021563775893</uri><email>delayer@delayer.org</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01301762264138988273'/></author><thr:total>0</thr:total></entry></feed>