Jan
27
Comment configurer un repository IPS local sur oracle Solaris 11 ?
Après avoir installer un nouveau système d’exploitation, il est courant de vouloir faire une sauvegarde locale de votre repository sur un serveur local. Ainsi quand vous installer des mises à jour critiques créer un nouvel environnement de démarrage est très pratique. Si jamais vous installez une mise à jour qui corrompt votre système vous pouvez toujours revenir en arrière avec l’environnement de démarrage précédent.
Cela permet donc d’avoir un système de sauvegarde de votre environnement lorsque vous appliquez des mises à jour.
Suivez la procédure suivante pour mettre en place cette solution, uniquement pour Solaris 11 et Solaris 11.1.
Connectez-vous sur votre machine sous Solaris en tant que root et vérifier le hostname et le nom de domaine
# hostname
s01-serv1
# domainename
mydomain.com
Vérifier aussi que vous pouvez bien accéder à votre machine via les serveurs DNS
# nslookup s01-serv1
Server: 192.168.0.100
Address: 192.168.0.100#53
Name: s01-serv1.mydomain.com
Address: 192.168.0.100
Vérifier enfin que le système de fichier ZFS pour IPS est bien configuré sur votre système
# zpool list
# zfs list
rpool/export/IPS 5.74G 21.3G 5.74G /export/IPS
Pour commencer, un repository local doit être manuellement créé sur le serveur local. Cela implique de créer un système de fichier ZFS sur le serveur local pour le repository IPS et de copier les fichiers du repository depuis une image ISO du repository local. L’exemple suivant vous montre les étapes pour copier le repository IPS depuis une image ISO
# zfs create -o compression=on rpool/export/IPS
# lofiadm –a sol-11-1111-repo-full.iso
# mount –F hsfs /dev/lofi/1 /mnt
# rsync –aP /mnt/repo /export/IPS
Si le repository est très volumineux cela peut prendre plusieurs heures. Cela dépend bien sur aussi des caractéristiques de la machine.
On contrôle la configuration actuel de l’IPS
# svcs application /pkg/server
STATE STIME FMRI
Disabled 17:00:56 svc:/application/pkg/server:default
# svcprop -p pkg/inst_root application/pkg/server /var/pkgrepo
O paramètre l’application sur le chemin /export/IPS/repo
# svccfg –s application/pkg/server setprop pkg/inst_root=/export/IPS/repo
On met le readonly a true
# svccfg –s application/pkg/server setprop pkg/readonly=true
On vérifie que tout est bien ok
# svcprop -p pkg/inst_root application/pkg/server
/export/IPS/repo
Ensuite on rafraîchit le service et on l’active
# svcadm refresh application/pkg/server
# svcadm enable application/pkg/server
# pkgrepo refresh –s /export/IPS/repo
Initiating repository refresh.
Quand vous avez créé le nouveau repository de packages vous devez rafraîchir le catalogue pour que le système de recherche fonctionne correctement. Cela prend quelques minutes selon les machines.
Regardons d’abord la configuration actuelle.
# pkg publisher
PUBLISHER TYPE STATUS URI
Solaris origin online http://pkg.oracle.com/solaris/release/
Cette commande vous montre le publiser actuellement utilisé. Un publisher représente l’adresse d’un repositirory qui contient un ou plusieurs packages. Le fait que le type soit « origin » veut dire dire que ce repository contient les metadata des packages (manifests et catalogs) et le contenu des packages (les fichiers du package). Enfin il est important de préciser que le publisher par défaut est http://pkg.oracle.com/solaris/release/ comme c’est notre cas actuellement.
Suite à cette aparté continuons nos opérations. On va donc changer le publisher par défaut par celui que nous avons créé.
# pkg set-publisher –G ‘*’ –g http://s01-serv1.mydomain.com/ Solaris
# pkg publisher
PUBLISHER TYPE STATUS URI
Solaris origin online http://s01-serv1.mydomain.com
Enfin pour tester que tout fonctionne bien on peut lancer la commande pkg search entire.
Donc maintenant vous avez bien configurer un IPS local. Si vous avez la moindre question sur ce tuto n’hésitez pas à poster un commentaire.