OBSD4* : wiki

Trucs et astuces pour OpenBSD

Comment télécharger en ligne de commande sous OpenBSD

Il n'y a ni wget ni curl par défaut !

Mais il y a la commande

ftp

qui les remplace très bien, même pour télécharger un fichier en http :

$ ftp -o /chemin/vers/lefichier.zip http://URL.com/fichier.zip

Ajouter un utilisateur au groupe wheel

# usermod -G wheel jdoe

Autoriser les utilisateurs du groupe wheel à utiliser doas (sudo) :

ATTENTION : Ce qui suit n'est qu'un exemple, parmi tant d'autres…
Pour de plus amples informations, lisez absolument la page de manuel de doas.conf(5) !

Dans le fichier /etc/doas.conf :

permit setenv { ENV PS1 SSH_AUTH_SOCK } :wheel 

Astuce : Rajoutez l'option nopass pour ne pas avoir à demander le mot-de-passe utilisateur … bien-être conscient de l'impact de l'option et de la commande.

Puis logout, login !

Monter un disque / une clé USB en tant qu’utilisateur

Lisez notre page de configuration système : Monter un disque / une clé USB en tant qu’utilisateur

Monter une clé USB à la main

Merci de lire le chapitre notre page : monter_une_cle_usb_a_la_main

Formater une clé USB en FAT32

Après avoir utilisé dmesg pour identifier notre périphérique comme expliqué ici, nous allons utiliser la commande newfs_msdos pour formater une clé USB en FAT32 :

Admettons que la clé soit remontée en tant que /dev/sd2 et qu'une partition soit présente dessus.

# newfs_msdos -F 32 /dev/rsd2a

Une fois formatée, la partition apparaîtra en tant que /dev/sd2i et pourra être montée et utilisée.

Gérer le volume sonore

C’est la commande mixerctl qui va nous être utile. Vous pouvez lancer la commande seule pour voir toutes les sorties existantes.

  • Pour monter le son : mixerctl outputs.master=+10
  • Pour baisser le son : mixerctl outputs.master=-10
  • Pour mettre en mode muet ou l'enlever : mixerctl outputs.mute=toggle

Désactiver le bip sonore

Parfois, un bip peut être émis si par exemple une commande n’arrive pas à être complétée avec Tab. Pour le désactiver, ajoutez cette ligne au fichier /etc/wsconsctl.conf :

keyboard.bell.volume=0

J'ai aussi dû rentrer manuellement, après une mise à jour, la commande suivante :

mixerctl inputs.mix_beep = 0

Avoir les applications en français

Il faut mettre ces lignes dans votre fichier ~/.profile :

export LC_CTYPE="fr_FR.UTF-8"
export LC_MESSAGES="fr_FR.UTF-8"
export LC_ALL="fr_FR.UTF-8"

Il est possible de l'écrire légèrement différemment :

LC_CTYPE="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
export LC_CTYPE LC_MESSAGES

À votre bon plaisir ;)

J'y ajoute aussi les dictionnaires aspell et ispell :

# pkg_add aspell-fr ispell-french

Puis on peut mettre le français par défaut avec :

# /usr/local/bin/ispell-config

Démarrer la session graphique automatiquement sans XDM

En mettant ces lignes à la fin du fichier ~/.profile, votre session graphique sera lancée dès que vous vous connecterez dans le tty1 (celui par défaut). Adaptez le fichier ~/.xinitrc pour choisir votre session :

if [ "$(tty)" == "/dev/ttyC0" ]; then
    startx
fi

Utiliser un serveur proche pour obtenir des paquets (France)

Merci de lire le chapitre : preparer_l_installation_des_paquets

ksh : Activer l’historique, gérer PS1

Lire notre page : KSH : Korn shell

Utiliser le résolveur DNS local

Lire notre page DNS Cache, le chapitre “Configuration basique” ;)

Configurer le wifi

Créez un fichier /etc/hostname.interface et remplissez-le avec les informations suivantes. Pour moi, ce fichier est /etc/hostname.rtwn0 :

nwid nom_du_point_d_acces
wpa-key cle_wpa_impossible_à_deviner
dhcp

Pour retrouver votre point d’accès, vous pouvez lancer

# ifconfig rtwn0 scan

Autoriser un utilisateur à manipuler une carte wifi pour se connecter

Pour trouver et me connecter facilement aux différents réseaux wifi, je me suis créé un petit script. Il est rudimentaire et peut être amélioré mais il fonctionne :)

$ vi /usr/local/bin/wifiup
#!/bin/sh
# On réveille la carte :
ifconfig iwn0 up
# On scanne les réseaux pour trouver leur identifiant :
ifconfig iwn0 scan | grep -i nwid
# Choix du réseau :
echo "A quel réseau se connecter ?"
read _NWID
echo "\nPhrase de passe ?"
# Attention, la phrase de passe apparaît en clair l'écran :
read _PASS
# Connexion au réseau utilisant une clé WPA (qui utilise encore du WEP ?) :
ifconfig iwn0 nwid "$_NWID" wpakey "$_PASS"
# Abtention d'une adresse IP :
dhclient iwn0

Pour que ce script puisse être lancé en simple utilisateur, ajouter l'entrée suivante dans /etc/doas.conf :

permit nopass $USER as root cmd /usr/local/bin/wifiup

Bien entendu changez “$USER” par votre login.

Pour lancer le script, il suffit de lancer :

# /usr/local/bin/wifiup

Et vite s'en faire un alias pour plus de confort ! :)

Réduire le temps de démarrage

Par défaut, le démarreur attend 5 secondes avant de commencer le lancement d'OpenBSD. Pour réduire ce temps, mettez une ligne comme celle-ci dans le fichier /etc/boot.conf :

set timeout 1

Error opening terminal: unknown

Vous exécutez une commande, telle que l'ouverture d'un éditeur texte, - pour l'exemple : vi ou nano - et le système vous répond par cette erreur :

Error opening terminal: unknown

La raison ? Le système ne reconnaît pas le TERMinal !

Commencez par vérifier quel est ce fameux terminal non reconnu :

$ tset -s
TERM=vt220

Modifions le :

$ export TERM=vt100

Vérifier la prise en charge de ce terminal avec la commande tset, ci-dessus !

Normalement, vous pourrez exécuter à nouveau le lancement de votre éditeur de texte console préféré, ou la commande console qui posait problème !

Détecter le nombre de processeurs

La commande ci-dessous détecte le nombre de CPU :

$ sysctl hw.ncpu

La commande suivante détecte le nombre de coeurs / CPU :

$ sysctl hw.ncpufound

Augmenter les limites autorisées

Dans le fichier /etc/login.conf , on peut allouer plus de mémoire :

Notez que la classe default est attribuée à chaque utilisateur qui n'a pas de classe particulière dans /etc/master.passwd. L'utilisateur principal se trouve généralement dans la classe staff.

default:\
        :path=/usr/bin /bin /usr/sbin /sbin /usr/X11R6/bin /usr/local/bin /usr/local/sbin:\
        :umask=022:\
        :datasize-max=infinity:\
        :datasize-cur=4G:\
        :maxproc-max=512:\
        :maxproc-cur=256:\
        :openfiles-cur=512:\
        :stacksize-cur=4M:\
        :localcipher=blowfish,a:\
        :tc=auth-defaults:\
        :tc=auth-ftp-defaults:

Ensuite, si votre fichier login.conf est conséquent, vous gagnerez en performance en créant une base de donnée. Pour créer et mettre à jour la base de donnée :

# cap_mkdb /etc/login.conf