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.