§ Идеальный плеер.

Долгое время под Debian действительно не было нормального видеоплеера, имеющего GUI и при этом позволяющего аппаратно декодировать видео через VAAPI. VLC хоть и заявляет такую поддержку, тем не менее ее не обеспечивает, поэтому приходилось брать бинарник пропатченного mplayer из ubuntu, и использовать его.

Но сегодня вышла новая версия плеера MPV (доступен через репозиторий deb-multimedia.org) за версией 0.2.0, о котором то я и расскажу.

§ ZSWAP или делаем Linux быстрым.

Вместе с выходом самого тро-ло-ло ядра Linux 3.11 "Linux for Workgroups" в ядро был официально добавлен модуль zswap. По своей сути этот модуль является некоторой усовершенствованной-типе-измененной версией zRam, но обладает небольшим приемуществом перед ним, a именно не создает блочных устройств в памяти, а занимается сжатием памяти "по мере надобности", по своему хитрому алгоритму, что позволяет выделять большее количетсво памяти для приложний, и динамически изменять размеры сжатой-несжатой памяти. Есть мнение что такой способ позволяет сущетвенно повыстить скорость работы когда у системы есть достаточное количество памяти для размещения всех приложений.

Так же необходимо отметить, что среди приемуществ zswap (как и zRam) является сокращение количества обращений к внешнему устройству, что при наличии SSD, способно ощутимо продлить жизнь устройству, так что профита много.

§ Cloud Storage под Linux

Долго и упорно я сидел на Dropbox, так как не видел более-менее приличных альтернатив этому решению. Основная функция Dropbox'a являющеяся ценной для меня - это нормальный Linux клиент. Да-да, тот самый ярлычек в углу рядом с часами, а не консольная надстройка над webdav хранилищем, и не прочий настраиваемый руками шлак, а именно клиент для тупых, запустил, вбил логин и пароль и он работает! При этом клиент для Windows для меня не особо важен, но важен клиент для Android.

И dropbox устраивал всем, всем кроме... количества свободного места. Короче говоря dropbox крайне жадный сервис. 2 гига бесплатно, плюс 500 мегабайт за друга, плюс 500 мегабайт если доверить ему свои фотки... Всякими хитрыми ухищрениями мне удалось добиться от Dropbox целых 3 Gb, который сейчас уже хватает впритык, при этом Dropbox имеет меня во все социальные отверстия как хочет... Пора было от этого избавляться, и я избавился.

§ KVM Direct Kernel Boot и почему это вкусно.

Обычно работа с KVM строится по простой и привычной схеме. Создаем файл (raw\qcow2) или LVM раздел, который монтируем как диск в виртуалку, после чего делаем необходимую разметку диска внутри (обычно так же создаем разделы lvm, ибо неизвестно понадобиться ли нам в будущем увеличить диск или нет), ставим систему, загрузчик и работаем. Но есть как минимум два НО во всей этой схеме:

1. Скорость. Есть достаточно обоснованные подозрения что LVM внутри раздела LVM или файла (raw\qcow2) не сильно производительное решение.

2. Простота. Существует ряд проблем в сучае необходимости смонтировать такое блочное устройство, что бы например поправить конфиг, или скопировать файлы, или ещё какой rm -rf / запустить. Не сказать что трудности непреодолимые, тем не менее хлопот это доставляет.

Вот тут то и приходит на помощь direct kernel boot. При помощи этой фичи мы можем указать KVM'у файл ядра линукса и initrd файл с которых будем загружать виртуалку. Такой подход позволяет во-первых иметь всего одно ядро для большого количества виртуалок, и обновив это ядро - обновить ядро для всех виртуалок сразу. Во-вторых позволяет использовать LVM раздел не как дисковое блочное устройство, а как обычный раздел, скажем ext4, который так же просто проверить на ошибки, монтировать и вообще делать с ним много всего.

§ Свой сервер Heroku style.

Heroku учит добру. Однажды попробовав его, сложно отказать себе в удовольствии забабахать все свои проекты подобным образом. И тут как раз я начал поднимать сервер для своих, административных задач, и подумалось мне - а чего бы не использовать систему деплоя подобно heroku, а потребуется для этого совсем немного. Итак приступаем.

§ Кеширующий прокси для репозиториев.

У меня давно стояла задача сделать локальный репозиторий для Fedora, особенно старых версий, с тем что бы не тягать каждый раз кучу пакетов из интернетов, а преспокойненько брать их с локального хоста. Тащить к себе весь репозиторий федоры нерационально, ибо вес его переваливает за 4 десятка гигабайт, а реально используемых пакетов в нем всего сотни на полторы мегабайт. Вытащить нужные версии пакетов и создать свой репозиторий при помощи createrepo возможно, но в этом случае если ктото из разработчиков собирает пакет с новыми зависимостями - все ломается, и пакеты приходится докачивать в репозиторий рукам, пересобирая репозиторий заново.

Распространенным решением является запуск обычного кеширующего сервера на базе squid, с тонкой настройкой кеша, но squid хранит свой кеш в таком виде что на него печально смотреть. Если кеш повредится - то придется его сбросить и все сначала. Что делать? Готовых подходящих решений я не нашел, поэтому решил написать свой велосипед, взяв за основу скрипт реализующий простейший прокси на Ruby из интернетов, и тщательно допилив его напильником.

§ Mplayer VAAPI в Debian.

В интернетах ходит 100500 рецептов о том как самому собрать mplayer-vaapi для debian используя исходные коды и магические пассы руками. При этом владельцы ubuntu смотрят на нас с недоумением и крутя пальцем у виска подключают нужный ppa и ставят mplayer-vaapi за секунды.

Сегодня я расскажу вам как нихрена не собирая руками и не ставя мульен пакетов с суффиксом -dev заиметь mplayer-vaapi.