deb


ramok аватар

Как устроен .deb пакет

Как устроен .deb пакет

0
Ваша оценка: Ничего
angel2s2 аватар

Скрипт для поиска репозитория на launchpad.net

Мне, как и многим линуксоидам предпочитающим Debian-подобные дистрибутивы, периодически приходится искать репозитории той или иной софтины в самом большом архиве персональных репозиториев. Для этого я обычно ходил на страницу https://launchpad.net/ubuntu/+ppas либо пользовался утилитой ppasearch. Первый вариант просто надоел, а второй мне не удобен, потому-что не дает ссылку на страницу репозитория. Просто я предпочитаю хранить все репозитории в одном файле, а не разбрасывать их по разным файлам в каталоге /etc/apt/sources.list.d/. В то же время в результатах поиска я хочу видеть только ссылку на страницу репозитория, а его название и описание для меня имеет второстепенную важность.

Вот и решил накидать меленький скриптек:

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)

Распаковка deb-пакетов в других дистрибутивах

Чтобы распаковать deb-пакет в другом дистрибутиве, необходимо выполнить два следующих шага:

1) Узнать тип сжатия данных

ar t имя_пакета.deb | grep data

В ответ будет получено имя файла в архиве, например data.tar.gz.

2) Выполнить соответствующую имени файла команду из следующего списка:

ar -p имя_пакета.deb data.tar.gz | tar zx -C dir
ar -p имя_пакета.deb data.tar.bz2 | tar jx -C dir
ar -p имя_пакета.deb data.tar.lzma | unlzma | tar x -C dir

Файлы будут распакованы в директорию dir.

0
Ваша оценка: Ничего
ramok аватар

Создание .deb пакетов из perl модулей

В репозитории Debian существует пакет dh-make-perl который может автоматически создавать пакеты .deb из модулей perl, при необходимости выкачивая их из CPAN. Срабатывает в основном для простых пакетов, но удобно для того что бы начать создавать пакет из модуля, так как программа берет на себя рутинную работу.
UPD:
Например:

$ sudo dh-make-perl --install --cpan HTML::Template::Pluggable
0
Ваша оценка: Ничего
ramok аватар

Как собирать .deb climm в Debian

В последнее время climm бурно развивается, и в каждом релизе добавляется что нибудь вкусненькое (например постепенно улучшается поддержка jabber). К сожалению сам автор предоставляет .deb только для Ubuntu. Но это не беда, можно собирать пакет из deb-src под свою систему Ж:-)
Так же радует что все необходимые настройки для сборки .deb есть в главном репозитории climm.



Первый вариант сборки: релиз из репозитория

Добавляем в /etc/apt/source.list репозиторий в который выкладывается deb-src каждого релиза:

deb-src http://www.climm.org/deb/ sid main
$ sudo apt-get update                     # обновим базы
$ apt-get source climm                    # установим исходники из deb-src
$ sudo apt-get build-dep climm            # устанавливаем пакеты которые
                                                 # необходимы для постройки
$ cd climm
$ dpkg-buildpackage -rfakeroot            # делаем .deb
$ sudo dpkg -i ../climm_0.6.1-0_i386.deb # устанавливаем что получилось

Примечание: К сожалению этот процесс нельзя автоматизировать с помощью apt-build изза ошибки в нем.



Второй вариант сборки: trunk из репозитория

Примерно тоже самое что первый вариан, то понадобится установленные в системе autoconf и automake. И нужно будет самостоятельно поставить необходимые для сборки пакеты.

$ svn co http://svn.climm.org/climm/
$ cd climm

или обновить уже существующий транк

$ cd climm
$ svn update

собираем пакет

$ ./prepare                              # запускаем autoconf
$ dpkg-buildpackage -rfakeroot           # делаем .deb
$ sudo dpkg -i ../climm_0.6.1-0_i386.deb # устанавливаем что получилось

Примечание: К сожалению этот процесс нельзя автоматизировать с помощью svn-buildpackage так как автор не хочет вносить в debian/rules код для автоматического запуска ./prepare



Вариант для разработчиков

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

$ DEB_BUILD_OPTIONS=nostrip WIP=1 dpkg-buildpackage -rfakeroot -m"ramok <ramok@core.org.ua>"
$ sudo dpkg -i ../climm_0.6.1-0_i386.deb # устанавливаем что получилось
0
Ваша оценка: Ничего
ramok аватар

Из какого пакета файл?

Иногда известен какой нибудь файл, и хочется узнать из какого он пакета. Здесь будет рассказано как это можно узнать в различных OS и мененжерах пакетов(deb, apt,rpm, Gentoo, FreeBSD, OpenBSD): ...

5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)
ramok аватар

Создание .deb на основе установленного пакета

Часто бывает ситуация что необходимо настроить одну и туже программу на нескольких компьютерах одновременно.
В этом может помочь пакет dpkg-repack. Он позволяет из установленного уже на вашей системе пакета, создать новый, который будет содержать все изменения в конфиг файлах. После чего пакет можно безболезненно, в уже настроенном виде, установить на другой машине.

sudo apt-get install dpkg-repack

0
Ваша оценка: Ничего
ramok аватар

Коротко и ясно о dpkg

Использование менеджера пакетов dpkg в Debian/Ubuntu
http://ylsoftware.com/?action=news&na=viewfull&news=133

0
Ваша оценка: Ничего
ramok аватар

Как создать собственный deb репозитарий

иногда небходимо сбросить диск с Debian(ubunto) и отдать его товарищу Ж:-)
но хочется так же использовать apt-get для установки пакетов из переписанных на диск пакетов.
для этого необходимо создать свой локальный репозиторий. как это сделано описано тут

http://www.debian.org/doc/manuals/repository-howto/repository-howto.en.html

это не сложно Ж:-)

0
Ваша оценка: Ничего