====== NetBSD facile ! ======
Prise en main rapide d'une « //post-installation// ». De nombeux exemples proviennent de la page de manuel ''afterboot(8)''.
===== 1. Modification du fichier ''/etc/rc.conf'' =====
À la fin de ce fichier, il faut rajouter ces variables :
hostname="nom.domaine.tld"
clear_tmp=YES
dhclient=YES # DHCP
## XDM
#xdm=YES
#xdm_flags=""
Les 2 dernières lignes sont commentées pour l'instant, car **X11** n'est pas encore configuré.
Je désactive également **postfix** ((avant la version 4.0, c'était ''sendmail'')).
postfix=NO
Pour plus de détails ''man 5 rc.conf''.
===== 2. Modification du fichier ''/etc/wscons.conf'' =====
Cette étape est optionnelle, mais je n'aime pas avoir des « //beeps// » en console, donc je rajoute ces lignes.
# Turn off beep console
setvar bell.pitch=0
#setvar bell.volume=0
Si la première ligne ne fonctionne pas, essayez la seconde.
Ensuite, il faut relancer le daemon ''wscons''.
/etc/rc.d/wscons restart
===== 3. Le réseau =====
La commande ''ifconfig -a'' donne des informations sur la carte. Ci-dessous un exemple
ne2: flags=8822 mtu 1500
address: 00:20:18:2a:4a:53
media: Ethernet autoselect (10base2)
lo0: flags=8049 mtu 33192
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
Ma carte s'appellle donc ''ne2'' (on aurait pu la trouver grace à la commande ''dmseg'').
Pour établir une connexion par DHCP :
dhclient -1 ne2
ifconfig -a
ne2: flags=8863 mtu 1500
address: 00:20:18:2a:4a:53
media: Ethernet autoselect (10baseT)
inet 192.168.1.72 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::220:18ff:fe2a:4a53%ne2 prefixlen 64 scopeid 0x1
lo0: flags=8049 mtu 33192
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
===== 4. Ajouter des paquets =====
L'offre est assez conséquente, cependant pour le début les plus importants sont :
* perl
* wget
* sudo
* bzip2
J'aime bien avoir également, screen, emacs et zsh.
Pour les installer, il faut utiliser la commande ''pkg_add''.
Bien que les BSD possèdent les mêmes outils, les **options sont différentes**.
Le plus simple consiste à définir la variable ''PKG_PATH'' correspondant à un miroir du serveur NetBSD ((La liste [[http://www.netbsd.org/mirrors/#ftp|ici]])). Il faut choisir un serveur FTP le plus proche.
Ensuite, il suffit de « l'exporter dans l'environnement ». Un exemple pour un ordinateur de type ''i386''.
Si le compte **root** utilise le C shell
setenv PKG_PATH ftp://ftp3.de.netbsd.org/pub/NetBSD/pkgsrc/packages/NetBSD-4.0/i386/All
Si le compte **root** utilise le Korn shell
export PKG_PATH="ftp://ftp3.de.netbsd.org/pub/NetBSD/pkgsrc/packages/NetBSD-4.0/i386/All"
Désormais l'installation d'un paquet précompilé se fera de cette manière :
pkg_add -v perl
Pour ne pas à avoir à chaque fois exporter cette variable, il est préférable de la copier dans le fichier ''.profile'' de l'utilisateur **root**.
Voici ce que j'utilise.
# miroir FTP
if [ ! -d /usr/pkgsrc ]; then
_ARCH=`uname -p`
_OS=`uname -s`
_RELEASE=`uname -r`
export PKG_PATH="ftp://ftp3.de.netbsd.org/pub/pkgsrc/packages/$_OS-$_RELEASE/$_ARCH/All"
fi
===== 5. Configuration du serveur X =====
Il faut l'avoir sélectionner lors de l'installation, sinon on a 2 alternatives.
* en passant par les //sets// (**XFree86**)
* par l'arborescence ''pkgrsc'' mais nécessite une compilation (très long, mais on aura à sa disposition le **Xorg** modulaire).
Pour générer **automatiquement** le fichier de configuration de **XFree86** (c'est sensiblement la même chose pour **Xorg**).
X -configure
On obtient un fichier ''XF86Config.new'', il faut le modifier notamment pour disposer d'un clavier français, mettre les bonnes résolutions de l'écran, etc.
.
.
.
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "wsmouse"
Option "Device" "/dev/wsmouse"
Option "ZAxisMapping" "4 5"
EndSection
.
.
.
Ensuite pour tester la configuration :
xf86cfg -xf86config /root/XF86Config.new
Si tout est correct, on peut copier le fichier dans le répertoire ''/etc/X11''.
cp XF86Config.new /etc/X11/XF86Config
==== Gestionnaire de fenêtres ====
Précédemment, on a vérifié, que les périphériques (écran, carte graphique, clavier, souris) sont reconnus et fonctionnels, on peut désormais choisir un gestionnaire de fenêtres. Pour l'utilisateur **root** ''twm'' ((Plus de choix [[http://pkgsrc.se/wm|ici]])) suffira.
cp /etc/X11/xinit/xinitrc ~/.xinitrc
ln -s .xinitrc .xsession
Puis, on lance le serveur avec ''startx'', ''Ctrl+Alt+BackSpace'' pour l'arrêter.
Pour empêcher l'écoute du port 6000 par X11, dans le fichier ''/usr/X11R6/bin/startx'' la ligne commençant par ''serverargs'', je rajoute ceci.
serverargs="-nolisten tcp"
Dans le fichier ''/etc/X11/xdm/Xsetup_0'' je commente la ligne
xconsole -geometry 480x130-0-0 -daemon -notify -verbose -fn fixed -exitOnFail
===== 6. Ajouter un nouvel utilisateur =====
Pour l'instant, on a fait l'essentiel du travail sous le compte root, ce n'est pas recommendé. La commande s'appelle ''useradd''.
Avant de l'exécuter, je peuple le répertoire ''/etc/skel'' de certains fichiers de configuration.
Voici le mien par exemple
ls /etc/skel
total 28
-r--r--r-- 1 root wheel 483 Dec 27 23:01 .Xresources
-r--r--r-- 1 root wheel 762 Apr 24 2003 .cshrc
-r--r--r-- 1 root wheel 13087 Dec 23 18:30 .emacs.el
-r--r--r-- 1 root wheel 488 Apr 24 2003 .login
-r--r--r-- 1 root wheel 291 Dec 23 18:49 .login_conf
-r--r--r-- 1 root wheel 265 Apr 24 2003 .logout
-r--r--r-- 1 root wheel 510 Sep 1 2006 .profile
-r--r--r-- 1 root wheel 3729 Dec 23 18:14 .screenrc
-r--r--r-- 1 root wheel 136 Sep 14 2006 .shrc
-r--r--r-- 1 root wheel 2670 Dec 27 22:59 .twmrc
-r--r--r-- 1 root wheel 644 Dec 27 23:01 .xinitrc
Je crée également une classe dans le fichier ''/etc/login.conf''.
# login.conf - login class capabilities database
#
default:\
:welcome=/etc/motd:\
:path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin
/usr/local/bin /usr/X11R6/bin /usr/pkg/sbin /usr/pkg/bin:\
:nologin=/var/run/nologin:\
:cputime=unlimited:\
:datasize=unlimited:\
:stacksize=unlimited:\
:memorylocked=unlimited:\
:memoryuse=unlimited:\
:filesize=unlimited:\
:coredumpsize=unlimited:\
:openfiles=unlimited:\
:maxproc=unlimited:\
:posixlocks=unlimited:\
:sbsize=unlimited:\
:vmemoryuse=unlimited:\
:priority=0:\
:ignoretime@:\
:minpasswordlen=4:\
:umask=022:
#
# French Users Accounts. Setup proper environment variables.
#
french|French Users Accounts:\
:charset=ISO8859-15:\
:lang=fr_FR.ISO8859-15:\
:tc=default:
Cela n'a pas l'air d'être réellement pris en compte par le système, alors que sous FreeBSD et DragonFly aucun problème.
Si on modifie ce fichier, il faut mettre à jour la base de données.
cap_mkdb /etc/login.conf
Dans le fichier ''.login_conf'' j'ai ceci :
# Users who do not wish to use monetary units or time formats
# of French can manually change each variable.
me:\
:charset=ISO8859-15:\
:lang=fr_FR.ISO8859-15:\
:lc_ctype=fr_FR.ISO8859-15:\
:lc_collate=C:\
:lc_messages=fr_FR.ISO8859-15:\
:lc_monetary=C:\
:lc_numeric=C:\
:lc_time=C:
L'ajout d'un nouvel utilisateur se fait de cette façon :
useradd -G wheel,operator -g users -m -s /usr/pkg/bin/zsh -L french utilisateur
* ''-g'' groupe principal
* ''-G'' groupe secondaire, pour pouvoir se connecter en **root** il faut appartenir au groupe ''wheel''
Pour donner un mot de passe :
passwd olivier
Lorsque l'utilisateur **root** invoque cette commande, il ne donne pas l'ancien mot de passe.
===== 7. Donner des droits supplémentaires =====
Pour éteindre convenable un ordinateur si on utilise autre chose que KDE et Gnome, il faut utiliser la commande ''shutdown''. Seul l'utilisateur **root** possède les droits suffisants. On va autoriser tous les utilisateurs à pouvoir utiliser cette commande, on lance ''visudo'', et on rajoute ces lignes :
.
.
.
# User alias specification
User_Alias USERS = utilisateur
.
.
.
USERS NomMachine = NOPASSWD: /sbin/shutdown
Il faut bien sur remplacer ''NomMachine'' et ''utilisateur'' par vos valeurs.
===== Conclusion =====
On peut maintenant décommenter les 2 dernières lignes du fichier ''/etc/rc.conf'' correspondant au serveur X, redémarrer l'ordinateur.