====== 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.