cd /
;
apropos
;
find *
;
Notes personnelles pour profiter d'OpenBSD dans un usage "desktop".
Voir la FAQ:
https://www.openbsd.org/faq/faq14.html#softraidFDE
S'il y a un bug à la fin de l'installation en cas d'UEFI, installer le chargeur de démarrage à la main avec ''installboot''.
Je monte ''/tmp'' en ram, et j'attribue 1/10 de la RAM disponible pour ça. On commente avant tout la ligne contenant déjà une entrée pour ''/tmp'' dans ''/etc/fstab''.
# sed -i '/\/tmp /s/^/\#/' /etc/fstab # printf "swap /tmp mfs rw,nodev,nosuid,-s=%sB 0 0\n" \ $(dmesg |awk '/avail mem/ { print int($4 / 10)}') \ >> /etc/fstab # echo "chmod 1777 /tmp" >> /etc/rc.local
Ça revient à :
swap /tmp mfs rw,nodev,nosuid,-s=0.8G 0 0
$ chmod 0700 $HOME
Pour éteindre sans avoir besoin de ''doas'', il faut appartenir au groupe ''_shutdown'':
# usermod -G _shutdown prx
Afin d'utiliser ''cu'' :
# usermod -G dialer prx
Et pour travailler avec les sources :
# usermod -G wsrc prx
Enfin, pour être moins limité en terme de ressources, c'est mieux d'appartenir à la class de login "staff" (voir login.conf(5))
# usermod -L staff prx
À la fin:
> userinfo prx login prx passwd * uid 1000 groups prx wheel operator wsrc staff dialer _shutdown change NEVER class staff gecos prx dir /home/prx shell /bin/ksh expire NEVER
On peut augmenter les limites dans /etc/login.conf :
staff:\ :datasize-cur=6144M:\
Si on est le seul utilisateur de la machine et que l'ensemble est chiffré et qu'on éteint son ordi lorsqu'on ne l'utilise pas, alors on peut activer l'autologin pour xenodm :
echo 'DisplayManager._0.autoLogin: user' >> /etc/X11/xenodm/xenodm-config
Dans ce cas, je vous conseille de désactiver la possibilité de fermer la session graphique avec Ctrl-Shift-backspace. Sinon, n'importe qui peut prendre le contrôle de votre session même si vous l'avez verrouillée avec xlock (ou autre). On en profite aussi pour retirer la possiblité d'accéder à un tty avec Ctrl-Alt-F*.
cat << EOF >> /etc/X11/xorg.conf Section "ServerFlags" Option "DontZap" "True" Option "DontVTSwitch" "True" EndSection EOF
echo "set timeout 1" > /etc/boot.conf
# cat << EOF > /etc/pf.conf set skip on lo antispoof quick for { egress } block pass in proto icmp pass in proto icmp6 pass on wg0 pass out EOF
Commandes que je veux pouvoir lancer sans entrer de mots de passe. Surtout pour les scripts.
cat << EOF > /etc/doas.conf permit persist :wheel permit nopass :wheel cmd /sbin/disklabel permit nopass :wheel cmd /sbin/umount permit nopass :wheel cmd /sbin/mount EOF
Pas de bip clavier et luminosité réduite : 80% me permet de bien voir et réduit la consommation d'énergie.
cat << EOF > /etc/wsconsctl.conf keyboard.bell.volume=0 display.brightness=80 EOF
Dans mon casque audio, il y a parfois du bruit blanc.
Pour le retirer:
cat << EOF > /etc/mixerctl.conf inputs.mix2_source=dac-0:1 EOF
https://www.mail-archive.com/misc@openbsd.org/msg182180.html
## Installation de quelques programmes ### dwm J'utilise une version de dwm avec quelques patches directement intégrés dans mon config.h : => https://dwm.suckless.org dwm * bstack * grid * deck * resetnmaster * focusurgent * focusmaster * nametag * movestack À vrai dire, ces patches ne me sont que très rarement utiles... => https://dwm.suckless.org/patches/alpha/ J'y ajoute parfois le patche alpha
+++ b/drw.c
@@ -202,6 +202,8 @@ drw_clr_create(Drw *drw, Clr *dest, const char *clrname)
DefaultColormap(drw->dpy, drw->screen),
clrname, dest))
die("error, cannot allocate color '%s'", clrname);
+
+ dest->pixel |= 0xff << 24;
}
VER=6.5
cd /tmp
ftp https://dl.suckless.org/dwm/dwm-$VER.tar.gz
tar xvzf dwm*.tar.gz
cd dwm-$VER
ftp -o config.h https://si3t.ch/pub/dwm-config.h
vi config.mk # sed -i /^#FREETYPEIN/s/^#// config.mk
make
make install PREFIX=$HOME
### st Un terminal tout simple, donc rapide.
VER=0.9.1
cd /tmp
ftp https://dl.suckless.org/st/st-$VER.tar.gz
tar xvzf st-*.tar.gz
cd st-$VER
ftp -o config.h https://si3t.ch/pub/st-config.h
vi config.mk # edit OpenBSD config
make
make install PREFIX=$HOME
## Résolveur DNS indépendant (unwind) + adblock /etc/unwind.conf:
fdn1=80.67.169.12
fdn2=80.67.169.40
fdn61=2001:910:800::12
fdn62=2001:910:800::40
wikimedia=185.71.138.138
wikimedia6=2001:67c:930::1
bortzmeyer=193.70.85.11
block list "/var/db/unwind-block.txt" log
forwarder { $fdn61 DoT $fdn62 DoT $fdn1 DoT $fdn2 DoT $wikimedia6 DoT $wikimedia DoT $bortzmeyer }
preference { recursor DoT oDoT-forwarder oDoT-autoconf stub }
/usr/local/sbin/unwindblock
db=/var/db/unwind-block.txt
if [ -n "$(find $db -mtime +7)" ]; then
# wait for internet access
while true; do
nc -zw1 si3t.ch 443 && break || sleep 60
done
ftp -o- https://si3t.ch/pub/evils/unwind-block.txt.gz |gzcat > $db
fi
ftp -o- https://si3t.ch/pub/evils/unwind-block.txt.gz |gzcat > /var/db/unwind-block.txt
rcctl enable unwind
rcctl start unwind
chmod +x /usr/local/sbin/unwindblock
@reboot /usr/local/sbin/unwindblock
Voir la liste des ip blacklistées => /evils/ ## VPN J'utilise un VPN wireguard via openbsd.amsterdam sur le rdomain 2 pour l'utiliser seulement au besoin. J'ai donc un fichier /etc/hostname.wg0
wgkey ...
wgpeer ... \
wgendpoint 46.23.90.144 4545 \
wgaip 0.0.0.0/0 \
wgaip ::0/0
inet 10.0.0.2/24
inet6 fd54:49bc:c233:fde:cafe::2/64
rdomain 2
!route -T2 add -inet default 10.0.0.1
!route -T2 add -inet6 default fd54:49bc:c233:fde:cafe::1
up
Cependant, la résolution de noms de domaines n'est pas au top... unwind n'est pas accessible sur la table de routage 2. Il faut donc lancer un second unwind:
cat << EOF > /etc/hostname.lo1
rdomain 2
127.0.0.1
up"
EOF
sh /etc/netstart lo1
ln -s /etc/rc.d/unwind /etc/rc.d/unwind2
rcctl enable unwind2
echo "unwind2_rtable=2" >> /etc/rc.conf.local
rcctl start unwind2
Pour utiliser le VPN, je lance le programme souhaité avec :
route -T2 exec le_nom_de-l_outil -flag1 -flag2...
## rc.local
cat << EOF >> /etc/rc.local
sleep 30 && syspatch &
sleep 60 && find /home -name "*.core" -delete &
EOF
## Gestion de l'énergie Le système sera suspendu si la batterie descend en-dessous de 5%. Ça permet de brancher la machine sans perdre son travail.
rcctl enable apmd
rcctl set apmd flags -A -z 5
À la place, j'aime autant utiliser le port obsdfreqd qui limite la température en réduisant la fréquence du processeur si besoin
pkg_add obsdfreqd
rcctl enable obsdfreqd apmd
rcctl set obsdfreqd flags -T 75,55
rcctl set apmd flags -L -z8
rcctl start apmd obsdfreqd
Et pour que l'écran soit verrouillé après avoir suspendu la machine:
pkill -USR1 xidle
Le script ''checkbatt'' permet d'avoir une alerte si la batterie a un niveau trop faible. Il s'appelle via un cron. :
## ntpd
sed -i 's/www\.google\.com/www.openbsd.org/' /etc/ntpd.conf
## firmwares Si aucun accès à internet n'est disponible, récupérer les firmwares en ligne, les copier sur une clé USB, monter la clé puis lancer ''fw_update'' ainsi :
fw_update -p /chemin/vers/cle/usb/
=> http://firmware.openbsd.org/firmware/ ## sysctl Pour éviter d'abîmer la batterie en lui imposant une tension de charge lorsque le secteur est branché :
hw.battery.chargemode=1
hw.battery.chargestart=0
hw.battery.chargestop=85
pour xorg, si c'est demandé dans /var/log/Xorg.0.log
machdep.allowaperture=1
Pour améliorer les performances et utiliser micro et webcam. Attention, cela allège les précautions de sécurité par défaut:
hw.smt=1
kern.audio.record=1
kern.video.record=1
Pour utiliser la webcam, il faudra lancer:
chown $USER /dev/video*
## réseau et WiFi Sur un portable, on peut activer le WiFi et le filaire avec de préférence le filaire. En cas de déconnexion, l'autre carte réseau prend le relais. Dans mon cas, sur un x250 :
join wifi1 wpakey blabla
join wifi2 wpakey pouet
join ""
up
up
trunkproto failover trunkport em0 trunkport iwm0
inet autoconf
inet6 autoconf
## Montage de cdrom/DVD
$ doas mkdir /cdrom
$ cat /etc/fstab
/dev/cd0a /cdrom cd9660 ro,noauto 0 0
## Disque dur externe de musique /etc/fstab:
b2a7ab562311a08f.a /home/prx/mpd ffs rw,nodev,nosuid,noatime 1 2
## Outils audio USB prioritaires
## crontab
~ * * * * /home/prx/bin/prxsync push >/dev/null 2>&1
## Imprimante USB
## ports Liste générée avec ''pkg_info -zm > obsdpkglist.lst''.
ftp https://si3t.ch/misc/logiciel-libre/openbsd/obsdpkglist.lst
pkg_add -vmzl obsdpkglist.lst