| |
Иногда, люди хотят использовать определенную версию программы, доступную только в исходных текстах, без пакета 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
[email protected]
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |