Архив категории ‘Linux’

Автоматическое выкачивание новых серий любимых сериалов

Friday, November 7th, 2014

Извините! Я почему вредный был? Потому что у меня велосипеда не было! А теперь я сразу добреть начну.

м/ф «Трое из Простоквашино»

bicycleНекоторое время назад на некоторых ресурсах (в основном на Хабре) на глаза несколько раз попадались посты о том, как организовать автоматическое скачивание новых серий, которые появляются на сериальных торрент-трекерах. В основном речь шла о ресурсе lostfilm.tv, и суть метода состояла в периодическом парсинге RSS-ленты, обнаружении ссылок на новые серии нужных сериалов, скачивание торрент-файлов и подкладывании их в некоторое место, откуда их может забрать в работу торрент-клиент.

Идея показалась мне интересной, а реализация – скучной, так что мысль о своём велосипеде в фоновом режиме жила в голове несколько месяцев, а недавно за пару дней реализовалась в рабочий вариант.

 

(more…)

Метки: ,
Категория: Linux, Perl | 2 Комментариев »


Расширение Linux Raid

Friday, October 31st, 2014

Счастье классиков в том, что они мертвы.
Наше и ваше счастье в том, что они мертвы.

Акутагава Рюноскэ «Слова пигмея»

raidНебольшая заметка про то, как увеличить размер программного RAID после, например, замены дисков на более ёмкие. Пусть мы заменили диски в linux raid:

mdadm –remove /dev/md0 /dev/sda1
mdadm –add /dev/md0 /dev/sdb1

Дождались полного ресинка:

watch -n 10 "cat /proc/mdstat | grep resync"
   [======>…………..] resync = 34.6% (1248559808/3599812864) finish=164.0min speed=238826K/sec

Cкорость ресинка при этом можно увеличить:

echo 50000 > /proc/sys/dev/raid/speed_limit_min
echo 300000 > /proc/sys/dev/raid/speed_limit_max

(more…)

Метки:
Категория: Linux | Нет комментариев »


Сборка Nginx в DEB-пакет

Tuesday, April 8th, 2014

И тут на Ёжика, шурша и осыпаясь, обрушилась тишина.

Сергей Козлов «Ёжик в тумане»

nginx deb package

Нижеследующий текст не претендует на полноту, объективность и, может быть, даже на полезность. Это просто очередной кусок скомканных заметок, которые я для себя оставляю в Evernote, а потом изредка достаю оттуда, разбавляю бестолковыми комментариями и переношу в бложик в беспочвенной надежде, что кому-нибудь пригодится. В данном случае это будет статья по сборке Nginx из исходников в Debian-пакет для размещения его на своём локальном репозитории. Этот навык полезен в том случае, когда Nginx работает на нескольких машинах и хочется удобно обновлять его сразу везде.

Впрочем, и не обязательно иметь несколько машин. Даже если речь идёт об одном сервере, хорошим тоном будет устанавливать программы через менеджер пакетов. В будущем эта привычка сможет оградить от многих проблем и добавить удобства упраления файлами. В Debian/Ubuntu от make && make install стоит отказаться ради душевного спокойствия и очистки кармы.

Так-то в большинстве случаев можно просто ставить Nginx из официальных репозиториев (или даже с LaunchPad'а, где всегда можно найти распоследнюю версию), но Nginx не умеет подключать внешние модули. Хочешь нестандартный модуль – компилируй. Этим и займёмся.

 

(more…)

Метки: ,
Категория: Linux, Nginx | Нет комментариев »


SS-кунфу

Thursday, April 3rd, 2014

– Вы откроете ворота?
– Откроем, когда вы уедете.

Дж. Р. Р. Мартин «Танец с драконами»

ss-kungfu

Нет, речь пойдёт не о Schutzstaffel, как можно было подумать, посмотрев на картинку и название поста, а о консольной утилите GNU ss для получения статистики по сетевым (TCP, UDP, DCCP) и unix-сокетам. В общем то, ss и расшифровывается как "socket statistics". Входит она в пакет iproute, то есть присутствует в принципе во всех Linux-дистрибутивах, но несмотря на это не пользуется большой популярностью – подавляющее большинство использует более известную утилиту netstat.

Надо добиться небольшой кармической справедливости и заняться популяризацией ss (как бы двусмысленно это всё-таки ни звучало).

Итак, что мы можем получить.

(more…)

Метки: ,
Категория: Linux | Нет комментариев »


Обновление драйвера RAID-контроллера LSI в VMware ESXi

Thursday, March 6th, 2014

– Зайцы не состариваются, – сказал Заяц. – Зайцы умирают молодыми.
– Это почему же?
– Мы бежим, понимаешь? А движение – это жизнь.

Сергей Козлов «Ёжик в тумане»

yozhik

Само обновление делается в пару шагов и занимает совсем немного времени, но ему предшествуют кое-какие подготовительные действия, о которых тоже можно написать.

Во-первых, нужно определиться с устройством, драйвер для которого мы хотим поставить. Конечно, в нормальной ситуации мы будем знать, что стоит карточка такая-то (у меня LSI 9211-8i в режиме iR) и что она использует драйвер mpt2sas, но лучше убедиться. Во-вторых, нужно найти и скачать этот драйвер.

(more…)

Метки:
Категория: Linux | 1 Комментарий »


Три способа по-быстрому поднять forward proxy

Friday, January 24th, 2014

У них, милсдарь ведьмак, такой принцип: если цель привлекает, средство должно найтись.

Анджей Сапковский «Владычица озера»

3ways

Forward proxy – это (обычно) анонимный прокси, к которому клиент обращается и сообщает адрес хоста, к которому он хочет подключиться.

При обращении на такой прокси браузер особым образом формирует запросы. В случае обычного HTTP протокола он просто добавляет обязательный заголовок Host:, а сам URL в запросе формирует в абсолютном виде. В этом случае принципиальной разницы с reverse proxy нет. Но при обращении на HTTPS или любой нестандартный порт происходит установление сквозного туннеля  с целевым сервером с помощью метода CONNECT, отправляемого на прокси. Прокси при этом использует заголовки этого запроса для установления соединения, но не может ни ловить сессионные SSL-ключи, ни тем более смотреть проходящий трафик.

Работать в режиме forward proxy могут многие серверы, но не все. Тот же Nginx, например, хоть и считается одним из лучших reverse proxy, категорически не работает как forward и вообще не умеет обрабатывать метод CONNECT. Поэтому я по-быстрому рассмотрю Apache TrafficServer, Apache/mod_proxy и Squid. Плюс задача будет усложнена условием, чтобы прокси-сервер пропускал только трафик, идущий на определённый домен и его суб-домены, и не все серверы с этим справятся (по крайней мере "по-быстрому").

(more…)

Метки: ,
Категория: Linux | Нет комментариев »


Перезагрузка HAProxy и потеря запросов

Thursday, November 7th, 2013

В другой витрине толстяк в фартуке мясника резал младенцев. Это была наглядная пропаганда общественной благотворительности.

Борис Виан «Пена дней»

lost

Разбирая странные ошибки фронтенда, возникновение которых удивительным образом коррелирует с моментами, когда я произвожу перезагрузку HAProxy (service haproxy reload), я выяснил, эта самая перезагрузка работает совсем не так, как я думал. Вопреки ожиданием при перезагрузке процесс вовсе не перечитывает конфигурационные файлы и продолжает работать дальше. На самом деле порождается новый процесс haproxy с новым pid'ом. Он через unix-сокет забирает у старого процесса все сессионные данные и просит того освободить порт и умереть. Дождавшись освобождения порта, он биндится на него и как ни в чём не бывало продолжает принимать новые соединения и обслуживать старые. Но…

(more…)

Метки: , ,
Категория: HAProxy, Linux | Нет комментариев »


Подсветка синтаксиса в командной строке

Wednesday, October 30th, 2013

Мудрость – это, в частности, умение пропускать мимо ушей глупые или неискренние советы.

Анджей Сапковский «Меч Предназначения»

source-higlight

Подсветка синтаксиса в том же Vim'е – дело привычное и полезное. Но ещё было бы полезно получить такую же раскраску и в обычном стандартном выводе в консоли. Её можно было смотреть прямо так или подать на вход less'у, не важно. И таких способов существует несколько.

 

(more…)

Метки:
Категория: Linux | Нет комментариев »


Хэши в AWK

Thursday, February 28th, 2013

Ох, и не люблю же я плотников! Ну, совсем не люблю. И дерева пиленого запах, и стружки, а уж если смолой потянуло! И удивительного в том нет ничего – кто эшафоты строит, скажите на милость? А виселицы из чего срублены?

Андрей Валентинов «Ола»

AWK я люблю и уважаю, хоть и пользуюсь его возможностями максимум на 1,5%. Когда же я понял, что он умеет работать с ассоциативными массивами, это число резко выросло до 1,86%. До awk-гуру рукой подать.

Допустим мы выбрали из access.log ip-адреса пользователей и размеры ответов и хотим подсчитать, кто сколько раз к нам сходил (это просто) и сколько трафика суммарно высосал (это интереснее). Допустим, сырой файл выглядит так:

(more…)

Метки:
Категория: Linux | 1 Комментарий »


vsftpd: лицом к лицу с “500 OOPS: vsftpd: refusing to run with writable root inside chroot ()”

Friday, November 2nd, 2012

Мы ведь не дети и отлично понимаем, что сила современной философии не в силлогизмах, а в авиационной поддержке.

Виктор Пелевин «S.N.U.F.F.»

Предыстория такова, что разработчики vsftpd (точнее её единственный разработчик под названием Крис Эванс) здраво рассудили, что ради безопасности надо бы запретить пользователям запись в корень своего chroot’а. То есть если пользователь по ftp chroot’ится в свою домашнюю директорию, то не пускать его в том случае, если у него есть права на запись в неё (можно писать только в поддиректории). Сказано-сделано. Выкатили версию 2.3.5 с этим изменением, а майнтайнеры репозиториев Ubuntu взяли, да и собрали эту версию в репы для 12.04 LTS. Оказалось, что после обновления у многих людей (у тех 99,9999% людей, которые не читают changelog’и) вдруг сломался доступ по ftp. И это при том, что не у всех ситуация позволяет просто так взять и отобрать права на запись в домашние директории. В общем всё это привело к тому, что на бедного Криса со всех уголков интернета полились ушаты говна, отчего он запилил версию vsftpd 3.0, куда добавил опцию конфига allow_writeable_chroot, возвращающую старое-доброе небезопасное поведение. Запилить-то запилил, но майнтайнеры Убунты заявлили, что собирать эту версию для своей 12.04 уже не будут и просто умыли руки.

В общем, решайте проблемы как хотите.
(more…)

Метки: , ,
Категория: Linux | 17 Комментариев »