§ OpenSUSE

Несколько дней назад я решил попробовать в работе дистрибутив OpenSUSE. Основной целью было попробовать что нибудь новенькое на своем десктопе, поэтому я решился. OpenSUSE четвертый по популярности десктоп, что несколько обязывает. Версию которую пробовал я называется Tumbleweed, или как называют его в группе "stable rolling-release". На самом деле OpenSUSE имеет 2 rolling-release дистрибутива Factory и Tumbleweed. Их пожалуй можно сравнить с Experimental и Testing ветками Debian. На первой все оттачивают, во вторую попадают более-менее стабильные версии пакетов. Сегодня близится конец третьего дня и я пожалуй готов рассказать о своих ощущениях.

§ SSH ключи в Active Directory.

Сразу хочу предупредить, что данный пост скорее описание техничесской возможности хранения SSH ключей в Active Directory, и пошаговая рекомендация к тому как это сделать. К сожалению я не нашел нормального описания данного механизма, и поэтому взялся описать то к чему пришел сам листая многочисленные статьи и документацию по SSH, AD и FreeIPA. Сразу скажу что никакого FreeIPA ставить не придется, а хранить сами ключи мы будем в поле Notes вкладки Telephones. Потенциально нам ничего не мешает сделать отдельный атрибут в AD для этого, но я иду максимально простым путем.

§ Подключение к SSH за маршрутизатором с UPnP

Так получается что у моих родителей на домашних ноутбуках установлен и настроен Linux. Поэтому для того что бы что нибудь поправить мне не приходится подключать VNC и прочую ерунду, мне нужен только SSH порт и все. Но так как все они сидят за маршрутизатором (D-Link DIR300) то каждый раз выяснять какой у них внутри IP и пробрасывать порт вручную как то муторно и в целом не хочется. Поэтому я решил воспользоваться небольшой военной хитростью под названием UPnP

§ Sequel. Инструмент для легкой работы с БД.

В работе системного администратора частенько возникают задачи, когда нужно перелопатить данные из базы данных, и произвести какие то действия с ними. Для работы с базами данных существуют немало библиотек, например ActiveRecords или DataMapper, но все они перед тем как предоставить возможность работы с данными требуют описать структуру этих данных в базе, и зачастую гораздо проще самостоятельно написать SQL запросы.

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

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

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

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

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

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

§ Native JSON в PostgreSQL 9.2

На днях я узнал что вышла новая версия PostgreSQL за номером 9.2 в которой появилась очень необычная но в тоже время логичная и понятная функция - вывод результата в формате JSON. Мне кажется что описывать зачем это нужно - неблагодарное занятие, применений этому мульен, особенно ликуют web-разработчики. Моя же статья расскажет о том как этим пользоваться используя в качестве языка мой любимый ruby.

    Старше »