Outils pour utilisateurs

Outils du site


bsd:netbsd:netbsd_facile

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 :

.
.
.
# Add local overrides below
#

# One-time actions to perform or programs to run, on boot-up
clear_tmp=YES
virecover=NO

# Basic network configuration
hostname="nom.domaine.tld"

# Networking startup
dhclient=YES

# Commonly use daemons
cron=NO
postfix=NO
sshd=NO

# X Window System daemons
xdm=YES
xdm_flags=""

# Hardware daemons
wscons=YES

L'extrait ci-dessus fonctionne pour un vieux ordinateur, c'est pourquoi j'ai choisis de désactiver certains processus.

Si vous n'avez pas encore configuré le fichier xf86config, commenté les deux lignes relatives à X.

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 :

  • perl
  • wget
  • sudo

Pour les installer, il faut utiliser la commande pkg_add.

<note importante>Dans la famille des BSD, les outils de base pour ajouter/supprimer/avoir des informations sur des paquets pré-compilés portent les mêmes noms :

  • pkg_add → ajouter un binaire
  • pkg_delete → suppression
  • pkg_info → obtenir des informations sur les paquets installés

Cependant certaines options diffèrent.</note>

Le plus simple consiste à définir la variable PKG_PATH correspondant à un miroir du serveur NetBSD 1). 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 éviter d'exporter cette variable à chaque fois, il est préférable de la copier dans le fichier .profile de l'utilisateur root.

Voici ce que j'utilise (en root j'utilise le Korn shell).

# PS1
PS1='[`whoami`] $PWD# '; export PS1

# 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

Le « test » sert activer cette variable si, l'arborescence pkgsrc est absente, car elle entre en conflit lors de l'installation d'un logiciel à partir des sources.

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 2) 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, qui vont faciliter la prise en main pour nos utilisateurs.

Voici le mien par exemple

ls -al /etc/skel/
total 28
drwxr-xr-x   2 root  wheel   512 May 24 18:39 ./
drwxr-xr-x  23 root  wheel  2048 May 25 08:19 ../
-r--r--r--   1 root  wheel   381 May 24 18:38 .Xresources
-r--r--r--   1 root  wheel   883 May 24 18:33 .bashrc
-r--r--r--   1 root  wheel   762 Apr 24  2003 .cshrc
-r--r--r--   1 root  wheel   488 Apr 24  2003 .login
-r--r--r--   1 root  wheel   265 Apr 24  2003 .logout
-r--r--r--   1 root  wheel   513 May 24 16:28 .profile
-r--r--r--   1 root  wheel   136 Sep 14  2006 .shrc
-r--r--r--   1 root  wheel  2668 May 24 18:34 .twmrc
-r--r--r--   1 root  wheel   644 May 24 18:33 .xinitrc

J'ai l'habitude d'utiliser le shell Bash, voici ce que l'on trouve dans .bashrc

#
# .bashrc
#

# file permissions: rwxr-xr-x
#
umask 022

# Enable the builtin emacs(1) command line editor in bash(1),
# e.g. C-a -> beginning-of-line.
set -o emacs

if [ -x /usr/pkg/bin/emacs ]; then
	alias emacs="/usr/pkg/bin/emacs -nw"
	export EDITOR=emacs; export VISUAL=$EDITOR
else
	export EDITOR=vi; export VISUAL=$EDITOR
fi

export PAGER=less

# suppression .xsession-errors si vide
if [ -e ~/.xsession-errors ] && [ ! -s ~/.xsession-errors ]; then
	rm -f ~/.xsession-errors
fi

# locale
export LANG=ISO8859-15
export LC_ALL=fr_FR.ISO8859-15

# PS1
export PS1="\h:\w\$ "

# alias
alias su="/usr/bin/su -l";
alias ls="/bin/ls -F";
if [ -x /usr/pkg/bin/firefox ]; then
	alias firefox="/usr/bin/env MOS_DISABLE_PANGO=1 /usr/pkg/bin/firefox"
fi

Le .profile

PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/pkg/bin
PATH=${PATH}:/usr/pkg/sbin:/usr/games:/usr/local/bin:/usr/local/sbin
export PATH

#export EDITOR=vi
export EXINIT='set autoindent'
export PAGER=less

export ENV=$HOME/.bashrc

L'ajout d'un nouvel utilisateur se fait de cette façon :

useradd -G wheel,operator -g users -m -s /usr/pkg/bin/bash olivier
  • -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 que cet utilisateur se connectera, il pourra créer un lien symbolique, de cette façon, afin d'avoir les mêmes options pour le shell de « login ».

ln -s .bashrc .bash_profile

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)
La liste ici
2)
Plus de choix ici
bsd/netbsd/netbsd_facile.txt · Dernière modification : 2018/12/04 18:58 de 127.0.0.1

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : Public Domain