Les aventures d'un linuxien sous FreeBSD

Le système de paquets

Comme sur la plupart des systèmes GNU/Linux, il y a deux manières d’installer des paquets : par compilation et par binaires. Après avoir essayé par compilation (où il m’a fallu attendre trois heures avant que le PC ne coupe par surchauffe… Ce n’était que links…), j’ai vite compris que je passerai par les binaires à l’avenir. Dommage, j’aimais bien cette idée de catalogue de makefile classé directement dans le système de fichiers.

Donc on fait pkg install paquet. S’il n’est pas déjà présent, pkg va s’auto-installer, ce qui est assez classe (j’adore ce genre de choses, pensez par exemple au premier compilateur C qui s’est auto-compilé…).

À noter que pkg va chercher automatiquement s’il y a des mises à jour à faire sur vos paquets, et vous les propose. Plus simple d’utilisation qu’un apt-get update && apt-get upgrade && apt-get install paquet ? Hell yeah, pkg install paquet.

Bash

Bon, je veux un shell intéractif simple à utiliser. Je pourrais garder sh ou utiliser les nombreux shells déjà présents sous FreeBSD (csh et tsh par exemple). Je décide de rester sur Bash, plus parce que j’aime bien sh et que Bash me semble le plus proche de sa syntaxe originelle que les autres. Ça se fait en deux commandes :

pkg install bash
chsh -s /usr/local/bin/bash yomli

On vérifie bien que le tout a été pris en compte :

yomli:*:1001:1001:Yomli:/home/yomli:/usr/local/bin/bash

UTF-8

Avant la version 10, il semble qu’il ait été difficile d’installer un bon support UTF-8 en TTY sans recompiler le kernel. Maintenant, voici simplement la marche à suivre :

Donc je vois mes caractères accentués, c’est cool. Seul bémol : ee, l’éditeur concurrent de nano sous FreeBSD, ne semble toujours pas gérer l’UTF-8. J’ai eu beau chercher une solution, mes caractères accentués ne passent pas. C’est vraiment dommage, j’apprécie beaucoup ce petit éditeur, surtout lorsqu’on fait un alias avec son petit frère aee ( advanced easy editor). Mais nano offrant la coloration syntaxique et le support des caractères accentués, le choix fut vite fait en ce qui concerne l’éditeur de base.

Éditeur avancé : Vim

Là, rien à dire. Vi, c’est cool, mais Vim, c’est mieux. Pas pour rien qu’il y a un m en plus. C’est en cherchant à transférer mon fichier de configuration par SSH que je suis tombé sur un os.

SSH

Le serveur SSH, chez FreeBSD, c’est offert à l’installation. Il suffit d’un petit sysrc SSHD_ENABLE=YES pour l’activer au boot. Jusque-là tout va bien. Mais mon Mint ne veut pas se connecter dessus, il ne semble pas voir le port :

Starting Nmap 6.40 ( http://nmap.org ) at 2015-07-19 00:47 CEST
Nmap scan report for 10.42.0.40
Host is up (0.00016s latency).
All 1000 scanned ports on 10.42.0.40 are filtered
MAC Address: 00:A0:D1:C5:A9:32 (Inventec)

Nmap done: 1 IP address (1 host up) scanned in 21.48 seconds

Donc je vérifie sous FreeBSD avec la commande sockstat | grep "22" :

root    sshd    1137    3   tcp4    *:22    *:*

Ok, pas de pare-feu d’installé pour le moment, le port semble ouvert. Je lance un nmap juste au cas où :

Starting Nmap 6.47 ( http://nmap.org ) at 2015-07-19 00:49 CEST
Nmap scan report for amilo (10.42.0.40)
Host is up (0.00043s latency).
Not shown: 999 closed ports
PORT    STATE   SERVICE
22/tcp  open    ssh

Oui, on est bien ouvert. Notons que nmap sous FreeBSD est ici 7 versions au- dessus de Linux Mint, tandis que sous Archlinux c’est équivalent (6.47–3 à l’heure où j’écris ces lignes).

Oh, mais j’avais oublié que j’avais lancé ipfw, l’un des trois pare-feu installés par défaut sous FreeBSD. Oui, vous avez bien lu, trois pare-feu installés, à vous de lancer celui qui a votre préférence. Il y a plusieurs manières d’ouvrir des ports de ipfw, je vais utiliser la plus simple que je connaisse :

sysrc firewall_myservices="22,80,443"
sysrc firewall_allowservices=any
service ipfw restart

Maintenant tout fonctionne.

fstab

Je ne sais même pas si ce système existe sous GNU/Linux, mais l’absence de dossier /dev/gpt sur ma bécane Mint me laisserait penser que non.

Créer une partition FAT32

Je zappe d’office NTFS. D’une parce que la doc et les forums ne sont pas très clairs à ce sujet, de deux parce qu’il est bien plus simple de faire une partition FAT32 avec les outils par défaut. Le but est d’avoir une simple partition de données récupérables sous un Linux ou un Windows en cas de sérieux crash.

On commence par créer une nouvelle partition de type MBR :

gpart add -s 500G -t mbr ada0

Puis on y crée un système de fichier en FAT32 :

newfs_msdos -F 32 /dev/ada0p7

Et voilà le travail.

Xorg

À ce stade, nous avons déjà une bonne base. Je pourrais très bien travailler comme ça (d’autant que j’aime bien travailler en TTY). On pourrait même s’en servir de serveur d’appoint (SSH, FTP, Web, etc.). Mais je suis bien le seul à en être capable à la maison, et la réhabilitation de portable passe nécessairement par une interface graphique, même sommaire.

J’installe donc xorg, HAL, puis Slim, LXDE et OpenBox (je resterai sur OpenBox pendant que les autres comptes iront sur LXDE).

La configuration se fait de manière similaire à celle sous Linux.

Je lance et me retrouve avec un clavier en QWERTY. La résolution n’est pas bonne et le touchpad ne fonctionne pas. Je branche une souris USB sans fil, reconnue d’office (ça me ferra toujours marrer que mon matériel étiqueté Microsoft soit reconnu dans la seconde par HAL alors qu’il faut à Windows une à deux minutes pour aller chercher les pilotes…). Après quelques bidouilles, je tombe sur la solution pour passer le clavier en AZERTY.

Bien. Donc maintenant je peux lancer OpenBox en clavier AZERTY, mais comme le touchpad ne fonctionne pas et que je viens de désactiver l’auto-détection et l’auto-montage de HAL (en bref, le faire fonctionner pour rien), je ne peux pas utiliser ma souris USB. Je me rends compte les touchpads autres que Synaptics ne sont pas supportés sous FreeBSD, je dois donc trouver un moyen de monter automatiquement ma souris sans HAL.

J’ai tenté quelques essais à base d’automount, mais rien de bien concluant. J’ai supprimé, édité, renommé les policy de HAL, en vain. Agacé, je me demandais s’il ne serait pas plus rapide d’installer Gnome et de le laisser gérer le tout. Je me souviens d’un billet de Frédéric Bèzies où il montre la faible utilisation de mémoire de Mate sous FreeBSD m’a convaincu. J’ai donc installé Mate, et au lancement je me retrouve avec ça :

The path for the directory containing caja settings need read and write permissions:/home/yomli/.config/caja

D’accord. Je me connecte au SSH en parallèle, un petit chown yomli:yomli .config/ règle le problème. Me voilà connecté et… Le clavier est toujours en QWERTY ! Cette fois-ci, je peux changer l’agencement dans les préférences de Mate, ce que ne me permettaient ni Openbox ni LXDE. Et le plus beau ? Le tout ne pèse que 53 Mo en mémoire.

Je n’avais pas testé Mate, l’interface me rappelle mes premiers essais Linux (ah, j’ai encore les CD gratuits du Héron Hardi…), ce qui n’est pas pour me déplaire.