Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gentoo_x86_Handbook.doc
Скачиваний:
25
Добавлен:
19.09.2019
Размер:
924.16 Кб
Скачать

3.C. Используем замаскированные пакеты

Файл package.unmask

Важно: Разработчики Gentoo не поддерживают использование этого файла. Делайте это на свой страх и риск. Требования поддержки, касающиеся package.unmask и/или package.mask останутся без ответа. Вас предупредили.

Когда пакет был замаскирован разработчиками Gentoo, а вы все еще хотите использовать его, несмотря на причину, озвученную в файле package.mask (который по умолчанию расположен в /usr/portage/profiles), добавьте нужную версию (обычно это будет точно такая же строчка, как и в профиле), в файл /etc/portage/package.unmask (или в файл в этом каталоге, если это каталог).

Например, если =net-mail/hotwayd-0.8 замаскирован, вы можете его размаскировать, добавив такую же строку в файл package.unmask.

Код 3.1: /etc/portage/package.unmask

=net-mail/hotwayd-0.8

Заметка: Если в файле /usr/portage/profiles/package.mask замаскировано сразу несколько версий пакета, вам нужно размаскировать только версии, которые вам действительно нужны. Прочитайте предыдущие разделы, чтобы понять, как определять номера версий в package.unmask.

Файл package.mask

Когда вы не хотите, чтобы Portage работал с каким-то пакетом, или специфической версией пакета, вы можете замаскировать ее сами, добавив нужную строку в файл /etc/portage/package.mask (или в файл, или в файл в данном каталоге).

Например, если вы не хотите, чтобы Portage устанавливал исходники ядра, новее, чем gentoo-sources-2.6.8.1, вам нужно добавить следующую строку к файлу package.mask:

Код 3.2: Пример файла /etc/portage/package.mask

>sys-kernel/gentoo-sources-2.6.8.1

4. Дополнительные программы для Portage

4.a. dispatch-conf

dispatch-conf это программа, которая помогает объединять файлы вида _cfg0000_<имя>. Такие файлы генерируются Portage, когда он хочет перезаписать файл в каталоге, который защищен переменной CONFIG_PROTECT.

С помощью dispatch-conf вы можете заменить ваши конфигурационный файлы, и, в то же время, сможете просмотреть все изменения. dispatch-conf сохраняет различия между конфигурационными файлами как патчи или используя систему ревизий RCS. Это означает, что если вы сделали ошибку при обновлении файла конфигурации, вы можете вернуться на предыдущую версию вашего конфигурационного файла в любое время.

При использовании dispatch-conf, вы можете попросить оставить конфигурационный файл как есть, использовать новый конфигурационный файл, отредактировать текущий. Или заменить изменения между ними интерактивно. dispatch-conf также имеет некоторые дополнительные возможности:

  • Автоматически обновить конфигурационный файл, если обновляются только комментарии

  • Автоматически обновить конфигурационный файл, если обновляются только пробелы и табуляции

Удостоверьтесь, что сначала вы отредактировали файл /etc/dispatch-conf.conf и создали каталог, который определен в переменной archive-dir.

Код 1.1: Запускаем dispatch-conf

# dispatch-conf

При запуске dispatch-conf вас проведут через каждый измененный файл конфигурации, по одному. Нажмите u для обновления (замены) текущего конфигурационного файла новым и показа следующего файла. Нажмите z, чтобы удалить новый конфигурационный файл и показу следующего файла. Как только все конфигурационные файлы будут просмотрены, dispatch-conf закончит работу. Вы также можете нажать q чтобы выйти в любое время.

Для более детальной информации проверьте man-страницу dispatch-conf. Она расскажет вам, как интерактивно слить текущий и новый конфигурационный файл, отредактировать новые конфигурационные файлы, просмотреть разницу между файлами, и многое другое.

Код 1.2: Читаем man-страницу dispatch-conf

$ man dispatch-conf

4.b. etc-update

Вы также можете использовать etc-update для работы с файлами конфигурации. Она не так проста в использовании, как dispatch-conf, и имеет не так много возможностей, но она тоже дает возможность инерактивной работы, и тоже может автоматически обрабатывать тривиальные изменения.

Однако, в отличие от dispatch-conf, etc-update не сохраняет старые версии ваших конфигурационных файлов. Как только вы обновили файл, старая версия навсегда ушла! Поэтому будьте очень осторожны, так как использование etc-update гораздо менее безопасно, чем использование dispatch-conf.

Код 2.1: Запускаем etc-update

# etc-update

После обработки тривиальных изменений, вам покажут подсказку со списком защищенных файлов, которые ждут обновления. Внизу вам покажут возможные опции:

Код 2.2: Опции etc-update

Please select a file to edit by entering the corresponding number.

(-1 to exit) (-3 to auto merge all remaining files)

(-5 to auto-merge AND not use 'mv -i'):

Если вы введете -1, etc-update выйдет и не будет обрабатывать никакие другие изменения. Если вы введете -3 или -5, все конфигурационные файлы будут обновлены на новые версии. Часто очень важно вначале выбрать конфигурационные файлы, которые должны быть автоматически обновлены. Для этого просто нужно ввести номер, который находится слева от имени конфигурационного файла.

Например, мы выберем конфигурационный файл /etc/pear.conf:

Код 2.3: Обновляем конкретный файл конфигурации

Beginning of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf

[...]

End of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf

1) Replace original with update

2) Delete update, keeping original as is

3) Interactively merge original with update

4) Show differences again

Теперь вы можете просмотреть изменение между двумя файлами. Если вы уверены, что обновленный конфигурационный файл может быть использован без проблем, введите 1. Если вы верите, что обновленный конфигурационный файл не нужен, или не дает никакой новой или полезной информации, введите 2. Если вы хотите интерактивно обновить ваш текущий конфигурационный файл, введите 3.

Здесь мы не будем распространяться по интерактивному обновлению. Однако для полноты картины, мы опишем возможные команды, которые вы можете использовать при сравнении двух файлов. Вам покажут две строки (оригинальную и ту, которая может стать новой), и подсказку, в которую вы можете ввести следующие команды:

Код 2.4: Команды, существующие для интерактивного обновления

ed: Отредактировать и использовать обе версии, к каждой добавить заголовок

eb: Отредактировать и использовать обе версии

el: Отредактировать и использовать левую версию

er: Отредактировать и использовать правую версию

e: Отредактировать новую версию

l: Использовать левую версию

r: Использовать правую версию

s: Тихо добавить одинаковые строки

v: Добавить одинаковые строки

q: Выйти

Когда вы закончили обновлять важные конфигурационные файлы, вы можете автоматически обновить все остальные конфигурационные файлы. etc-update закончит работу, если он не найдет больше конфигурационных файлов, которые можно обновить.

4.c. quickpkg

С помощью quickpkg вы можете создавать архивы пакетов, которые уже установлены в вашей системе. Эти архивы могут использоваться как заранее собранные пакеты. Запуск quickpkg достаточно просто — просто добавьте имена пакетов, которые вам нужно заархивировать.

Например, чтобы заархивировать curl, orage и procps:

Код 3.1: Пример использования quickpkg

# quickpkg curl orage procps

Заранее собранные пакеты будут сохранены в $PKGDIR (по умолчанию, в /usr/portage/packages/). Эти пакеты помещаются в $PKGDIR/<категория>.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]