Обновили nxs-build-tools — наш простой, но в то же время очень удобный open source инструмент для сборки deb и rpm пакетов.
Deb-пакеты в Яндексе
Из серии “знаете ли вы что…” :-).
В Яндексе выкладывание всего рабочего кода на серверы управляется системой Debian’овских пакетов.
Вот что пишет один из программистов Яндекса Иван Сагалаев:
softwaremaniacs.org/blog/2007/08/15/deb-packages-in-yandex/#more-269
При ближайшем рассмотрении оказалось, что apt — это мощная и универсальная штука, в которой есть все что нужно для такого сценария. Админам не нужно вникать в детали каждого проекта: разработчик просто присылает название пакета, который надо установить, и он ставится. Проверка версий, установка зависимостей, предварительная настройка, прописывание init-скриптов — все это можно описать в пакете. А я, помнится, процесс установки одного своего сервиса подробно описывал словами в wiki, чтобы админ все это делал вручную :-). А если в рабочем коде вдруг обнаружатся дикие баги, которые не выявило внутреннее тестирование, то админ, ничего не зная о коде, может просто заменить его на предыдущую работающую версию.
В Яндексе выкладывание всего рабочего кода на серверы управляется системой Debian’овских пакетов.
Вот что пишет один из программистов Яндекса Иван Сагалаев:
softwaremaniacs.org/blog/2007/08/15/deb-packages-in-yandex/#more-269
При ближайшем рассмотрении оказалось, что apt — это мощная и универсальная штука, в которой есть все что нужно для такого сценария. Админам не нужно вникать в детали каждого проекта: разработчик просто присылает название пакета, который надо установить, и он ставится. Проверка версий, установка зависимостей, предварительная настройка, прописывание init-скриптов — все это можно описать в пакете. А я, помнится, процесс установки одного своего сервиса подробно описывал словами в wiki, чтобы админ все это делал вручную :-). А если в рабочем коде вдруг обнаружатся дикие баги, которые не выявило внутреннее тестирование, то админ, ничего не зная о коде, может просто заменить его на предыдущую работающую версию.
Шаг 9. Установка программ
Время от времени появляются новые задачи либо необходимость в решении старых задач новыми способами — тогда возникает потребность в дополнительном программном обеспечении. Что делать, если вам нужна новая программа для Linux? Попробую описать некий алгоритм.
Собираем deb-пакет. Часть 1
В репозитариях Ubuntu собрано огромное количество программ и библиотек. На сайтах самих программ достаточно часто встречаются deb-пакеты, которые можно скачать и установить. Однако все же бывает ситуация, когда нужного ПО нет в репозитариях или на сайте нельзя скачать пакет для Ubuntu, или, наконец, в репозитарии есть старая версия, но она вас не устраивает тем, что в ней присутствует досадный баг или нет нужной функциональности.
Стать мэинтейнером. Часть первая
Когда я прочитал эту и эту статьи, мне захотелось рассказать, как человек может внести свой маленький вклад в распространение своей любимой программы среди пользователей всеми любимой операционной системы. Полистав Убунтариум, я увидел, что статей на эту тему вроде бы не было, поэтому я решил смело приняться за дело.
(Части 2, 3 и 4)
(Части 2, 3 и 4)
Стать мэинтейнером. Часть вторая
На второй день мы уже пообвыклись с идеей, что в дебиане и убунту любят действительно свободное программное обеспечение и уже начинаем задумываться о том, как бы нам начать собирать свой первый пакет. Но стоп! А какими программами мы вообще умеем пользоваться? Что?! OpenOffice.org Writer и Kopete? Не, ну так дело не пойдёт. Сегодня я расскажу вам обязательный минимум, который понадобится каждому будущему сопровождающему пакеты (я решил принять этот термин, оставив заморское слово «мэинтейнер» только в заголовке, как дань первой статье), да и просто любому убунтоводу пригодится в жизни.
(Части 1, 3 и 4)
(Части 1, 3 и 4)
Стать мэинтейнером. Часть четвертая
В то время, как фанаты экзотики на хабре активно пьют чашки с Java, принимают дозы F# и вкалывают себе прочий Haskell, мы с вами учились собирать их творения в deb-пакеты. За прошедшее с предыдущей части время у кого-то наверняка уже накопилось несколько готовых пакетов, а в официальный репозиторий Debian и Ubuntu мы их пока помещать даже не пробовали. Поэтому настало время подумать, каким бы образом организовать всё накопленное богатство в один большой красивый репозиторий, который не стыдно будет предложить для использования и другим пользователям.
(Части 1, 2 и 3)
(Части 1, 2 и 3)
Установка OpenOffice 3.0 на Ubuntu 8.10
Translation
После прочтения статьи "Переходим с «палёного» софта на бесплатный" решил обновить свой OpenOffice до версии 3.0.
Все уже, я думаю, знаю, что OpenOffice 3.0 не будет доступен на ubuntu 8.10, потому, что разработчики не имеют достаточного количества времени, чтобы проверить его. Ubuntu 8.10 поставляется с OpenOffice.org 2.4.1 и, если вы хотите использовать новый и улучшенный вариант, то это руководство для вас!
Мы не будем делать новую установку OpenOffice, а вместо этого, только обновить текущую версию в Ubuntu Intrepid.
Все уже, я думаю, знаю, что OpenOffice 3.0 не будет доступен на ubuntu 8.10, потому, что разработчики не имеют достаточного количества времени, чтобы проверить его. Ubuntu 8.10 поставляется с OpenOffice.org 2.4.1 и, если вы хотите использовать новый и улучшенный вариант, то это руководство для вас!
Мы не будем делать новую установку OpenOffice, а вместо этого, только обновить текущую версию в Ubuntu Intrepid.
Стать мэинтейнером — часть пятая
Настало, наконец, время вернуться к теме пакетирования в Debian и Ubuntu.
Начну я с оправданий. Причиной долгой паузы, между четвертой и этой частью была не моя лень, не диплом, который я никак не допишу, и даже не положение звёзд, а уже упомянутый мною в предыдущих статьях (раз, два, три, четыре) досадный баг в одном из пакетов Debian. Как я, наконец, понял, скорого исправления этого бага ждать не стоит, поэтому я предлагаю тем, кто уже освоил сборку пакетов, изучить интересное средство, облегчающее как тестирование вашего пакета, так и сборку его под разные архитектуры — pbuilder.
Начну я с оправданий. Причиной долгой паузы, между четвертой и этой частью была не моя лень, не диплом, который я никак не допишу, и даже не положение звёзд, а уже упомянутый мною в предыдущих статьях (раз, два, три, четыре) досадный баг в одном из пакетов Debian. Как я, наконец, понял, скорого исправления этого бага ждать не стоит, поэтому я предлагаю тем, кто уже освоил сборку пакетов, изучить интересное средство, облегчающее как тестирование вашего пакета, так и сборку его под разные архитектуры — pbuilder.
Поисковик deb файлов по репозитариям Cydia

В свободное время написал парсер репозиториев программы Cydia. Надеюсь для кого-то этот инструмент будет полезен.
На этой странице вы найдете и сможете скачать приложения в формате DEB, это удобно для тех у кого нет возможности пользоваться Wi-Fi (или GPRS), так как для установки приложений из Cydia необходим настроенный интернет на плеере (телефоне), а скаченные приложения в deb формате можно ставить вручную как написано тут
deb-пакет на коленке
Задача: создать пакет для Debian для выливки демона/сайта на сервер.
Я никогда ранее не работал с deb-пакетами — так что решение может быть не оптимальным. Но оно работает и достаточно просто в использовании.
Я никогда ранее не работал с deb-пакетами — так что решение может быть не оптимальным. Но оно работает и достаточно просто в использовании.
Как собрать бинарный deb пакет: подробное HowTo
Сегодня я расскажу на абстрактном примере как правильно создать *.deb пакет для Ubuntu/Debian. Пакет мы будем делать бинарный. Пакеты, компилирующие бинарники из исходников здесь не рассматриваются: осилив изложенные ниже знания, в дальнейшем по готовым примерам можно понять суть и действовать по аналогии :)
В статье не будет никакой лишней возни «вручную»: формат пакета эволюционировал в достаточно простую, а главное — логичную структуру, и всё делается буквально на коленке, с применением пары специализированных утилит.
В качестве бонуса в конце статьи будет пример быстрого создания собственного локального репозитория: установка пакетов из репозитория позволяет автоматически отслеживать зависимости, и конечно же! — устанавливать всё одной консольной командой на нескольких машинах :)
Для тех, кто не хочет вдаваться в мощную систему установки софта в Linux, рекомендую посетить сайт проги CheckInstall: она автоматически создаёт deb-пакет из команды «make install» ;) А мы вместе с любопытными —
В статье не будет никакой лишней возни «вручную»: формат пакета эволюционировал в достаточно простую, а главное — логичную структуру, и всё делается буквально на коленке, с применением пары специализированных утилит.
В качестве бонуса в конце статьи будет пример быстрого создания собственного локального репозитория: установка пакетов из репозитория позволяет автоматически отслеживать зависимости, и конечно же! — устанавливать всё одной консольной командой на нескольких машинах :)
Для тех, кто не хочет вдаваться в мощную систему установки софта в Linux, рекомендую посетить сайт проги CheckInstall: она автоматически создаёт deb-пакет из команды «make install» ;) А мы вместе с любопытными —
Google Chrome — Dev сменил адрес (ArchLinux, Debian)
Адрес deb-пакета Google Chrome для Linux сменил свой адрес.
Пример:
Старый: dl.google.com/linux/deb/pool/main/g/google-chrome-unstable/google-chrome-unstable_6.0.401.1-r47049_amd64.deb
Новый: dl.google.com/linux/direct/google-chrome-unstable_current_amd64.deb
Конкретно в терминах нашего PKBUILD для google-chrome-dev это вот что:
Старый: dl.google.com/linux/deb/pool/main/g/google-chrome-unstable/google-chrome-${_chanswitch}_${pkgver}-r${_revision}_$ARCH.deb
Новый: dl.google.com/linux/direct/google-chrome-${_chanswitch}_current_$ARCH.deb
Для пользователей ArchLinux (на момент написания поста) это означает, что перед установкой пакета «google-chrome-dev» нужно руками отредактировать PKGBUILD и заменить там старый адрес на новый. Новый адрес там уже вписан, но закомментирован решетками (смотрите строчки перед вызовом wget и перед вызовом ar).
Jai закомментировал новый адрес, потому, что у кого-то из пользователей он не заработл (у меня же всё прошло как надо, гладко).
Адрес обсуждения на AUR: http://aur.archlinux.org/packages.php?ID=27031
Приятного перехода на Chrome 6.
Пример:
Старый: dl.google.com/linux/deb/pool/main/g/google-chrome-unstable/google-chrome-unstable_6.0.401.1-r47049_amd64.deb
Новый: dl.google.com/linux/direct/google-chrome-unstable_current_amd64.deb
Конкретно в терминах нашего PKBUILD для google-chrome-dev это вот что:
Старый: dl.google.com/linux/deb/pool/main/g/google-chrome-unstable/google-chrome-${_chanswitch}_${pkgver}-r${_revision}_$ARCH.deb
Новый: dl.google.com/linux/direct/google-chrome-${_chanswitch}_current_$ARCH.deb
Для пользователей ArchLinux (на момент написания поста) это означает, что перед установкой пакета «google-chrome-dev» нужно руками отредактировать PKGBUILD и заменить там старый адрес на новый. Новый адрес там уже вписан, но закомментирован решетками (смотрите строчки перед вызовом wget и перед вызовом ar).
Jai закомментировал новый адрес, потому, что у кого-то из пользователей он не заработл (у меня же всё прошло как надо, гладко).
Адрес обсуждения на AUR: http://aur.archlinux.org/packages.php?ID=27031
Приятного перехода на Chrome 6.
В Ubuntu 10.10 DEB-пакеты будут по умолчанию открыватьcя в Центре Приложений
Translation
Canonical делает еще одно небольшое, но значительное изменение в Ubuntu 10.10. Скачанные DEB пакеты больше не будут открываться с помощью GDebi по умолчанию, а вместо этого пакет откроется с помощью Центра Приложений Ubuntu!


Это огромное продвижение внимания к деталям Canonical. Центр Приложений действительно получает много внимания, и это хорошо.


Это огромное продвижение внимания к деталям Canonical. Центр Приложений действительно получает много внимания, и это хорошо.
Создание зеркала репозитория Ubuntu с помощью apt-mirror

В этой статье я расскажу как создать локальную копию репозитория с помощью утилиты apt-mirror. Это простая и удобная утилита для создания локальных копий репозиториев Ubuntu, использующая такой же синтаксис, как и в файле /etc/apt/sources.list, в котором указываются все репозитории для Ubuntu.
Всё, что вам потребуется — это компьютер с установленной Ubuntu и безлимитным доступом к интернету.

Собираем GNU Emacs для Ubuntu
Sandbox
Вопросы связанные с администрированием ОС лежат вне области моих интересов, поэтому когда возникает необходимость решить один из таких вопросов, я сначала стараюсь найти краткое howto, если же ничего не найдено, сажусь за чтиво руководств, которые после решения проблемы благополучно забываю. Поэтому для редко решаемых, но всё же время от времени возникающиx проблем, я пишу себе шпаргалки. Эта статья — одна из них. Чем она в большей мере является: «quick'n'dirty создание deb пакета» или «кратко о сборке emacs.deb» — судить не берусь, подойдёт как в качестве одного так и другого. Ниже описана сборка GNU Emacs 24.0.92 из исxодных кодов в Ubuntu 11.10.
ROSA Media Player в Ubuntu. Собираем из исходников
Sandbox
ROSA Media Player является ответвлением от проекта SMPlayer и использует для воспроизведения контента MPlayer и FFmpeg. Список поддерживаемых форматов идентичен возможностям MPlayer. Из особенностей можно отметить поддержку захвата видео с экрана, сохранение в отдельном файл аудио дорожки из видео, функцию вырезания фрагментов и обрезки видео по краям, дополнительные фильтры для нормализации изображения и борьбы с искажениями. Код плеера доступен под лицензией GPLv3.
Новая версия (ту, которую мы будем собирать, 1.6.0) примечателена захватом видео с экрана со звуком (поддерживается как запись с микрофона, так и запись с линейного входа), и интеграцией поддержки YouTube: не покидая ROMP пользователи теперь могут осуществлять поиск, просмотр и сохранение на локальной системе размещённых в YouTube видеороликов. Казалось бы, что тут удивительного, тот же VLC прекрасно умеет делать последнее. Но тяга к новому в нас неизбывна, а возможность создания видеопрезентаций без дополнительного ПО является хорошим бонусом.
Новая версия (ту, которую мы будем собирать, 1.6.0) примечателена захватом видео с экрана со звуком (поддерживается как запись с микрофона, так и запись с линейного входа), и интеграцией поддержки YouTube: не покидая ROMP пользователи теперь могут осуществлять поиск, просмотр и сохранение на локальной системе размещённых в YouTube видеороликов. Казалось бы, что тут удивительного, тот же VLC прекрасно умеет делать последнее. Но тяга к новому в нас неизбывна, а возможность создания видеопрезентаций без дополнительного ПО является хорошим бонусом.
Кластерный сервис на Эрланге: от идеи до deb-пакета
Tutorial
Задача
Нужно написать настоящий сервис на эрланге, который будет работать в кластере. Кроме того, нужно максимально упростить жизнь тем, кто будет обслуживать сервис.
Требования:
- У сервиса будет RESTful интерфейс (это модно и современно)
- основные настройки сервиса должны быть вынесены в маленький файл с понятным синтаксисом
- сервис должен писать опциональный access-лог
- сервис должен запускаться через upstart
Для простоты сервис будет представлять собой счетчик, который каждому клиенту выдает увеличивающееся с каждым запросом на 1 целое число (уникальное до перезапуска счетчика).
Технологии
Выберем все самое модное и современное:
- HTTP-сервер — cowboy 0.10.0
- логгер — lager
- система сборки — erlang.mk
- сборщик релиза — relx