Апгейд пакетного менеджера pkg в старом рабочем jail

Feb 13, 2015 23:13

Этот пост пригодится только в специальном случае - если у вас есть jail сделанный давно, ещё на старой версии nas4free, использующий старый же менеджер пакетов pkg_add. И в него хочется что-то ставить (обновлять установленное), а никак - старый менеджер пакетов не работает. Мы перейдём к новому, pkg. NB в новых джейлах, созданных под текущей версией nas4free (на сегодня 1349, но и несколькими версиями ранее) делать как написано ниже не надо. Достаточно дать команду pkg - и она, спросив разрешения, всё сделает сама.

1) Запускаем джейл, смотрим его номер командой jls (пусть будет 4), через putty заходим по ssh, идём в джейл

jexec 4 tcsh

2) Ставим гуманоидный редактор. Можно этого и не делать, из коробки доступен ее
pkg_add -r nano
ВНИМАНИЕ Больше pkg_add использовать не будем, тк перейдём к актуальному менеджеру пакетов pkgng

3) Ставим дерево портов (пока ставится есть время выпить чашку кофе)
portsnap fetch extract

4) Ставим новый менеджер пакетов
cd /usr/ports/ports-mgmt/pkg
make UPGRADEPKG=1 install clean

5) Информируем систему об этом замечательном факте
echo 'WITH_PKGNG=YES' >> /etc/make.conf

6) Настраиваем
pkg2ng

7) Копируем и редактируем конфиг
cp /usr/local/etc/pkg.conf.sample /usr/local/etc/pkg.conf
nano /usr/local/etc/pkg.conf

Здесь находим строку
#ASSUME_ALWAYS_YES = false;
и заменяем её на
ASSUME_ALWAYS_YES = true;
Внимание - # в начале убираем. Можно и не редактировать, но тогда при каждой установке пакета будет назойливо задавать вопросы.

8) Настраиваем репозиторий
mkdir -p /usr/local/etc/pkg/repos
nano /usr/local/etc/pkg/repos/FreeBSD.conf
Файл открывается пустой, в него надо добавить
FreeBSD: {
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
mirror_type: "srv",
enabled: yes
}

9) Обновляем пакеты и заодно убеждаемся, что всё работает
pkg update -f

root@tm:/usr/ports/ports-mgmt/pkg # pkg update -f
Updating FreeBSD repository catalogue...
[tm.local] Fetching meta.txz: 100% 968 B 1.0k/s 00:01
[tm.local] Fetching digests.txz: 100% 2 MB 2.1M/s 00:01
[tm.local] Fetching packagesite.txz: 100% 5 MB 5.3M/s 00:01
Processing new repository entries: 100%
FreeBSD repository update completed. 23708 packages processed:
0 updated, 0 removed and 23708 added.

ПРИМ. Чтоб 2 раза не вставать - пара полезных на будущее команд сюда же, респект камраду RU_Taurus
pkg audit -F - проверка уязвимостей
pkg info | grep nano - просмотр версии установленного пакета
pkg search [имя_пакета] - ищет заданное примерное имя пакета в локальном репозитарии
pkg search -f [имя_пакета] - посмотреть полную информацию о пакете (точное имя мы нашли первой командой)
pkg version -Rv - посмотреть что из пакетов требует обновления
pkg upgrade [имя_пакета] - обновить пакет до новой версии, можно задать несколько имён в одной команде. /ПРИМ

10) Теперь можно ставить пакеты
pkg install бла-бла

chroot, jail, nas, nas4free

Previous post Next post
Up