Handbook:MIPS/Portage/Tools

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:MIPS/Portage/Tools and the translation is 100% complete.
MIPS Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка файла stage
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система сценариев инициализации
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети OpenRC
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


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

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

КОД Варианты, предоставляемые 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&#41; Replace original with update
2&#41; Delete update, keeping original as is
3&#41; Interactively merge original with update
4&#41; 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 (по умолчанию, в /var/cache/binpkgs/). Эти пакеты помещаются в $PKGDIR/КАТЕГОРИЯ.