sendmail
Prise en main rapide d'une « post-installation ». De nombeux exemples proviennent de la page de manuel afterboot(8).
À 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.
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
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
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
Il faut l'avoir sélectionner lors de l'installation, sinon on a 2 alternatives.
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
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
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
-g groupe principal-G groupe secondaire, pour pouvoir se connecter en root il faut appartenir au groupe wheelPour 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>
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.
On peut maintenant décommenter les 2 dernières lignes du fichier /etc/rc.conf correspondant au serveur X, redémarrer l'ordinateur.