Solaris 11: Image Packaging System
19.07.2012
В Solaris 11 появилась новая система управления пакаджами IPS (Image Packaging System) .
Смысл такой — есть хранилище в котором находится образ системы (ну точнее пакаджей, из которых она состоит). Обновить систему можно только из хранилища.
Если нужно быстро обновить систему из iso-шки
mount -F hsfs {full_path_to}/sol-11-1111-sruN-incr-repo.iso /mnt
pkg set-publisher -G '*' -g file:///mnt/repo solaris
pkg update
umount /mnt
Если у нас несколько систем, то логично создать хранилище
zfs create -o mountpoint=/export/repo ips c2d2
zfs create ips/sol11
mount -F hsfs -o ro /tmp/sol-11-1111-repo-full.iso /mnt
Копируем содержимое репозитория так
pkgrepo create /export/repo/sol11
pkgrecv -s /mnt/repo -d /export/repo/sol11 '*'
или так
rsync -aPq /mnt/repo /export/repo/sol11
Перестраиваем индекс и выставляем паблишера
pkgrepo rebuild -s /export/repo/sol11/repo
pkg set-publisher -G '*' -M '*' -g file:///export/repo/sol11/repo solaris
Снэпшот — практически бесплатный бонус от zfs, если что, можно организовать отдельные сервисы хранилища на любую версию образов.
zfs snapshot ips/sol11@fcs
Посмотреть версию Support Repository Updates (SRU) —
pkgrepo info -s /export/repo/sol11/repo
pkg info entire
Теперь можно качнуть последнее обновление
Oracle Solaris 11 Support Repository Updates (SRU) Index [ID 1372094.1]
Также монтируем iso-шку и обновляем хранилище
mount -F hsfs {full_path_to}/sol-11-1111-sruN-incr-repo.iso /mnt
pkgrecv -s /mnt/repo -d /export/repo/sol11/repo '*'
umount /mnt
pkgrepo refresh -s /export/repo/sol11/repo
Делаем снэпшот
zfs snapshot ips/sol11@fcs-N
Запустить сервис pkg/server — теперь можно будет обновлять пакаджи через http (По умолчанию http://ip-адрес)
svccfg -s application/pkg/server \
setprop pkg/inst_root=/export/repo/sol11/repo
svccfg -s application/pkg/server setprop pkg/readonly=true
svcadm refresh application/pkg/server
svcadm enable application/pkg/server
Как поменять хранилище на текущей системе на nfs-шару
# pkg publisher
PUBLISHER TYPE STATUS URI
solaris origin online http://pkg.oracle.com/solaris/release/
# pkg set-publisher -G '*' -M '*' -g /net/10.0.64.115/export/repo/sol11/repo solaris
# pkg publisher
PUBLISHER TYPE STATUS URI
solaris origin online file:///net/10.0.64.115/export/repo/sol11/repo/
Проверить, что нужно обновить на текущей версии ОС:
pkg update -nv
Обновить ОС
pkg update
Ссылки в тему