Configuration post-installation de FreeBSD

FreeBSD ConfigurationCet article se penche en détail sur les manipulations à effectuer après l’installation de FreeBSD pour que notre système soit réellement utilisable. Nous allons préparer le gestionnaire de paquets, installer une poignée d’outils de base comme Git et Vim et le shell Bash, activer un super-utilisateur qui puisse utiliser Bash sans se tirer dans le pied, peaufiner la configuration de Bash pour l’administrateur et les utilisateurs, localiser le système en français et passer en UTF-8.

Préparer la gestion des paquets

Initialiser le gestionnaire de paquets pkg, qui s’installe à la première utilisation.

# pkg update
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg...
Verifying signature with trusted certificate...
Installing pkg-1.9.4_1...
Extracting pkg-1.9.4_1: 100%
Updating FreeBSD repository catalogue...
Fetching meta.txz: 100%    944 B   0.9kB/s    00:01    
Fetching packagesite.txz: 100%    6 MiB   1.5MB/s    00:04    
Processing entries: 100%
FreeBSD repository update completed. 25857 packages processed.

Installer Git

Récupérer le paquet du logiciel de gestion de versions Git.

# pkg install git

Configurer Git.

# git config --global --edit
[user]
name = Nicolas Kovacs
email = info@microlinux.fr

Récupérer mes scripts et mes fichiers de configuration.

# cd
# git clone https://github.com/kikinovak/freebsd

Installer l’éditeur Vim

L’éditeur Vi (/usr/bin/vi) fourni par le système de base est un peu trop minimaliste et obtus. On lui préférera Vim, bien plus confortable à l’utilisation.

# pkg install vim-lite

Notons que le paquet vim est fourni avec toutes les options activées et dépend de X11.

Configuration de Vim

Le fichier de configuration global de Vim est /usr/local/etc/vim/vimrc, mais la personnalisation s’effectuera individuellement pour chaque utilisateur par le biais de ~/.vimrc. Voici un exemple.

colorscheme elflord
set textwidth=79
set scrolloff=15
set autoindent

Activer le compte toor

FreeBSD fournit un compte super-utilisateur « alternatif » toor, censé être utilisé avec un shell non-standard de façon à ne pas devoir changer le shell de root. C’est un détail crucial, car l’installation de base ne fournit pas les shells comme Bash, qui sont installés par le biais du gestionnaire du paquets ou des logiciels portés. Ces logiciels s’installent tous dans l’arborescence /usr/local/bin, qui réside sur un système de fichiers différent. Or, si le shell de root se trouve dans /usr/local/bin et que ce système de fichiers n’est pas monté, root sera incapable de se connecter pour résoudre le problème.

# passwd toor

Notez que toor détient l’UID 0 tout comme root. On utilisera ce compte pour les tâches administratives au quotidien, et on gardera le compte root pour le dépannage en mode mono-utilisateur.

Installer le shell Bash

Le shell Bash n’est pas fourni par défaut.

# pkg install bash

L’installation du paquet affiche un avertissement.

==================================================================
bash requires fdescfs(5) mounted on /dev/fd
If you have not done it yet, please do the following:
  mount -t fdescfs fdescfs /dev/fd
To make it permanent, you need the following lines in /etc/fstab:
  fdescfs  /dev/fd   fdescfs   rw,late   0   0
==================================================================

Dans un premier temps, on va invoquer la commande manuellement.

# mount -t fdescfs fdescfs /dev/fd

Si tout se passe comme prévu, on peut ajouter la ligne correspondante à /etc/fstab.

# Device	Mountpoint	FStype	Options	Dump	Pass#
/dev/ada0p2	/		ufs	rw	1	1
/dev/ada0p3	none		swap	sw	0	0
fdescfs         /dev/fd         fdescfs rw,late 0       0

Configuration de Bash pour l’utilisateur toor/root

Activer le shell Bash pour l’utilisateur.

# chsh -s bash toor
chsh: user information updated

Créer un fichier /root/.bash_logout pour effacer l’écran après la déconnexion.

clear

Pour personnaliser la console, il faut d’abord éditer un fichier /root/.bash_profile comme ceci.

if [ -f ~/.bashrc ]; then
  source ~/.bashrc
fi

Le fichier /root/.bashrc contiendra la configuration à proprement parler. Voici un exemple.

# Alias
alias ll='ls -al'
alias ..='cd ..'
alias ...='cd ../..'
alias cp='cp -i'
alias rm='rm -i'
alias mv='mv -i'

# PS1
WHITE='\[\033[1;37m\]'
RED='\[\033[0;33m\]'
NC='\[\033[0m\]'
PS1="$RED[$WHITE\u$NC@$WHITE\h$NC:$WHITE\W$RED] #$NC "

# Shell colors
alias grep='grep --color'
CLICOLOR='yes'
LSCOLORS='ExGxFxdxCxDxDxhbadExEx'
export CLICOLOR LSCOLORS

# Vim
EDITOR=vim
VISUAL=$EDITOR
export EDITOR VISUAL

Configuration de Bash pour les utilisateurs communs

Les utilisateurs « communs mortels » auront les mêmes trois fichiers ~/.bash_logout, ~/.bash_profile et ~/.bashrc dans leurs répertoires utilisateur respectifs. Ce qui changera ici, c’est l’aspect de l’invite de commande définie par la variable PS1.

# PS1
GREEN='\[\033[0;32m\]'
WHITE='\[\033[1;37m\]'
NC='\[\033[0;m\]'
PS1="$GREEN[$WHITE\u$NC@$WHITE\h$NC:$WHITE\W$GREEN] \$ $NC"

Si l’utilisateur existe déjà, il faut activer l’utilisation du shell Bash comme nous l’avons fait un peu plus haut pour toor.

# chsh -s bash kikinovak
chsh: user information updated

Il est possible d’intégrer ces trois fichiers au profil par défaut des utilisateurs, qui se situe dans /usr/share/skel sur un système FreeBSD. Il faudra les préfixer de la chaîne de caractères dot.* comme ceci.

# ls -1 /usr/share/skel/*
/usr/share/skel/dot.bash_logout
/usr/share/skel/dot.bash_profile
/usr/share/skel/dot.bashrc
/usr/share/skel/dot.cshrc
/usr/share/skel/dot.login
...

Au final, on obtient un shell fonctionnel et plaisant à voir.

Bash Couleur

Basculer vers la console VT

Dans la configuration par défaut, c’est la console sc(4) ou syscons(4) qui est utilisée.

# sysctl -d kern.vty
kern.vty: Console vty driver
# sysctl kern.vty
kern.vty: sc

On préférera la console vt(4) qui présente plusieurs avantages, notamment la capacité à représenter correctement des jeux de caractères en UTF-8, ainsi que l’intégration avec les pilotes vidéo en mode KMS (Kernel Mode Setting).

Éditer /boot/loader.conf et ajouter la ligne suivante.

kern.vty=vt

La console VT sera activée au prochain redémarrage.

Passer en UTF-8

La commande locale -a affiche toutes les locales disponibles sur le système.

# locale -a | grep UTF-8 | grep fr
fr_BE.UTF-8
fr_CA.UTF-8
fr_CH.UTF-8
fr_FR.UTF-8

Ajouter le jeu de caractères et la locale par défaut au fichier /etc/login.conf. Ce fichier concerne les shells de connexion. Éventuellement, jeter un oeil à login.conf(5) pour plus de détails.

 
default:\
  ...
  :pseudoterminals=unlimited:\
  :priority=0:\
  :ignoretime@:\
  :umask=022:\
  :charset=UTF-8:\
  :lang=fr_FR.UTF-8:

Recréer la base de données associée.

# cap_mkdb /etc/login.conf

Éditer /etc/profile et définir le jeu de caractères et la locale par défaut pour tous les shells qui ne sont pas des shells de connexion, comme par exemple GDM ou d’autres gestionnaires de connexion.

LANG=fr_FR.UTF-8; export LANG
CHARSET=UTF-8; export CHARSET

Lorsqu’on redémarre, le système affiche un avertissement quant à la disposition du clavier.

WARNING:
New keymap: In /etc/rc.conf replace 'keymap=swissfrench.iso.acc.kbd'
by keymap=ch-fr.acc'.

Avec un clavier français, l’avertissement ressemblera à ceci.

WARNING:
New keymap: In /etc/rc.conf replace 'keymap=fr.iso.acc.kbd' by 
keymap=fr.acc'.

Les dispositions de clavier de la console SC se trouvent dans /usr/share/syscons/keymaps. Pour la console VT, il faudra choisir une des dispositions dans /usr/share/vt/keymaps et la définir dans /etc/rc.conf.

keymap="ch-fr.acc.kbd"
Ce contenu a été publié dans Documentation Microlinux, FreeBSD, avec comme mot(s)-clé(s) . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *