Forum général.général Mon expérience FreeBSD

Posté par  .
18
5
juin
2011

Je voulais vous faire part de ma fraîche expérience FreeBSD. Je ne sais pas si ça a sa place ici. Mais ça me semble important. Je voulais m'y mettre depuis longtemps mais j'étais échaudé par les fanboy *BSD avec le fameux troll « Linux c'est de la merde et personne ne s'en rend compte » et le « La liberté d'interdire doit être protégée ». En mettant ça de coté, j'ai décidé de m'y mettre !
J'espère ne pas dire de connerie dans la suite, s'il y en a, merci de me corriger.

1) Le choix de l'image : Il y a trois branches FreeBSD, un peu à l'image de Debian
"RELEASE" qui est l'équivalent du "Stable" Debian
"STABLE" qui est l'équivalent de "Testing" Debian
"CURRENT" qui est l'équivalent de sid

J'ai courageusement opté pour "RELEASE 8.2" c'est la plus stable, celle susceptible de poser le moins de problème, j'ai téléchargé et gravé le DVD.

2) Ça boot, l'installateur se lance, avec une interface semi-graphique, les questions faciles sur les langues… Et l'étape de partitionnement des disques… mes petits /dev/sda /dev/sdb s'appellent maintenant /dev/ad0 /dev/ad1 /dev/da0 et impossible de savoir qui est qui ! Je suis retourné sur Linux et j'ai noté les tailles des disques au secteur près pour les différencier. Le partitionnement se fait sans trop de problème avec fdisk (très rudimentaire au demeurant, il affiche les tailles des partitions en secteurs par exemple).
Sous freeBSD avec le système UFS2, les partitions étendue s'appellent des tranches (et il est possible d'en avoir 4, contre une seule partition étendue pour Linux) et les partition sont désignée par une lettre. Par exemple, la seconde partition de la seconde tranche du disque ad0 est /dev/ad0s2b (c'est un peu plus compliqué pour les partitions suivantes, la troisième partition étant réservée)

3) l'installation. Je ne sais pas quoi dire, très simplement cet installateur est le pire que j'ai jamais vu. Tout est mélangé, l'installateur du système, la configuration, l'installation de paquets supplémentaire, on est sans cesse en train de se perdre dans les menus. Mon conseil serait de ne pas chercher à faire de zèle. Juste, partitionnez, installez le système de base, configurez le réseau, les "ports", le mot de passe root, et rebootez, c'est bien plus simple de faire le reste depuis le système installé (de plus il est possible de relancer l'installateur après, c'est pratique si l'on a raté quelque chose)

4) Le système de paquetages. C'est bien fichu. Il y a en fait deux approches. La première c'est le port. Dans /usr/ports il y a un arbre qui contient des scripts pour installer des logiciel depuis les sources en une seule commande. par exemple, vous voulez installer wget :
$ whereis wget
wget: /usr/ports/ftp/wget
$ cd /usr/ports/ftp/wget
$ make install clean
Et make se charge de récupérer les sources, compiler, et installer. L'autre méthode consiste à installer un paquet pré-compilé avec pkg_add -r wget. C'est plus rapide évidement.

5) La configuration du système. C'est pour ça qu'il faut absolument essayer FreeBSD ! C'est super simple ! Il n'y a que quelques fichiers de configuration, dont la syntaxe est simplissime. Plus simple que Arch encore. À des années lumière de Debian ou Fedora. Par exemple, un bout de mon fichier /etc/rc.conf
hostname="bureau"
ifconfig_nfe0="DHCP" #ntf0 c'est eth0 de linux, ici un chipset nvidia, d'où le nom.
hald_enable="YES"
linux_enable="YES" #le démon de compatibilité binaire linux

Pour charger des modules, c'est dans le /boot/loader.conf, avec une syntaxe similaire :
nom_module_load="YES"

/etc/sysctl.conf pour les réglages du noyau.

6) La compatibilité des systèmes de fichiers avec GNU/Linux. C'est la cata (valable pour fedora 15 et freeBSD 8.2):
UFS2 : lisible seulement en lecture seule sous Linux (et j'ai même pas réussi à en monter un d'ailleurs)
ZFS : la version implémentée dans FreeBSD est trop vielle pour lire les volumes faits avec zfs-fuse, de plus zfs n'est pas très adapté, il y a une procédure spéciale pour monter volume avec différents systèmes d'exploitation tour à tour.
FAT32 : (no comment)
NTFS : (no comment)
EXT2 : FreeBSD ne supporte pas l'inode de 256 octets, aujourd'hui le standard sous Linux. Il faut formater un volume avec l'option -I128 pour que ça marche (c'est la solution que j'ai choisi)

Si je devais faire un pour/contre pour freeBSD je dirais :
Pour :
La qualité de la doc
Le principe KISS scrupuleusement respecté
La simplicité d'administration
La qualité et la solidité du système

Contre :
Les commande pas GNU ! Dieu que c'est chiant de ne plus être capable d'utiliser "ls" sans devoir lire le man ! Bon, c'est pas du tout "contre FreeBSD" mais c'est vraiment chiant de devoir réapprendre à faire des truc aussi con. je sens que je vais me faire une collection d'alias pour GNUifier les commandes BSD, les commandes GNU sont plus "user friendly" par exemple sous BSD les options ne peuvent pas être mise après les arguments alors que GNU s'en accommode (le plus souvent).
Les shell par défaut très rudimentaire (sh pour les utilisateurs non-privilégiés et csh pour root. Je ne peux pas me passer de bash personnellement)
La compatibilité des FS avec linux
Le manque de popularité, c'est pas vraiment un "contre" mais sous n'importe quelle distro GNU/Linux, copiez coller un message d'erreur dans google, et vous trouvez une solution à votre problème. Avec freeBSD, à coté de la doc officielle il n'y a pas grand chose.
Problèmes de compatibilité matériel, les leds de mon clavier merdouillent un peu par exemple, j'ai pas testé de wifi, j'ignore s'il existe un "network manager".

Ni pour ni contre, mais à noter. Les versions de certains logiciels de RELEASE datent un peu : gcc 4.2, firefox 3.6.13 par exemple. Il y aussi KDE 4.5 et gnome 2.32.1

Bref ! Pour tout ceux qui veulent un système d'exploitation performant, solide, et simple, FreeBSD mérite une place dans la balance à coté de Slackware par exemple. Le plus gros défaut de FreeBSD c'est de ne pas être GNU/Linux. Même si je pense qu'un utilisateur Arch sera moins dépaysé en passant à FreeBSD qu'en passant à Fedora par exemple (modulo les outils GNU).

Je vais m'amuser encore un moment avec FreeBSD et ensuite j'ai très envie de faire mumuse avec Dragonfly-BSD et son HammerFS et OpenIndiana et ZFS.

  • # Mauvaise place

    Posté par  (site web personnel) . Évalué à 10.

    Tu aurais mieux fait de poster tout ça dans un journal… mais comme il y a eu dernièrement une vague de de journaux qui posaient des questions et donc auraient du se retrouver dans les forums, on va te pardonner. Surtout vu la qualité de ton post !

    Being a sysadmin is easy. As easy as riding a bicycle. Except the bicycle is on fire, you’re on fire and you’re in Hell.

    • [^] # Re: Mauvaise place

      Posté par  . Évalué à 4.

      Ah ! J'ai hésité en plus !
      Mais j'ai pas osé ^^
      Merci

      Please do not feed the trolls

    • [^] # Re: Mauvaise place

      Posté par  . Évalué à 1.

      Tu aurais mieux fait de poster tout ça dans un journal…

      C’est pile ce que je me disais.

      Je vais m'amuser encore un moment avec FreeBSD et ensuite j'ai très envie de faire mumuse avec Dragonfly-BSD et son HammerFS et OpenIndiana et ZFS.

      Fais un journal cette fois-ci (avec un lien sur ce forum).

      Sinon, vu comme tu es lancé, as-tu songé à Plan 9 ?
      Ça, ça doit être une expérience... si tu arrives à trouver du matos sur lequel il veut bien fonctionner (conseil : ne pas prendre un disque dur qui contienne des données qu’on veut conserver, l’installateur n’est peut-être pas aussi délicat que celui d’une distribution Linux ou d’un *BSD...).

      « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

      • [^] # Re: Mauvaise place

        Posté par  . Évalué à 2.

        Plan 9 ! Oui bien sûr ! Le peu que j'ai lu dessus me fait rêver. Mais je dois avouer que ça me fait encore plus peur que le HURD, enfin, comme disait Sénèque, « Ce n'est pas parce que c'est difficile que l'on ose pas, mais parce que l'on ose pas que c'est difficile »

        Après, pour les données, j'ai appris à pas m'attacher ^^ il n'y a que mes disque externe que échappent aux formatages intempestifs.

        Please do not feed the trolls

  • # Handbook

    Posté par  . Évalué à 6.

    voila.
    version française

    version originale non sous-titrée

    Sedullus dux et princeps Lemovicum occiditur

    • [^] # Re: Handbook

      Posté par  . Évalué à 2.

      C'est une des choses qui m'a le plus impressionné quand je me suis essayé à FreeBSD. La qualité de la doc est très bonne et très user-friendly. Mais, malgré ça, je n'ai jamais réussi à passer assez de temps sous FreeBSD pour me faire une idée de sa qualité.

      Récemment, j'ai récupéré le EeePC de mon père et j'ai décidé d'en faire un serveur DNS + DHCP. J'ai tenté OpenBSD dans une WM. L'installation me paissait beaucoup plus simple que FreeBSD et j'ai tout de suite eu les outils nécessaires (DHCPd, named, etc.). Quelques jours après, c'était installé sur l'EeePC. Même constat pour OpenBSD, la doc est très, très claire et ça me plait.

      Par contre, j'ai jamais compris le partitionnement des BSD et je suis sûrement incapable de dire quel partition est laquelle.

      • [^] # Re: Handbook

        Posté par  . Évalué à 2.

        Oui ! l'installateur OpenBSD est bien plus simple, ya qu'un seul chemin, des questions simples, on se perd pas dans les menus. Il est très sympa.

        Please do not feed the trolls

  • # Format des partitions

    Posté par  . Évalué à 4.

    Sous freeBSD avec le système UFS2, les partitions étendue s'appellent des tranches (et il est possible d'en avoir 4, contre une seule partition étendue pour Linux) et les partition sont désignée par une lettre.

    C'est un peu simpliste. Le kernel Linux supporte un paquet de format de partitionnement. Le plus courant étant le format que l'on pourrait appeler MSDOS puisque l'option du kernel pour son support est CONFIG_MSDOS_PARTITION.

    Celui-ci impose 4 partitions, dont l'une peut être une partition étendue permettant de créer de nouvelles partitions (partitions logiques). Ces contraintes pourraient être levées dans le kernel, mais poseraient ensuite des problèmes de comptabilité avec les autres systèmes.

    On trouve le support de pleins d'autres mécanismes de partitionnement dans le kernel, en particulier pour les architectures différentes du PC (Mon iBook utilisait un format Macintosh):

    • Acorn partition support (CONFIG_ACORN_PARTITION)
    • Alpha OSF partition support (CONFIG_OSF_PARTITION)
    • Amiga partition table support (CONFIG_AMIGA_PARTITION)
    • Atari partition table support (CONFIG_ATARI_PARTITION)
    • IBM disk label and partition support (CONFIG_IBM_PARTITION)
    • Macintosh partition map support (CONFIG_MAC_PARTITION)
    • Windows Logical Disk Manager (Dynamic Disk) support (CONFIG_LDM_PARTITION)
    • SGI partition support (CONFIG_SGI_PARTITION)
    • ...

    Initialement le format MSDOS me semblait vraiment mauvais, mais après avoir utilisé quelques autres format qui imposent tout un tas de contraintes encore plus arbitraires (tu parles de la troisième partition qui est réservée), c'est finalement souvent pire ailleurs.

    De toute façon, quand on a gouté à LVM ou équivalent, ces format primitifs de découpages de l'espace s'oublient bien rapidement.

    • [^] # Re: Format des partitions

      Posté par  . Évalué à 1.

      Merci beaucoup, je pensais naïvement que c'était propre aux architectures, je n'avais pas fait le lien.

      Please do not feed the trolls

  • # mises à jour

    Posté par  (site web personnel) . Évalué à 3.

    j'utilise FreeBsd depuis un an ou deux, sur une machine virtuelle, pour tester du logiciel, et de mon point de vue, ce qui manque le plus, c'est un bon système de paquets binaires. Je m'explique :

    J'ai commencé par utiliser les paquets binaires avec les commandes pkg_add, mais si on essaie de maintenir sa machine à jour, on arrive assez vite à de gros problèmes de dépendances. Seule solution (d'après les forum bsd), repartir des ports, c'est à dire recompiler tous les paquets à mettre à jour (un peu comme sur une gentoo).
    Sur ma machine virtuelle, c'est long, très long, en gros une dizaine d'heure à chaque mise à jour (une fois par semaine) !

    toujours d'après les forums bsd, il semblerait que le système d'openbsd soit mieux foutu.

    • [^] # Re: mises à jour

      Posté par  (site web personnel) . Évalué à 2.

      Je n'ai pas utilisé les ports FreeBSD mais pkgsrc. Et un des aspects mis en avant est la possibilité de tout cross-compiler. Donc du temps où j'avais un portable powerpc, je compilais sur une station de travail au boulot et hop.

      Cela dit, après une semaine, il ne devrait pas y avoir tant de paquets que ça à recompiler (sauf quand une bibliothèque utilisée par tout est mise à jour).

    • [^] # Re: mises à jour

      Posté par  . Évalué à 2.

      J'ai commencé par utiliser les paquets binaires avec les commandes pkg_add, mais si on essaie de maintenir sa machine à jour, on arrive assez vite à de gros problèmes de dépendances.

      Avec FreeBSD il y a un manuel raisonnablement à jour:

      http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html

      et tu aurais du lire la section 4.5.4 Upgrading Ports pour savoir comment mettre à jour tes ports. Si tu ne veux pas recompiler tes paquets tu peux utiliser portupgrade -PP comme indiqué dans le texte.

      • [^] # Re: mises à jour

        Posté par  (site web personnel) . Évalué à 0.

        c'est bien ce que j'ai utilisé un certain temps, avant de tomber dans les problèmes de dépendances (je précise que j'ai installé gnome). D'autre part, les packages binaires me semblent incomplets et très en retard sur les sources.

        Après en avoir discuté sur les forum bsd, avec Marc Espie par exemple (pour boucler sur les dépêches de ces derniers jours), je serais bien passé sous openbsd, mais celui-ci ne semble pas marcher sous virtualbox.

        • [^] # Re: mises à jour

          Posté par  . Évalué à 1.

          J'ai lancé une maj avec portmanager… ça fait 10 heures que ça tourne :(

          Je m'y perd un peu dans les 15 000 outils pour mettre à jour différentes choses.

          Please do not feed the trolls

        • [^] # Re: mises à jour

          Posté par  . Évalué à 1.

          Il y a une ferme de compilation (pointyhat) qui est toujours un peu en retard sur les ports (forcément). Si tu patientes un jour ou deux entre la mise à jour de ton arbre des ports et ta mise à jour binaire, tu trouveras plus de packages compilés. Ensuite être à jour pour le plaisir d'être à jour ne sert à rien: il faut avoir un but (sécurité, nouvelle version d'un programme qu'on utilise, curiosité …) et c'est lui qui permet de déterminer une politique de mise à jour.

          • [^] # Re: mises à jour

            Posté par  . Évalué à 0.

            Étant donné qu'il faut déjà presque une journée (j'exagère) pour tout compiler et rien pouvoir faire d'autre, attendre un jour de plus c'est vraiment pas un problème.

            Je vais voir ce que ça donne en utilisant ça pour la prochaine fois :) merci beaucoup.

            Là mon but c'est vraiment d'apprendre à m'en servir pour le connaître autant que possible.

            Please do not feed the trolls

  • # Documentation

    Posté par  (site web personnel) . Évalué à 2.

    Merci pour le retour d'expérience. J'ai toujours l'intention de faire le même parcours, mais faute de temps...

    Avec freeBSD, à coté de la doc officielle il n'y a pas grand chose.

    Il existe un livre traduit en français que j'ai beaucoup apprécié pour comprendre comment fonctionne FreeBSD :

    http://www.pearson.fr/livre/?GCOI=27440100468110

    Certes, il est mentionné "7.0" dans le titre, mais je présume que les explications et conseils sont largement valables au-delà.

  • # Quelques réponses

    Posté par  (site web personnel) . Évalué à 4.

    Salut, bienvenu sous FreeBSD. Après un an sous GNU/Linux (Suse 6.7 et Debian Potato) je suis passé à FreeBSD (probablement la 4.0 ou 4.1 vu la date) pour ne jamais m'en détourner! Une doc potable, ça change vraiment la vie, à chaque fois que je taquine une Debian ou autre chose, je peste!

    Ça boot, l'installateur se lance, avec une interface semi-graphique, les questions faciles sur les langues… Et l'étape de partitionnement des disques… mes petits /dev/sda /dev/sdb s'appellent maintenant /dev/ad0 /dev/ad1 /dev/da0 et impossible de savoir qui est qui !

    À chaque fois que j'installe un Linux ou un windows ça me fait la même chose :)

    Trève de plaisanterie, avant d'installer un OS il faut toujours:

    1. faire des backups (en particulier du MBR);
    2. tester ses backups;
    3. faire la liste du matériel présent dans la machine (en gros, retrouver le manuel de sa carte-mère) en particulier des disques.

    Je suis retourné sur Linux et j'ai noté les tailles des disques au secteur près pour les différencier.

    Tu aurais certainement (si tes disques sont tous différents) pu te contenter d'ouvrir un shell et de scruter la sortie de la commande dmesg: cette technique marche aussi pour l'installation des divers GNU/Linux.

    Le partitionnement se fait sans trop de problème avec fdisk (très rudimentaire au demeurant, il affiche les tailles des partitions en secteurs par exemple).

    Au bas de l'écran tu peux lire que la touche Z permet de changer l'unité d'affichage.

    Le plus gros défaut de FreeBSD c'est de ne pas être GNU/Linux.

    C'est aussi un des intérêts: le système de base n'est pas sous GPL. Ensuite c'est surout une affaire d'habitude et de rigidité. Ayant travaillé régulierement sous FreeBSD, Solaris et Debian … je suis devenu assez souple!

    Le manque de popularité, c'est pas vraiment un "contre" mais sous n'importe quelle distro GNU/Linux, copiez coller un message d'erreur dans google, et vous trouvez une solution à votre problème. Avec freeBSD, à coté de la doc officielle il n'y a pas grand chose.

    J'utilise régulièment cette technique, qui donne en général de bons résultats. La mailing-list freebsd-questions est une bonne source d'informations et le Handbook recommande d'ailleurs de s'y inscrire.

    Je ne sais pas quoi dire, très simplement cet installateur est le pire que j'ai jamais vu. Tout est mélangé, l'installateur du système, la configuration, l'installation de paquets supplémentaire, on est sans cesse en train de se perdre dans les menus.

    C'est une affaire d'habitude: je le trouve beaucoup plus agréable que celui de Debian.

    J'ai installé une Debian Squeeze il n'y a pas longtemps et j'ai mis bien 20 minutes à trouver une information potable pour savoir comment ifnormer l'installateur que mon horologe est en UTC alors que le programme d'installation avait opté pour wall time. Évidemment la section du manuel de Debian détaillant cette procédure est périmée :)

    Mon conseil serait de ne pas chercher à faire de zèle. Juste, partitionnez, installez le système de base, configurez le réseau, les "ports", le mot de passe root, et rebootez,

    Si je me souviens bien, c'est en gros la procédure présentée dans le Handbook, non? Ce que j'apprécie grandement, maintenant que je connais bien la procédure d'installation, est qu'elle est d'une simplicité extrème: deux minutes de configuration, une dizaine de minutes de décompression d'archives, et zou: le système est up and ready.

    • [^] # Re: Quelques réponses

      Posté par  . Évalué à 1.

      j'avoue que j'ai tendance à ne lire le manuel qu'en dernier recours ^^

      Mais je note, tout ça est bon à savoir.
      Pour l'instant j'aime vraiment bien. J'ai pas rencontré de gros problèmes, je me perd un peu dans les 15 000 outils pour gérer les ports et les paquets, mais ça va venir.

      Please do not feed the trolls

      • [^] # Re: Quelques réponses

        Posté par  (site web personnel) . Évalué à 2.

        j'avoue que j'ai tendance à ne lire le manuel qu'en dernier recours ^^

        Dans ces condition la convention de nommage des périphériques est forcément pas très facile à deviner :)

  • # GPLv3

    Posté par  (site web personnel) . Évalué à 3.

    Les versions de certains logiciels de RELEASE datent un peu : gcc 4.2

    Il me semble que pour GCC c'est voulu non ? Les BSDs ne veulent pas faire de mise à jour vers les versions récentes du fait du passage vers la GPLv3.

    • [^] # Re: GPLv3

      Posté par  . Évalué à 1.

      Oui :) c'est ce que je me suis dis en lisant ton article. Super bien fait à propos, beau boulot.

      Please do not feed the trolls

    • [^] # Re: GPLv3

      Posté par  . Évalué à 2.

      une version plus récente de GCC est disponible dans les ports.
      http://www.freshports.org/lang/gcc47/

      Sedullus dux et princeps Lemovicum occiditur

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.