OpenBSD, Ep2

Suite de l'épisode 1.

            _.-|-/\\-._
         \\-'          '-.
        /    /\\    /\\    \\/
      \\/  <    .  >  ./.  \\/
  _   /  <         > /___\\ |.
.< \\ /  <     /\\    > ( #) |#)
  | |    <       /\\   -.   __\\
   \\   <  <   \V      > )./_._(\\
  .)/\\   <  <  .-     /  \\_'_) )-..
      \\  <   ./  /  > >       /._./
      /\\   <  '-' >    >    /
        '-._ < v    >   _.-'
          / '-.______.-' \\
                 \\/

Voilà donc comme j'ai rien à faire ce soir (quoi lodesi je dois coder la 3D iso sur MenAreAnts ?), je vous raconte rapidement ce que j'ai fais dimanche concernant la suite de mon serveur OpenBSD.

Ainsi que vous avez pu le lire ici, j'ai passé la machine comme serveur au lieu de routeur, ne faisant utiliser plus qu'une seule carte ethernet. Comme j'ai desactivé la carte son dans le BIOS, je pense que je n'aurais de toute façon pas eu de problème, mais je préfère la nouvelle topologie, deux routeurs à la suite n'étaient pas forcément très utiles.

L'installation a été bien sur très rapide, en un quart d'heure c'est bouclé et on a un système bootable. Peu de choses à rajouter après.

Je me suis tout d'abord empressé d'installer un httpd, le fork de l'équipe OpenBSD d'Apache 1. En effet, voulant naïvement installer à l'origine Apache 2, je reçois un avertissement d'une vingtaine de ligne m'expliquant que « Apache 2 sux ».
Tout d'abord il faut savoir qu'il est chrooté dans /var/www, ce qui explique pourquoi je n'ai pas trouvé la conf tout de suite (/var/www/conf).

Bien sur très facile à configurer, php5 facile à installer, rien à dire, si ce n'est que pour que chaque utilisateur ait un compte, il faut créer un répertoire dans /var/www/users/ (oui, chrooté il ne peut accéder à /home).

Ce que j'ai fais, car j'ai restauré les données des différents comptes /home que j'avais sauvegardé, c'est déjà de déplacer /var/www dans /home/www, de lier /var/www à ça, car je dois avouer que sur le faible disque de 10Go, je n'avais guère envie de faire plus de deux partitions.
J'ai donc lié chaque $home$/public_html à /home/www/users/$home$ avec un accès en écriture sur celui-ci.

Continuons avec mon installation d'OpenBSD, je voulais installer MRTG. Avant d'entrer dans les détails, je vais vous dire ce que je pense de pkg_add...

À mon avis, c'est l'ancètre d'apt de Debian. C'est relativement mal foutu, à chaque appel à pkg_add, il va récupérer sur le serveur ftp la liste entière des packets (troll: heureusement qu'il y en a peu), ce qui équivaut à un « apt-get update && apt-get install », le cache en moins. Ça ralenti pas mal l'opération. La gestion des dépendances est bonne, mais souffre du problème que je vais vous citer ci-dessous.

À l'installation de MRTG, j'obtiens ceci :

 root@server.rdl.fr ~ # pkg_add mrtg
Can't install gd-2.0.34p1: lib not found fontconfig.3.0
Even by looking in the dependency tree:
        jpeg-6bp3, libiconv-1.9.2p3, png-1.2.14p1
Maybe it's in a dependent package, but not tagged with @lib ?
(check with pkg_info -K -L)
If you are still running 3.6 packages, update them.
Can't install gd-2.0.34p1: lib not found freetype.13.1
Can't install mrtg-2.12.2p3: can't resolve gd-2.0.34p1
 root@server.rdl.fr ~ #

Donc on peut suspecter une dépendance foireuse. J'envoie donc très gentillement (j'ai pas dis que j'étais homosexuel) un mail à la mailing list d'OpenBSD concernant ce problème, en détaillant bien, donnant les caractéristiques de mon installation etc.
Je reçois à peine quelques minutes plus tard une réponse. Très satisfait, je vais lire. Je fus très déçu de constater que la réponse n'était que mon message d'origine, suivit de « Install the X11 libraries. ».
Je dois avouer être sceptique. Je ne sais pas si gd a vraiment besoin de la lib X11, mais dans ce cas là pourquoi ne pas installer automatiquement la dépendance ? Surtout que ce message d'erreur est tout sauf explicite.

Bref, continuons notre avancée dans le monde magique d'OpenBSD.

Je décide par la suite de tester la compilation de MenAreAnts Server sous cet OS, afin de corriger les éventuelles erreurs de compilation. J'ai été au final très satisfait de découvrir que juste deux ou trois headers en plus à inclure ont suffit.
Le serveur est lancé, avec un très beau MOTD comportant le dessin que vous pouvez trouver en haut de ce billet, et marche à merveille. J'ai d'ailleurs [encore] explosé pankkake dessus.

Bon comme je me rends compte que ce billet devient long, je vais donner une petite anecdote cocasse aux courageux qui sont allé jusque là.

En lisant la doc officielle d'OpenBSD, je vois un paragraphe qui explique la mise en place des quotas. N'ayant jamais essayé (ni même sous Linux), je me mets en tête de faire le test. Je tag donc la partition /home pour l'utilisation de quotas. J'utilise une commande histoire de paramétrer les quotas pour un utilisateur. Ayant l'âme d'un grand fou, je me dis que ça pourrait être marrant d'éditer le fichier /home/quotas.user.

Je tombe sur un fichier binaire, déçu, je quitte.... avec la commande vim :wq...
Du coup le fichier est réécrit, et bien sur pas identique.

Les conséquences ? Bah toute opération qui touchait de près ou de loin à /home bloquaient...
Donc quotaoff marchait pas, rm /home/quota.user marchait pas, umount /home marchait pas, reboot marchait pas.

J'ai donc été au final obligé de rebooter à la main. J'ai bien évidemment enlevé le flag userquota dans /etc/fstab... Je me dis qu'il était bien heureux de ne pas avoir testé les quotas sur / !

Voilà donc en conclusion de mon expérience OpenBSD, je dois dire que je suis plutôt satisfait, malgré mes quelques petits problèmes, je vais le garder sur le serveur.

Notez qu'à l'origine vous n'avez que gcc-3.3 et vi qui sont quand même pas très récents, mais bon chez OpenBSD on préfère les trucs vieux :)

4 Responses to “OpenBSD, Ep2”


  • Pour MRTG, tu auras quand même finis par avoir une explication sur la ml des ports bien que la reponse se trouvait dans la FAQ ou dans les archives de la ml.

    Alors qu’en est-il ? Tu decides de t’en passer ?

  • Ah j’avais cherché pourtant dans la FAQ.

    J’ai donc installé xbase et mrtg.

    Vous pouvez voir le résultat ici : http://home.coderz.info

    Notez que voici la suite des échanges sur la mailing list :

    >> Install the X11 libraries.
    > Why doesn’t gd depend on X11 libs ?
    it does.

    Mais effectivement j’avais zappé le détail que xbase n’est pas dans les ports. Il faut tout de même reconnaître que le type de message renvoyé par pkg_add n’est pas très explicite.

  • T’as mg comme editeur,

    t’es plutot Emacs ou vi ? :)

  • Bah ainsi que je l’ai dis, j’utilise plutôt Vim.

    La première fois que j’ai lancé Emacs il y a quelques années, j’ai galéré pour en sortir, du coup je n’y suis jamais retourné.

    Vim est pas tellement plus intuitif, mais je crois que contrairement à Emacs j’avais quelqu’un dans le coin qui a pu m’expliquer.

Leave a Reply




Bear