Руководство пользователя - 5. Конфигурационный файл Fink
Данный раздел объясняет настройки, имеющиеся в конфигурационном файле Fink
(fink.conf), и их влияние на поведение
Fink, особенно на поведение инструмента в командной строке fink
(т.е. его взаимодействие с дистрибутивом исходного кода).
5.1 Информация о fink.conf
При первоначальной инсталляции Fink вам на выбор предлагаются опции для
настройки вашего конфигурационного файла - н-р, относящиеся к
зеркалам для скачивания
файлов и способу приобретения прав суперпользователя. Вы можете вновь запустить этот процесс
при помощи команды fink configure
.
Возможно, для настройки некоторых опций надо будет отредактировать файл
fink.conf вручную. В целом эти опции предназначены только для
продвинутых пользователей.
Файл fink.conf находится в
/opt/sw/etc/fink.conf
и вы можете его редактировать в своем любимом
текстовом редакторе. Для редактирования требуются права суперпользователя.
5.2 Синтаксис fink.conf
Ваш файл fink.conf состоит из множества строк в следующем формате:
OptionName: Value
Опции представлены по одной на строку. Название опции отделено от ее значения двоеточием и одинарным пробелом. Содержание значения зависит от опции, но обычно это булево выражение ("Правда" или "Ложь"), строковая цепочка или список строковых цепочек, отделенных пробелом. Н-р:
BooleanOption: True StringOption: Something ListOption: Option1 Option2 Option3
5.3 Необходимые настройки
Некоторые из настроек в fink.conf обязательны. Без них Fink не может работать соответствующим образом. К этой категории относятся следующие настройки:
-
Basepath: маршрут (path)
Сообщите Fink, где маршрут инсталлирован. По умолчанию это /opt/sw, если вы не сделали изменений в процессе первоначальной инсталляции Fink. Вы не должны менять эту настройку после инсталляции, иначе fink запутается.
5.4 Опциональные настройки пользователя
Существуют различные опциональные настройки, которые пользователи могут варьировать по своему желанию для изменения поведения Fink.
-
RootMethod: su, sudo или none
Для некоторых операций Fink необходимы права суперпользователя. Признанные настройки: sudo или su. Также можно сделать настройку none; в этом случае вам надо будет запускать и выполнять Fink самому в качестве суперпользователя. Настройка по умолчанию: sudo, которая в большинстве случаев должна быть неизменной.
-
Trees: список деревьев
Имеющиеся деревья:
local/main - любые локальные пакеты, которые вы хотите инсталлировать local/bootstrap - пакеты, использованные при инсталляции Fink stable/crypto - стабильные криптографические пакеты stable/main - другие стабильные пакеты unstable/crypto - нестабильные криптографические пакеты unstable/main - другие нестабильные пакеты
Также вы можете добавить собственные деревья в каталог
/opt/sw/fink/dists
для личных целей, но в большинстве случаев это не требуется. Деревьями по умолчанию являются "local/main local/bootstrap stable/main". Данный список всегда должен быть идентичен списку в файле/opt/sw/etc/apt/sources.list
. (Начиная со своей версии 0.21.0,fink
делает это за вас автоматически.)The order of the trees is meaningful, as packages from later trees in the list may override packages from earlier ones.
-
Distribution: 10.1, 10.2, 10.2-gcc3.3, 10.3 или 10.4
Fink нужно знать, какую версию Mac OS X вы используете. Не поддерживаются Mac OS X 10.0 и более ранние версии, а текущая версия fink больше не поддерживает 10.1 и 10.2. Mac OS X 10.2 users are restricted to fink-0.24.7, released in June 2005. Данная опция настраивается при помощи скрипта
/opt/sw/lib/fink/postinstall.pl
. Вам не надо изменять эту настройку вручную. -
FetchAltDir: маршрут
Обычно
fink
хранит исходные коды, которые он распаковывает, в/opt/sw/src
. При помощи этой опции вы можете указать альтернативный каталог для скачанного исходного кода. Н-р:FetchAltDir: /usr/src
-
Verbose: число от 0 до 3
Данная опция устанавливает объем информации, которую Fink вам предоставляет о своих действиях. Значения настройки: 0 Quiet (Нулевое) (не отражает статистику скачивания) 1 Low (Низкое) (не отражает информацию о тарболах в процессе распаковки) 2 Medium (Среднее) (отражает почти все) 3 High (Высокое) (отражает все) Настройка по умолчанию: 1.
SkipPrompts: a comma-delimited list
(
fink-0.25
and later) This option instructsfink
to refrain from asking for input when the user does not want to be prompted. Each prompt belongs to a category. If a prompt's category is in the SkipPrompts list then the default option will be chosen within a very short period of time.Currently, the following categories of prompts exist:
fetch - Downloads and mirrors
virtualdep - Choosing between alternative packages
By default, no prompts are skipped.
-
NoAutoIndex: булево выражение
Fink кэширует свои файлы описания пакетов в /opt/sw/var/db/fink.db для сохранения в целях их чтения и синтаксического анализа при каждом выполнении. Если не выбрана опция "True" ("Правда"), Fink проверяет, нуждается ли указатель пакетов в обновлении. По умолчанию установлена опция "False" ("Ложь") и не рекомендуется ее изменять. Если вы это сделаете, может потребоваться ручное выполнение команды
fink index
для обновления указателя. -
SelfUpdateNoCVS: булево выражение
Команда
fink selfupdate
обновляет менеджер пакетов Fink до последних версий. Благодаря данной опции, настроенной как "True", CVS для этого не используется. Настройка устанавливается автоматически командойfink selfupdate-cvs
и таким образом не требуется изменение вручную. -
Buildpath: маршрут
Fink необходимо создать несколько временных каталогов для каждого пакета, который он компилирует от исходного кода. По умолчанию они размещаются в
/opt/sw/src
on Panther and earlier, а/opt/sw/src/fink.build
on Tiger, но если вы хотите, чтобы они были в другом месте, укажите маршрут. См. описание областейKeepRootDir
иKeepBuildDir
далее в данном документе для получения более подробной информации об этих временных каталогах (Developer Settings).On Tiger, it is recommended that the Buildpath end with
.noindex
or.build
. Otherwise, Spotlight will attempt to index the temporary files in the Buildpath, slowing down builds. Bzip2Path: the path to your
bzip2
(or compatible) binary(
fink-0.25
and later) The Bzip2Path option lets you override the default path for thebzip2
command-line tool. This allows you to specify an alternate location to yourbzip2
executable, pass optional command-line options, or use a drop-in replacement likepbzip2
for decompressing.bz2
archives.
5.5 Настройки скачивания
Есть разные настройки, влияющие на то, как Fink скачивает данные о пакетах.
-
ProxyPassiveFTP: булево выражение
При этой опции Fink использует пассивный режим для скачивания через FTP. Некоторые конфигурации сервера или сети FTP требуют настройки данной опции как "True". Рекомендуем иметь ее постоянно с этой настройкой, т.к. активный режим FTP более не применяется.
-
ProxyFTP: url
Если вы используете прокси-FTP, в этой области надо указать его адрес, н-р:
ProxyFTP: ftp://yourhost.com:2121/
Если вы не используете прокси-FTP, не указывайте ничего.
-
ProxyHTTP: url
Если вы используете прокси-HTTP, в этой области надо указать его адрес, н-р:
ProxyHTTP: http://yourhost.com:3128/
Если вы не используете прокси-HTTP, не указывайте ничего.
-
DownloadMethod: wget, curl, axel или axelautomirror
Fink может использовать три разных приложения для скачивания файлов из Интернета - wget, curl и axel. Настройка axelautomirror использует экспериментальный режим приложения axel, который пытается определить ближайший сервер, имеющий определенный файл. В данный момент использование axel и axelautomirror не рекомендуется. Настройка по умолчанию: curl. Приложение, выбранное вами в качестве DownloadMethod, ОБЯЗАТЕЛЬНО должно быть инсталлировано! (i.e.
fink
won't fall back to curl if you try to use a download application that isn't present. -
SelfUpdateMethod: point, rsync или git
fink
может использовать разные способы для обновления информационных файлов пакетов.rsync - рекомендуемая настройка, используемая для скачивания только модифицированных файлов в активированных вами деревьях. Имейте в виду, что если вы изменили или добавили файлы в stable (стабильных) или unstable (нестабильных) trees (деревьях), использование rsync приведет к их удалению. Сначала сделайте резервную копию. git произведет скачивание с использованием анонимного доступа или доступа Github из хранилища fink. Недостатком при этом является то, что git не может перемещаться от одного зеркала к другому, и если сервер недоступен, вы не сможете сделать обновление. point произведет скачивание только последней выпущенной версии пакетов. Мы не рекомендуем это делать, т.к. ваши пакеты могут быть устаревшими. SelfUpdateCVSTrees: list of trees
(
fink-0.25
and later) By default, the cvs selfupdate method will update only the current distribution's tree. This option overrides the list of distribu- tion versions that will be updated during a selfupdate. Please note that you will need a recent "cvs" binary installed if you wish to include directories that do not have CVS/ directories in their entire path (e.g., dists/local/main or similar).-
UseBinaryDist: булево выражение
Инициирует попытку fink скачать предварительно скомпилированные пакеты бинарного дистрибутива, если они уже существуют, но пока отсутствуют в системе. Это может сэкономить массу времени при инсталляции и таким образом настройка данной опции рекомендуется. Использование опции --use-binary-dist (или
-b
) приводит к такому же результату, но только при одноразовой активации fink. Опция--no-use-binary-dist
отменяет вышесказанное и запускает компиляцию от исходного кода; она тоже действует только при одноразовой активацииfink
. Это возможно только для версий начиная с 0.23.0.Надо иметь в виду, что в данном режиме
fink
получает указание скачать желаемую версию, если она доступна для скачивания;fink
не получает указание выбрать версию на основе ее наличия в бинарном виде.
5.6 Настройки зеркал
Получение ПО из Интернета может быть скучным занятием. Зачастую скачивание происходит не так быстро, как нам хотелось бы. Серверы зеркал хранят копии файлов, которые есть на других серверах, но могут быстрее подсоединяться к Интернету или быть ближе к вам географически, позволяя таким образом быстрее скачивать файлы. Они также помогают снизить нагрузку на загруженные основные серверы, н-р ftp.gnu.org, и являются альтернативой в случае недосягаемости какого-либо сервера.
Чтобы Fink выбрал наилучшее для вас зеркало, надо ему сообщить, на каком континенте и в какой стране вы живете. Если скачивание с одного сервера не получится, вам будут предложены опции опять попытаться его сделать через это же зеркало, другое зеркало в этой же стране или на континенте, либо другое зеркало в мире.
Файл fink.conf содержит настройки с информацией, какие зеркала вы хотите использовать.
-
MirrorContinent: трехбуквенный код
Это значение изменяется при помощи
fink configure
. Необходимый трехбуквенный код можно найти в/opt/sw/lib/fink/mirror/_keys
. Н-р, если вы живете в Европе, код будет следующий:MirrorContinent: eur
-
MirrorCountry: шестибуквенный код
Это значение изменяется при помощи
fink configure
. Необходимый код можно найти в/opt/sw/lib/fink/mirror/_keys
. Н-р, если вы живете в Австрии, код будет следующий:MirrorCountry: eur-AT
-
MirrorOrder: MasterFirst / MasterLast / MasterNever / ClosestFirst
Fink поддерживает зеркала "Master", являющиеся отраженными хранилищами тарболов исходного кода для всех пакетов Fink. Преимущество использования комплекта зеркал Master в том, что соединение с URL скачивания исходного кода никогда не прерывается. Пользователи могут выбрать либо использование таких зеркал, поддерживаемых рабочей группой Fink, либо только URL оригинальных исходных кодов и сайты внешних зеркал - gnome, KDE и debian. Дополнительно можно выбрать комбинацию двух комплектов, которые впоследствии будут определяться при поиске в порядке приближения, как указано выше. При использовании опций MasterFirst и MasterLast нельзя "перепрыгнуть" к комплекту Master (или другому комплекту), если скачивание не получилось. Опции:
MasterFirst - для поиска зеркал "Master" в первую очередь. MasterLast - для поиска зеркал "Master" в последнюю очередь. MasterNever - для запрета использования зеркал "Master". ClosestFirst - для поиска ближайших зеркал в первую очередь (совмещение всех зеркал в одном комплекте).
Mirror-rsync:
(
fink-0.25.2
and later) When doingfink selfupdate
with the SelfupdateMethod set torsync
, this is the rsync url to sync from. This should be an anonymous rsync url, pointing to a directory which contains all the fink Dis- trubutions and Trees.
5.7 Настройки разработчика
Некоторые опции в fink.conf полезны только для разработчиков. Мы не рекомендуем обычным пользователям Fink их модифицировать. К данной категории относятся следующие опции.
-
KeepRootDir: булево выражение
Благодаря этой опции Fink не удаляет каталог
root-[имя]-[версия]-[модификация]
после построения пакета. Настройка по умолчанию: False. Будьте осторожны, эта опция может быстро заполнить ваш жесткий диск! Применение вfink
флага -K дает такой же результат, но действует только при одной активацииfink
. -
KeepBuildDir: булево выражение
Благодаря этой опции Fink не удаляет каталог
[имя]-[версия]-[модификация]
после построения пакета. Настройка по умолчанию: False. Будьте осторожны, эта опция может быстро заполнить ваш жесткий диск! Применение вfink
флага -k дает такой же результат, но действует только при одной активацииfink
.
5.8 Настройки для использования продвинутыми пользователями
Существуют некоторые другие полезные опции, но требуются определенные знания, чтобы правильно их настроить.
-
MatchPackageRegEx:
При применении этой опции fink не спрашивает, какой пакет надо инсталлировать, если один (только один) из вариантов выбора соответствует указанному регулярному выражению perl. Например:
MatchPackageRegEx: (.*-ssl$|^xfree86$|^xfree86-shlibs$)
будет соответствовать пакетам, имена которых заканчиваются на '-ssl', и полностью будет соответствовать 'xfree86' и 'xfree86-shlibs'.
-
CCacheDir: маршрут
Если инсталлирован пакет Fink
ccache-default
, кэш-файлы, создаваемые им при построении пакетов Fink, будут размещены здесь. Настройка по умолчанию:/opt/sw/var/ccache
. При настройкеnone
fink не настраивает переменную величину среды CCACHE_DIR и ccache будет использовать$HOME/.ccache
, потенциально размещая файлы суперпользователя в вашем базовом каталоге. Данная опция возможна только в версиях fink, выпущенных после 0.21.0. NotifyPlugin: плагин
Здесь указывается плагин уведомления о моменте инсталляции/деинсталляции пакетов. Настройка по умолчанию: Growl (для работы требуется
Mac::Growl
). Другие плагины можно найти в каталоге/opt/sw/lib/perl5/Fink/Notify
.AutoScanpackages: boolean
When
fink
builds new packages,apt-get
does not immediately know about them. Historically, the commandfink scanpackages
had to be run forapt-get
to notice the new packages, but now this happens auto matically. If this option is present and false, thenfink scanpackages
will no longer be run automatically after packages are built. Defaults to true.ScanRestrictivePackages: boolean
When scanning the packages for
apt-get
,fink
normally scans all packages in the current trees. However, if the resuting apt repository will be made publically available, the administrator may be legally obligated not to include packages withRestrictive
orCommercial
licenses. If this option is present and false, then Fink will omit those packages when scanning.
5.9 Управление файлом sources.list в apt
Начиная с 0.21.0, fink активно управляет
файлом/opt/sw/etc/apt/sources.list
, который используется apt
с целью нахождения бинарных пакетов для инсталляции. Файл по умолчанию
sources.list выглядит примерно следующим образом (с корректировками для соответствия вашему дистрибутиву и деревьям):
# Local modifications should either go above this line, or at the end. # # Default APT sources configuration for Fink, written by the fink program # Local package trees - packages built from source locally # NOTE: this is automatically kept in sync with the Trees: line in # /opt/sw/etc/fink.conf # NOTE: run 'fink scanpackages' to update the corresponding Packages.gz files deb file:/opt/sw/fink local main deb file:/opt/sw/fink stable main crypto # Official binary distribution: download location for packages # from the latest release deb http://us.dl.sourceforge.net/fink/direct_download 10.3/release main crypto # Official binary distribution: download location for updated # packages built between releases deb http://us.dl.sourceforge.net/fink/direct_download 10.3/current main crypto # Put local modifications to this file below this line, or at the top.
С этим файлом по умолчанию apt-get сначала находит уже скомпилированные бинарные пакеты в имеющейся у вас инсталляции, а затем ищет остальные пакеты в официальном бинарном дистрибутиве. Можно изменить этот порядок путем ввода данных в начале файла (их поиск будет производиться в первую очередь) или в его конце (их поиск будет производиться в последнюю очередь).
Если вы меняете строку ваших деревьев или дистрибутив, которые используете, fink автоматически модифицирует часть файла "по умолчанию" для соответствия новым настройкам. При этом Fink сохранит все модификации, которые вы внесли в файл, при условии, что вы ограничите их верхней частью файла (выше первой строки по умолчанию) и его нижней частью (ниже последней строки по умолчанию).
Прим.: Если вы модифицировали /opt/sw/etc/apt/sources.list
перед обновлением до fink 0.21.0, то найдете свои предыдущие файлы сохраненными в
/opt/sw/etc/apt/sources.list.finkbak
.
Следующий: 6. Использование инструмента fink в командной строке