Click

Cборка модулей ядра для dd-wrt

Не смотря на то, что dd-wrt имеет достаточное количество собранных пакетов, доступных через пакетный менеджер, кое-чего иногда все же не хватает. Можно в принципе написать аналог этого “чего-то” на том же Perl и спокойно запустить на роутере, но такой подход в случае с относительно сложным и большим приложением нерационален. А в случае с нехваткой поддержки ядром прошивки нужных функций – и вовсе очень затруднителен. И тогда на помощь приходит старый добрый способ сборки из исходников, осложняющийся в данном случае тем фактом, что собирать на самом роутере не слишком удобно в силу ограниченности его ресурсов, а сборке на производительной машине препятствует разница в архитектурах процессоров (у DIR-620 это MIPS), если у вас конечно нет доступа к производительной MIPS-машине с аналогичной архитектурой ЦПУ :) Вывод – нужен кросс-компилятор. О процессе сборки приложений и модулей ядра под dd-wrt на DIR-620 при помощи кросс-компилятора и пойдет речь ниже.
Читать дальше »

Моё знакомство с Conky и мой conkyrc

Аж на восьмой год знакомства с Linux наконец-то познакомился и с Коньками (Conky) – раньше всё лень было, да и не особо нужно как-то (как мне казалось). Всякие индикаторы были на панельках Gnome, по клику на них вызывались развёрнутые версии, а Коньки я кроме как индикатором никак иначе и не воспринимал. После перехода на Openbox наконец решился на них посмотреть, три месяца потихоньку читал инструкции на сайте и настраивал Коньки под себя.

По итогам этой вялопротекавшей настроечной эпопеи могу сказать, что Conky я совершенно точно недооценивал. И хотя расширение при помощи LUA мне пока не пригодилось (да и возможность вывода нескольких окон с применением разных настроечных файлов тоже пока не требовалась), уже понятно, что Conky – это некий Emacs в мире системных мониторов :)
Читать дальше »

Торрент-клиент transmission – установка на DIR-620 под управлением dd-wrt

Итак, на роутер D-Link DIR-620 была установлена прошивка dd-wrt (с поддержкой swap, это важно), подключены флешка для хранения настроек и установленных программ и внешний жесткий диск в качестве NAS и хранилища закачек для torrent-клиента. Дело за малым – установить и настроить сам клиент. Я выбирал между консольными клиентами rtorrent и transmission, в результате остановился на последнем. Популярные Deluge отпал сразу – тратить скромные ресурсы роутера на обслуживание еще и интерпретатора питона нет смысла. Про rtorrent попались сообщения о наличии в нем утечек памяти, что не есть хорошо. Кроме того, его нужно запускать при помощи screen или dtach, т.к. режима демона он не имеет. А это опять трата лишних ресурсов. Сам-собой остался transmission, умеющий работать в виде демона и достаточно стабильный. Кроме того, помимо нескольких GUI-фронтэндов у него есть встроенный веб-интерфейс – бери и пользуйся, без лишних телодвижений.

Установка торрент-клиента transmission (daemon) на роутер под управление dd-wrt проста до неприличия – достаточно, подключившись например по ssh к роутеру, выполнить следующие команды:

  • ipkg-opt update – обновит список пакетов, доступных для установки;
  • ipkg-opt list | grep transmission – выбираем, какую версию клиента ставить (есть сборка клиент + утилиты для создания и редактирования торрентов + демон, есть отдельно демон);
  • ipk-opt install transmission – я установил пакет, включающий, помимо демона, утилиты для работы с торрент-файлами.

Всё предельно просто, теперь нужно немного настроить transmission-daemon, дописать его в автозагрузку – и можно начинать пользоваться. О настройке дальше и идет речь.
Читать дальше »

Сохранение статистики внешних входящих ссылок из Яндекс.Вебмастер

Решил ради интереса посмотреть статистику изменения количества входящих внешних ссылок (и ссылаюшихся сайтов) через Я.Вебмастер – и с удивлением не обнаружил в нем такой возможности. Может быть “Выгрузка внешних ссылок в виде архива” – то, что мне нужно, но формирования архива придется ждать неделю и только потом можно будет узнать, что же в нем.

Запрос через Яндекс-поиск с ключом link (вида http://yandex.ru/yandsearch?text=link%3D%22dimio.org%2F*%22&lr=2) выдает сильно отличающийся от вывода Я.Вебмастер результат. Интернеты вообще сообщают, что ключ link не поддерживается Яндексом уже несколько лет.

Оставалось только одно – забирать интересующую информацию прямо со страницы из Вебмастера. Сделал небольшой скрипт на perl, который и решает поставленную задачу. Скрипт целиком доступен на отдельной странице, в заметке остановлюсь подробнее только на паре моментов.
Читать дальше »

Подключение и настройка сетевого USB-принетра к dd-wrt на примере DIR-620 и Xerox Phaser 3140

Следующим шагом после установки на DIR-620 прошивки dd-wrt и создания из него сетевого хранилища и торрентокачалки стало подключение сетевого принтера по USB. В принципе задача совершенно не сложная, исходные данные следующие:

  • Роутер D-Link DIR-620 с прошивкой dd-wrt и подключенным к нему USB-хабом;
  • Лазерный принтер Xerox Phaser 3140 (имеется штатный драйвер под *nix);
  • Linux и Windows машины в локальной сети, которые должны печатать на сетевом принтере;
  • Ресурсы роутера ограничены, следовательно использование демона печати CUPS возможно, но может быть проблематично.

При таких исходных данных логичной выглядит схема связи машин из локальной сети с принтером, подключенным к роутеру, при которой вся обработка заданий печати будет выполняться на самих клиентах (там же должны быть установлены драйверы принтера), а роутер займется простой переадресацией готовых заданий печати на принтер. Наряду с плюсом этого решения – экономией ресурсов роутера, есть и минус, который я пока не знаю, как победить – для просмотра оставшегося уровня тонера нужно печатать тестовую страницу.
Читать дальше »

Знакомство с компьютерным форумом IT-talk

Года полтора назад я писал заметку про анонимайзеры – Анонимайзер как замена прокси. Проверка анонимайзеров на валидность, посвященную использованию публичных анонимайзеров вместо “классических” прокси. Поднять эту тему я решил после знакомства с публикацией Еще немного про Google Hack, размещенной в блоге Александра “afiskon”. Собственно именно с неё и началось моё знакомство с его блогом, я подписался на RSS-канал и с тех пор регулярно его читаю.

Не так давно выяснил, что есть у Александра и свой форум на компьютерную тематику – IT Talk – который сейчас переживает второе рождение после объединения с security-teams.net. Процитирую описание тематитки с самого форума: “Форум о программировании, операционных системах, безопасности, сайтостроении, железе, девайсах, сетях и тп”.
Читать дальше »

D-Link DIR-620 и dd-wrt – подключение flash, установка программ, настройка NAS

Итак, после установки на роутер DIR-620 прошивки dd-wrt, можно подключить к нему флешку или внешний диск по USB, установить нужные программы и получить помимо самого роутера – NAS с закачкой торрентов.

Монтирование внешнего диска в dd-wrt

Для начала нужно включить поддержку USB на роутере через веб-интерфейс: Services – USB – USB Support – Core USB Support + USB Storage Support. После подключения внешнего диска проверить успешность при помощи вызова dmesg | grep scsi, где строки вида /dev/scsi/host2/bus0/target0/lun0: p1 p2 укажут на подключенный диск (в данном случае мой диск подключен к третьему порту USB-хаба – host2 и имеет два раздела – p1 p2.
Читать дальше »

Изменить имя сетевого интерфейса в Debian/Ubuntu Linux

Задался целью домашнюю wi-fi сеть перевести на современный протокол шифрования – wpa2. Вроде всё предельно просто должно быть даже в линуксе – ставишь wpa-supplicant, прописываешь имя точки, тип шифрования и ключ в /etc/network/interfaces – и всё работает. Но нет – бился часа четыре, пробовал по-разному – не подключается ноут мой к сети, хотя нетбук и смартфоны легко её подхватывают.

Оказалось, что wi-fi карточка в ThinkPad T40 не поддерживает wpa2 (и wpa тоже) на аппаратном уровне. Я думал, что это исключительно программные решения и даже не догадывался покопать в сторону аппаратной поддержки. В итоге пришлось карточку поменять, благо на e-bay их продаётся много.
Читать дальше »

D-Link DIR-620 и dd-wrt – бюджетный NAS и торрентокачалка

Давно подумывал о необходимости сделать дома NAS (сетевой диск), чтобы иметь общее для всех домашних компьютеров (а теперь – и смартфонов) хранилище музыки, фильмов, резервных копий и каких-то общих файлов, которые нужно синхронизировать между несколькими машинами. Идея собрать еще один компьютер на чём-нибудь типа Атома после размышлений была отброшена – получается долго и относительно дорого, хотя конечно интересно. Поэтому решил посмотреть в сторону готовых устройств с возможностью перепрошивки, конкретно – роутеры, поддерживающие dd-wrt/openwrt и т.п.

Сначала остановился на D-Link DIR-320 – ставший уже классическим вариант для создания домашнего NAS, организации небольшой полноценной сети и решения других подобных задач. Плюсы – весьма умеренная цена, давно на рынке и уже плотно оброс всевозможными руководствами по переделке и доработке. Однако получилось так, что в магазине его не оказалось и я купил DIR-620 – более современную версию 320-го. В остальном особой разницы нет – DIR-620 также имеет возможность перепрошивки сторонними прошивками, оборудован USB-выходом (USB-хостом, если быть точным) и стоит примерно тех же денег (в моём случае он даже оказался на 70 руб. дешевле).
Читать дальше »

Памятки по работе в Linux

Накопилось несколько простых рецептов работы в Linux, которые в силу низкой частоты использования наизусть не помню. Пока лежали в черновиках – некоторые по несколько раз успел перечитать, чтобы вспомнить, как и что делать – польза налицо.

Порядок вывода аргументов в xargs

Как-то раз столкнулся с проблемой порядка подстановки аргументов в xargs. И man вроде почитал, и погуглил, и встретил нужный ключ -I, но ни из мана, ни из гугля не понять было точно, что он делает именно то, что надо. Итак, ключ -I задаёт нужный порядок вывода аргумента в xargs, используя подстановку.
xargs -I arg_name command arg1 arg_name arg3 – аргументы при вызове команды command будут выведены именно в таком порядке, тогда как в обычном случае arg_name будет подставлен в конец строки вызова команды.

Чтение N строк из начала файла

Совместно с предыдущим решением удобно использовать чтение из файла неких строк, которые затем и преобразовывать в набор аргументов. Банальный cat известен думаю всем. Обратный порядок – tac. Прочитать N строк с конца: tail -n N. Аналогично, но с начала файла: head -n N (возм. head отсутствует в BSD-системах). И прочтитать строки с X по Y: awk 'NR >=X && NR < =Y'
Читать дальше »