Available Languages: | Deutsch | English | Español | Français | 日本語 (Nihongo) | Português | Русский (Russkiy) | 中文 (简) (Simplified Chinese) |

Руководство пользователя Fink

Данный документ содержит обзор всех возможностей Fink. (Более широкий обзор могут дать ранее выпущенные документы Инсталляция, Использование и файл ReadMe.rtf, включенный в загрузочный модуль бинарного дистрибутива.) Также см. на веб-сайте раздел Документация , который рекомендует другие полезные документы в дополнение к указанным.

Добро пожаловать в Руководство пользователя Fink. Руководство описывает процедуры первоначальной инсталляции и обновления дистрибутива исходного кода и бинарного дистрибутива, а также отражает вопросы инсталляции и обслуживания пакетов.

Contents

1 Введение

1.1 Что такое Fink?

Fink - дистрибутив ПО с открытым исходным кодом Unix для Mac OS X и Darwin. Он обеспечивает большое разнообразие свободных инструментов в командной строке и графического ПО, которые разработаны для Linux и аналогичных операционных систем вашего Mac.

1.2 Требования

В любом случае вам понадобятся:

Если вы намерены использовать дистрибутив исходного кода (см. ниже), вам также понадобятся:

1.3 Поддерживаемые системы

Mac OS X 10.4 is the leading-edge platform, and is considered to be fully supported and tested, though as a newer operating system there are still some issues. Most of the developers run it, and those who are running 10.3 have 10.4 users test their work. Note, however, that fink on intel hardware is still considered to be of beta quality.

Mac OS X 10.3 is considered to be fully supported and tested, although there may still be stray compile problems with single packages. Many of the developers run it, and those who don't have 10.3 users test their work.

Mac OS X 10.2 is still supported to some extent. Fink 0.6.4 is the last distribution to suppport this OS.

Mac OS X 10.1 все еще поддерживается до некоторой степени. В этом случае надо использовать Fink 0.4.1, но не более поздние версии.

Darwin 8.x - версия Darwin, соответствующая Mac OS X 10.4, Darwin 7.x - версия Darwin, соответствующая Mac OS X 10.3, а Darwin 6.x - версия Darwin, соответствующая Mac OS X 10.2. Вообще они должны работать, но не столь хорошо проверены, т.к. вместо них большинство пользователей просто применяет саму Mac OS X. Могут возникнуть проблемы с пакетами, использующими параметры, присущие Mac OS X; в число таких пакетов входят XFree86 и, возможно, esound.

1.4 Дистрибутив исходного кода и бинарный дистрибутив

ПО пишется ("разрабатывается") на языках программирования, доступных для человеческого понимания; эта форма называется "исходным кодом". Прежде, чем компьютер сможет использовать программу, ее необходимо преобразовать в инструкции машинного кода низкого уровня (которые большинство людей не могут прочитать). Это процесс называется "компиляцией", а конечная программа называется "выполняемой" или "бинарной". (Процесс также называется "построением", т.к. обычно включает больше действий, чем просто компиляция.)

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

Программное обеспечение с открытым исходным кодом совсем иное. Как видно из названия, исходный код открыт каждому для просмотра и модификации. На деле, большинство ПО с открытым исходным кодом распространяется авторами только в виде открытого кода, который вы сами должны скомпилировать на своем компьютере для получения рабочей программы.

Fink предоставляет выбор между двумя моделями. При использовании дистрибутива исходного кода первоначальный исходный код скачивается, адаптируется к политике Mac OS X и Fink и компилируется на вашем компьютере. Процесс полностью автоматизирован, но занимает некоторое время. При использовании бинарного дистрибутива предварительно скомпилированные пакеты скачиваются с сайта Fink и затем инсталлируются, что экономит ваше время, необходимое на компиляцию. При желании можно совместить обе модели. Далее в Руководстве рассказывается, как это сделать.

2 Первоначальная инсталляция

В процессе первоначальной инсталляции на вашей машине инсталлируется базовая система с инструментами управления пакетами. После этого вам надо настроить свою среду оболочки для использования ПО, инсталлированного при помощи Fink. Это делается только один раз; любое инсталлированное ПО Fink (начиная с версии 0.2.0) может быть обновлено на месте без реинсталляции - см. раздел Обновление.

После инсталляции инструментов управления пакетами вы можете их использовать для инсталляции другого ПО - см. раздел Инсталляция пакетов.

2.1 Инсталляция бинарного дистрибутива

Бинарный дистрибутив представлен в виде пакета инсталлятора Mac OS X (.pkg) в загрузочном модуле (.dmg). После скачивания загрузочного модуля со страницы Скачивание (возможно, вам придется использовать функцию браузера "Save Target as..." или "Download to Disk") сделайте на нем двойной щелчок для начала установки. Откройтке иконку диска "Fink 0.x.x Installer" на рабочем столе (или там, куда вы его скачали) после проверки файла дисковым утилитом (или дисковой копией для версий OS, предшествующих версии 10.3). В нем вы найдете документацию и пакет инсталлятора. Сделайте двойной щелчок на пакете инсталлятора и следуйте указаниям на экране.

Вам будет задан вопрос о пароле администратора и показаны тексты. Прочтите их - они могут быть написаны позже, чем данное Руководство. При появлении опций инсталлятора для дискового накопителя, на котором надо сделать инсталляцию, выберите правильный объем системы (той, где вы инсталлировали Mac OS X). Если вы выберите неправильный объем, инсталляция продолжится, но Fink после этого не будет работать. Когда инсталлятор закончит работу, перейдите к разделу Настройка среды.

2.2 Инсталляция дистрибутива исходного кода

Дистрибутив исходного кода является стандартным тарболом Unix (.tar.gz). Он содержит только менеджер пакетов fink с их описанием и скачивает исходный код для пакетов по требованию. Его можно получить на странице Скачивание . Важно не использовать StuffIt Expander для распаковки архива. По какой-то причине StuffIt все еще не может обрабатывать длинные имена файлов. Если StuffIt Expander уже распаковал архив, надо удалить созданную им папку.

Версия исходного кода должна инсталлироваться с командной строки, т.е. надо открыть Terminal.app и перейти к каталогу, в котором вы поместили архив fink-0.x.x-full.tar.gz. (Note: If you have OS X 10.4 and XCode 2.1, you should use fink-0.8.0-full-XCode-2.1.tar.gz instead, and make the appropriate changes below.) Следующая команда извлекает архив:

tar -xzf fink-0.x.x-full.tar.gz

Создается каталог с таким же именем, как архив. Здесь мы будем называть его fink-0.x.x-full. Теперь перейдите в этот каталог и выполните скрипт начальной загрузки:

cd fink-0.x.x-full ./bootstrap.sh

Скрипт произведет проверку вашей системы и использует sudo для перехода к статусу суперпользователя - у вас будет запрошен пароль. Затем скрипт спросит о маршруте инсталляции. Если у вас нет веской причины, надо использовать -/opt/sw по умолчанию. Только это позволит вам впоследствии инсталлировать скачанные бинарные пакеты. Кроме того, все примеры используют этот маршрут; если вы используете другой, надо убедиться, что ваш действительный маршрут заменен.

Следующий шаг - конфигурация Fink. Вам будут заданы вопросы о настройках прокси и зеркала, а также о том, хотите ли вы получать многословные сообщения. Если вы не поняли какой-то вопрос, надо нажать return для подтверждения выбора по умолчанию. Можно перезапустить этот процесс позднее с использованием команды fink configure.

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

По окончании начальной загрузки перейдите к разделу Настройка среды.

2.3 Настройка среды

Для использования ПО, установленного в иерархии каталогов Fink, в т.ч. самих программ управления пакетами, необходимо настроить переменную величину вашей среды PATH (и кое-что еще) соответствующим образом. В большинстве случаев это выполняется в терминальном окне при помощи команды

/opt/sw/bin/pathsetup.sh

Имейте в виду, что в некоторых более ранних версиях Fink это может быть pathsetup.command, которую можно запустить так:

open /opt/sw/bin/pathsetup.command

Если по какой-то причине это не сработает, можно сделать конфигурацию вручную. Но это будет зависеть от используемой оболочки. Можно определить используемую оболочку, открыв терминал и выполнив команду

echo $SHELL

Если результат будет "csh" или "tcsh", значит, вы используете С-оболочку. Если это bash, zsh, sh и т.п., вероятно, у вас вариант оболочки Борна.

Имейте в виду, что скрипты (init.sh а init.csh ) также добавляют /usr/X11R6/bin и /usr/X11R6/man к вашему PATH, чтобы вы могли использовать X11 после инсталляции. Пакеты Fink обладают способностью самостоятельно добавлять настройки - н-р, пакет qt устанавливает переменную величину среды QTDIR.

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

3 Инсталляция пакетов

Теперь, когда у вас есть то, что можно назвать инсталляцией Fink, данный раздел расскажет, как инсталлировать сами пакеты ПО, являющиеся вашей главной целью. Перед описанием процедуры инсталляции пакетов дистрибутива исходного кода или бинарного дистрибутива даются важные сведения, относящиеся к обоим дистрибутивам

3.1 Инсталляция бинарных пакетов при помощи dselect

dselect - программа, которая позволяет просматривать список имеющихся пакетов и выбирать те, которые вы хотите инсталлировать. Она запускается в Terminal.app, но занимает весь экран и требует простых перемещений при помощи клавиатуры. Как и другие инструменты управления пакетами, dselect требует привилегий суперпользователя, т.е. вам надо использовать sudo (со счета с привилегиями администратора):

sudo dselect

Прим.: У dselect наблюдались проблемы с терминальным приложением Mac OS X. Надо применить следующие команды перед ее использованием или ввести их в соответствующий файл запуска (н-р, .cshrc / .profile):

для пользователей tcsh:

setenv TERM xterm-color

для пользователей bash:

export TERM=xterm-color

Главное меню имеет несколько опций:

Вы потратите большую часть времени на dselect в браузере пакетов, доступном через "[S]elect". Перед тем, как dselect покажет вам список пакетов, вы увидите экран вводной помощи. Можно нажать 'k' для получения полного списка команд клавиатуры или просто пробел для получения списка пакетов.

Можно передвигаться по списку вверх-вниз, используя клавиши up и down. Выбор осуществляется при помощи '+' и '-'. Когда вы выбираете пакет, для которого требуются другие пакеты, dselect показывает подсписок соответствующих пакетов. В большинстве случаев вы можете нажать Return для утверждения опции в dselect. Можно также откорректировать подсписок (н-р, для выбора другой альтернативы взаимозависимости виртуальных пакетов) или нажать 'R' (н-р, Shift-R) для возврата к предыдущему статусу. Для выхода из подсписка и главного списка пакетов надо нажать Return. Если выбранный вариант вас устраивает, оставьте главный список и используйте "[I]nstall" непосредственно для инсталляции пакетов.

3.2 Инсталляция бинарных пакетов при помощи apt-get

dselect сама по себе не скачивает пакеты. Вместо этого для грязной работы она использует apt. Если вы предпочитаете интерфейс чистой командной строки, можно получить доступ к функциям apt напрямую благодаря команде apt-get.

Как и при работе с dselect, надо сначала скачать текущие списки имеющихся пакетов при помощи

sudo apt-get update

Подобно "[U]pdate" в dselect, эта опция обновляет не фактические файлы на вашем компьютере, а только список имеющихся пакетов apt. Для инсталляции пакетов просто дайте apt-get имя, н-р:

sudo apt-get install lynx

Если apt-get определит, что некоторые пакеты требуют инсталляции других пакетов, вам будет предоставлен список с просьбой о подтверждении. Затем пакеты будут скачаны и инсталлированы. Удалить их можно очень просто:

sudo apt-get remove lynx

3.3 Инсталляция зависимых пакетов, недоступных при использовании бинарного дистрибутива

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

Sorry, but the following packages have unmet
dependencies:
foo: Depends: bar (>= version) but it is
not installable
E: Sorry, broken packages

Дело в том, что пакет, который вы пытаетесь инсталлировать, зависит от другого пакета, который не входит в бинарный дистрибутив из-за лицензионных требований. Вам надо инсталлировать зависимость от исходного кода (см. следующий раздел).

3.4 Инсталляция бинарных пакетов и пакетов исходного кода при помощи инструмента fink

Инструмент fink позволяет инсталлировать пакеты, которые пока недоступны для бинарного дистрибутива.

Прежде всего вам нужна соответствующая версия инструментов разработки (Development Tools) для вашей системы. Их можно бесплатно скачать после регистрации на сайте http://connect.apple.com.

Для получения списка пакетов, имеющихся для инсталляции от исходного кода, надо сделать следующий запрос инструменту fink:

fink list

Первая колонка отражает в списке статус инсталляции (пустая в случае неинсталлированной версии, i при инсталлированной версии и (i) при инсталлированной, но не последней версии), после чего указывается имя пакета, его последняя версия и краткое описание. Можно запросить больше информации об отдельном пакете при помощи команды describe ("info" является для этого алиасом):

fink describe xmms

После нахождения пакета, который вы хотите инсталлировать, примените команду "install":

fink install wget-ssl

Команда fink сначала проверит наличие всех необходимых предварительных условий ("зависимостей") и спросит, можно ли инсталлировать пакеты в том случае, если некоторые из них отсутствуют. Затем продолжит выполнение действий и скачает исходный код, распакует его, сделает патчи, компиляцию и инсталлирует результаты в вашей системе. Это может занять много времени. Если в течение этого процесса возникнут ошибки, сначала обратитесь к Ч.З.В..

Для версий fink начиная с 0.23.0 можно попытаться скачать имеющиеся предварительно скомпилированные бинарные пакеты, вместо того чтобы создавать их. Просто перенесите опцию --use-binary-dist (или -b) в fink. Это поможет сэкономить массу времени. Н-р, при использовании

fink --use-binary-dist install wget-ssl

или

fink -b install wget-ssl

сначала скачиваются все зависимости для wget-ssl, которые обеспечиваются бинарным дистрибутивом, и только остальное строится на основе исходного кода. Данная опция также может быть постоянно активирована в конфигурационном файле Fink (fink.conf) или командой fink configure.

Более подробную информацию об инструменте fink см. в разделе "Использование инструмента fink в командной строке".

3.5 Fink Commander

Fink Commander является интерфейсом Aqua как для apt-get, так и для инструмента fink. Бинарное меню позволяет осуществлять операции бинарного дистрибутива, а меню исходного кода - операции дистрибутива исходного кода.

Fink Commander входит в бинарный инсталлятор Fink. Если вы хотите скачать его отдельно (н-р, если вы выполнили начальную загрузку Fink от исходного кода) или получить дополнительные сведения, посетите сайтFink Commander.

3.6 Имеющиеся версии

Если вы хотите инсталлировать пакет, сначала надо проверить базу данных по пакетам и посмотреть, можно ли это сделать через Fink. Имеющиеся версии пакета отражены в нескольких строках таблицы. А именно:

3.7 Выбор вида реализации X11

Многие пакеты, доступные через Fink, требуют инсталляции определенного вида X11. По этой причине одно из первых действий, которое обычно выполняется - это выбор вида реализации X11.

Для нескольких видов реализации X11 в Mac OS X (Apple X11, XFree86, Tenon Xtools, eXodus) и способов их инсталляции (вручную или через Fink) имеется несколько альтернативных пакетов - по одному для каждого вида. Далее приведен список имеющихся пакетов и способов инсталляции X11:

Для получения более подробной информации об инсталляции и использовании X11 см. документ X11 в Darwin и Mac OS X.

4 Обновление Fink

Данный раздел отражает процедуры обновления вашей инсталляции Fink до последних улучшенных версий.

4.1 Обновление на основе бинарных пакетов

Если вы используете только бинарный дистрибутив, нет отдельной процедуры обновления. Надо просто обратиться к выбранному вами инструменту для получения списка последних пакетов с сервера и позволить ему обновить все пакеты.

При использовании dselect достаточно применить "[U]pdate", затем "[I]nstall". Конечно, можно выполнить между ними "[S]elect" для проверки выбранного и получения информации о новых пакетах.

При использовании apt выберите apt-get update, чтобы получить список последних пакетов, а затем apt-get upgrade, чтобы обновить все пакеты, новые версии которых появились .

При использовании Fink Commander выберите Binary->Update descriptions для обновления списка пакетов, а затем Binary->Dist-Upgrade packages для обновления до новых версий.

Для получения более подробной информации, особенно об обновлении версий Fink, предшествующих 0.3.0, см. Матрицу обновления.

4.2 Обновление дистрибутива исходного кода

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

Если у вас Fink 0.2.5 или более поздняя версия, первое действие может быть выполнено при помощи fink selfupdate. Эта команда запустит проверку веб-сайта Fink, чтобы выявить наличие нового выпуска версии, и в случае его наличия автоматически скачает и инсталлирует описание пакетов. В последних версиях команды fink есть опция получения описания пакетов непосредственно из CVS или через rsync. CVS является хранилищем, управляемым версией, в котором осуществляется хранение описания пакетов и управление ими. Преимущество использования CVS в постоянном обновлении, но недостаток в том, что имеется единственный сервер CVS для Fink, который может быть ненадежен в случае большого трафика. По этой причине обычным пользователям рекомендуется использовать rsync. Для rsync имеется много зеркал; единственный минус в том, что описанию пакетов требуется час или около того для миграции к зеркалам rsync после его добавления в CVS.

(Если у вас возникли проблемы при обновлении инсталляции исходного кода, см. Особые инструкции .)

Если у вас более ранняя версия Fink, чем 0.2.5, надо скачать описание пакетов вручную. Посетите зону скачивания и найдите тарбол последних пакетов - 0.x.x.tar.gz в модуле "distribution". Скачайте его, затем инсталлируйте следующим образом:

tar -xzf packages-0.x.x.tar.gz cd packages-0.x.x ./inject.pl

После обновления всего описания пакетов (при использовании любого способа) надо обновить все пакеты одновременно при помощи fink update-all.

Для обновления дистрибутива исходного кода при помощи Fink Commander выберите опцию Source->Selfupdate для скачивания информационных файлов новых пакетов и примените Source->Update-all для обновления всех устаревших пакетов.

4.3 Комбинирование бинарных пакетов и пакетов исходного кода

Если для создания некоторых пакетов вы используете предварительно скомпилированные бинарные пакеты, а другие строите на основе исходного кода, для обновления инсталляции Fink надо следовать обоим видам инструкций, изложенных выше. Т.е. сначала надо использовать dselect или apt-get для получения последних версий пакетов в бинарном виде, а затем fink selfupdate и fink update-all для получения описания текущих пакетов и обновления остальных пакетов.

Начиная с fink 0.23.0, использование опции UseBinaryDist (настраиваемой через --use-binary-dist (или -b) или в конфигурационном файле Fink) позволяет обновить описание как исходного кода, так и бинарных пакетов, если применить fink selfupdate. В данном случае вам уже не нужно использовать отдельно apt-get.

Если вы используете Fink Commander, выберите опцию Binary->Update descriptions для обновления списка пакетов и затем Binary->Dist-Upgrade packages для обновления до новых версий. После этого примените Source->Selfupdate для скачивания информационных файлов новых пакетов, а затем Source->Update-all (см. предыдущий раздел с более подробной информацией).

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 не может работать соответствующим образом. К этой категории относятся следующие настройки:

5.4 Опциональные настройки пользователя

Существуют различные опциональные настройки, которые пользователи могут варьировать по своему желанию для изменения поведения Fink.

5.5 Настройки скачивания

Есть разные настройки, влияющие на то, как Fink скачивает данные о пакетах.

5.6 Настройки зеркал

Получение ПО из Интернета может быть скучным занятием. Зачастую скачивание происходит не так быстро, как нам хотелось бы. Серверы зеркал хранят копии файлов, которые есть на других серверах, но могут быстрее подсоединяться к Интернету или быть ближе к вам географически, позволяя таким образом быстрее скачивать файлы. Они также помогают снизить нагрузку на загруженные основные серверы, н-р ftp.gnu.org, и являются альтернативой в случае недосягаемости какого-либо сервера.

Чтобы Fink выбрал наилучшее для вас зеркало, надо ему сообщить, на каком континенте и в какой стране вы живете. Если скачивание с одного сервера не получится, вам будут предложены опции опять попытаться его сделать через это же зеркало, другое зеркало в этой же стране или на континенте, либо другое зеркало в мире.

Файл fink.conf содержит настройки с информацией, какие зеркала вы хотите использовать.

5.7 Настройки разработчика

Некоторые опции в fink.conf полезны только для разработчиков. Мы не рекомендуем обычным пользователям Fink их модифицировать. К данной категории относятся следующие опции.

5.8 Настройки для использования продвинутыми пользователями

Существуют некоторые другие полезные опции, но требуются определенные знания, чтобы правильно их настроить.

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 в командной строке

6.1 Использование инструмента fink

Инструмент fink использует несколько суффиксных команд для работы над пакетами дистрибутива исходного кода. Некоторым из них требуется как минимум одно имя пакета, но они также могут обрабатывать несколько имен одновременно. Можно указать только имя пакета (н-р, gimp), но также можно дать полное точное имя пакета, включающее номер версии (н-р, gimp-1.2.1) или же полное имя с номером версии и модификации (н-р, gimp-1.2.1-3). Fink автоматически выберет последнюю имеющуюся версию и модификацию, если они не указаны. У других команд другие опции.

Далее приводится список команд для инструмента fink:

6.2 Глобальные опции

Некоторые опции относятся ко всем командам fink. Если вы напечатаете fink --help, то получите список опций:

(для fink-0.26.0)

-h, --help - displays help text.

-q, --quiet - causes fink to be less verbose, opposite of --verbose. Overrides the Verbose flag in fink.conf.

-V, --version - display version information.

-v, --verbose - causes fink to be more verbose, opposite of --quiet. Overrides the Verbose field in fink.conf.

-y, --yes - assume default answer for all interactive questions.

-K, --keep-root-dir - Causes fink not to delete the root-[name]-[version]-[revision] directory in the Buildpath after building a package. Corresponds to the KeepRootDir field in fink.conf.

-k, --keep-build-dir - Causes fink not to delete the [name]-[version]-[revision] directory in the Buildpath after building a package. Corresponds to the KeepBuildDir field in fink.conf.

-b, --use-binary-dist - download pre-compiled packages from the binary distribution if available (e.g. to reduce compile time or disk usage). Note that this mode instructs fink to download the version it wants if that version is available for download; it does not cause fink to choose a version based on its binary availability. Corresponds to the UseBinaryDist flag in fink.conf.

--no-use-binary-dist - Don't use pre-compiled binary packages from the binary distribution, opposite of the --use-binary-dist flag. This is the default unless overridden by setting UseBinaryDist: true in the fink.conf configuration file.

--build-as-nobody - Drop to a non-root user when performing the unpack, patch, compile, and install phases. Note that packages built with this option may be non-functional. You should use this mode for package development and debugging only.

-m, --maintainer - (fink-0.25 and later) Perform actions useful to package maintainers: run validation on the .info file before building and on the .deb after building a package; turn certain build-time warnings into fatal errors; (fink-0.26 and later) run the test suites as specified in the field. This sets --tests and --validate to on.

--tests[=on|off|warn] - (fink-0.26.0 and later) Causes InfoTest fields to be activated and test suites specified via TestScript to be executed (see the Fink Packaging Manual). If no argument is given to this option or if the argument is on then failures in test suites will be considered fatal errors during builds. If the argument is warn then failures will be treated as warnings.

--validate[=on|off|warn] - Causes packages to be validated during a build. If no argument is given to this option or if the argument is on then validation failures will be considered fatal errors during builds. If the argument is warn then failures will be treated as warnings.

-l, --log-output - Save a copy of the terminal output during each package building process. By default, the file is stored in /tmp/fink-build-log_[name]-[version]-[revision]_[date]-[time] but one can use the --logfile flag to specify an alternate filename.

--no-log-output - Don't save a copy of the output during package-building, opposite of the --log-output flag. This is the default.

--logfile=filename - Save package build logs to the file filename instead of the default file (see the --log-output flag, which is implicitly set by the --logfile flag). You can use percent-expansion codes to include specific package information automatically. A complete list of percent-expanions is available in the Fink Packaging Manual; some common percent-expansions are:

-t, --trees=expr - Consider only packages in trees matching expr. The format of expr is a comma-delimited list of tree specifica- tions. Trees listed in fink.conf are compared against expr. Only those which match at least one tree specification are considered by fink, in the order of the first specifications which they match. If no --trees option is used, all trees listed in fink.conf are included in order. A tree specification may contain a slash (/) character, in which case it requires an exact match with a tree. Otherwise, it matches against the first path-element of a tree. For example, --trees=unstable/main would match only the unstable/main tree, while --trees=unstable would match both unstable/main and unstable/crypto. There exist magic tree specifications which can be included in expr:

Exclusion of (or failure to include) these magic trees is currently only supported for operations which do not install or remove packages.

-T, --exclude-trees=expr Consider only packages in trees not matching expr. The syntax of expr is the same as for --trees, including the magic tree specifications. However, matching trees are here excluded rather than included. Note that trees matching both --trees and --exclude-trees are excluded.

Examples of --trees and --exclude-trees:

Большинство названий данных опций говорят сами за себя. Их также можно настроить в конфигурационном файле Fink (fink.conf), если вы хотите иметь их постоянно, а не только при активации fink.

6.3 install

Команда install используется для инсталляции пакетов. Она запускает скачивание, конфигурирование, построение и инсталляцию указанных вами пакетов. Она также автоматически инсталлирует необходимые зависимости, но перед этим запрашивает ваше подтверждение. Пример:

fink install nedit

Reading package info...
Information about 131 packages read.
The following additional package will be installed:
 lesstif
Do you want to continue? [Y/n]

Использование опции --use-binary-dist в сочетании с fink install может значительно ускорить процесс построения сложных пакетов.

Алиасы для команды install: update, enable, activate, use (в основном по историческим причинам).

6.4 remove

Команда remove удаляет пакеты из системы при помощи 'dpkg --remove'. Имеющаяся на данный момент команда, осуществляемая по умолчанию, имеет недостаток: она не проверяет зависимости сама, а полностью полагается на инструмент dpkg (хотя обычно это не вызывает проблем).

Команда remove удаляет только файлы фактических пакетов (кроме конфигурационных файлов), но оставляет нетронутым файл сжатого пакета .deb. Это значит, что вы можете реинсталлировать пакет впоследствии без повторного прохождения всего процесса компиляции. Если вам нужно место на диске, можно удалить .deb в дереве /opt/sw/fink/dists.

Вместе с командой fink remove можно использовать следующие опции:

-h,--help             - показывает существующие опции.
-r,--recursive        - удаляет также пакеты, зависящие от удаляемого
                        пакета (т.е. исправляет вышеуказанный недостаток).

Алиасы: disable, deactivate, unuse, delete.

6.5 purge

Команда purge предназначена для очистки системы от пакетов. Она действует так же, как команда remove, но еще и удаляет конфигурационные файлы.

Вместе с данной командой можно использовать следующие опции:

-h,--help            
                -r,--recursive

6.6 update-all

Данная команда обновляет все инсталлированные пакеты до последней версии. Ей не нужен список пакетов; вы можете просто напечатать:

fink update-all

В сочетании с этой командой полезно применение опции --use-binary-dist.

6.7 list

Данная команда генерирует список имеющихся пакетов, с указанием статуса инсталляции и последней версии, а также с кратким описанием. Если вы обратились к этой команде без указания параметров, она просто предоставит список имеющихся пакетов. Вы также можете дать образец имени или оболочки, и fink предоставит список соответствующих наименований.

Первая колонка отражает статус инсталляции со следующими значениями:

    пакет не инсталлирован
 i   инсталлирована последняя версия
(i)  пакет инсталлирован, но имеется более поздняя версия
 p   виртуальный пакет, предоставленный инсталлированным пакетом

Для команды fink list существуют следующие опции:

-h,--help
	  Отражает имеющиеся опции.
-t,--tab
	  Выводит список в формате ограничения табуляцией, полезном для
	  выполнения вывода через скрипт.
-i,--installed
	  Отражает только текущие инсталлированные пакеты.
-o,--outdated
	  Отражает только устаревшие пакеты.
-u,--uptodate
	  Отражает только последние пакеты.
-n,--notinstalled
	  Отражает пакеты, не инсталлированные на данный момент.
-s expr,--section=expr
	  Отражает только пакеты в разделах, которые соответствуют
	  регулярному выражению expr.
-m expr,--maintainer=expr
	  Отражает только пакеты, координаторы которых соответствуют
	  регулярному выражению expr.
-r expr,--tree=expr
	  Отражает только пакеты в деревьях, которые соответствуют
	  регулярному выражению expr.
-w=xyz,--width=xyz
	  Устанавливает ширину дисплея, которая вам нужна для формата
	  вывода. xyz является либо числовым, либо автоматическим значением (auto).
	  Настройка auto устанавливает ширину на основании ширины терминала.
	  Настройка по умолчанию: auto.

Несколько примеров использования:

fink list                 - список всех пакетов
fink list bash            - проверка наличия bash и его версии
fink list --tab --outdated | cut -f 2     
                          - just list the names of the out of date packages.
fink list --section=kde   - список пакетов в разделе kde
fink list --maintainer=fink-devel
                          - list the packages with no maintainer
fink --trees=unstable list --maintainer=fink-devel
                          - list the packages with no maintainer, but only in the
                            unstable tree.
fink list "gnome*"        - список пакетов, начинающихся с 'gnome'

Кавычки в последнем примере необходимы для того, чтобы оболочка сама не начала интерпретировать образец.

6.8 apropos

Данная команда ведет себя почти так же, как fink list. Основное отличие в том, что fink apropos также находит описание пакетов с целью их выявления. Другое отличие в том, что искомая строковая цепочка должна предоставляться и является обязательной.

fink apropos irc          - список всех пакетов, имеющих 'irc' 
                			в имени или описании.
fink apropos -s=kde irc   - то же, что и выше, но с ограничением до 
                			пакетов из раздела kde.

6.9 describe

Данная команда вызывает описание пакета, имя которого вы указываете в командной строке. Надо учитывать, что только некоторые пакеты на данный момент имеют описание.

Алиасы: desc, description, info.

6.10 plugins

List the (optional) plugins available to the fink program. Currently lists the notification mechanisms and the source-tarball checksum algorithms.

6.11 fetch

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

The following flags can be used with the fetch command:

-h,--help		Show the options which are available.
-i,--ignore-restrictive	Do not fetch packages that are "License: Restrictive".
                      	Useful for mirrors, because some restrictive packages
                      	do not allow source mirroring.
-d,--dry-run		Just display information about the file(s) that would
			be downloaded for the package(s) to be fetched; do not
			actually download anything.
-r,--recursive		Also fetch packages that are dependencies of the
			package(s) to be fetched.

6.12 fetch-all

Скачивает все файлы исходного кода пакета. Подобно fetch, она скачивает тарболы, даже если они уже были скачаны прежде.

С командой fink fetch-all можно использовать следующие опции:

-h,--help
-i,--ignore-restrictive
-d,--dry-run

6.13 fetch-missing

Скачивает все недостающие исходные файлы пакета. Данная команда скачивает только те файлы, которые не представлены в системе.

С командой fink fetch-missing можно использовать следующие опции:

-h,--help
-i,--ignore-restrictive
-d,--dry-run

6.14 build

Строит пакет, но не инсталлирует его. Как правило, тарболы исходного кода скачиваются, если их нельзя найти. Результат этой команды - готовый к инсталляции файл .deb пакета, который вы затем можете быстро инсталлировать при помощи команды install. Эта команда бесполезна, если уже существует файл .deb. Надо иметь в виду, что зависимости - в отличие от пакета - инсталлированы, а не просто построены.

Здесь применима опция --use-binary-dist.

6.15 rebuild

Выполняет построение пакета (lподобно команде build), но игнорирует и перезаписывает существующий файл .deb. Если пакет инсталлирован, вновь созданный файл .deb также будет инсталлирован в системе через dpkg. Это весьма полезно в процессе разработки пакета.

The --use-binary-dist option is applicable here.

6.16 reinstall

Действует так же, как install, но инсталлирует пакет через dpkg, даже если он уже инсталлирован. Можно использовать эту команду, если вы случайно удалили файлы пакета или изменили конфигурационные файлы и хотите опять иметь настройки по умолчанию.

6.17 configure

Запускает повторное выполнение конфигурации fink. Это позволяет, в числе прочего, изменять ваши настройки сайтов зеркал и прокси.

New in fink-0.26.0: This command will also let you turn on the unstable trees if desired.

6.18 selfupdate

Данная команда автоматизирует процесс обновления до новых версий Fink. Она проверяет веб-сайт Fink на наличие новой версии, затем скачивает описание пакетов и обновляет базовые пакеты, в т.ч. сам fink. Эта команда может делать обновление до регулярных выпусков версий, но также может настроить ваше дерево каталогов /opt/sw/fink/dists для прямого обновления через Git. Это значит, что вы затем сможете иметь доступ к самым последним модификациям всех пакетов.

Если активирована опция --use-binary-dist, список пакетов, имеющихся в бинарном дистрибутиве, также обновляется.

6.19 selfupdate-rsync

Use this command to make fink selfupdate use rsync to update its package list.

This is the recommended way to update Fink when building from source.

Note: rsync updates only update the active trees (e.g. if unstable isn't turned on in fink.conf the list of unstable packages won't be updated.

6.20 selfupdate-git

Use this command to make fink selfupdate use Git access to update its package list.

Rsync updating is preferred, except for developers and those people who are behind firewalls that disallow rsync.

6.21 index

Перестраивает кэш пакета. Обычно вам не надо выполнять это вручную, так как fink автоматически определяет, когда он нуждается в обновлении.

6.22 validate

Данная команда выполняет различные проверки в файлах .info и .deb. Координаторы пакетов должны это делать в описании своих пакетов и соответствующих построенных пакетах перед их предоставлением.

Можно использовать следующие дополнительные опции:

-h,--help            - Отражает имеющиеся опции.
-p,--prefix     - Имитирует альтернативный префикс базового маршрута Fink (%p) для
                проверяемых файлов.
--pedantic, --no-pedantic
				- Контролирует отражение предупреждений о форматировании.
				--pedantic  - настройка по умолчанию.

Алиас: check.

6.23 scanpackages

Updates the apt-get database of debs; defaults to updating all of the trees, but may be restricted to a set of one or more trees given as arguments.

6.24 cleanup

Removes obsolete and temporary files. This can reclaim large amounts of disk space. One or more modes may be specified:

--debs               - Delete .deb files (compiled binary package archives)
                       corresponding to versions of packages that are neither
                       described by a package description (.info) file in the
                       currently-active trees nor presently installed.
--sources,--srcs     - Delete sources (tarballs, etc.) that are not used by
                       any package description (.info) file in the currently-
                       active trees.
--buildlocks, --bl   - Delete stale buildlock packages.
--dpkg-status        - Remove entries for packages that are not installed from
                       the dpkg "status" database.
--obsolete-packages  - Attempt to uninstall all installed packges that are
                       obsolete. (new in fink-0.26.0)
--all                - All of the above modes. (new in fink-0.26.0)

If no mode is specified, --debs --sources is the default action.

In addition, the following options may be used:

-k,--keep-src        - Move old source files to /opt/sw/src/old/ instead of deleting them.
-d,--dry-run         - Print the names of the files that would be deleted, but
                       do not actually delete them.
-h,--help            - Show the modes and options which are available.

6.25 dumpinfo

Действует только в версиях после fink 0.21.0.

Отражает, как fink синтаксически анализирует части файла .info пакета. Разные области и процентные расширения отражаются в соответствии со следующими опциями:

-h, --help            - Отражает имеющиеся опции.
-a, --all             - Отражает все области на основании описания пакетов.
                        Это режим по умолчанию, в котором нет флагов --field и --percent .               
-f fieldname, --field=fieldname - Отражает имена областей в списочном порядке.                    
-p key, --percent=key - Отражает клавиши данного процентного расширения
						в списочном порядке.

6.26 show-deps

Действует только для fink-0.23-6 и последующих версий.

Отражает воспринимаемый человеком список зависимостей времени компиляции (построения) и выполнения (инсталляции) пакетов, указанных в списке.


Copyright Notice

Copyright (c) 2001 Christoph Pfisterer, Copyright (c) 2001-2020 The Fink Project. You may distribute this document in print for private purposes, provided the document and this copyright notice remain complete and unmodified. Any commercial reproduction and any online publication requires the explicit consent of the author.


Generated from $Fink: uguide.ru.xml,v 1.9 2023/08/04 4:49:23 nieder Exp $