FreeBSD 11.2

Posté par (page perso) . Édité par ZeroHeure, Thierry Thomas, palm123, David Demelier, Davy Defaud, Yvan Munoz et Pierre Jarillon. Modéré par NeoX. Licence CC by-sa
Tags :
47
28
juin
2018
FreeBSD

La deuxième mise à jour de FreeBSD 11 est disponible depuis le 27 juin 2018.

C’est une mise à jour dite mineure, qui suit le principe POLA (Principle Of Least Astonishment). Celle‐ci ne devrait donc pas trop vous exposer à de nombreux changements.
Pour rappel, la publication d’une version de FreeBSD est un instantané de la branche Stable.

Cette version comprend les correctifs et mises à jour introduits depuis la version 11.1. Certaines fonctionnalités issues de la version 12 viennent aussi enrichir le système, tout comme des apports de systèmes tiers, ceux de la famille des BSD, GNU/Linux ou autres UNIX, tels Illumos.

Sommaire

Sous les projecteurs

25 ans

Le 19 juin, FreeBSD avait 25 ans !

Quelques changements notables :

  • la suite de compilation Clang passe directement de la version 4 à la version 6 ; ce qui change les standards C et C++ utilisés par défaut, qui deviennent respectivement C11 et C++14 ;
  • mise en place des contre‐mesures Spectre et Meltdown, notamment via l’intégration des retpolines par Clang ;
  • désactivation du mode lazy au profit du mode eager lors des changements de contexte de l’unité de calcul en virgule flottante (FPU).

Installation

Avant toute chose, je vous invite à consulter les errata.

Des images sont disponibles sous divers formats pour les architectures suivantes :

  • x86-64 ;
  • i386 ;
  • PowerPC ; 
  • PowerPC 64 ;
  • SPARC 64 ;
  • ARM Gumstix ;
  • ARMv6 : Banana Pi, BeagleBone, CubieBoard 1&1, Cubox-HummingBoard, Raspberry Pi B et Pi 2, PandaBoard et Wandboard ;
  • AArch64.

Sur l’architecture x86-64 (amd64), l’installateur bsdinstall(8) amorce désormais par défaut sur de l’UEFI. Les images ISO pour x86 et x86-64 ont repris le schéma de partitionnement MBR plutôt que GPT.

Attention, sur l’architecture x86-64, un bogue interdit le démarrage sur ZFS. De plus, pour éviter de démarrer avec une horloge décalée, cette architecture ne possédant pas d’horloge temps réel, ajoutez ntpd_sync_on_start="YES" dans rc.conf(5).

Les images pour clefs USB n’utilisent plus le schéma de partitionnement GPT pour amorcer, elles reprennent l’ancien format MBR pour éviter les problèmes sur les machines non UEFI.

Attention ! Une manipulation de dernière minute est requise pour les systèmes i386 qui amorcent sur du ZFS ; lors du menu de démarrage, précisez avant de lancer le système :

set kern.kstack_pages=4
boot

Ajoutez ensuite kern.kstack_pages=4 dans votre loader.conf.

Mise à jour

Pour mettre à jour depuis une version antérieure, suivez la procédure habituelle :

# freebsd-update upgrade -r 11.2-RELEASE
# freebsd-update install
# shutdown -r now
# freebsd-update install

Si vous mettez à jour en compilant depuis les sources, n’hésitez pas à forcer la suppression lors du nettoyage des fichiers obsolètes :

make BATCH_DELETE_OLD_FILES=yes delete-old-libs

Sinon, attendez‐vous à une longue série de questions due à la mise à jour du compilateur et de ses en‐têtes et bibliothèques.

Machines virtuelles

Les images sont disponibles pour QEMU, VMware et VirtualBox.

En ce qui concerne QEMU il vous faut appliquer un correctif sur les architectures x86-64 et AArch64.
Pour démarrer la machine virtuelle, lancez :

% qemu-system-aarch64 -m 4096M -cpu cortex-a57 -M virt  \
    -bios QEMU_EFI.fd -serial telnet::4444,server -nographic \
    -drive if=none,file=%VMDISK%,id=hd0 \
    -device virtio-blk-device,drive=hd0 \
    -device virtio-net-device,netdev=net0 \
    -netdev user,id=net0

Et assurez‐vous de remplacer « %VMDISK% » par votre machine.

Logiciels

Mettez ensuite à jour vos logiciels. Je vous conseille de le faire depuis une poudrière, la mise à jour de CLang pourrait révéler des problèmes.

Hébergeurs

Amazon propose des instances EC2 AMI dans de nombreuses régions. Ces instances synchronisent leurs horloges par le biais des services NTP internes à Amazon : Amazon Time Sync Service.

Vagrant

% vagrant init freebsd/FreeBSD-11.2-RELEASE
% vagrant up

Plusieurs problèmes de dernière minute ont été signalés lors de l’utilisation de Vagrant ou VirtualBox : consultez les errata.

Correctifs

Sécurité

  • OpenSSH : CVE-2016-6515 ;
  • WPA : CVE-2017-13077 à 13082 et CVE-2017-13086 à 13088 ;
  • ptrace : fuite de données via PT_LWPINFO ;
  • kldstat : fuite de données ;
  • OpenSSL : CVE-2017-3735 et CVE-2017-3736 ;
  • IPsec : CVE-2018-6916 et CVE-2018-6918 ;
  • NTP : CVE-2018-7182, CVE-2018-7170, CVE-2018-7184, CVE-2018-7185 et CVE-2018-7183 ;
  • VT : CVE-2018-6917 ;
  • debug reg : CVE-2018-8897.

Meltdown

Pour le contrer, FreeBSD intègre la séparation de pages mémoire entre le noyau et les processus (PTI), qui doit être activée via une clef système :

# sysctl vm.pmap.pti
vm.pmap.pti: 1

À ajouter à votre /boot/loader.conf. Il est activé par défaut sur les architectures non x86-64 et celles qui n’ont pas de RDCL.

Spectre

Il convient avant tout de mettre à jour son micrologiciel :

Utilisez le port sysutils/devcpu-data pour télécharger les mises à jour, puis lancez :

#!/bin/sh
for x in /dev/cpuctl* ;
do
  cpucontrol -u -v ${x}
done

Ou lancez la procédure à chaque démarrage, à l’aide de la variable microcode_update_enable dans rc.conf, après avoir ajouté cpuctl dans votre kld_list.

À noter que cpucontrol propose une nouvelle option, -e, qui va réévaluer les fonctionnalités fournies par le ou les processeur(s). N’utilisez cette option que lorsque tous les processeurs ont été mis à jour.

Il existe deux mécanismes pour contrer Spectre :

  • le premier est de prendre en charge IBRS (Indirect Branch Restricted Speculation) :

    sysctl hw.ibrs_disable=0 # pour le désactiver
    sysctl hw.ibrs_active    # pour le vérifier
    1
  • le second consiste à s’assurer que votre système comme vos logiciels sont construits par un compilateur qui prend en charge le retpoline.

Lazy FP state restore

Lors des changements de contexte de l’unité de calcul en virgule flottante (FPU), le mode eager est intégré et activé par défaut sur les architectures x86 et x86-64, opposé au mode lazy. Le gain en performance de ce dernier est moins pertinent avec les compilateurs modernes. Il s’agit de la sauvegarde, ou pas, des registres de l’unité de calcul en virgule flottante et d’éviter de s’exposer aux attaques de type Lazy FP state restore.

Vous pouvez retrouver le mode lazy en activant la clef hw.lazy_fpu_switch dans votre loader.conf(5).

En vrac

  • panic sur appel AIO dans un noyau VNET ;
  • crash sur appel de pf_purge_thread avec PF ;
  • micmac dans certaines régions avec tzsetup ;
  • dépassement de tampon dans file (utilisez libmagic de toute façon) ;
  • memoire : accès mémoire noyau en mode utilisateur.

Nouveautés

Amorce

loader(8) contrôle les fonctionnalités ZFS prises en charge avant d’amorcer sur un pool. De plus, son interpréteur a été amélioré pour reconnaître correctement les simples et doubles guillemets.

La longueur d’une phrase de passe GELI est cachée par défaut lors du démarrage. Consultez le manuel de GELI pour retrouver l’ancien comportement.

Configuration

La prise en charge d’un chien de garde (watchdog) matériel ne dépend plus de l’option noyau SW_WATCHDOG. Il est désormais possible de l’activer dynamiquement via le démon wathdog(8). Le comportement de ce dernier avec le commutateur --softtimeout reste le même.

La variable p1003_1b.aio_listio_max a été rendue réglable et réduite à :

  • un alias sur vfs.aio.max_aio_queue_per_proc sur lequel pointe désormais les appels à lio_listio ;
  • vfs.aio.aio_listio_max seul, sert désormais pour les appels aio_supend(2).

Vous pouvez importer le diff(1) venu d’OpenBSD à la place de gnu-diff, par la variable WITHOUT_GNU_DIFF de src.conf(5).

L’outil de vérification lint(1) n’est plus construit par défaut, ajoutez WITH_LINT dans votre src.conf(5) pour le retrouver.

sysctl(8) prend en charge les tableaux de valeurs pour une clef, par ex. kern.cp_time :

sysctl clef=value1,value2,etc.

La commande usermod de pw(8) réinitialise la liste de groupes secondaires avec un commutateur -G vide (''). Désormais, on peut aussi utiliser les caractères @ et ! dans les entrées GECOS de /etc/passwd. Seul : y est interdit désormais.

getconf(1) apporte le nouveau commutateur -a pour afficher toutes les variables système ou chemins POSIX, par défaut sur stdout(4) ou vers le fichier donné en paramètre.

cpucontrol(8) comprend l’option -n qui désactive la recherche dans les répertoires par défaut lors de l’utilisation de l’option -d.

Intégration de l’outil efibootmgr(8) pour bricoler une amorce en EFI.

libxo

libxo(3), la bibliothèque qui permet de promouvoir la sortie d’un logiciel dans un format déterminé, est à présent livrée en version 0.9.

Désormais, sesutil(8) prend en charge cette option.

Noyau

Prise en charge de plusieurs signaux d’horloge temps réel :

  • ajout de la clef de réglage debug.clocktime pour déboguer ;
  • optimisations pour gérer la concurrence entre horloges ;
  • ajout de l’appel taskqueue_enqueue_timeout_sbt() ;
  • ajout de l’appel clock_schedule() pour permettre aux pilotes d’horloge temps réel de gérer plus finement leurs appels à clock_settime().

Intégration d’un correctif pour gérer la gamme APL (Apollo Lake) de chez Intel, à retrouver sous la clef machdep.idle_apl31.

La nouvelle clef debug.acpi.suspend_bounce va aider à comprendre l’enfer des mises en veille. Le système procède à la mise en veille jusqu’à l’appel de AcpiEnterSleepState(). Alors, plutôt que d’entrer en mise en veille, la carte va appeler resumectx() pour simuler le réveil. On attend vos retours. :)

Linuxator

L’alternative musl à la glibc est disponible. Implémentation de /dev/fd et /proc/self/fd via fdescfs(5).

D’une manière générale, beaucoup de travail a été effectué pour retrouver un fonctionnement normal suite aux correctifs Meltdown et Spectre.

Le monde

Le comportement de l’outil ln(1) est corrigé lors de l’appel avec le commutateur -f pour délier en premier lieu un répertoire avant de créer le lien symbolique.

newsyslog(8) prend en charge les messages compatibles avec la RFC 5424 lors de la rotation des journaux.

La commande crontab(1) comprend une nouvelle option -f, qui supprimera un fichier crontab(5) sans confirmation si l’on active l’option -r hors d’un terminal.

rsh(8), tiens il est encore là, évite de propager un EOF vers le système distant si l’option -N est utilisée.

L’outil indent(1) respecte la variable d’environnement SIMPLE_BACKUP_SUFFIX pour fixer l’extension des sauvegardes.

swapoff(8), appelé avec les options -aL, ne désactive la partition d’échange que pour les périphériques déclarés late dans votre /etc/fstab.

Analyser, surveiller, contrôler

la commande top(1) comprend l’option -U qui permet de filtrer un utilisateur. Appuyez sur u pour en changer en cours d’affichage.

bsdgrep(1) a été mis à jour pour corriger plusieurs défauts de détection de motif. Il comprend de plus l’option -r et devient, de fait, un alias pour rgrep.

ps(1) affiche de nouvelles informations :

  • affichage des priorités de classe temps réel (<) et attente (N) dans la colonne état ;
  • un processus sous capsicum(8) sera indiqué avec l’option -C ;
  • une clef jail pour afficher le nom plutôt que l’identifiant d’une jail.

Stockage et fichiers

makefs(8) suit le comportement de newfs(8) en réglant la taille des blocs et fragments à 32 Kio et 4 Kio, respectivement.

L’outil diskinfo(8) présente désormais de nouvelles informations :

  • le modèle et le numéro de série avec l’option -s ;
  • l’adresse au sein du contrôleur avec l’option -p ;
  • la vitesse de rotation si le disque prend en charge TRIM/UNMAP.

Les deux premières options sont exclusives.

mount(8) pourra monter un système de fichiers en lecture uniquement après une tentative de montage sur un système de fichiers protégé en écriture. Ce comportement doit être activé par l’option autoro.
Son pendant umount(8) permet de forcer le démontage d’un système de fichiers NFS par le commutateur -N.

fsck_ffs(8) évitera de signaler un système de fichiers comme étant modifié seulement si le tampon d’un super‐bloc a été modifié. En outre, cet outil sort en erreur si le système de fichiers n’est pas « réparé ».

mdmfs(8), le remplaçant de mount_mfs(8) prend en charge tmpfs(5).

du(1) et df(1) utilisent un affichage long (*1000) de leurs données si l’option --si est utilisée.

nvmecontrol(1) donne la valeur complète (sur 128 bits) de la donnée SMART et non plus seulement un code hexadécimal.
Il intègre, en outre, les options suivantes pour les disques Western Digital® HGST :

  • cap-diag, get-crash-dump, drive-log, purge et purge-monitor.

Le gestionnaire ZFS par défaut prend en charge tout type de contrôleur GEOM, ce qui inclut :

Réseau

Le pare‐feu pftcl(8) interprète la commande route-to de manière à gérer correctement les interfaces avec adresses IP multiples.

Les redirections ICMPv6 ont été corrigées dans icmp6(4).

Correction du pilote ng_iface qui pouvait provoquer un crash.

Le pare‐feu ipfw(4) détecte correctement les paquets de niveau 2 et 3 suite à une correction dans dummnet(4).

Le client DHCP autorise la réécriture de interface-mtu via une commande supersede dans dhclient.conf(5). Ce dernier améliore aussi sa compatibilité avec la RFC 2131 en affectant 0 dans l’adresse source des en‐têtes IP, lors de l’envoi d’un DHCPREQUEST, pour obtenir une adresse déjà affectée.

ifconfig(8) comprend l’option random qui, combinée avec ether, va générer une adresse MAC aléatoire.

Pilotes et matériel

Le pilote pour DRM en mode noyau (Kernel Mode Setting), venu de la branche HEAD (12) est disponible. Cela rendra le portage des pilotes Linux pour processeurs graphiques plus aisé, l’interface étant commune. Les micrologiciels des processeurs grpahiques sont disponibles depuis le port gpu-firmware-kmod.

En vrac :

  • reconnaissance des cartes USB TAIO (TUMPA) ;
  • smartpqi(4), apporte la prise en charge des contrôleurs SCSI PQI de Microsemi ; il remplace le pilote aacraid, mais uniquement sur AMD64.

Pour le reste, il s’agit de périphériques réseau :

  • ng_pppoe(4), le protocole PPPoE permet désormais d’ajouter une étiquette Host-Uniq tags dans les requêtes de connexion ;
  • cxgbe(4), Chelsio, dont la mise à jour du microcode vers la version 1.16.63.0 permet la prise en charge des modèles T4, T5 et T6 ;
  • mlx5io(4), Mellanox, amène une interface pour piloter les cartes réseau Connect-X 4 et Connect-X 5 ;
  • ocs_fc(4), Broadcom/Emulex, apporte la prise en charge des Emulex 16/8G FC GEN 5 HBA LPe15004 et LPe160XX, et Emulex 32/16G FC GEN 6 HBA LPe3100X et LPe3200X (uniquement sur x86 et x86-64) en mode target et initiator et FC-Tape ;
  • ixl(4), Intel XL710 40Gb, mise à jour vers la version 1.9.9-k ;;
  • em(4), activation du Wake on LAN pour les gammes Ice Lake et Cannon Lake.

Virtualisation

bhyve(4) intègre la console VirtIO. Ceci vous permettra de créer une connexion bidirectionnelle entre les systèmes hôte et invité. Ainsi, vous pourrez créer un bus entre les deux, au‐dessus de sockets UNIX, à la manière de DBus. FreeNAS s’en sert par exemple pour surveiller un invité.

Ajoutez un flux virtio dans vos Vmms comme suit :

-s <slotnum>,virtio-console,port1=/path/to/port1.sock,anotherport=...

L’hôte va créer une socket UNIX pour chaque port déclaré, vous pouvez en mettre jusqu’à seize. En revanche, il vous faudra les détruire à la main.

kldload virtio_console

Vous avez accès à vos ports via une interface série ttyV.

Xen

Correction d’un bogue sur pmap qui affecte les instances Xen et EC2. Dans ce cas de figure, un invité avait accès à des zones mémoire libérées et provoquait un crash.

Logiciel mis à jour

Au placard

Les outils et pilotes listés dans ce chapitre sont déclarés obsolètes, c’est‐à‐dire qu’un message d’avertissement sera diffusé dans vos consoles si vous les utilisez. Ils seront supprimés dans la version 12 ;

  • cm(4), le pilote ArcNet sur bus ISA — je fais partie des (rares ?) personnes à avoir travaillé sur ce réseau, ceci dit ;
  • fda(4), le pilote FDDI sur EISA ;
  • carte réseau :
    • ixgb(4), Intel PRO 10 GbE,
    • nxge(4) et vxge(4) Neterion Xframe et X3100 10 GbE,
    • lmc(4), carte générique LMC (aujourd’hui SBE).

Les classes GEOM geom_aes, geom_bsd, geom_mbr et geom_sunlabel sont remplacées par la classe geom_part (depuis FreeBSD 7, en fait).

Ports

Un changement important a été apporté aux ports. L’œuvre de Baptiste Daroussin, les ports ont maintenant un système de flavors.

À ne pas confondre avec les options de compilation des paquets, ce système va permettre de construire différents paquets depuis un seul et unique port. Cela est très pratique pour les applications qui proposent différentes interfaces graphiques. On notera, par exemple, le cas de Vim qui propose une version console, GTK ou X11.

L’intérêt supplémentaire est de pouvoir dépendre d’un port avec une certaine configuration. Ainsi, un port A qui dépend d’un port B, avec GTK obligatoire, pourra le spécifier. Cette technique était jusqu’à présent gérée avec des ports « slave ».

Un autre cas d’utilisation est la fourniture des paquets Python en version 3.x et 2.x depuis le même port. Cela a aussi été fait pour PHP.

À venir

La prochaine version majeure de FreeBSD, soit la version 12, devrait être disponible en fin d’année. Dès lors, la branche 10 entrera en fin de vie.

L’EuroBSDcon se déroulera du 20 au 23 septembre à Bucarest.

La troisième édition d’Absolute FreeBSD est disponible sous format numérique et en précommande pour les éditions papier.

Depuis 2005, FreeBSD participe au Google Summer of Code.
En lien, la liste de projets suggérés par et pour FreeBSD cette année.

Intel

Intel prête une oreille attentive à la communauté FreeBSD, notamment par le biais de Ben Widawsky, développeur et architecte sur la pile graphique Intel pour Linux, qui a décidé de se consacrer à FreeBSD. Il se propose de remonter toute proposition — d’une manière générale — aux équipes concernées. Il a déjà une liste bien remplie. Elle rejoint la liste officielle.

Avec l’intégration du pilote DRM en KMS dans FreeBSD et la libération du code de son pilote Media (iHD) et du SDK associé fin 2017, on peut espérer l’arrivée d’une pile Media pour les processeurs graphique d’Intel.

D’un autre côté, la dernière version de VTune Amplifier a été portée sous FreeBSD. C’est le seul élément de System Studio 2018 disponible pour l‘instant.

  • # Qui utilise ?

    Posté par . Évalué à 1 (+4/-3).

    Qui utilise freeBSD ? La majorité des utilisateurs ce sont des professionnels non ?

    • [^] # Re: Qui utilise ?

      Posté par . Évalué à 3 (+1/-0).

      Je connais FreeNAS, pfSense, Kace.

      Et moi, en perso.

    • [^] # Re: Qui utilise ?

      Posté par (page perso) . Évalué à 1 (+0/-0).

      Moi sur un serveur dédié depuis plus de 10 ans. J'ai par ailleurs contribué plusieurs ports. En serveur c'est vraiment top (ZFS, jails, système ultra flexible, beauté, simplicité, etc.)

      Par contre je déconseille largement en desktop (encore moins en laptop).

      l'azerty est ce que subversion est aux SCMs

      • [^] # Re: Qui utilise ?

        Posté par . Évalué à 1 (+0/-0).

        Moi aussi pour mon installation personnelle avec un nas sous nas4free et mon routeur sous pfsense.

        Nas4free / Freenas sont accessibles et ZFS en natif apporte ses avantages, même pour de l'utilisation personnelle, et quand on voit pfsense et sa facilité de mise en oeuvre pour moi FreeBSD est une valeur sure pour certaines utilisations :)

      • [^] # Re: Qui utilise ?

        Posté par (page perso) . Évalué à 4 (+3/-1).

        Par contre je déconseille largement en desktop (encore moins en laptop).

        Affirmation péremptoire qui ne demande qu'à être explicité, même si le trolldi est passé…

        * Ils vendront Usenet^W les boites noires quand on aura fini de les remplir.

        • [^] # Re: Qui utilise ?

          Posté par (page perso) . Évalué à 5 (+4/-0). Dernière modification le 03/07/18 à 11:26.

          Affirmation péremptoire qui ne demande qu'à être explicité, même si le trolldi est passé…

          Affirmation de quelqu'un qui a utilisé FreeBSD plusieurs années sur plusieurs laptops différents avec comme constats :

          • L'ACPI est toujours aussi mal supporté. Plusieurs fois le status de la batterie ne se faisait plus mettre à jour, aucun moyen de savoir à combien de % je suis sur la batterie.
          • Bis, la mise en veille marche une fois sur cinq.
          • Après une mise à jour, impossible de refaire fonctionner mon touchpad correctement.
          • Autonomie de la batterie largement en deça de Linux.
          • Si vous avez besoin de faire quelques trucs autres que la bureautique basique, vous êtes vite coincé. Exemple : le développement Android est très compliqué sous FreeBSD.
          • Le support du bluetooth est dérisoire.
          • Wayland ? pas encore.
          • Carte graphique dernière génération ? Bonne chance, ou utilise -CURRENT.

          Note, pour avoir une fois testé OpenBSD, j'ai été surpris car tout l'ACPI fonctionnait correctement. De la mise en veille à l'hibernation. OpenBSD a eu la bonne idée de développeur leur propre pile ACPI, j'espère qu'un jour la fondation FreeBSD sponsorisera la même idée :)

          l'azerty est ce que subversion est aux SCMs

          • [^] # Re: Qui utilise ?

            Posté par . Évalué à 1 (+2/-3).

            Pour le laptop, je ne l'utilise effectivement pas à cause du support de l'ACPI, mais pour le desktop je l'utilise depuis des années, et j'en suis bien mieux satisfait qu'un Systemd/Linux.

            Je trouve à peu près les mêmes softs que sous Systemd/Linux, parfois des alternatives intéressantes, et l'administration est beaucoup plus simple, avec une doc à jour et cohérente.

          • [^] # Re: Qui utilise ?

            Posté par . Évalué à 2 (+1/-1).

            +1

            Je rajouterai que la configuration graphique c'est un retour de 15 ans en arrière, à une époque où il fallait éditer les fichiers de xorg et compagnie non seulement pour avoir la bonne résolution mais aussi pour le clavier français.

            Et puis pas de network-manager ce qui est quand même chiant quand tu te promène de réseau wifi en réseau wifi, faut travailler avec le wpa_supplicant qui est quand même moins pratique.

            • [^] # Re: Qui utilise ?

              Posté par (page perso) . Évalué à 1 (+0/-0). Dernière modification le 04/07/18 à 10:00.

              Personnellement ça ne me manque pas trop l'absence de NetworkManager (si ce n'est que l'on pourra pas configurer le réseau depuis GNOME/KDE). Pour rajouter un wifi un simple :

              wpa_passphrase ssid pass >> /etc/wpa_supplicant.conf
              wpa_cli reconfigure
              

              J'avais même comme ambition de créer un wrapper à dmenu pour faciliter cette tâche.

              l'azerty est ce que subversion est aux SCMs

            • [^] # Re: Qui utilise ?

              Posté par . Évalué à 1 (+1/-0). Dernière modification le 04/07/18 à 22:45.

              Le network manager que j'utilise, indépendant de tout environnement de bureau : https://www.freshports.org/net-mgmt/wifimgr/ basique mais plus pratique que l'édition à la main de wpa_supplicant.conf

              Sinon, laptop Thinkpad x260 nickel chrome surtout depuis cette 11.2 :

              • wifi
              • support graphique au poil
              • pas de support pour le lecteur de carte SD, mais un gars travaille dessus
              • j'ai pas essayé la caméra parce que je n'en ai pas besoin mais a priori webcamd fonctionne
              • détection des événements et touches spéciales via devd
              • pas essayé le suspend, car pas besoin : au pire j'éteins l'écran et powerd fait le reste en baissant la fréquence CPU au minimum, si plus long j'éteins le PC. Il boote super rapidement.
      • [^] # Re: Qui utilise ?

        Posté par . Évalué à 2 (+0/-0).

        Par contre je déconseille largement en desktop (encore moins en laptop).

        Pourquoi ?

    • [^] # Re: Qui utilise ?

      Posté par . Évalué à 1 (+0/-0).

      Ça rentre dans ta catégorie « professionnels » :
      - Netflix
      - WhatsApp
      - Sony pour sa PlayStation 4

      • [^] # Re: Qui utilise ?

        Posté par (page perso) . Évalué à 1 (+0/-0).

        La PS Vita aussi :)

        l'azerty est ce que subversion est aux SCMs

        • [^] # Re: Qui utilise ?

          Posté par (page perso) . Évalué à 2 (+0/-0). Dernière modification le 29/06/18 à 23:24.

          Yahoo! l'utilisaient pendant des années à l'époque où c'était un des 10 plus gros sites visités dans le monde, mais ils sont passés à Linux il y a quelques années (2014?).

          • [^] # Re: Qui utilise ?

            Posté par (page perso) . Évalué à 6 (+4/-0).

            mais ils sont passés à Linux il y a quelques années

            Et depuis ils ne sont plus dans le top 10 des sites les plus visités… coïncidence ?

    • [^] # Re: Qui utilise ?

      Posté par . Évalué à 1 (+0/-0). Dernière modification le 29/06/18 à 14:12.

      BSD de manière générale et principalement FreeBSD est pas mal utilisé sur du matériel dédié car la licence BSD n'oblige pas a redistribué les modifications apportées a l'OS contrairement à Linux. Ainsi on trouve pas mal de matériel réseau (Routeurs… ) ou autre mais ce n'est pas toujours connu. C'est aussi la raison pour laquelle Apple a une base BSD et non Linux.

    • [^] # Re: Qui utilise ?

      Posté par (page perso) . Évalué à 3 (+1/-0).

      Qui utilise freeBSD ?

      Ben moi.

      La majorité des utilisateurs ce sont des professionnels non ?

      Oui clairement. On en a en pare-feu au taf aussi. le reste c'est du linux :(

      les pixels au peuple !

    • [^] # Re: Qui utilise ?

      Posté par . Évalué à 3 (+1/-0).

      moi.

      Sinon qui utilise Linux ? La majorité des utilisateurs ce sont des professionnels non ?

  • # Les ports

    Posté par . Évalué à 1 (+1/-0).

    L’œuvre de Baptiste Daroussin, les ports ont maintenant un système de flavors.

    Si je ne m'abuse, l'œuvre de Baptiste Daroussin c'est pkgng et non les ports…

    Les ports datent de 1993, et ont été créés par Jordan Hubbard. (Source)

    • [^] # Re: Les ports

      Posté par (page perso) . Évalué à 2 (+1/-0).

      Les flavors, c'est de lui. Il est juste un peu membre de l'équipe portmgr soit dit en passant ;)

      l'azerty est ce que subversion est aux SCMs

  • # FreeBSD

    Posté par . Évalué à 5 (+2/-0).

    Étant très intéressé par FreeBSD j’ai une 11.0-STABLE en VM qui me sert à faire quelques tests. Je ne connais pas bien ce système, en tous cas moins que les distributions GNU/Linux, alors j’essaie d’apprendre à m’en servire, parce que c’est vrai qu’il a l’air sacrément cool cet OS !

    À la lecture de ton journal je me suis dit que c’était une bonne occasion de tenter cette mise à jour. Jusqu’ici je me contentais de faire des pkg update && pkg upgrade, qui me mettait parfois quelques trucs à jour, mais toujours en restant en 11.0-STABLE, version installée à l’origine.

    Je lance donc la commande indiquée dans ton journal : freebsd-update upgrade -r 11.2-RELEASE … et c’est le drame :

    Looking up update.FreeBSD.org mirrors... 3 mirrors found.
    Fetching public key from update6.freebsd.org... failed.
    Fetching public key from update5.freebsd.org... failed.
    Fetching public key from update4.freebsd.org... failed.
    No mirrors remaining, giving up.
    

    Je vous passe l’analyse mais ma conclusion, vous me direz si je me trompe, c’est que freebsd-update ne permet pas d’upgrader à partir d’une version X.Y-STABLE, mais seulement à partir d’une version X.Y-RELEASE. Bien… le journal n’en parle pas, pourquoi ?

    Donc finalement je me retrouve à RTFM et je tombe sur https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html qui explique comment upgrader à partir des sources. Alors déjà, un truc pas mal, ça fonctionne parfaitement ! J’ai maintenant un système bien à jour :

    # freebsd-version -k -u
    11.2-RELEASE
    11.2-RELEASE
    

    J’imagine que la prochaine fois je pourrai utiliser freebsd-update, puisque je suis en -RELEASE et plus en -STABLE, c’est bien ça ?

    Cette opération m’a permis d’apprendre à augmenter la taille d’une partition sous FreeBSD et de voir que c’est quasiment aussi simple qu’avec LVM sous Linux.

    Par contre, voici LA question dont j’espère qu’un BSDiste aguerri saura me répondre : « Étais-je réellement obligé d’installer à partir des sources ? Est-ce qu’il n’y avait pas un moyen de passer de 11.0-STABLE à 11.2-RELEASE uniquement en mettant à jour les binaires ? »

    Parce que tout compiler c’est un peu long quand même ! J’aurais pu réinstaller à partir d’une ISO 11.2 aussi j’imagine… mais il n’y a pas de méthode pour faire 11.0-STABLE → 11.2-RELEASE sans tout compiler ?

    • [^] # Re: FreeBSD

      Posté par . Évalué à 3 (+0/-0).

      freebsd-update ne permet pas d’upgrader à partir d’une version X.Y-STABLE, mais seulement à partir d’une version X.Y-RELEASE. Bien… le journal n’en parle pas, pourquoi ?

      Maintenant que j’y pense je ne comprends pas pourquoi j’étais en -STABLE et pas en -RELEASE pour commencer _o_…

    • [^] # Re: FreeBSD

      Posté par (page perso) . Évalué à 3 (+2/-0).

      Je lance donc la commande indiquée dans ton journal : freebsd-update upgrade -r 11.2-RELEASE … et c’est le drame :

      freebsd-update n'aime pas trop le mélange des genres.

      J’imagine que la prochaine fois je pourrai utiliser freebsd-update, puisque je suis en -RELEASE et plus en -STABLE, c’est bien ça ?

      Oui. Tant que le noyau reste GENERIC :)

      Par contre, voici LA question dont j’espère qu’un BSDiste aguerri saura me répondre : « Étais-je réellement obligé d’installer > à partir des sources ? Est-ce qu’il n’y avait pas un moyen de passer de 11.0-STABLE à 11.2-RELEASE uniquement en mettant à jour > les binaires ? »

      Je dirais que c'est possible (et/ou):

      • en mettant à jour /usr/src sur 11.2-RELEASE ( svn co https://svn.freebsd.org/base/releng/11.2 /usr/src )
      • en supprimant les sources de /etc/freebsd-update.conf

      Je n'ai pas vraiment essayé, je suis STABLE sur une machine et RELEASE sur les autres.

    • [^] # Re: FreeBSD

      Posté par . Évalué à 6 (+5/-0).

      Alors déjà, un truc pas mal, ça fonctionne parfaitement !

      Évidemment que tout fonctionne parfaitement … je n'ai d'ailleurs jamais rencontré un seul problème en 4 montées de versions.

      Au premier abord ça fait un peu has-been, les interfaces réseaux et devices ont de drôles de noms, ça se traine un système de boot un peu bizarre qu'est même pas systemD (OUF) (mais différent de System V quand même) y a pas bash par défaut, il a sa propre libC, on peut toujours pas utiliser docker (à ce propos l’implémentation est dans le pipe).

      En réalité FreeBSD c'est la puissance "brut", un système structurée dans un esprit de cohérence et d’ingénierie, loin du hype, taillé pour la prod, construit pour durer.

      Le descendant des UNIX V6/V7 des Laboratoires Bell, qui a lui même été pensé par les travaux des chercheurs de l'université scientifique de Californie, structuré pour une empreinte système minimale délivrant un maximum de performance et ce même sur du matériel très lent.

      Rigueur dans la documentation, stabilité des choix technologiques - A l’inverse de certaines distro GNU/Linux avec d'une version à l'autre des commandes totalement différentes pour relance un service -, performance à la pointe sur la partie réseau, taille ultra contenue sur disque (quelques centaine de Mo à l'installation), simplicité et logique d'administration (toute la conf se passe dans un seul fichier ou presque), taillé pour l'embarqué, promeut ZFS en le proposant dés l'installation (sans bidouilles du noyau), outils de firewalling puissant, mécanisme de Jail éprouvés flexible et sécures, un gestionnaire de packets intelligent et décorrélé de la base système. … Bref un OS professionnel, solide, production ready.

      J'ai d'ailleurs, "recommencé" un journal à ce sujet chers amis, j'en parlais y a quelques mois, il est en cours.

      • [^] # Re: FreeBSD

        Posté par . Évalué à 2 (+1/-0).

        simplicité et logique d'administration (toute la conf se passe dans un seul fichier ou presque)

        Je vois souvent cet argument. Ça me semble justement un énorme inconvénient. La configuration par des outils comme ansible devient pas un peu l'enfer ? C'est peut être bien pour un serveur isolé, géré "à la main", mais dès qu'on dépasse ce cadre….

        • [^] # Re: FreeBSD

          Posté par . Évalué à 5 (+2/-0).

          Je ne vois pas en quoi avoir à gérer un seul fichier avec plein de lignes serait plus dur que de gérer plein de fichiers avec peu de lignes dans chaque… À partir du moment où les valeurs ont des noms parlants et sans équivoque ou bien le fichier a des sections…

          Sans compter qu’on parle de la configuration du système lui-même, de l’OS quoi. Si tu prends des applis comme Apache ou MariaDB tu retrouveras les fichiers de configurations tels qu’ils existent upstream dans chaque projet, du coup ça s’utilise pareil que sous Linux.

          Un système simple à gérer « à la main » sera simple à gérer avec des outils comme Ansible ou Puppet, et inversement. Àmha.

          • [^] # Re: FreeBSD

            Posté par (page perso) . Évalué à 2 (+1/-0).

            Je ne vois pas en quoi avoir à gérer un seul fichier avec plein de lignes serait plus dur que de gérer plein de fichiers avec peu de lignes dans chaque…

            Surtout que les deux possibilités existent. Par exemple, sur la configuration générale:

            • rc.conf
              • rc.conf.local
              • et/ou plein de fichiers dans rc.conf.d

            on retrouve cette notion de .local ailleurs, i.e. /boot/loader.conf. Ça permet de basculer rapidement d'une configuration générique (déployée sur tout un parc de serveurs) à un configuration plus fine … ou lorsque l'on sait que l'on peut faire planter le démarrage et qu'il suffira de virer le .local pour reprendre la main.

            Les ports et certaines configuration d'outils de la base doivent se préciser dans /usr/local/etc.

            du coup ça s’utilise pareil que sous Linux.

            En gros, oui. en retrouve cette notion de répertoires .d à inclure un peu partout les linux modernes, et un service systemd, c'est in fine un fichier de configuration avec des mots clefs dedans.

            À partir du moment où les valeurs ont des noms parlants et sans équivoque ou bien le fichier a des sections…

            Tout à fait, je dois même avoir des scripts shells qui font ça à coup de ed, sed et autres.
            Mais, un outil comme sysrc est là pour ça.

          • [^] # Re: FreeBSD

            Posté par . Évalué à 2 (+1/-0).

            Je ne vois pas en quoi avoir à gérer un seul fichier avec plein de lignes serait plus dur que de gérer plein de fichiers avec peu de lignes dans chaque

            Parce que c'est bien plus fiable de générer le fichier entier que de le parser pour modifier uniquement certaines variables

            on parle de la configuration du système lui-même, de l’OS quoi

            Qui a quand même besoin d'être configuré…

            Un système simple à gérer « à la main » sera simple à gérer avec des outils comme Ansible ou Puppet, et inversement

            Je ne suis pas du tout d'accord. Ça peut très bien être adapté à une administration manuelle et pas du tout à de l'automatisation. La réponse suivante évoque les répertoires .d, ce qui supprime le pb par contre ;-)

        • [^] # Re: FreeBSD

          Posté par . Évalué à 1 (+0/-0). Dernière modification le 06/07/18 à 17:40.

          Aucun soucis avec ce superbe outil (je spoile un peu je souhaitais en parler dans mon journal).

          Il gère le meilleur des deux mondes.
          La conf déclarative façon Ansible et la maintenance l'impérative avec Fabric.

Envoyer un commentaire

Suivre le flux des commentaires

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