Table des matières

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 1).

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<BROADCAST,NOTRAILERS,SIMPLEX,MULTICAST> mtu 1500
	address: 00:20:18:2a:4a:53
	media: Ethernet autoselect (10base2)
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> 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<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> 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<UP,LOOPBACK,RUNNING,MULTICAST> 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 :

J'aime bien avoir également, screen, emacs et zsh.

Pour les installer, il faut utiliser la commande pkg_add.

<note importante>Bien que les BSD possèdent les mêmes outils, les options sont différentes.</note>

Le plus simple consiste à définir la variable PKG_PATH correspondant à un miroir du serveur NetBSD 2). 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.

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 3) 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:

<note>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.</note>

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

Pour donner un mot de passe :

passwd olivier

<note>Lorsque l'utilisateur root invoque cette commande, il ne donne pas l'ancien mot de passe.</note>

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.

1)
avant la version 4.0, c'était sendmail
2)
La liste ici
3)
Plus de choix ici