8. Дополнительные средства Portage

etc-update

etc-update — это утилита, предназначенная для обновления в системе файлов ._cfg0000_<имя>. Она обеспечивает интерактивную настройку установки и может также автоматически устанавливать тривиальные изменения. Файлы создаются ._cfg0000_<имя> Portage, когда нужно заменить файл в каталоге, защищенном переменной CONFIG_PROTECT.

Выполнить etc-update довольно просто:

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 - выход) (-3 - автоустановка всех оставшихся файлов)
                 (-5 для автоустановки БЕЗ использования '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 выйдет, если не найдет других файлов, подлежащих обновлению.

dispatch-conf

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

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

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

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

За дополнительными сведениями обращайтесь к странице справки dispatch-conf:

man dispatch-conf

quickpkg

С quickpkg вы можете создавать архивы пакетов, уже установленных в системе. Эти архивы можно использовать в качестве двоичных пакетов. Запуск quickpkg прост: только укажите имена пакетов, которые нужно заархивировать.

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

quickpkg curl arts procps

Двоичные пакеты будут храниться в $PKGDIR/All (по умолчанию — /var/calculate/remote/packages). Символьные ссылки, указывающие на эти пакеты, помещаются в $PKGDIR/<категория>.

Спасибо!