Ч.З.В. - 5. Инсталляция, использование и поддержка Fink
О: Начиная с Fink 0.2.3 существует команда list . Благодаря ей вы получаете список всех пакетов, известных вашей инсталляции Fink. Пример:
Если вы используете бинарную дистрибуцию, dselect предоставит вам удобный просматриваемый список имеющихся пакетов. Имейте в виду, что вы должны выполнить эту команду в качестве суперпользователя, если хотите выбрать и инсталлировать пакеты в dselect.
В5.2: Я нахожусь за брандмауэром. Как надо конфигурировать Fink для использования прокси HTTP?
О: Команда fink поддерживает явные настройки прокси, которые переданы на wget / curl . Если вам не были заданы вопросы относительно прокси при первоначальной инсталляции, вы можете выполнить fink configure для его настройки. Вы также можете использовать эту команду в любой момент для реконфигурации команды fink . Если следовать указаниям руководства по инсталляции и использовать /sw/bin/init.csh (или /sw/bin/init.sh ), то apt-get и dselect также будут использовать эти настройки прокси. Надо убедиться, что вы поместили протокол перед прокси, н-р:
Если проблемы не устраняются, войдите в System Preferences, выберите область Network, затем Proxies tab и убедитесь, что отмечено поле "Use Passive FTP Mode (PASV)".
В5.3: Как можно обновить имеющиеся пакеты при помощи CVS, если я за брандмауэромl?
О: Пакет cvs-proxy может проложить туннель через прокси HTTP.
Сначала скачайте файлы cvs-proxy ( .info и .patch) и поместите их на свое локальное дерево (н-р /sw/fink/dists/local/main/finkinfo/).
Инсталлируйте пакет cvs-proxy при помощи команды:
fink --use-binary-dist install cvs-proxy
Switch to the CVS update method with the command:
Если fink не конфигурируется для использования вашего прокси, измените настройки при помощи команды:
В5.4: Можно ли переместить Fink на другое место после инсталляции?
О: Нет. Т.е. конечно вы можете перемещать файлы при помощи mv или Finder, но 99% программ перестанут после этого работать. В основном потому, что все ПО Unix зависит от неизменяемых путей доступа к поиску файлов данных, библиотек и другого.
В5.5: Если переместить Fink после инсталляции и предоставить символический указатель (алиас) прежнего размещения, будет ли результат успешным?
О: Возможно. Вообще это должно сработать, но где-то могут быть скрытые ловушки.
В5.6: Как полностью деинсталлировать Fink?
О: Почти все файлы, инсталлированные Fink, находятся в /sw (или там, где вы решили их инсталлировать). Таким образом, чтобы избавиться от Fink, введите команду:
Единственным исключением из этого правила является XFree86 или X.org. Если вы инсталлировали сервер X через Fink (т.е. инсталлировали пакеты xfree86 , xfree86-rootless или xorg вместо использования system-xfree86 ) и хотите его удалить, вам понадобится дополнительно ввести следующее:
Если вы не планируете вновь инсталлировать Fink, вы также захотите удалить при помощи текстового редактора строку " source /sw/bin/init.csh ", которую вы добавили к вашему файлу .cshrc или, в зависимости от ваших настроек, строку " source /sw/bin/init.sh ", добавленную к вашему файлу .bashrc .
В5.7: База данных по пакетам на веб-сайте указывает в списке пакет xxx, но apt-get и dselect ничего об этом не знают. Что неправильно?
О: И то, и другое правильно. База данных по пакетам знает о каждом пакете, включая пакеты, которые все еще находятся в нестабильном разделе. Инструменты dselect и apt-get , с другой стороны, знают только о пакетах, существующих как предварительно компилированные бинарные пакеты. Многие пакеты не существуют в предварительно компилированной форме через посредство этих инструментов по многим причинам. Пакет должен быть в стабильном разделе последней рассматриваемой версии и должен пройти дополнительные проверки для соответствия политике, а также лицензионным и патентным ограничениям.
Если вы хотите инсталлировать пакет, который недоступен через dselect / apt-get , надо компилировать его на основе исходного кода с использованием fink install packagename . Надо убедиться, что у вас имеются Developer Tools, инсталлированные до того, как вы попытаетесь это сделать. (Если нет инсталлятора для Developer Tools в вашей папке /Applications , вы можете получить их от Apple Developer Connection после бесплатной регистрации). См. также далее вопросы о разделе нестабильных пакетов.
В5.8: Я хочу инсталлировать пакет из категории нестабильных, но fink сообщает, что 'пакет на найден' ('no package found') . Как его можно инсталлировать?
О: First make sure you understand what 'unstable' means. Packages in the unstable tree are not in stable for any number of reasons. It could be because there are known issues, validation errors, or just not enough people giving feedback that the package works for them. For that reason, Fink doesn't search the unstable tree by default.
If you do enable unstable, please remember to e-mail the maintainer if something works (or even if it doesn't). Feedback from users like you is what we use to determine if something is ready for stable! To find out the maintainer of a package, run fink info packagename .
For fink-0.26 and later: If you run fink configure one of the questions will ask whether you want to turn the unstable trees on.
To configure Fink to use unstable when you have an earlier version of the fink tool than 0.26, edit /sw/etc/fink.conf , and add unstable/main and unstable/crypto to the Trees: line.
If you use Fink Commander, then there is a Preference to use unstable packages.
None of these options actually download the unstable tree's package descriptions.You'll need to turn on rsync or cvs updating to do this, which is not set up by default on a new Fink installation. The following command sequence will set you up on a new Fink installation:
Note: There are Fink Commander analogs for everything except fink index -f . You will have to use the command line for that.
If you're already set up with rsync or cvs updating, then the following command sequence (or the Fink Commander analogs) will suffice:
If you're not sure what your update method is, check fink --version in at a command line and see if that mentions cvs or rsync .
If you don't want to install any more from unstable than your specific package(s) and its (their) dependencies, (and any base packages that got updated) don't use the update-all command until you turn the unstable tree back off.
В5.9: Do I really need to enable all of unstable just to install one unstable package that I want?
О: No, but it is highly recommended you do. Mixing and matching can cause unforeseen issues that make it difficult to debug problems when they do arise.
That said, if you only want one or two specific packages, and nothing else from unstable, then you need to switch over to CVS updating (i.e. use fink selfupdate-cvs ), because rsync only updates the trees that are active in your fink.conf . Edit /sw/etc/fink.conf and add local/main to the Trees: line, if not present. Then you'll need to run fink selfupdate to download the package description files. Now copy the relevant .info files (and their associated .patch files, if there are any) from /sw/fink/dists/unstable/main/finkinfo (or /sw/fink/dists/unstable/crypto/finkinfo ) to /sw/fink/dists/local/main/finkinfo . However, note that your package may depend on other packages (or particular versions) which are also only in unstable. You will have to move their .info and .patch files as well. After you move all of the files, make sure to run fink index , so that Fink's record of available packages is updated. Once you're done you can switch back to rsync ( fink selfupdate-rsync ) if you want.
В5.10: Мне надоело каждый раз печатать свой пароль в sudo. Можно ли с этим что-то сделать?
О: Если вы не страдаете паранойей, вы можете конфигурировать sudo так, чтобы не было запроса о пароле. Для этого надо запустить visudo в качестве суперпользователя и добавить такую строку:
Конечно, надо заменить username вашим действительным именем пользователя. Данная строка позволяет запускать любую команду через sudo без внесения пароля.
В5.11: Когда я пытаюсь выполнить init.csh или init.sh, получаю сообщение "Нет разрешения" ("Permission denied"). Что я делаю неправильно?
О: init.csh и init.sh не предназначены для выполнения как нормальные команды. Эти файлы устанавливают такие переменные величины среды, как PATH и MANPATH, в вашей оболочке. Для длительного эффекта в оболочке должна быть произведена обработка при помощи команды source для csh/tcsh или команды . для bash/zsh, н-р таким образом:
В5.12: Помогите! Я использовал ввод меню "[A]ccess" в dselect и больше не могу скачивать пакеты!
О: Возможно, вы отметили apt в зеркале Debian, которое конечно не имеет файлов Fink. Вы можете решить проблему мануально или через dselect. В ручном режиме в качестве суперпользователя проредактируйте /sw/etc/apt/sources.list в текстовом редакторе. Удалите строки, упоминающие debian.org и замените их следующим:
(Если вы живете в Европе, можете использовать eu.dl.sourceforge.net вместо us.dl.sourceforge.net )
Для исправления через dselect выполните снова "[A]ccess", выберите метод "apt" и внесите следующую информацию:
URL: http://us.dl.sourceforge.net/fink/direct_download - Distribution: release - Components: main crypto
Затем внесите уточнение, что хотите добавить другой исходный код, и повторите процесс с "current" вместо "release".
Исправленная версия пакета apt (со скриптом конфигурации в виде плагина для dselect) теперь работает через CVS.
В5.13: При попытке выполнения fink selfupdate или "fink selfupdate-cvs" получаю сообщение об ошибке Updating using CVS failed. Check the error messages above. "
О: Если сообщение следующее:
то вам надо инсталлировать инструменты разработчика - Developer Tools.
Но если последняя строка следующая:
то надо сделать обратный просмотр для уточнения ошибки. Если вы увидите сообщение, что вам отказано в соединении:
или сообщение типа следующего:
то возможно, что серверы cvs перегружены и вам надо попытаться сделать обновление позже.
Другое объяснение: у вас нет соответствующих разрешений в ваших каталогах CVS, в этом случае вы получите сообщения "Permission denied":
В данном случае вам надо перенастроить свои каталоги cvs. Используйте команду
Если вы не увидите вышеуказанных сообщений, это почти всегда означает, что вы модифицировали файл на вашем дереве /sw/fink/dists и теперь координатор изменил его. Просмотрите ввод selfupdate-cvs в строках, начинающихся с "C", так-то:
"C" означает, что у CVS был конфликт при попытке обновления последней версии. Исправление заключается в удалении всех файлов, начинающихся с "C" при вводе selfupdate-cvs; затем надо попробовать снова:
If you get errors that mention cvs.sourceforge.net:
this is because of a restructuring of the CVS servers at sourceforge.net in 2006. Fink files are now at fink.cvs.sourceforge.net.
Check your Distribution version, e.g. via
If that shows 10.4-transitional , then you need to update to the regular 10.4 distribution. An update script has been created to assist with that.
В5.14: При использовании Fink мой компьютер зависает/глючит/вырубается. Помогите!
О: Последние сообщения в списке рассылки fink-users mailing list отразили проблемы (в т.ч. панику ядра и бесконечные зависания) при использовании Fink для компилирования пакетов, когда инсталлировано антивирусное ПО. Возможно, вам надо будет отключить любое антивирусное ПО прежде, чем использовать Fink.
В5.15: Пытаюсь инсталлировать пакет, но Fink не может его скачать. Сайт скачивания отражает номер более поздней версии пакета, чем показывает Fink. Что делать?
О: Исходные коды пакетов перемещаются апстрим-сайтами при выпуске новых версий.
Первое, что надо сделать - выполнить fink selfupdate . Возможно, координатор пакета уже это исправил, и вы получите обновленное описание пакета либо с более свежей версией, либо с измененным URL для скачивания.
Если это не поможет, большинство исходных кодов можно найти на http://distfiles.master.finkmirrors.net/ (спасибо Rob Braun) и вы можете запустить fink configure с выбором поиска зеркал исходного кода "Master", чтобы Fink автоматически произвел там поиск.
Если это не сработает, сообщите координатору пакета (при помощи " fink describe packagename "), что URL не работает, т.к. не все координаторы регулярно читают списки рассылки.
Для получения работающего исходного кода надо во-первых попытаться "поохотиться" в районе удаленного сайта в других каталогах в поисках той же версии исходного кода, которую хочет Fink (н-р в "старом" каталоге). Но имейте в виду, что некоторые удаленные сайты любят выбрасывать старые версии своих пакетов. Если на официальном сайте его нет, попытайте счастья в web - иногда можно найти неофициальные сайты, где есть необходимый вам тарбол. Еще одно место, где можно поискать - http://us.dl.sourceforge.net/fink/direct_download/source/, где Fink хранит файлы исходного кода из пакетов, выпущенных в бинарной форме. Если все указанное не поможет, можно поместить объявление в fink-users mailing list с запросом о том, не имеет ли кто-нибудь старый исходный код, чтобы вам его предоставить.
Когда найдете соответствующий тарбол исходного кода, скачайте его вручную и затем поместите файл по месту нахождения вашего исходного кода Fink (н-р для Fink по умолчанию надо инсталлировать " sudo mv package-source.tar.gz /sw/src/ ". Затем укажите ' fink install packagename ' как normal.
Если не получилось достать файл исходного кода, надо подождать, пока координатор решит проблему. Он может либо сделать связку со старым исходным кодом, либо обновить файлы .info и .patch для использования более свежей версии.
В5.16: Получаю сообщения об ошибке "command not found", когда запускаю Fink или то, что инсталлировано при помощи Fink.
О: If this always happens, then you may have inadvertently modified (or failed to modify) your startup scripts. Run the /sw/bin/pathsetup.sh script in a terminal window. This program will attempt to detect your default shell and add a command to load Fink's shell initialization script into your shell's configuration. You'll then need to open a new terminal session so that your environment settings are loaded. Note: Some older versions fink called this script pathsetup.command instead of pathsetup.sh . Alternately, you can run the pathsetup.app application on the Fink binary distribution disk image.
On the other hand, if you only have problems in the Apple X11 terminal, the easy solution is to modify the "Terminal" entry in the X11 Application menu via the Applications->Customize Menu. option. Instead of just
change the command field to read
ls here means login shell , and the result is that your full login setup gets used (just like the OS X Terminal).
These /sw/bin/init.* scripts do much more than just add /sw/bin to your PATH. Many packages will not work correctly without these additional actions.
В5.17: Хочу спрятать /sw в Finder, чтобы пользователи не повредили настройки Fink.
О: Это возможно. Если у вас инсталлированы Developer Tools, выполните следующую команду:
Это сделает /sw невидимым, как стандартные системные папки (/usr и т.п.). Если у вас нет Developer Tools, есть разные приложения третьих лиц, которые позволяют управлять атрибутами и делать /sw невидимым.
В5.18: Не могу ничего инсталлировать из-за следующей ошибки: "install-info: unrecognized option `--infodir=/sw/share/info'"
О: Обычно это происходит из-за проблемы в вашем PATH. Напечатайте в окне терминала:
Если /sw/sbin не появится совсем, надо настроить свою среду согласно - инструкциям в Руководстве пользователя. Если /sw/sbin есть, но впереди находятся другие каталоги (н-р /usr/local/bin ), то вам надо либо реорганизовать свой PATH так, чтобы /sw/sbin находился близко к началу, либо, если вам очень надо расположить другой каталог перед /sw/sbin и такой каталог включает другой каталог install-info, то надо временно переименовать этот подкаталог install-info при использовании Fink.
В5.19: Ничего не могу инсталлировать или удалить из-за проблемы с файлом списка файлов ("files list file").
О: Обычно такие ошибки имеют следующую форму:
Это исправляется без труда. Если у вас в системе имеется файл .deb для пакета, содержащего ошибку, проверьте его целостность при помощи
Если вы снова получили список каталогов и файлов, значит, ваш .deb в порядке. Если выводится что-то другое, а не каталоги и файлы, или у вас нет файла .deb file, все равно вы можете продолжать, т.к. ошибка не помешает вам в компоновке.
Если вы делаете инсталляцию на основе бинарной дистрибуции или точно знаете, что версия в бинарной дистрибуции такая же, как инсталлированная версия (н-р проверив package database), можно получить файл .deb, применив sudo apt-get install --reinstall --download-only packagename . В противном случае вы можете построить ее с помощью fink rebuild packagename , но она все еще не инсталлируется.
Когда у вас будет действующий .deb, вы можете восстановить файл. Сначала надо стать суперпользователем при помощи sudo -s (при необходимости введите свой административный пароль пользователя) и затем использовать следующую команду:
Это поможет извлечь содержимое файла .deb, удалить все, кроме названий файлов, и внести их в файл .list.
В5.20: Я получил кучу мусора, когда выбирал пакеты в dselect . Как теперь можно его использовать?
О: Есть проблематичные вопросы между dselect и Terminal.app . Решением может быть ввод следующей команды:
для пользователей tcsh:
для пользователей bash:
перед выполнением dselect . Вы также можете сделать это в вашем файле инициализации (н-р .cshrc | .profile ), чтобы всегда иметь возможность использовать.
В5.21: Не получается обновить версию Fink.
О: Если fink selfupdate и sudo apt-get update ; sudo apt-get dist-upgrade не делают обновление до новой версии Fink, вам возможно надо будет скачать более позднюю версию пакета fink вручную. Соответствующие команды:
- 10.3.x: (дистрибуция 0.7.1)
- 10.2.x: (дистрибуция 0.6.3)
В5.22: Можно ли разместить Fink в томе или каталоге с пробелом в его имени?
О: Мы не рекомендуем размещать ваше дерево каталогов Fink в каталог с пробелами в его имени. Не стоит этого делать.
В5.23: При попытке бинарного обновления появляется много сообщений со словами "File not found"
О: Если вы видите что-то вроде следующего:
то вам надо запустить fink scanpackages . Это поможет найти файлы.
If you get an error of the following form:
then you should run
В5.24: Я изменил OS, но Fink не признает изменение.
О: При изменении дистрибуции Fink (подмножествами которой являются исходные и бинарные distros), Fink нуждается в получении информации о том, что произошло. Для этого вы можете выполнить скрипт, который обычно запускается при первоначальной инсталляции Fink:
Выполнив это, вы укажете Fink правильное место.
В5.25: After installing a macOS update, Fink no longer recognizes my installed Command Line Tools.
О: Updates to macOS routinely break parts of Apple's Command Line Tools. If you get this error after updating your copy of macOS:
Fink has lost track of Apple's Command Line Tools.
The easiest solution is to download and reinstall the Command Line Tools specific to your macOS version from https://developer.apple.com/.
Another possible solution is to run the following command:
but this often reports the following:
However, the Tools might be in a non-functional state such that Fink still can't recognize them. In that case, a clean reinstall as described above has always worked to fix their detection with Fink.
Finally, you may need to run the command:
to agree to the software license.
В5.26: Получаю сообщения об ошибках с приложениями gzip | dpkg-deb I из пакета fileutils ! Помогите!
О: Ошибки типа:
или ошибки сегментации при использовании утилитов из fileutils , н-р ls или mv , вероятно обусловлены предварительно связывающей ошибкой в библиотеке и могут быть устранены следующим образом:
В5.27: Когда я открываю окно Terminal, получаю сообщение "Your environment seems to be correctly set up for Fink already.", и сеанс завершается.
О: Дело в том, что каким-то образом программе OSX Terminal поступило указание выполнять команду /sw/bin/pathsetup.command каждый раз, когда вы начинаете сеанс. Это можно исправить, удалив файл Preferences:
Если у вас есть другие преференции, которые вы хотите оставить, можно отредактировать файл при помощи текстового редактора и убрать ссылку на /sw/bin/pathsetup.command .
В5.28: Мой Fink инсталлирован отдельно от главного сегмента и я не могу обновить пакет fink на основе исходного кода. Появляются сообщения об ошибках с упоминанием chowname .
О: Если сообщение об ошибке выглядит так:
то надо использовать Get Info на носителе/сегменте, где Fink инсталлирован, и отменить выбор "Ignore ownership".
В5.29: Fink не хочет обновлять мои пакеты, т.к. утверждает, что не может найти зеркало 'gnu'.
О: Если вы получили сообщение об ошибке, которое оканчивается на
то наиболее вероятно вам надо обновить пакет fink-mirrors , н-р через:
В5.30: Не могу обновить Fink, т.к. он не может убрать /sw/fink..
О: Эта ошибка:
обычно обусловлена, хотя и утверждает иное, ошибками разрешений в одном из временных каталогов, создаваемых в процессе автообновления - selfupdate . Удалите
В5.31: I get a message that says "No fonts found".
О: If you see the following (so far only seen on OS 10.4):
then you can fix it by running
В5.32: I can't install Fink via the Installer package, because I get "volume doesn't support symlinks" errors.
О: This message commonly means that you've tried to run the Fink installer as user who doesn't have administrative privileges. Make sure to log in at the login screen as such a user or switch to such a user in the Finder (i.e. fast user switching) before starting the Fink installer.
If you're having trouble even when using an admin account, then it's likely a problem with the permissions on your top-level directory. Use Apple's Disk Utility (from the Utilities sub-folder in your Applications folder), select the hard drive in question, choose the First Aid tab, and press Repair Disk Permissions. If that doesn't work, then you may need to set your permissions manually via:
В5.33: I can't update Fink, because package architecture (darwin-i386) does not match system (darwin-powerpc).
О: This error occurs if you use a PowerPC installer package on an Intel machine. You'll need to flush your Fink installation, e.g.:
and then download the disk image for Intel machines from the downloads page.