вторник, 24 февраля 2009 г.

Новое время - новые методы

Уже несколько дней хотел написать, да вот только сейчас руки дошли.

Итак, ситуация: раньше мой комп был, фактически, центральным в квартире - внешний винт на 500гиг с фильмами, которые нужно раздавать остальным компам и качалка (торренты и с файлообменника). Шумит он у меня что-то довольно сильно, что особенно заметно по ночам, когда, кроме него, не шумит почти ничего ) От этого дела, в первую очередь, устали родители, живущие в соседней комнате, да и мне что-то это поднадоело. А тут еще оказалось, что у меня на роутере, который раздает интернет(DSL-524T), стоит линух. У меня еще в этот момент закралась мысль: а как бы поюзать его по-лучше? Через небольшой промежуток времени я обнаружил, что:

  1. другой роутер (dir-320) по мощностям сравним с компами в не таком отдаленном прошлом, а именно: 240Мгц проц и 32Мб оперативы(про него дальше и пойдет речь)
  2. на нем тоже стоит линукс
  3. у него есть usb-выход
  4. на него можно (и нужно) поставить кастомную прошивку

Итак, если вам надоел шум работющего по ночам компьютера и не хочется тратить много денег на приобретение его маленького собрата на базе mini-ATX (по этому поводу была статья на хабре и я даже одно время подумывал над данным решением), то однозначным выходом будет приобретение такого роутера(особенно, если вам еще и ви-фи раздавать надо). Стоит он 2.5к (может можно найти и подешевле). Или можно взять его аналог (ASUS WL-520g/520gc), который стоит 3.2к. Начинка у них почти идентичная - у второго в два раза больше внутренней флеш памяти, но она, при наличии внешнего винта, не нужна. 

Далее достаточно выполнить все вот по этому мануалу и у вас будет маршрутизатор с линуксом внутри. Основная фишка: к этому дистрибутиву даже есть менеджер пакетов (ipkg-opt) с довольно большим набором готовых к использованию приложений (около 1000).

Затем можно поставить туда samba и торрент-клиент (у меня стоит transmission с веб-мордой).

Еще полезно перед началом установки прочитать статью про использование внешних винтов с данной прошивкой(англ.).

четверг, 19 февраля 2009 г.

Розовая анархия (этот бред лучше не читать)

Посмотрел тут видяшку "Позиция скинхэдов", вспомнил один недавний разговор и подумалось "че за бред?". Основной идеей каждой субкультуры является лозунг "я не такой как все и мне это нравиться". Че за бред? Где он не такой? Показывают шествие этих "не таких" скинов - идет толпа одинаковых парней. Все как один одеты в подкатаные снизу джинсах, гадах, рубахах и подтяжках. И вот где он после этого "не такой"? Он такой же такой, просто в чуть меньшем, по количествую людей, обществе. И так почти со всеми субкультурами: скины, эмо, готы, металлисты.
Панки - единственные, кто выглядят более менее уникально. В том плане, что каждый выглядит отлично от другого. Правда с распространением данной субкультуры в современное общество и с ее опопсеванием, происходит, как и во всех областях, уменьшении разнообразия. Производство вещей "для желающих" ставиться на поток, уходит хендмейд, все становится более однообразными.
К тому же, как можно быть уникальным, если ты являешься частью общества "таких же как и ты"? В этом случае, для меня, является приемлемым вариантом - стеб. То есть стебать не только тех, кто тебе не по душе, но и тех, кто тебе близок духом. Может стеб - это немного жестоко и не правильно, но это наиболее заметный вариант юмора, причем который позволяет ярко выделить какие-то идеологически устойчивые принципы. Главное - это соблюдать меру и не забывать стебать себя и давать другим это делать (в том плане, что если это действительно стоящий стеб, а не просто дурацкая шутка какого-то дебила). Таким образом человек показывает, что он не дурак и шутит не плоско, а с подтекстом. Да к тому же то, что ты смеешься над собой показывает, что ты можешь адекватно оценивать этот мир, а не с позиции "я лучше, чем они, поэтому я могу смеяться над ними".
Вот, примерно, по-этому я и хочу себе на косуху и шлем (для сноубординга) розовую анархию. Именно розовую. Ярко розовую. И еще шнурки на гады розовые. Чтобы сразу брасалось в глаза. Чтобы даже тех, кто близок мне по духу, сразу тянуло сблевануть. Чтобы большинство не понимало, что это значит. Чтобы все недоумевали, ужасались и испытывали отвращение.

То, что вы прочитали, является бредом моей сонной головы, следствием чего является разрозненность, недосказанность и несвязность некоторых мыслей. С другой стороны, сонному мозгу ломы придумывать ухщрения для выставления мыслей в более красочной и приятной для людей форме (короче ему ломы играть словами). В конечном итоге - решать вам, как это воспринимать.

пятница, 13 февраля 2009 г.

Как сделать из того, что есть, то, что надо.

Пока ничего конкретного, просто несколько мыслей о то, что можно было бы попробовать сделать. Итак.
Что имеем: роутер (DSL-524T), работающий на linux. Процессор : MIPS 4KEc V4.8, работающий на частоте ~150Мгц. Оперативная память: ~14Мб.
Так же имеем еще один роутер (DIR-320), немного по-новее, но, думаю, начинка такая же. Правда у него уже есть usb выход (для подключения принтера).
Вот есть мысль замутить из второго роутера качалку файлов. Ну то есть к usb подключить внешний винт и поменять прошивку таким образом, чтобы можно было подключать внешний винт. Ну и засунуть туда какой-нить torrent-клиент... Правда, пока, это только в мыслях, ибо даже не знаю, как подключиться ко второму роутеру (к первому можно по telnet).

среда, 4 февраля 2009 г.

История об Извращенце или Как я ставил Zenwalk на флэшку

Решил написать дневник установщика дистрибутива линукса Zenwalk на флэшку. Так как этот процесс занимает длительное время, то я буду еще ко всему прочему ставить таймстепы =)
Итак. День первый. То есть сегодня. В смысле [30.07.08]
Началось все с того, что мне вчера в голову ударило купить флэшку =) Сегодня взял деньги и пошел купил себе флэшку Transcend на 16GB =) И решил поставить я на нее линух. Так как я до этого 2 дня колупал дистрибутив Zenwalk'а под VirtualBox'ом и он мне понравился, то выбор пал на него.
Первым этапом я пошел взагугл искать статьи по установке любого линуха на флэху. Забрел на сайт http://usblinux.org.ru/, который как раз по этой тематике. Откопал там статью по установке Slax линукса на флэшку (Slax выбрал потому, что про Zenwalk там нету, а Слакс, так же как и Зен, собран на базе Slackware).

Пройдя все пункты руководства, коих не так уж и много, и покурив файл syslinux.cfg, прилагающийся к fixs.bat, понял, что так просто это сделать не получиться...

[где-то осенью]

Сломалась флэшка. Стала определяться, как два устройства. С лечением чет не получилось. На zenwalk забил, поэтому эксперименты остановлены.

[04.02.09]

Решил сделать это достоянием общественности. Может кто будет использовать эту статью, как отправную точку.

среда, 14 января 2009 г.

Типа похвастаться.

Случилась у нас вот такая новость
13.01.2009. Внимание! Произошли принципиальные изменения на файлобменниках — теперь каждый аккаунт вмещает 1GB, вместо прежних 100 мегабайт. Также перестал работать трюк с подставлением «?submit=1» в конец ссылок. Соответственно, перестали работать и программы для автоматического скачивания файлов с датакода.

Фактически на файлообменнике сделали аналогично тому, что сделано на ifolder.ru, а именно: на странице для скачивания выдается прямая ссылка на файл, которая действительна в течении 3х дней. Это жизнь совсем не облегчело, поэтому было принято решение написать скрипт, который бы брал ссылки из файла, сам выдирал со страницы скачивания имя файла и прямую ссылку и запускал wget на скачивание файла. Имя файла необходимо потому, что wget при скачивании по прямой ссылке не умеет определять имя скачиваемого файла. Вот что из этого получилось (за 3 часа при полном не знании Perl'а на момент начала написания скрипта):
#!/usr/bin/perl -w

use strict;
use LWP::Simple;

print "file downloader\n";

unless (@ARGV == 1)
{
print "invalid number of arguments\n";
print "usage:\n";
print "./link.sh <filename>";
return;
}

my $in = $ARGV[0];

print "opening file $in\n";
open(file_with_links,$in);

foreach (<;file_with_links>)
{
print "downloading page with direct link\n";
my @download_page = get "$_";

my $url;
my $download_file_name;

print "trying find direct link in page\n";
foreach (@download_page)
{
$url = "http:\/\/files$1" if $_ =~/href="http:\/\/files([^"]+)"/i;
$download_file_name = $1 if $_ =~/\<li\>файл: \<b title="([^"]+)"/i;
}

print "downloading file\n";
system ("wget -t inf -T 1 -c -O \"$download_file_name\" \"$url\"")
if (defined($url) && defined($download_file_name));
}

print "closing file $in";
close(file_with_links);
Вот. Работает. Спасибо Диме за направление в нужную сторону.

понедельник, 12 января 2009 г.

Задачка

Для дома =)
Исходные данные: есть несколько серверов, с которых можно качать одновременно (те самые dsv.data.cod.ru, dsv2.data.cod.ru, ftp82-84). Обычно качается это дело wget'ом. Чего хотелось бы: сервер, который бы занимался сортировкой и постановкой ссылок в очередь. Соответственно для каждого источника - своя очередь. Доступ: через web-интерфейс. Ссылки для data.cod могут выглядеть как :
  1. http://dsv.data.cod.ru/xxxxxxxx
  2. http://dsv.data.cod.ru/xxxxxxxx?submit=1
  3. dsv.data.cod.ru/xxxxxxxx
  4. dsv.data.cod.ru/xxxxxxxx?submit=1
Где xxxxxxxx - восьмизначное число. Причем ссылки вида 1, 3 и 4 должны приводиться к виду 2. Хотелось бы иметь группы ссылок (ну, например, если качается фильм, то он, обычно, разбит на несколько архивов, которые хотелось бы скачать друг за другом). Так же, возможно, приоритет (ну то есть, если я знаю, что эта ссылка на файл малого размера, то хотелось бы, чтобы он скачался следующим, а не попал в конец очереди). Циклический перезапуск ссылок, при ошибках связи.
В web-интерфейсе хочется иметь всего 2 страницы: одна для добавления новых ссылок(не забываем о группах), другая для статистики: отображение ссылок в очереди для кажого источника (возможно с небольшим описанием).
Чего хочу от вас? Предлагайте ЯП для реализации. Желательно с примерным сроками выполнения задачи и причинами выбора ЯП для этой задачи. Знаю, что это я охренел, но просто я решил спросить совета.
з.ы. PHP не предлагать :P

пятница, 9 января 2009 г.

Записки сумасшедшего или "Как я ставил Gentoo"

Хм... Здравствуйте дети, сегодня я вам расскажу одну историю, произошедшую со мной намедни.
Начало эта история берет еще в те времени, когда я только начал осваивать линукс. Как только я немного подразобрался, что это такое я захотел такой дистрибутив, чтобы он был создан полностью для меня, но такого не нашлось. Единственный манивший меня был gentoo, но я его немного боялся. Точнее меня отпугивал тот факт, что там нужно самому отконфигурить ядро... Единственной альтернативой, как я думал, будет Sabayon - дистрибутив, основанный на gentoo. Но версия 4 не оправдала моих ожиданий, как минимум, потому, что kde4 нет на ДВД, а можно поставить только из репов, да и с русским языком там проблемы.
И вот вчера я решил, что буду ставить себе генту. Для этого я запасся следующими вещами, о предназначении которых будет понятно дальше:
  1. комп (мой, для установки)
  2. asus eee (мамин) (прим. далее просто eee)
  3. gentoo handbook
  4. образ диска с Gentoo linux install x86 minimal 2008.0
  5. двд болванка
  6. psp
  7. хард на 80гиг (взял тот, на котором у меня стояла винда) (прим. он ide'шный)
Часть один.
Часов в 20 с чем-то закатал образ генты на двд болванку. Хоть мне и показалось кощунством закатывать 79.5Mb на двд болванку, но другой у меня все равно не было, поэтому вот... И стал ждать ночи (прим. это связано с особенностью пользования интернетом у нас в семье - когда брательник играется, я ничего не должен качать, ибо у него жуткие лаги, а, как я знал, при установке дженты, качаться будет много чего).
Через несколько минут, после наступления нового дня, я приступил к подготовке к установке: выключил комп, отключил первый хард(на котором у меня стоит debian), поставил eee рядом на стол, выдернул колонки из своего компа и воткнул их в eee, воткнул в eee свой внешний хард с фильмами, открыл браузер с gentoo handbook.
Далее все делал по хендбуку: ребут, загрузка с двд, загрузка коммандой "gentoo noapic" и тд. Перечислять все действия не имеет особого смысла, т.к. они подробно описаны в хендбуке. Единственно замечу, что разбивал я свой винт немного по-другому, а именно: 32Mb под /boot, 1Gb под swap, 40Gb под корневой раздел и остальное под /home.
Одним из пунктов установки является развертывание стадии. В хэндбуке описано развертывание stage3. Его я решил качать из инета. Весит это дело 120 с гаком метроф. Поэтому где-то в час с чем-то ночи я поставил качаться этот stage3, а сам включил "Алешу Поповича и Тугарина змея" на eee. Досмотрел мульт, подождал, пока докачается stage3, развернул, продолжил идти по пунктам хэндбука. Одним из следующих пунктов является скачивание дерева портежей. Это еще 40 метров. Включил качаться и врубил "Правдивую историю Красной шапки". Когда я докачал дерево портежей и развернул его, часы уже показывали 4 часа утра. Решив, что ночью конфигурить ядро желания нет, я лег спать.
Часть два.
Проснулся в 10 по будильнику, встал, налил чая, взял еды. Так как eee мамин и она забрала его на работу, то дальше хэндбук я читал со своей psp. Пошел дальше по пунктам. Следующим перерывом было скачивание ядра. В этот перерыв я умылся. Дальше все шло по хэндбуку почти до самого конца. Отдельно хочется упомянуть процесс конфигурирования ядра. Очень интересное занятие. Приходится использовать все знания, накопленные за время общения с линуксом. Загвоздкой оказалось то, что grubinstall пытается чего-то записать на флоппи, а у меня его в компе нету. Проблема решается удалением из /boot/grub/device.map строчки, содержащей "fd0". После этого установился груб и наступил один из волнующих моментов : перезагрузка.
Если вы надеетесь, что дальше все как в сказке, типа "И сразу загрузилась система", то фиг вам. Первое, что было : черный экран и тишина компа. То есть ни обращений к винту, ни обращений к приводу. Первое, что пришло в голову: напортачил в frame buffer'ом. Убрал параметры для фб из комманды загрузки ядра в grub'е и снова попробовал загрузиться. И тут... нет, вы не угадали. Я увидел kernel panic. Оказалось, я неправильно указал имя ядра. Исправил. Следующая ошибка было связана с тем, что в ядре, используемом в minimal cd мой хард видиться как hda, а в ядре, которое поставли я (2.6.27-gentoo-r7) хард уже видиться, как sda. Изменив параметры на нужные, я все-таки почти загрузился. Точнее я загрузился, но т.к. в /etc/fstab параметры оставались старые, то винт он примоунтил только в рид онли и ничего нельзя было сделать. Даже ребутнуться. Пришлось жать кнопку. После чего, я снова загрузился с cd-rom'а, примоунтил винты и поправил /boot/grub/grub.conf (в debian это menu.lst) и /etc/fstab. Ребут. И вот я в системе. Свершилось это в 15 с чем-то. Дальше я некотое время ликовал...
Вот на этом я и закончу мой рассказ про то, как я поставил эту систему. Я щаслифф. Еще нужно сделать очень много, но это уже не так страшно. Ну я на это надеюсь...