Voici quelques manips qui peuvent être utiles lors de l’utilisation au quotidien d’une machine sous FreeBSD.
Mise à jour du système
Les mises à jour de la base du système et des ports se font de façon séparée. La mise à jour du système de base se fait avec les commandes :
# freebsd-update fetch # freebsd-update install
Pour les ports installés sur le système (comme samba, par exemple) le plus simple est d’installer portmaster
:
# cd /usr/ports/ports-mgmt/portmaster # make # make install
On peut ainsi lancer la mise à jour des ports installés avec :
# portsnap fetch && portsnap update # portmaster -Da
L’installation de ports peut maintenant se faire avec les options par défaut :
# portmaster /usr/ports/port/to/install
Et pour réinstaller un port avec de nouvelles options de compilation :
# portmaster --force-config /usr/ports/port/to/install
Consommation électrique
Pour diminuer (un peu) la consommation de la machine, on peut activer powerd
, qui adapte la fréquence du processeur à la charge du système. Il suffit d’ajouter dans le fichier /etc/rc.conf :
powerd_enable="YES"
Et pour privilégier la consommation, ajouter :
powerd_flags="-b min"
La fréquence du processeur ainsi que sa consommation peuvent être affichés avec la commande : powerd -v
.
Pour la mise en veille les disques, on peut passer par atacontrol
, installé par défaut :
atacontrol_enable="YES"
dans le fichier /etc/rc.conf.- Créer un script de démarrage correspondant : /usr/local/etc/rc.d/atacontol (ici, mise en veille des disques ad4, ad6, ad8 et ad10 après 30 minutes d’inactivité).
Pour des réglages plus fins que ceux fournis par atacontrol
(de la même façon que la commande hdparm
sous Linux), ataidle
est disponible via le port sysutils/ataidle.
Pour passer les disques en mode idle, puis en veille après trente minutes d’inactivité, les paramètres suivants sont ajoutés dans le rc.conf :
ataidle_enable="YES" ataidle_devices="ad4 ad6 ad8 ad10" ataidle_ad4="-I 30" ataidle_ad6="-I 30" ataidle_ad8="-I 30" ataidle_ad10="-I 30"
Pour empêcher le réveil intempestif des disques, il peut être nécessaire de modifier le /etc/crontab. J’ai modifié l’entrée concernant save-entropy
:
#*/11 * * * * operator /usr/libexec/save-entropy 0 20 * * * operator /usr/libexec/save-entropy
Ainsi que celle lançant newsyslog
:
#0 * * * * root newsyslog 0 20 * * * root newsyslog
Vérification du statut des disques
Dans mon cas, ma machine étant principalement utilisée en tant que NAS, j’ai jugé utile de vérifier de temps en temps l’état de santé des disques via S.M.A.R.T.
J’ai donc installé le port /usr/ports/sysutils/smartmontools, permettant la vérification des disques (ici /dev/ad4) avec la commande smartcrl
:
# smartctl -H /dev/ad4 smartctl 5.41 2011-06-09 r3365 [FreeBSD 8.2-RELEASE amd64] (local build) Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED
Pour des informations plus détaillées :
# smartctl -a /dev/ad4
Cette vérification peut se faire de façon automatique avec le démon smartd
, configurable dans le fichier /usr/local/etc/smartd.conf :
/dev/ad4 -H -m nico@localhost -n standby,q /dev/ad6 -H -m nico@localhost -n standby,q /dev/ad8 -H -m nico@localhost -n standby,q /dev/ad10 -H -m nico@localhost -n standby,q
Ici le test vérifie l’état S.M.A.R.T. des disques (-H
) et envoie un message à l’adresse passée en paramètre (-m nico@localhost
) uniquement si un problème est détecté.
Pour vérifier que l’envoi de mail fonctionne correctement, l’option -M test
permet d’envoyer un message au lancement de la commande.
Mais smartd
a la mauvaise habitude de sortir mes disques de veille, même avec l’option magique “-n standby,q
“. J’ai donc ajouté au crontab une vérification journalière quand les disques sont actifs :
1 20 * * * root /usr/local/etc/rc.d/smartd onestart && sleep 60 && /usr/local/etc/rc.d/smartd stop
Gestion de la machine
Pour autoriser un compte utilisateur à arrêter ou redémarrer la machine (via shutdown -p/-r now
), il suffit de l’affecter au groupe operator
:
# pw groupmod operator -m username
Back to basics
Enfin, pour les puristes qui veulent voir Beastie au démarrage de leur machine au lieu du logo aseptisé (ou pour les fans de Toy Story et Cars), penser à ajouter au /boot/loader.conf :
loader_logo="beastiebw"