04.30.08
Posted in linux, multimedia, ubuntu at 11:32 pm by viliar
Принесла мне хорошая девушка пару дисков dvd с кучей записанных фоток. Один диск читался очень долго и нудно, с множеством ошибок, второй не читался вобще. С первым все решилось довольно просто. Монтировался нормально, и далее просто копировались файлы cp с ключом force или rsync. Потери составили около 30Mb на 4,xGb. Причем процесс шел довольно шустро, сравнительно с теми часами, которые это занимало в windows. А вот со вторым все было плохо. Диск не монтировался. К счастью, nerolinux видел и записанную дорожку и даже названия папок/файлов с указанием для последних занимаемого места. Стал смотреть, что мы имеем для восстановления такого чуда. В первую очередь в голову естественно пришел dd для считывания данных в iso образ. Но увы и ах, несмотря на явным образом заданный объем для считывания, а также опцию conv=noerror процесс заканчивался копированием двух пустых килобайт. Несмотря на указание bs=1M и seek=xx, skip=xx. У диска, судя по всему, было повреждено начало, поэтому дальше этих двух килобайт процесс в принципе не шёл. Чуть позже нашлась совершенно замечательная по описаниям утилита - ddrescue. Которая даже в репозитариях ubuntu есть. Среди важных отличий от dd, указывалась возможность действительно игнорировать ошибки чтения, забивать нечитаемые сектора в output нулями и даже reverse read. То, чего мне первое пришло в голову искать с dd, но чего в оном не оказалось. И тем не менее, та же история. Читаем первые два килобайта и умираем. Уж не знаю, может быть опция -r работает не так, как я об этом полагал. Стал думать, а нельзя ли это дело еще как нибудь на уровне raw доступа считать, и уже дальше разбираться с образом. На http://openkazan.info/node/1009 нашел нужные опции к cdrdao
cdrdao read-cd –read-raw –device /dev/sr0 dump.toc
которые при желании находятся в мане. Не выходит каменный цветок.
/dev/scd0: _NEC DVD_RW ND-3520A Rev: 1.04
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0×0000)
Reading toc and track data…
ERROR: Cannot read disk toc.
Может быть покрутив что-нибудь с опциями и можно было сделать, но эти опции не просматривались в досягаемом материале. То, что просмотр дорожки под nerolinux показывал вполне себе не пустой диск, а какие-то данные, если перемотать чуть-чуть вперед - заставляло меня продолжать поиск.
В погоне за результатом опустился до виндовых программ, запускаемых из под wine (0.9.60 под amd64). ОС Windows сама у меня на компьютере некоторое время соседствовал (для игр) c Linux, но года три назад перестала отягощать винчестер совсем. Посему это воспринялось мной как некое отступление. Всегда предпочитаю искать нативное решение и в большинстве случаев такие решения находились. Как практика показывала, они оказывались даже лучше. Но здесь мне нужен был результат, и желательно быстрый. Погуглив, нашел Cdroller и Cdcheck, которые принципиально не дружили с wine. Их хватило только на установку. Результата я добился в итоге с помощью (да, пусть это будет некоторой рекламой этой хорошей программе) Diskinternals CD-DVD recovery. Её совсем не смутило, что запуск был из под вайна. Спокойно нашла привод и прочитала, по-моему, практически все файлы. На данный момент уже восстановлена бОльшая их часть:
$ du -hs /home/media/temp/recover
3,7G /home/media/temp/recover
Уверен, что под windows есть и другие замечательные программы, которые позволят с легкостью решить такую задачу и которые даже могут быть freeware в отличии от названной. Но будут ли они дружить с wine - не знаю. Искренне надеюсь, что все-таки со временем найдутся нативные решения под линукс. Мимо которых скорее всего я просто прошел. Абсолютно не принципиально, будут ли они консольные или гуевые. Главное, чтоб были.
Permalink
04.29.08
Posted in opensource at 11:33 am by viliar
Несмотря на отсутствие тела, сцены преступления и каких-либо существенных улик, суд присяжных посчитал Ганса Рейзера виновным в убийстве первой степени. Очень печально.
http://blog.wired.com/27bstroke6/hans_reiser_trial/#49144716
Все это мне напоминает “Постороннего” Камю, где судили не даже не за убийство, а за поведение, которое не соответствовало
общепринятой морали и т.п. Только в данном случае доказательств
в убийстве не было. А основная роль в вердикте, так же, как и там - неприязненное отношение судей и присяжных к обвиняемому.
Permalink
Posted in linux at 10:48 am by viliar
А все зло в проприетарном драйвере. Несмотря на прописанное
Option “UseFastTLS” “2″
в xorg.conf, разные ‘on execute access’, ‘on write access’, ‘on read access’ вылеты остаются. Пока что, вобщем-то, решение одно. Откатиться на какие из более ранних версий драйверов. У меня что-то работало на 8.1, что-то на 8.2. Ждем включения 3D поддержки в свободном драйвере radeonhd. Чтобы забыть про fglrx, как про страшный сон.
Permalink
04.18.08
Posted in mail, antispam at 12:56 pm by viliar
Открыл для себя Америку. Оказывается некоторые хосты, в том числе рамблер при приеме почты делают обратную проверку получателя. Если их хост заблокирован по каким-то причинам, то и принимать почту с блокирующего хоста они не будут.
SMTP-02861(ilimpulp.ru) [142336561] return-path rejected, got:578 xxx@xxx address rejected with reverse-check
Такая вот патовая ситуация получается. Наверно это побочный эффект, основная цель все-таки в проверке, существует ли такой отправитель.
Updated: К этому же типу относится ошибка типа:
“451 Could not complete sender verify”.
Permalink
04.16.08
Posted in fun at 12:52 am by viliar
22:22:49 < Al-x > кто-то тут у нас онлайн?
22:22:58 : Darkside blues is now Offline.
22:23:02 < Al-x > сука
22:23:09 : Darkside blues is now Away.
22:23:11 : Darkside blues is now Not Available.
22:23:21 : Darkside blues is now Occupied.
22:23:22 < Al-x > определись уже
22:23:25 : Darkside blues is now Do Not Disturb.
22:23:28 : Darkside blues is now Free For Chat.
22:23:33 < Al-x > издеваешься?
22:23:47 < Darkside blues > ща все буковки кончатся
Permalink
04.13.08
Posted in mail, antispam at 2:30 am by viliar
Для тех, кто любит банить подсети, ну или просто пытается составить себе картину, с каких адресов больше всего валится спам. Есть замечательный ресурс:
http://www.spamcop.net/spamstats.shtml
Помимо “Worst /24,/16 blocks based on total spam count or on spam ratio” там есть чертовски удобная вещь: “Browseable map of IPv4 netspace”. Для каждого из диапазонов ip можно посмотреть наиболее спамовые подсети. Собственно, благодоря статистике спамкопа я сначала пришел к довольно не новой мысли о необходимости банить динамические и диалапные диапазоны. Впоследствии там же нашел dyn/dial диапазоны Turketelecom, которые неохвачены ни pbl.spamhaus.org, ни в dul.dnsbl.sorbs.net.
Единственное - затрудняюсь сказать, какая периодичность у них в обновлении данной информации.
Permalink
04.11.08
Posted in mail, antispam at 10:31 am by viliar
Учитывая масштабы спама одолевающего в последнее время - все больше задумываюсь над разными алгоритмами блокировки этой гадости. К примеру, на одном из хостинговых серверов по работе статистика следующая: По совокупным усилиям всех rbl листов и черных списков за сутки
заблокирован прием почты с 200283 уникальных ip, которые пытались
отправить почту 3263992 раз. Больше трех миллионов…
В последнее время получило довольно широкое распространение блокировка всех non-MTA customer ranges, то бишь тех диапазонов, которые предполгают лишь доступ в интернет, а отправку почты только через smtp сервер интернет-провайдера. Весьма целесообразное решение, но весь впорос в его конкретном вооплощении.
Можно использовать rbl листы:
pbl.spmahaus.org ( за удовольствие стянуть полностью зону rsync’ом нужно будет платить)
dul.dnsbl.sorbs.net
dul.ru
Минус - некоторое, но постоянное отставание от реального положения дел, так как постоянно добавляются новые подсети,
существующие меняются и переодически появляется некоторое
количество хостов в таких подсетях, которые используются как почтовые сервера отдельных организаций и у частных лиц.
В некоторых куроводствах в интернете можно встретить рекомендации блокировать по паттернам в обратной зоне по примерному регекспу:
pool|modem|dial|cable|client|dsl|dhcp|dyn|ppp.
Основная мысль - если человек хочет отправлять почту со сервера, размещенного да adsl канале или в домашней сети, то он сделает нормальную обратную запись. Остальные идут лесом. То есть, в отличии от rbl листов - не надо никакого выносить из какого-то блок-листа. Как только администратор сделал нормальную обратную запись - все в порядке, почта ходит.
Естественно, что для того, чтобы не блокировать почту с нормальных хостов нужны более конкретные регекспы, пусть даже они будут значительно более сложными. Добавлю сюда свои несколько копеек. В качестве эксперимента собрал по этому регекспу список хостов за сутки на одном из серверов. Получилось 66571 уников:
#wc -l uniqhosts
66571 uniqhosts
#head uniqhosts
dsl88.241-38078.ttnet.net.tr
adsl-598433fb.monradsl.monornet.hu
pool-71-115-197-105.spknwa.dsl-w.verizon.net
82.200.213.84.dial.online.kz
dsl88-226-60417.ttnet.net.tr
8-219-112-92.pool.ukrtel.net
bl4-220-22.dsl.telepac.pt
96.89.220.87.dynamic.jazztel.es
201-92-50-50.dsl.telesp.net.br
201-34-151-6.jvece702.dsl.brasiltelecom.net.br
По количеству вхождений получилась следующая статистика:
#grep modem uniqhosts | wc -l
236
#grep client uniqhosts | wc -l
1448
#grep dhcp uniqhosts | wc -l
1667
#grep dial uniqhosts | wc -l
3470
#grep cable uniqhosts | wc -l
4045
#grep pppoe uniqhosts | wc -l
4756
#grep pool uniqhosts | wc -l
7820
#grep ppp uniqhosts | wc -l
8139
#grep adsl uniqhosts | wc -l
12105
#grep dynamic uniqhosts | wc -l
15091
#grep dyn uniqhosts | wc -l
19182
#grep dsl uniqhosts | wc -l
29025
Если делать более точными регекспы во избежание блокировки
нормальных хостов, типа pppoe.org и *dsl*, то кол-во совпадений
естественно снизится. Кто-то этим может пренебречь, но для предоставляемых сервисов клиентам это недопустимо. В принципе, по всех обратным зонам проcлеживается некоторая тенденция, которая наверняка описана в этом документе: http://www.tools.ietf.org/html/draft-msullivan-dnsop-generic-naming-schemes-00, но мне его было лень читать, поэтому нашел сам.
По получившимуся регекспу улов получается значительно более весомый:
#cat uniqhosts | perl -lane ‘print if m/(\d+(\.|-)){3}[a-zA-Z]/’ | wc -l
47878
Рекомендую
Конечно, лучше использовать все в совокупности, поскольку ни одно из средств не дает стопроцентного результата.
Ну и под конец опишу еще один вариант поддержания информации о таких сетях в актуальном состоянии. Этот вариант будет работать только с добросовестными интернет-провайдерами, которые не ленятся прописывать названия сеток и как-то это дело структурировать:
$ whois -h whois.ripe.net PIPEX-DSL-DYNAMIC| grep inet | awk ‘{ print $2 ” ” $4 }’ | while read net; do ipcalc -r $net; done | grep -v de
81.178.128.0/17
81.179.64.0/18
81.179.128.0/18
81.179.192.0/18
85.210.64.0/18
85.210.0.0/18
85.210.128.0/18
85.210.192.0/18
85.211.0.0/16
81.178.70.0/23
81.178.72.0/21
81.178.80.0/20
81.178.96.0/19
Несколько полезных ссылок:
http://www.senderbase.org/
http://www.db.ripe.net/whois
http://ipindex.homelinux.net/index.php
Permalink
04.09.08
Posted in opensource at 12:34 pm by viliar
ODF в Гост!
Permalink
03.25.08
Posted in linux, mail at 1:46 am by viliar
В процессе обсуждения в списках рассылки dovecot@dovecot.org
поднятого мною вопроса о невозможности компиляции xexec с версией 1.1 Stephan Bosch сделал патч, который я, соответственно, протестировал у себя. Пропатченный модуль нормально работает с новой веткой dovecot 1.1, которая, правда, пока находится на стадии rc, но этой весной должен выйти стабильный релиз.
Патч и уже пропатченную версию модуля я, с разрешения авторов модуля и патча, поместил в вики.
Прямые ссылки на файлы:
dovecot-xexec-1.1.v2.patch.
xexec.dovecot.v1.1.tar.gz.
Из-за пертрубаций в dovecot вики выложил файлы и у себя:
xexec.tar.gz
dovecot-xexec-1.1.v2.patch
xexec.1.1.v2.tar.gz
Permalink
03.20.08
Posted in opensource at 7:54 pm by viliar
Наиболее подробное описание процесса на Рейзером. Обновляется после каждого заседания суда.
На ‘американском’ английском.
http://blog.wired.com/27bstroke6/hans_reiser_trial/
Производит, правда, довольно тягостное впечатление, как оно все там тянется
Permalink
« Previous entries · Next entries »