Cette semaine

Top tracks



Cliquez sur l'image pour en savoir plus sur les tracks :)

2008年05月13日

Serveur FreeBSD \o/ [Welcome To Freebou] Part 1

Filed under: No-life — Le grand Bubu @ 4:15 am

Haha, même dans le titre je peux faire de l’humour. Je m’aime.

Bref.

Je pensais que ça pouvait être intéressant de suivre une migration sous FreeBSD, d’une part parce que c’est assez peu banal, d’autre part parce que le niveau de difficulté me force un peu à garder une trace écrite. Juste dans le cas où tout merderait.

Étant équipé d’un assez bon ouvrage, d’une collection recommandée par un ancien geek de #ecchi, je pars donc à l’aventure avec mon baluchon.

Première difficulté, le partitionnement. Celui de notre hébergeur est, par défaut, à chier. À savoir : / (3 Go) et /home (180 Go). Hum. Non seulement c’est à chier niveau optimisation du partitionnement pour un serveur, mais c’est en plus tout simplement dangereux. Parce que s’il y a trop de softs dans /usr, ou plus simplement trop de logs dans /var, ou encore plus simplement trop de connards qui écrivent dans /tmp, on a une racine saturée tout de suite. Le système pourrait encore - avec de la chance - démarrer avec une racine saturée, mais quid de tout ce qui a besoin de place dynamiquement ailleurs que dans /home ? Quid des sessions et autres saloperies à écrire dans /tmp par les scripts à la noix qui ne savent pas se faire un répertoire de sessions perso ? Je pourrais symlink ces répertoires et les mettre dans /home, soit, mais non pas trop en fait. C’est moyennement propre, et si le système de partitionnement existe, autant s’en servir.

Donc voilà, quand l’hébergeur met 1/5 en facilité pour l’utilisation d’un OS, il pourrait aussi éventuellement s’arranger pour NE PAS mettre des batons dans les roues aux gens qui choisissent cet OS, en leur filant la conf de base la plus pourrave possible. Et le partitionnement, c’est la conf de base de chez base chez tous les serveurs. Roberto, il va me répondre “oui mais blablabla tu sais, c’est la politique Freebou que rien ne soit conf, blablabla, tu dois avoir le contrôle de ton OS blablabla”. Oui, mais. Tout serveur un tant soit peu bien foutu a ce partitionnement de base / /usr /var /tmp /home, ou en tout cas pas une racine et un /home, avec une racine prête à péter au moindre log ou à la moindre écriture de session. Faut pas charrier non plus, ça veut dire que le mec qui veut découvrir se fait vraiment péter la rondelle s’il fait pas gaffe à TOUT. Ou même, un mec qui utilise FreeBSD mais pas en serveur, en desktop par exemple (ok c’est plutôt rare), s’il a pas la présence d’esprit de partitionner, ou l’expérience serveur qui lui dira “oublie pas de vérifier ça” ?

Et de toute façon Roberto, sur l’ancien serveur Gentoo, y’avait pas mal de trucs fuyeux dans le genre. Alors que la facilité d’utilisation est à 5/5. On filait quand même un webmin avec le machin, ce qui se traduit par “destiné aux n00bs”. La durée de vie du serveur Gentoo “as is”, sans modifier la conf hors Webmin, je l’ai estimée à un an - date à laquelle les galères avaient commencé.

Donc, la première chose que j’ai faite pour pallier à cette pré-conf de merde, c’est de reboot le serveur en mode rescue, pour pouvoir refaire le partitionnement. Un reboot en rescue alors que le serveur vient d’être livré et n’accueille pas encore les sites, c’est encourageant. Enfin, le terme en tout cas.

Après avoir un peu galéré, sysinstall ne terminant visiblement pas ses newfs lorsqu’un partitionnement part en couile (à savoir : un mount mal fichu sur un répertoire inexistant), j’ai mes belles partitions.

  • / a 3Go, ce qui suffit amplement (surtout, j’avais pas envie de payer mon reinstall)
  • /tmp a 3Go, et ça devrait être laaaargement assez
  • /usr en a 20, simplement par prudence
  • /var en a 20 aussi, pas par prudence mais par expérience : on génère énormément de logs bien lourds, notamment à cause de Planète-Sonic
  • /home a tout le reste, donc un bons tas de Go

Ensuite, je m’ouvre également un Google Doc pour noter toutes les petites feintes et les choses importantes du bouquin. Tu comprends Roberto, ce genre de truc je le fais rarement, mais là j’ai vraiment pas envie de buter sur le même problème deux fois. Les couilles sous Unix, d’expérience, c’est nettement plus à payer son pivert sur le mur que d’autres genres de couilles. D’ailleurs on pourrait graduer, en échelle de “ce qui est capable de faire le plus chier” :

  • Problème sous Windows = les racailles
  • Problème de programmation = les chats
  • Problème sous Linux = les femmes
  • Problème sous BSD = mes ex

Dans ces derniers, on notera par exemple ceci : Freebou ne faisant que “proposer des fichiers de conf”, ne les mettant pas en service, il manquait bien entendu le fichier de conf de vim. Or, si vim n’est pas configuré, il fait de la merde avec les terminaux. Ca veut donc dire :

  • Si t’as pas de .vimrc dans ton home, alors tu l’as sec, parce que ton curseur va tripper très chelou.
  • Ceci fait, si t’utilises pas en fait le fichier de conf d’exemple, alors tu l’as très sec, car je déciderai que tu ne peux utiliser backspace que sur le texte que tu viens de taper. [Edit: Après avoir regardé un peu, il s'avère que c'est le comportement basique de vi (sans m), proprement gerbant quoi.]
  • <Interlude> Oui, c’est à se choubler </Interlude>
  • Ok, il reste à trouver où on met le fichier de conf général. Faisons comme personne ne fait : pas dans /etc (Freebou oblige, soit), mais pas non plus dans /usr/local/etc. Où donc alors ? Dans /usr/local/share/vim, bien sûr !
  • Agngngngn.

Ceci étant fait, il ne m’est pas permis d’utiliser sshfs pour transférer toutes les données (sites etc) depuis l’ancien serveur. Je sais Roberto, y’a scp pour ça, qui est installé par défaut. Ouais mais scp, il connaît le maintien des modes dans le transfert, mais pas celui des informations de propriétaire. Donc voilà. Et puis c’est tellement simple sshfs. Les nuls aiment les choses simples.

L’ayant installé par un package, et non en utilisant le ports tree, j’ai eu la mauvaise idée de prendre un package destiné à FreeBSD 7.0, alors que l’hébergeur fournit FreeBSD 6.2. Par conséquent, ça link partout sur des librairies .so.7, au lieu de librairies .so.6 ou inférieur. Et du coup ! Soit je reprends pour de la 6.2, soit je MaJ en 7.0. Donc après avoir fuifuité deux ou trois libs en mettant des symlinks (oui c’est très safe !), comme ça ne fonctionne toujours pas, go upgrade 7.0. Miam.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment