This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
Handbook:AMD64/Portage/Tools
dispatch-conf
dispatch-conf — это программа, которая помогает объединять файлы вида ._cfg0000_<имя>. Такие файлы генерируются Portage, когда он хочет перезаписать файл в каталоге, который защищен переменной CONFIG_PROTECT.
С помощью dispatch-conf можно обновлять файлы конфигурации, сохраняя при этом историю изменений. dispatch-conf хранит различия между файлами конфигурации в виде заплаток или в системе управления версиями RCS. Это означает, что если кто-то совершил ошибку при обновлении файла конфигурации, администратор может откатить изменения на предыдущую версию в любое время.
При использовании dispatch-conf, вы можете попросить оставить конфигурационный файл как есть, использовать новый конфигурационный файл, отредактировать текущий, или заменить изменения между ними интерактивно. dispatch-conf также имеет некоторые дополнительные возможности:
- Автоматическое обновление файлов, в которых обновились только комментарии.
- Автоматическое обновление файлов, которые отличаются только количеством пробелов.
Сначала отредактируйте файл /etc/dispatch-conf.conf и создайте каталог, прописанный в переменной archive-dir. Затем запустите dispatch-conf:
root #
dispatch-conf
При запуске dispatch-conf, каждый измененный файл конфигурации будет показан, по одному. Нажмите u для обновления (замены) текущего конфигурационного файла новым и показа следующего файла. Нажмите z, чтобы удалить новый конфигурационный файл и показать следующий файл. Клавиша n сообщит dispatch-conf о том, что нужно пропустить следующий файл. Как только все конфигурационные файлы будут просмотрены, dispatch-conf закончит работу. Вы также можете нажать q, чтобы выйти в любое время.
Для более детальной информации проверьте man-страницу dispatch-conf. Она расскажет вам, как интерактивно слить текущий и новый конфигурационный файл, отредактировать новые конфигурационные файлы, просмотреть разницу между файлами, и многое другое.
user $
man dispatch-conf
etc-update
Другая утилита предназначенная для миграции файлов конфигурации это etc-update. Она не так проста в использовании, как dispatch-conf, и не имеет много возможностей, но она тоже дает возможность интерактивной работы, и тоже может автоматически обрабатывать тривиальные изменения.
Однако, в отличие от dispatch-conf, etc-update не сохраняет старые версии ваших конфигурационных файлов. Как только вы обновили файл, старая версия навсегда утеряна. Будьте очень осторожны, так как использование etc-update гораздо менее безопасно, чем использование dispatch-conf, когда необходимо сохранить старые файлы.
root #
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:
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.
Нет никакого смысла в подробном описании интерактивного обновления. Для полноты изложения, мы перечислим возможные команды, которые можно использовать при интерактивном слиянии двух файлов. Вас встречают две строки (одна исходная, вторая измененная) и запрос, в ответ на который можно ввести одну из следующих команд:
ed: Редактировать и использовать оба варианта, каждый пометить заголовком. eb: Редактировать и использовать оба варианта. el: Редактировать и использовать левый вариант. er: Редактировать и использовать правый вариант. e: Редактировать новую версию. l: Использовать левую версию. r: Использовать правую версию. s: Молча включить общие строки. v: Включить общие строки, сообщив подробности. q: Выход.
Завершив обновление важных файлов конфигурации, вы можете автоматически обновить оставшиеся файлы конфигурации. etc-update выйдет, если не найдет других файлов, подлежащих обновлению.
quickpkg
С помощью quickpkg пользователи могут создавать архивы пакетов, уже установленных в системе. Эти архивы можно использовать в качестве двоичных пакетов. Запуск quickpkg прост: только укажите имена пакетов, которые нужно архивировать.
Например, чтобы поместить в архив curl, orage и procps:
root #
quickpkg curl orage procps
Двоичные пакеты будут сохранены в $PKGDIR (по умолчанию, в /usr/portage/packages/). Эти пакеты помещаются в $PKGDIR/КАТЕГОРИЯ.