FreeBSD: Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/

Автор: | 05/26/2014
 

freebsd_logoПри установке пакета на устаревшую FreeBSD 9.0:

# uname -ro
FreeBSD 9.0-RELEASE-p3

Система сообщила что пакет не найден:

# pkg_add -r bmake
Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/Latest/bmake.tbz: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/Latest/bmake.tbz' by URL

Проверяем в браузере:

# curl ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/
curl: (9) Server denied you to change to the given directory

Или так:

# lftp ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9.0-release/
cd: Access failed: 550 packages-9.0-release: No such file or directory. (/pub/FreeBSD/ports/i386/packages-9.0-release)

Идём в каталог выше — ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/ — и смотрим содержимое:

# lftp ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/
cd ok, cwd=/pub/FreeBSD/ports/i386
lftp ftp.freebsd.org:/pub/FreeBSD/ports/i386> ls
total 28
-rw-rw-r--   1 1006  1006  1051 Dec  3  2011 .message
lrwxrwxrwx   1 1006  1006    15 Apr 19  2007 packages -> packages-stable
drwxr-xr-x  96 1006  1006  2048 Feb 11 22:03 packages-8-stable
drwxrwxr-x  95 1006  1006  2048 Mar 29  2012 packages-8.3-release
drwxr-xr-x  95 1006  1006  2048 May  9  2013 packages-8.4-release
lrwxr-xr-x   1 1006  1006    17 Dec  9  2011 packages-9-current -> packages-9-stable
drwxr-xr-x  96 1006  1006  2048 Feb 11 22:00 packages-9-stable
drwxr-xr-x  95 1006  1006  2048 Apr 12  2013 packages-9.1-release
drwxr-xr-x  95 1006  1006  2048 Dec 16 04:28 packages-9.2-release
lrwxr-xr-x   1 1006  1006    17 Nov  7  2011 packages-stable -> packages-9-stable

Как видим — имя каталога поменялось на packages-9-stable.

Задаём переменную PACKAGESITE, которая отвечает за альтернативный репозиторий для системы портов FreeBSD (главный репозиторий задаётся переменной PACKAGEROOT):

# export PACKAGESITE="ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/"

И запускаем установку заново:

# pkg_add -r bmake
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/bmake.tbz... Done.

Готово.