Иногда, люди хотят использовать определенную версию программы, доступную только в исходных текстах, без пакета Debian. Но этому может помешать система пакетов. Предположим, вы хотите скомпилировать новую версию вашего почтового сервера. Все отлично, но многие пакеты в Debian зависят от MTA. Так как вы устанавливаете нечто, собранное вами вручную, то система пакетов об этом не будет знать.
Тут на сцену выходит весь в белом пакет equivs
. Чтобы его
использовать, установите пакет с тем же именем. Он создает пустой пакет,
который содержит полный набор зависимостей, уведомляя таким образом систему
пакетов, что все зависимочти удовлетворены.
Прежде, чем мы начнем, хорошо бы сообщить вам, что есть более безопасные способы компиляции программ, для которых уже есть пакеты Debian с различными опциями, и что в этом случае лучше не использовать equivs для замены зависимостей, если вы не уверены в том, что все делаете правильно. См. подробности в разделе Работа с пакетами исходных текстов, Глава 6.
Давайте вернемся к примеру с MTA, вы только что установили свежесобранный
postfix
и переходите к установке mutt
. Сразу же вы
обнаружите, что mutt
нужен установленный MTA. Но ведь он у вас
уже есть.
Зайдите в какой-нибудь каталог (/tmp
, например) и запустите:
# equivs-control name
Замените name на имя управляющего файла, который вы создаете. Будет
создан следующий файл:
Section: misc
Priority: optional
Standards-Version: 3.0.1
Package: <enter package name; defaults to equivs-dummy>
Version: <enter version here; defaults to 1.0>
Maintainer: <your name and email address; defaults to username>
Pre-Depends: <packages>
Depends: <packages>
Recommends: <packages>
Suggests: <package>
Provides: <(virtual)package>
Architecture: all
Copyright: <copyright file; defaults to GPL2>
Changelog: <changelog file; defaults to a generic changelog>
Readme: <README.Debian file; defaults to a generic one>
Extra-Files: <additional files for the doc directory, commaseperated>
Description: <short description; defaults to some wise words>
long description and info
.
second paragraph
Нам просто нужно поправить его, как нам нужно. Формат полей и их описаний
понятен визуально, так что давайте сделаем требуемое:
Section: misc
Priority: optional
Standards-Version: 3.0.1
Package: mta-local
Provides: mail-transport-agent
Да, это все. mutt
зависит от mail-transport-agent
,
это виртуальный пакет, обеспечиваемый всеми MTA, я мог бы использовать имя
пакета mail-transport-agent
, но я придерживаюсь принятой схемы
именования, используя Provides.
Сейчас вам нужно только построить пакет:
# equivs-build name
dh_testdir
touch build-stamp
dh_testdir
dh_testroot
dh_clean -k
# Add here commands to install the package into debian/tmp.
touch install-stamp
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: building package `name' in `../name_1.0_all.deb'.
The package has been created.
Attention, the package has been created in the current directory,
И установите полученный .deb файл.
Очевидно, существует несколько применений для equivs
. Одно из
них, например, - создание пакета my-favorites, который зависит от
программ, которые вы обычно устанавливаете. Просто включите свое воображение,
но будьте осторожны.
Важно заметить, что примеры управляющих файлов есть в каталоге
/usr/share/doc/equivs/examples
. Посмотрите их.
Многие пользователи Debian используют только одну локаль. Бразильские пользователи Debian, например, обычно используют локаль pt_BR и не интересуются локалью es.
localepurge
- это очень полезный инструмент для таких
пользователей. Вы можете освободить много места, если оставите только те
локали, которые вы действительно используете. Просто дайте команду
apt-get install localepurge.
Пакет очень легко настраивается, debconf обеспечивает его пошаговую настройку. Однако будьте осторожны при ответе на первый вопрос, неправильный ответ может повлечь удаление всех файлов локалей, даже тех, которые вы используете. После этого восстановить их можно будет только переустановкой всех пакетов, их предоставляющих.
apt-show-versions
- это программа, которая показывает, какие
пакеты в системе можно обновить и еще некоторую полезную информацию. Опция
-u отображает список обновляемых пакетов:
$ apt-show-versions -u
libeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7
libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7
APT HOWTO
1.8.2 - Ноябрь 2002
kov@debian.org