Solaris emplea el formato de paquetes de SysV, en general los paquetes usan la extensión .pkg. Para manipularlos desde la línea de comandos emplearemos varios programas:
pkgadd: añade un paquete de software
pkgrm: elimina un paquete de software
pkgchk: verifica si un paquete está correctamente instalado
pkginfo: muestra información sobre los paquetes
pkgask: guarda las respuestas de una instalación en fichero, se emplea para automatizar instalaciones.
pkgparam: muestra parámetros asociados a un paquete
Para instalar un paquete haremos:
# pkgadd -d <ruta> [<nom_paquete>]
Donde ruta indica un dispositivo o directorio que contiene paquetes. Si no ponemos el nombre del paquete se instalan todos los paquetes que hay en el directorio.
Para eliminar un paquete
# pkgrm <nom_paquete>
Para obtener la lista de paquetes instalados
# pkginfo
Para obtener información sobre un paquete
# pkginfo -x <nom_paquete> # pkginfo -l <nom_paquete>
Para saber a qué paquete pertenece un fichero
# pkgchk -l -p /ruta/al/archivo
Para saber qué ficheros hay en un paquete haremos
# grep <paquete> /var/sadm/install/contents
Hay que indicar que la información de instalación de los paquetes se guarda en subdirectorios de /var/sadm/pkg que tienen el mismo nombre que el paquete instalado.
Para acceder a los parches oficiales de Sun se puede consultar la web http://sunsolve.sun.com/, en general los parches se distribuyen en formato .zip con una nomenclatura estándar: numparche_rev.zip, donde el primer elemento es en número de parche y el segundo la revisión del mismo.
Para instalar y desinstalar los parches se usarán las herramientas patchadd y patchrm.
Para aplicar un parche:
# patchadd numparche_rev
Siendo numparche_rev el directorio donde hemos desempaquetado el .zip proporcionado por Sun.
Para ver la lista de parches aplicados haremos:
# patchadd -p
Para ver los parches aplicados a un paquete haremos:
# pkgparam nombre_paquete PATCHLIST
Para ver la información de un parche concreto aplicado a un paquete haremos:
# pkgparam nombre_paquete PATCH INFO numpatch
Para borrar un parche haremos:
# patchrm numparche_rev
La información sobre los parches instalados en un solaris se encuentra en el directorio /var/sadm/patch; para cada parche aplicado se guarda información en subdirectorios con el nombre ..numparche_rev,,. Además de esto en el directorio ,,/var/sadm/pkg/NOMBRE_PAQUETE/save/numparche_rev qué contiene los ficheros que fueron eliminados al aplicar el parche, por si hace falta dar marcha atrás con el patchrm.
Además del uso de los progaramas que acabamos de comentar, existe una herramienta para automatizar la instalación de parches accesible en el URL https://sunsolve.sun.com/patchpro/.
Si instalamos software empaquetado por terceros como el que hay en http://www.sunfreeware.com/ podemos usar las herramientas estándar de manejo de paquete y también tenemos a nuestra disposición herramientas similares a APT como pkg-get (http://www.bolthole.com/solaris/pkg-get.html) y pkgadm (http://www.bolthole.com/solaris/pkgadm.html).