Linux
Конвертация mpv -> flv
Понадобилось перевести видеофайл из mpv в flv. Использованная в итоге команда:
mencoder -mc 0 -vf harddup -ofps 25 -srate 44100 -oac mp3lame -lameopts vbr=2:q=8:aq=1:br=96
-ovc lavc -of lavf -lavfopts format=flv -lavcopts vcodec=flv:vbitrate=236:mbd=2:mv0:trell:v4mv:cbp:last_pred=3
5.mpv -o 5.flv
Подробности: man mencoder.
Рипанье видео, DVD и прочего
Просто памятка: самая удобная лично для меня программа, рипающая видео -- dvd::rip.
Размещение /var в tmpfs
Купил себе EeePC 901. Среди прочего понадобилось вынести самую "писучую" часть /var с SSD с его ограниченным числом перезаписей.
Нашёл в интернете изящное решение по выносу нужных каталогов в оперативную память. В /etc/fstab дописываем строки:
tmpfs /tmp tmpfs defaults,noatime,mode=0777 0 0 tmpfs /var/tmp tmpfs defaults,noatime,mode=0777 0 0 tmpfs /var/log tmpfs defaults,noatime,mode=0777 0 0 tmpfs /var/run tmpfs defaults,noatime,mode=0777 0 0
Разумеется, можно добавить и другие, если надо. Только помните, что оперативки у 901 всего гигабайт.
Как в vim поставить # в начало всех строк выделения?
Как в vim поставить # в начало всех строк выделения?
Кратко: <c-v>jjjjjI#<esc>
Подробно:
- <c-v> выделить блок
- jjjjj — несколько строк книзу
- I (большая i) — вставить перед блоком
- #<esc> — # и к нормальному режиму.
Работает только в визуальных блоках.
Ссылки на полезные материалы по vim
Логотип vim
<
dl>
Подключение приёмника IRLink к Linux
(Оригинал написан для linuxetc.ru) Как-то раз я собрался с духом и настроил у себя просмотр IP-телевидения от Корбины с помощью всемогущего mplayer (возможно, я напишу об этом позднее). Создал в fvwm меню пунктов на сорок для быстрого выбора каналов... Но всё равно было как-то не вполне удобно. Например, научить домашних пользоваться телевизором с клавиатуры -- мягко скажем, задача не из простых и смысла в ней нет никакого.
Так я осознал, что моему компьютеру нужен пульт дистанционного управления. Беглый поиск в гугле моментально вывел меня на общеизвестную в линуксовых кругах программу lirc. Всё бы ничего, но к ней требовался инфракрасный приёмник и пульт. Паять приёмник самому у меня не было ни умения, ни особого желания.
SSL proxy на lighttpd
https-запрос
|
\\|/
lighttpd
/ \\
/ \\
apache1 apache2
где apache1. apache2 выбираются, исходя из доступности.
Так как задача отняла чуть больше времени и сил, чем ожидалось, приведу решение с небольшим комментарием:
OpenVPN: частный случай p2p соединения
(Оригинал написан для linuxetc.ru) Рассмотрим весьма частный случай применения OpenVPN.
Конфигурация сети:
- Диспетчер, он же центральный хаб "звезды", он же VPN-сервер в стандартной схеме "клиент-сервер".
- Client1, по отношению к диспетчеру -- клиент.
- Client2, по отношению к диспетчеру -- клиент.
- Предполагается, что впоследствии появятся ещё Client3, ..., ClientN, и все они по отношению к диспетчеру будут суть клиенты.
Считается, что VPN между диспетчером и каждым из клиентов уже настроен, то есть классическая "звезда" уже работает.
Требуется обеспечить симметричный p2p VPN-линк между Client1 и Client2. Другими словами, превратить "звезду" в полносвязку.
Когда я приступил к решению данной задачи, то обнаружил, что в интернете практически отсутствуют описания применения OpenVPN в симметричных схемах. Везде тщательно и со вкусом рассматриваются схемы "клиент-сервер", при которых одна определённая сторона ждёт входящих соединений, а другая
инициирует исходящие.
Так как Client1 и Client2 -- это равноправные сервера, делать кого-то формальным сервером не было ни желания, ни особого смысла. С учётом же возможности пояления Client3, ..., ClientN заводить N формальных серверов -- это неизбежно запутаться во всех них.
Чистка /usr/portage/distfiles
На днях забился /. Напрочь, оставив лишь 5% для рута. Исследование показало, что в /usr/portage/distfiles накопилось три с половиной гига исходников. После на удивление долгого поиска в интернете нашёл упоминание утилиты eclean из пакета gentoolkit.
Она как раз удаляет ненужные исходники, оставляя актуальные.
Занес в кронтаб строки:
# воскресная чистка /usr/portage/distfiles
00 9 * * 0 /usr/bin/eclean distfiles --quiet