Dernière modification
Modifiée :
< Tout d'abord, il faut avoir un arbre des ports à jour. La démarche est expliquée sur [[MAJ_OpenBSD|Comment mettre à jour OpenBSD ?]].e
à
> Tout d'abord, il faut avoir un arbre des ports à jour. La démarche est expliquée sur [[MAJ_OpenBSD|Comment mettre à jour OpenBSD ?]].
Pré-requis : lire la FAQ d'OpenBSD sur les packages et les ports.
Tout d'abord, il faut avoir un arbre des ports à jour. La démarche est expliquée sur Comment mettre à jour OpenBSD ?.
Pour vérifier que l'ensemble des logiciels est à jour, il y a dans /usr/ports/infrastructure/bin "out-of-date" qui permet de vérifier si des logiciels ont une mise à jour disponible.
Par exemple :
/usr/ports/infrastructure/bin$ out-of-date Collecting installed packages: ok Collecting port versions: ok Collecting port signatures: ok Outdated ports: databases/p5-DBD-Pg # @postgresql-client-9.1.4 -> @postgresql-client-9.1.9 devel/git,-main # @curl-7.26.0 -> @curl-7.26.0p0 devel/quirks # always-update -> quirks-1.73 lang/php/5.3,-pgsql # @postgresql-client-9.1.4 -> @postgresql-client-9.1.9 net/freeradius,-pgsql # @freeradius-2.1.12,@postgresql-client-9.1.4 -> @freeradius-2.1.12p0,@postgresql-client-9.1.9 security/gnupg # @curl-7.26.0 -> @curl-7.26.0p0
On a ici la liste des logiciels qui ont une version plus récente disponible.
Supposons maintenant que postgresql soit vulnérable et qu'il faille le mettre à jour (ce qui suit est une manière de faire, d'autres sont possibles). On se déplace à l'endroit idoine :
$ cd /usr/ports/databases/postgresql
Étant donné que compiler pgsql prend du temps, au lieu de `make install`, on fait un `make package`, cela va compiler le soft. Une fois que c'est fait, le package créé est présent dans /usr/ports/packages. Il suffit de faire ce qu'on a à faire pour la base (l'arrêter, faire un dump etc.) puis :
$ sudo pkg_add le_package_compile
Et voilà, c'est à jour \o/
Les flavors sont des options qu'on peut avoir avec certains logiciels. Par exemple pour Apache2, on peut l'installer avec et sans support de ldap. Pour savoir quelles sont ces options, on se place dans le dossier du logiciel et on utilise la commande `make show=FLAVORS`.
Si on veut compiler un port avec un flavor particulier, il suffit d'utiliser la commande `env FLAVOR="ldap" make package`.
Par contre les dépendances ne sont pas compilées avec le flavor. Il faut donc vérifier si les dépendances nécessitent le "flavor" aussi. Toujours dans l'exemple d'Apache2 ldap, il y a comme dépendance OpenLDAP? qui n'a pas de flavor, mais lui même a besoin de Cyrus-sasl2. Si on veut du support ldap avec Cyrus, il faut builder ce dernier avec le flavor (avec `env FLAVOR="ldap" make package`) sinon, ce n'est pas nécessaire.