Apt
Материал из Xgu.ru
Эта страница имеет отношение к дистрибутивам Debian/Ubuntu (и, скорее всего, что только к ним). |
Содержание |
[править] Вопросы и ответы
[править] Как посмотреть, какие в наших репозиториях есть версии пакета?
%$ apt-show-versions -a git-core Not installed No oldstable version git-core 1:1.5.6.5-3 stable 192.168.72.2:9999 git-core 1:1.6.2.1-1 testing 192.168.72.2:9999 git-core 1:1.6.2.4-1 unstable 192.168.72.2:9999 git-core not installed
И поставить:
$ apt-cache policy git-core $ sudo apt-get install git-core=1:1.6.2.4-1
Если нужно зафиксировать пакет на какой-то определённой версии, делать это нужно в /etc/apt/preferences. Например:
Package: udev Pin: release n=lenny Pin-Priority: 900
[править] Как добавить новые ключи для аутентификации пакетов?
# gpg --recv-key --keyserver pool.sks-keyservers.net 4D270D06F42584E6 # gpg --export 4D270D06F42584E6 | apt-key add -
[править] Как собрать пакет Debian для модуля Perl?
- Вообще-то, это вопрос не столько про apt, сколько про deb, но ничего.
Можно взять прямо из CPAN и собрать одной командой:
$ dh-make-perl --build --cpan HTML::Template::JIT
Или, поэтапно[1]:
$ sudo apt-get install dh-make-perl $ wget http://xgu.ru/lilalo/Term-VT102.tar.gz --2010-01-04 20:49:17-- http://xgu.ru/lilalo/Term-VT102.tar.gz ... 2010-01-04 20:49:17 (83,2 KB/s) - `Term-VT102.tar.gz' сохранён [29802/29802] $ tar xvfz Term-VT102.tar.gz Term-VT102-0.91/ ...
Указываем адрес майнтейнера пакета с помощью ключа -e (по умолчанию будет взят адрес `whoami`@`hostname`).
$ dh-make-perl -e igor@chub.in Term-VT102-0.91/ Found: Term-VT102 0.91 (libterm-vt102-perl arch=all) Using maintainer: Igor Chubin <igor@chub.in> Found changelog: Changes Found docs: TODO README Using rules: /usr/share/dh-make-perl/rules.dh7.tiny --- Done $ cd Term-VT102-0.91/
Вообще, у вас должен быть PGP-ключ, которым будет подписан пакет. Если же его у вас нет, то при нормальной процедуре сборки возникнет ошибка:
$ debuild ... Now signing changes and any dsc files... signfile libterm-vt102-perl_0.91-1.dsc Igor Chubin <igor@chub.in> gpg: пропущено "Igor Chubin <igor@chub.in>": секретный ключ не найден gpg: /tmp/debsign.XXCWp3hm/libterm-vt102-perl_0.91-1.dsc: clearsign failed: секретный ключ не найден debsign: gpg error occurred! Aborting.... debuild: fatal error at line 1245: running debsign failed
Если вы собираете пакет для себя, то можете обойтись без ключа:
$ debuild -us -uc ... Finished running lintian.
$ cd .. #=20:53:08 $ ls -l *deb -rw-r--r-- 1 igor igor 34594 Янв 4 20:52 libterm-vt102-perl_0.91-1_all.deb #=20:53:09 $ sudo dpkg -i *deb Выбор ранее не выбранного пакета libterm-vt102-perl. (Чтение базы данных... на данный момент установлено 299046 файлов и каталогов.) Распаковывается пакет libterm-vt102-perl (из файла libterm-vt102-perl_0.91-1_all.deb)... Настраивается пакет libterm-vt102-perl (0.91-1) ... Обрабатываются триггеры для man-db ...
Пакет собран и установлен.
[править] Примечания
- ↑ Дополнительная информация о процедуре сборки Building Debian packages of Perl modules (англ.)