Eclats de vers : Ordina 02 : BSD
Table des matières
1. FreeBSD
1.1. Noyau (kernel)
1.1.1. Combinaison magique
Ctrl-Alt-Esc puis
call boot(0) ou panic
nécessite noyau compilé avec KDB et DDB
1.2. Système de base (world)
| Commande | Interface | Fonction | 
|---|---|---|
| bsdinstall | TUI | installation | 
| bsdconfig | TUI | configuration | 
| freebsd-version | CLI | version du système | 
| freebsd-update | CLI | mise à jour kernel & world | 
1.2.1. Système de fichiers
| Commande | Interface | Fonction | 
|---|---|---|
| gpart | CLI | partitionnement du disque | 
| zpool | CLI | création de piscine zfs | 
| zfs | CLI | gestion du système de fichier zfs | 
| mdconfig | CLI | Création de périphériques virtuels associés à un fichier | 
| glabel | CLI | Permet de donner un nom persistant à un périphérique amovible | 
| gmirror | CLI | Création d'une association de périphériques redondant | 
| geli | CLI | Permet de chiffrer un système de fichier | 
| gshsec | CLI | Permet de partager la clef permettant de déchiffrer | 
| un système de fichier sur plusieurs périphériques | 
1.2.2. Environnement de démarrage (boot environment)
Disponibles avec ZFS comme système de fichier.
| Commande | Interface | Fonction | 
|---|---|---|
| beadm | CLI | gestion des environnement de démarrage | 
| bectl | CLI | gestion des environnement de démarrage | 
1.2.3. Démarrage & services
| Commande | Interface | Fonction | 
|---|---|---|
| /boot/loader.conf | FILE | fichier de configuration du chargeur de démarrage | 
| /sbin/init | FILE | processus de démarrage lancé par le noyau | 
| /etc/rc | FILE | script de démarrage | 
| /etc/rc.conf | FILE | configuration du démarrage | 
| /etc/rc.conf.local | FILE | |
| /etc/rc.d | DIR | répertoire contenant les scripts permettant | 
| de lancer ou d'arrêter des services | ||
| sysrc | CLI | gestion des variables de /etc/rc.conf : | 
| pour le démarrage : activation de services, … | ||
| service | CLI | gestion des services | 
| rcorder | CLI | gestion des dépendances entre services | 
1.2.4. Noyau (kernel)
| Commande | Interface | Fonction | 
|---|---|---|
| kldstat | CLI | affiche la liste des modules chargés | 
| kldload | CLI | charge un module du noyau | 
| kldunload | CLI | décharge un module | 
| sysctl | CLI | contrôle des paramètres du noyau | 
| /etc/sysctl.conf | FILE | Fichier de configuration de sysctl | 
1.2.5. Matériel
| Commande | Interface | Fonction | 
|---|---|---|
| usbconfig | CLI | configuration usb | 
1.2.6. Utilisateurs & groupes
| Commande | Interface | Fonction | 
|---|---|---|
| pw | CLI | gestion des utilisateurs & groupes | 
| adduser | CLI | ajoute un utilisateur | 
| rmuser | CLI | supprime un utilisateur | 
| chpass | CLI | modifie les paramètres d’un utilisateur | 
| passwd | CLI | changement du mot de passe | 
| capmkdb | CLI | base de données des capacités | 
1.2.7. Paquets
| Commande | Interface | Fonction | 
|---|---|---|
| pkg-static | CLI | gestionnaire de paquets | 
| portmaster | CLI | gestionnaire des ports | 
1.2.8. Processus
| Commande | Interface | Fonction | 
|---|---|---|
| pkill | CLI | envoie un signal à un processus | 
1.2.9. Audio
| Commande | Interface | Fonction | 
|---|---|---|
| mixer | CLI | mixer de son | 
1.2.10. Mode console virtuelle
(Ctrl +) Alt + F1
| Commande | Interface | Fonction | 
|---|---|---|
| kbdmap | disposition du clavier | |
| vidcontrol | vidéo | |
| vidfont | fonte de caractères | 
1.2.11. Réseau
1.2.11.1. Wifi
| Commande | Interface | Fonction | 
|---|---|---|
| ifconfig | CLI | configuration des interfaces réseau | 
| wpapassphrase | CLI | demander le mot de passe et générer | 
| le contenu de /etc/wpasupplicant.conf | 
1.2.11.2. Pare-feu
| Commande | Interface | Fonction | 
|---|---|---|
| ipfw | CLI | contrôle du pare-feu | 
| pf | CLI | pare-feu | 
| /etc/pf.conf | FILE | Fichier de configuration du pare-feu pf | 
| pfctl | CLI | contrôle du pare-feu | 
Voici quelques exemples de syntaxe pf. Définition de variables, interface et réseau local :
if="rl0" <br />
lan="{ 192.168.123.100, 192.168.123.101, 192.168.123.102 }"
Bloque tout, journalise tout :
block in log all
Laisse passer ssh des autres membre du réseau local :
pass in inet proto tcp from $lan to $if port ssh flags S/SA keep state <br /> pass in inet proto udp from $lan to $if port ssh flags S/SA keep state
1.3. Systeme
1.3.1. Mise à jour par compilation
Il faut se rendre dans le répertoire des sources du système, par exemple :
cd /usr/src
sous FreeBsd. On dispose ensuite des commandes :
| make buildworld | Compile le système d'exploitation | 
| make buildkernel | Compile le noyau du système d'exploitation | 
| make installkernel | Installe le noyau du système d'exploitation | 
On redémarre en mode mono-utilisateur et on lance successivement les commandes :
adjkerntz -i mount -a -t ufs mergemaster -p make installworld mergemaster reboot
1.3.2. Fichiers de configuration
Pour installer les fichiers de configuration, il faut aller dans :
cd /usr/src/etc
et lancer :
make distribution
1.3.3. Containers
| Commande | Fonction | 
|---|---|
| jail | permet d'emprisonner un processus | 
| dans un sous-système | |
| /etc/rc.d/jail | |
| jexec | permet d'exécuter un processus dans un jail | 
| jls | liste des jails | 
1.4. Paquets
1.4.1. Compilés
| Commande | Interface | Fonction | 
|---|---|---|
| pkg | CLI | gestionnaire de paquets | 
1.4.2. Sources : ports
Les ports constituent une arborescence d'instructions nécessaires à la compilation, l'installation ou la désinstallation de logiciels. Pour utiliser les ports, il faut d'abord se rendre dans le répertoire associé au logiciel souhaité. Il s'agit de :
cd /usr/ports/catégorie/logiciel
On utilise alors la commande « make » suivi de l'action souhaitée :
| make config | Configuration des options de compilation | 
| make install | Installe | 
| make clean | Nettoie le répertoire | 
1.4.2.1. Options de compilation
| /etc/make.conf | Fichier de configuration des compilations de port | 
1.4.2.2. Recherche
La racine des ports permet de rechercher un logiciel :
cd /usr/ports <br /> make search key=<span class="rouge">motclef</span>
1.4.2.3. Utilitaires
| portsnap | Installation ou mise à jour de l’arbre des ports | 
| portsearch | Recherche dans l’arbre des ports | 
| portupgrade | Mise à jour | 
| portinstall | Installation d'un port | 
| portversion | Ports non à jour | 
| portdeinstall | Suppression | 
| portsclean | Nettoyage | 
| portaudit | Mise à jour de sécurité | 
1.4.2.3.1. Configuration
| /usr/local/etc/pkgtools.conf | Fichier de configuration de portupgrade | 
| IGNORECATEGORIES=['port1', 'port2'] | Catégories ignorées | 
| HOLDPKGS=['port1', 'port2'] | Paquets non mis à jour | 
| USEPKGS=['port1', 'port2'] | Utilisation de paquets précompilés si disponibles, | 
| compilation dans le cas contraire | |
| USEPKGSONLY=['port1', 'port2'] | Utilisation de paquets précompilés uniquement | 
On peut aussi définir des arguments particuliers de compilation pour certains ports :
MAKE_ARGS={ <br />
'/port1/' => ['/.../', '/.../'],
'/port2/' => ['/.../', '/.../']
}
2. NetBSD
2.1. Paquets
2.1.1. Source : pkgsrc
Sous NetBSD, l’arborescence des ports s’appelle pkgsrc.
Répertoire associé à un port :
cd /usr/pkgsrc/catégorie/logiciel
2.1.2. Compilé
Le « pkgsrc » de NetBsd permet d'installer des ports précompilés via la commande :
make bin-install
Il y a aussi l’utilitaire pkgin.