Назад | Перейти на главную страницу

Как я могу установить версии MySQL, Postgres, Apache и т. Д. По умолчанию перед установкой чего-либо из портов FreeBSD?

Когда я устанавливаю программное обеспечение из портов в системе FreeBSD, иногда в качестве зависимостей устанавливаются довольно устаревшие версии Apache / MySQL / Perl / и т.д. Есть ли способ заранее установить версии этих портов, чтобы, если они когда-либо понадобятся, система портов выбрала бы подходящую версию?

Установите, например:

DEFAULT_VERSIONS=   perl5=5.18 ruby=2.0

в вашем /etc/make.conf

Эта информация взята из /usr/ports/Mk/bsd.default-versions.mk

# $FreeBSD: head/Mk/bsd.default-versions.mk 345909 2014-02-25 00:32:09Z gerald $
#
# MAINTAINER:   ports@FreeBSD.org
#
# Provide default versions for ports with multiple versions selectable
# by the user.
#
# Users who want to override these defaults can easily do so by defining
# DEFAULT_VERSIONS in their make.conf as follows:
#
#   DEFAULT_VERSIONS=   perl5=5.18 ruby=2.0

.if !defined(_INCLUDE_BSD_DEFAULT_VERSIONS_MK)
_INCLUDE_BSD_DEFAULT_VERSIONS_MK=       yes

.for lang in ${DEFAULT_VERSIONS}
_l=             ${lang:C/=.*//g}
${_l:U}_DEFAULT=        ${lang:C/.*=//g}
.endfor

APACHE_DEFAULT?=        2.2
FPC_DEFAULT?=           2.6.2
GCC_DEFAULT?=           4.6
LUA_DEFAULT?=           5.2
MYSQL_DEFAULT?=         5.5
PERL5_DEFAULT?=         5.16
PGSQL_DEFAULT?=         9.0
PHP_DEFAULT?=           5.4
PYTHON_DEFAULT?=        2.7
PYTHON2_DEFAULT?=       2.7
PYTHON3_DEFAULT?=       3.3
RUBY_DEFAULT?=          1.9
TCLTK_DEFAULT?=         8.6

.endif

Вы можете заглянуть в /usr/ports/Mk/bsd.*.mk для соответствующих переменных и установить их в /etc/make.conf. Но безопаснее просто установить необходимые версии такого программного обеспечения, а затем продолжить все остальное.

Версия порта - это версия, которую разработчик порта создал и протестировал (и которая регулярно проверяется сборкой портов tinderbox) - я не знаю ни одного порта, у которого есть ручка версии, хотя вы можете найти несколько версии некоторых портов в дереве (например, PostgreSQL имеет версии с 7.3 по 9.0).
Вы можете установить новые версии этих портов вручную, и (если они подходят) они будут найдены как зависимости и использоваться другими портами.

Общий ответ для обновления порта заключается в том, что если вам нужна более новая версия порта, чем та, которая указана в дереве, вы можете создать и отправить патч, который обновляет порт (Бегло прочтите Справочник портера FreeBSD может быть хорошей идеей познакомиться с тем, как все работает в дереве портов).
Если ваша новая версия содержит несовместимые изменения, вам, вероятно, следует создать для нее новый порт (вы можете использовать старую версию в качестве скелета).