Linux

Voici ma petite contribution au monde Linux. J'ai écrit ces pages pour me permettre de reconfigurer mes machines facilement.

Ma distribution de prédilection est Debian GNU/Linux, ainsi qu'Openwrt pour mon routeur.

L'organisation de cette section est un peu en chantier, merci de votre compréhension.

Administration

Quelques articles sur l'administration d'une Debian.

A classer

Liste des paquets installés classés par taille

dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n

Convertir une base MySQL Latin en UTF-8

mysqldump --add-drop-table -uroot -p NOM_DE_LA_BASE | replace CHARSET=latin1 CHARSET=utf8 | iconv -f latin1 -t utf8 | mysql -uroot -p NOM_DE_LA_BASE

Compiler le noyau Linux: la méthode Debian

Introduction

La compilation du noyau Debian fait souvent peur aux débutants.
Je me souviens de ma permière Red Hat, j'avais été très déçu de ne
pas pouvoir utiliser la gestion APM de mon portable, les modules
n'étant pas compilé dans le noyau par défaut. En parcourant la
documentation les avertissements furent nombreux, certains
annonçant même que c'était une tâche très risquée pour un débutant.

Et puis un jour je me suis dit que cela ne coûtait rien d'essayer.
Finalement, après quelques essais, j'ai réussi à compiler un noyau
contenant le support APM ainsi que les modules nécessaires pour utiliser
mon lecteur ZIP.

Le système Debian permet de compiler facilement un noyau selon ses
désirs et d'obtenir un paquetage kernel-image-2.2.17-foo.deb
facile à gérer ensuite. C'est ce que je propose d'expliquer sur cette page.

Pour ce qui est de la configuration du noyau allez jetter un oeil
sur cette page.

(Pour écrire cette page j'ai librement adapté ma contribution au site
Léa Linux.)

Pré requis:

Il faut bien sûr les sources du noyau Linux que vous voulez compiler. Vous
pourvez utiliser le paquetage kernel-source-2.2.17 par exemple
fourni par Debian. Mais les archives au format .tar.gz ou
.tar.bz2 marchent tout aussi bien.

Il est nécessaire également d'avoir un environnement de développement complet, que je
ne détaillerai pas ici.

Enfin pour compiler 'à la Debian' il faut le paquet kernel-package.

Pendant qu'on y est installez également le paquet pcmcia-source
pour recompiler aussi les modules PC-Card. Ces modules marchent de concert avec le noyau,
si vous recompilez ce dernier, il faut également les recompiler. Pour les noyaux 2.4.xx les modules
PC-Card sont inclus, il n'est plus nécessaire de les compiler après le noyau.

Installation des sources

Si vous utilisez le paquetage Debian pour les sources, voici la commande qu'il vous faut:

apt-get install kernel-image-2.2.17

Si vous n'êtes pas root c'est le moment de vous y mettre. Sinon utilisez sudo,
c'est bien pratique.

L'installation du paquetage vous laisse une archive .tar.bz2
dans le répertoire /usr/src. Il vous faut donc l'extraire:

kaneloon% bunzip2 kernel-source-2.2.17.tar.bz2
kaneloon% tar -xvf kernel-source-2.2.17.tar

Il faut ensuite faire un lien de /usr/src/linux vers le répertoire
contenant les sources. Si vous utilisez une archive non Debian en générale elle
se décompresse dans un répertoire /usr/src/linux. Si c'est votre cas
je vous conseille de renommer ce répertoire kernel-source-X.X.XX et de faire
une lien à partir de /usr/src/linux.

kaneloon% ln -s kernel-source-2.2.17 linux

kaneloon% ls -l

drwxr-sr-x   14 ustilago src          4096 jun 24  2000 kernel-source-2.2.17
lrwxrwxrwx    1 ustilago src            20 mar  3 17:13 linux -> kernel-source-2.2.17

Maintenant vous êtes fin prêt pour la configuration du noyau.

La compilation proprement dite

Une fois votre noyau configuré selon vos désirs, voici venu le temps de la compilation.
Si vous n'y êtes pas placez vous dans le répertoire /usr/src/linux et exécutez
ces deux commandes (pour plus de clarté je supprime les sorties occasionnées
par ces commandes):

kaneloon% make-kpkg clean

kaneloon% make-kpkg --revision=CUSTOM.1.O kernel_image

Si tout se passe bien vous aurez votre noyau compilé et enpaqueté dans le répertoire
/usr/src.

Vous pouvez remplacer CUSTOM par ce que vous voulez, en excluant les
caractères '-' et '_'.
Le numéro de version n'est qu'informatif, il permet néanmoins à dpkg de vous
avertir si vous essayez d'installer un noyau d'une version antérieure à celui
de votre système. N'oubliez donc pas de le faire évoluer au fur et à mesure
de vos compilations.

L'installation de votre noyau nouvellement compilé

Ca c'est tout simple, placez vous dans le répertoire /usr/src:

kaneloon% dpkg -i kernel-image-2.2.17_CUSTOM.1.0_i386.deb

N'oubliez pas, pour utiliser dpkg il faut être root.

Tout ce que vous avez compilé en tant que modules se retrouve dans le répertoire
/lib/modules/2.2.17. Ainsi avant d'installer votre nouveau noyau il faut
supprimer ce répertoire pour qu'il n'y ait pas de confusion. Si vous ne le faites
pas dpkg vous avertira. Moi je vous conseille plutôt d'en faire une copie
de sauvegarde:

kaneloon% mv /lib/modules/2.2.17 /lib/modules/2.2.17.OLD

Je pense qu'il est également plus judicieux de créer la disquette de
sauvegarde comme le propose dpkg. Maintenant il ne vous reste plus
qu'à redémarrer votre machine, en ayant pris soin de lancer lilo

avant bien sûr. En effet pour que ce chargeur marche il faut réactualiser
les données sur le secteur d'amorçage à chaque nouveau noyau que vous installez.

kaneloon% shutdown -r now

Si tout s'est bien passé vous verrez tourner votre nouveau noyau. Sinon, tant
pis pour vous !

Configuration de sudo

Administrer et configurer sa machine peut parfois devenir pénible
si l'on applique le principe de base: 'ne jamais travailler en étant root'.
Cela évite de faire de fausses manoeuvres, surtout quand on a pas trop d'expérience
(comme de lancer un 'rm -rf /').

Une alternative préservant la sécurité est d'utiliser 'sudo':

meuh% dpkg -p sudo
Package: sudo
Priority: optional
Section: admin
Installed-Size: 316
Maintainer: Bdale Garbee 
Architecture: i386
Version: 1.6.2p2-1potato1
Depends: libc6 (>= 2.1.2), libpam0g, libpam-modules
Filename: dists/potato/updates/main/binary-i386/sudo_1.6.2p2-1potato1_i386.deb
Size: 122366
MD5sum: 837a528b2e0ad0971931794e1319b0f8
Description: Provides limited super user privileges to specific users.
 Sudo is a program designed to allow a sysadmin to give limited root
 privileges to users and log root activity.  The basic philosophy is to give
 as few privileges as possible but still allow people to get their work done.

L'installation est très simple, un 'apt-get install sudo'
en étant root devrait faire l'affaire.

La configuration n'est pas non plus trop difficile. Le fichier
la contenant est '/etc/sudoers'. ATTENTION, pour le modifier
il faut utiliser la commande visudo en étant root.
Il doit ressembler à ça:

meuh% visudo
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

# Host alias specification
Host_Alias      MA_MACHINE=meuh

# User alias specification
User_Alias     FULLTIMERS=paturette
User_Alias     PART_TIMERS=bouse,foin,lait

# Cmnd alias specification
Cmnd_Alias      SHUTDOWN=/sbin/shutdown
Cmnd_Alias      PPPD=/usr/sbin/pppd

# User privilege specification
root    ALL=(ALL) ALL
FULLTIMERS      MA_MACHINE=NOPASSWD:ALL
PART_TIMERS     MA_MACHINE=SHUTDOWN,PPPD

Moi je n'ai qu'une seule machine qui s'appelle 'meuh',
pour l'exemple je créée malgré tout un alias pour cette machine:

'Host_Alias MA_MACHINE=meuh'

Ensuite je défini deux alias pour deux types d'utilisateurs,
'FULLTIMERS' qui pourront exécuter toutes les commandes,
et 'PART_TIMERS' qui pourront juste lancer pppd

et éteindre la machine:

'User_Alias FULLTIMERS=paturette

User_Alias PART_TIMERS=bouse,foin,lait
'

On peut aussi définir des alias pour des commandes. J'en
definis deux:

'Cmnd_Alias SHUTDOWN=/sbin/shutdown
Cmnd_Alias PPPD=/usr/sbin/pppd
'

Puis on définit les privilèges:

'root ALL=(ALL) ALL': l'utilisateur 'root'
peut exécuter toutes les commandes sur toutes les machines.

'FULLTIMERS MA_MACHINE=NOPASSWD:ALL': les utilisateurs
qui font parti de l'alias 'FULLTIMERS' peuvent exécuter
toutes les commandes, sur toutes les machines faisant parti de l'alias
'MA_MACHINE', et ce sans entrer de mot de passe.

'PART_TIMERS MA_MACHINE=SHUTDOWN,PPPD': les utilisateurs
qui font parti de l'alias 'PART_TIMERS' peuvent exécuter
seulement les commandes 'SHUTDOWN' et 'PPPD',
sur toutes les machines faisant parti de l'alias 'MA_MACHINE',
mais doivent entrer leur mot de passe.

Il y a beaucoup d'autres possibilités offertent pas 'sudo',
n'hésitez pas à consulter les pages du man.

Installer Debian depuis une disquette

Installer Debian n'est pas très compliqué sur les ordinateurs modernes disposant d'une carte réseau ethernet et d'un lecteur de CD/DVD-ROM sur lequel on peut démarrer : il suffit de récupérer le CD net-install et de suivre les indications.

Sur un ordinateur un peu plus vieux, ou qui ne permet pas de démarrer sur une lecteur CD/DVD-ROM, cela devient plus compliqué. Une solution consiste à utiliser des disquettes de démarrage, à condition de disposer d'un ordinateur pour créer ces disquettes !

Les images, pour Debian Lenny (testing au 28/09/2008), sont celles-ci (téléchargeables ICI):

  • boot.img : la disquette pour démarrer
  • root.img : celle pour lancer le système de départ
  • net-drivers-1.img : les pilotes de carte réseau les plus courants
  • net-drivers-2.img : les pilotes de carte réseau moins courant, ainsi que ceux pour les cartes PCMCIA et USB
  • cd-drivers.img : les pilotes pour lancer la suite de l'installation sur un CD-ROM
  • ATTENTION : il faut bien garder à l'esprit que les disquettes sont les médias les moins fiables, ne les utilisez que si vous n'avez vraiment pas d'autre solution.

    Pour créer les disquettes à partir des fichiers xx.img, il suffit d'utiliser cette commande si vous êtes sur une machine linux :

    $ dd if=filename of=/dev/fd0 bs=1024 conv=sync ; sync

    Vous aurez très certainement besoin d'un accès root pour lancer cette commande.

    Pour réaliser la même opérations sous Windows, il suffit d'utiliser les utilitaires rawrite ou rwwrtwin disponibles dans le répertoire /tools d'un CD-ROM d'installation officiel Debian.

    Pour de plus amples informations, je vous invite à consulter les pages du manuel Debian :

Recompiler un paquet Debian

Introduction


Il arrive de temps en temps que les binaires fournis
dans un paquet Debian ne vous conviennent pas, ou bien
vous aimeriez utiliser une version plus récente qui
n'est disponible qu'en 'unstable' ou 'testing'. Si les
dépendances ne sont pas un problème, alors il n'y a rien
de plus simple.

A récupérer


Prenons l'exemple du paquet 'lait_chaud'.
La dernière version n'est disponible qu'en 'testing'.
Il vous faut récupérer trois fichiers:

1) lait_chaud_3.03-2.tar.gz

2) lait_chaud_3.03-2_i386.changes

3) lait_chaud_3.03-2.dsc

Extraction


Mettez-vous dans le répertoire où vous avez récupéré
vos fichiers. Lancez la commande:

meuh%  dpkg-source -x lait_chaud_3.03-2.dsc
dpkg-source: extracting lait_chaud lait_chaud-3.03


Les fichiers extraits se trouvent donc dans 'lait_chaud-3.03'.

Compilation


Mettez-vous dans ce répertoire, et lancez la commande:
'debuild'. Et voilà, vous avez votre
'lait_chaud_3.03-2_i386.deb' dans le répertoire père.
Il ne vous reste plus qu'à l'installer avec la commande
'dpkg -i lait_chaud_3.03-2_i386.deb'.

Réseau

Voici quelques articles concernant le réseau.

Installer un serveur web Lighttpd

1. Introduction

Pour changer du très classique serveur web Apache, j'ai décidé d'installer lighttpd à la place : c'est censé être simple, léger et très rapide. Vous trouverez des comparatifs ici, ici et ici (entre autre).

2. Installation

L'installation est très simple, il suffit d'installer le paquet lighttpd avec votre gestionnaire de paquets préféré :
$ sudo apt-get install lighttpd
Et c'est tout !

Vous pouvez vérifier que tout s'est bien passé en ouvrant dans votre navigateur la page http://localhost qui devrait s'afficher comme suit (avec lighttpd 1.4.19-5 de Lenny) : Lighttpd fraîchement installé

3. Les modules

Les fichiers de configuration des modules disponibles pour Lighttpd se trouvent dans le répertoire /etc/lighttpd/conf-available/. Les modules activés ont un lien dans le répertoire /etc/lighttpd/conf-enabled/ qui pointe vers le fichier .conf correpondant de /etc/lighttpd/conf-available/.

Pour activer un module il faut utiliser la commande lighty-enable-mod module, et pour désactiver un module la commande lighty-disable-mod module. Ces deux commandes se chargent de gérer les liens dans le répertoire .

ATTENTION : après avoir activé/désactivé un module, il ne faut pas oublier de recharger la configuration de Lighttpd pour que les changements soient pris en compte :
$ sudo /etc/init.d/lighttpd force-reload

4. PHP

4.1 Installation de PHP

Un serveur web sans PHP, c'est, comment dire, un peu comme une vache sans lait : ça ne sert pas à grand chose. Là encore l'installation est simple, il suffit d'installer le paquet php5-cgi :
$ sudo apt-get install php5-cgi

On peut également en profiter pour installer la librairie GD, très souvent utilisée dès qu'il faut traiter/générer des images : c'est le paquet php5-gd.

4.2 Activation de PHP

Comme nous l'avons vu précédemment, nous allons activer ce module (en fait, pour PHP, il faut activer le module fastcgi) et recharger la configuration de Lighttpd :
$ sudo lighty-enable-mod fastcgi
Available modules: auth cgi fastcgi proxy rrdtool simple-vhost ssi ssl status userdir
Already enabled modules:
Enabling fastcgi: ok
Run /etc/init.d/lighttpd force-reload to enable changes
$ sudo /etc/init.d/lighttpd force-reload
Stopping web server: lighttpd.
Starting web server: lighttpd

4.3 Test de PHP

Nous allons maintenant vérifier que tout s'est bien passé, et que PHP est fonctionnel. Pour ce faire nous allons créer à la racine du serveur web un fichier qui nous donne le phpinfo :
$ sudo sh -c 'echo "<?PHP phpinfo(); ?>" > /var/www/phpinfo.php'
$ sudo chown -R www-data:www-data /var/www/phpinfo.php

Il ne vous reste plus qu'à pointer votre navigateur vers l'adresse http://localhost/phpinfo.php

5. MySQL

Je ne détaille pas ici l'installation d'un serveur MySQL. Il suffit d'installer les paquets mysql-server, mysql-client et php5-mysql :
$ sudo apt-get install mysql-server mysql-client php5-mysql

6. Erreurs

Si vous avez cette erreur lorsque vous lancer Lighttpd :
/usr/sbin/lighttpd: Symbol `FamErrlist' has different size in shared object, consider re-linking
il semblerait (d'après le site webhostingtalk (en) ) que cela vienne d'un conflit entre fam et gamin. L'installation de libfam0 et le redémarrage de Lighttpd résoud ce problème:
$ sudo apt-get install libfam0
[...]
$ sudo /etc/init.d/lighttpd restart
Stopping web server: lighttpd.
Starting web server: lighttpd.

7. Ressources

Se connecter en WiFi avec un cryptage WPA

J'ai un routeur sans fil configuré avec un cryptage WPA et en DHCP. Son ssid est ma_cage et il utilise le canal 4.

On va déjà configurer l'interface réseau (vérifier dans votre dmesg le nom de votre interface) en éditant le fichier /etc/network/interfaces:

auto eth2

iface eth2 inet dhcp

pre-up iwconfig eth2 essid "ma_cage"

pre-up iwconfig eth2 channel 4

Ensuite on va configurer wpa_supplicant en éditant le fichier /etc/wpa_supplicant/wpa_supplicant.conf:

# WPA-PSK/TKIP



ctrl_interface=/var/run/wpa_supplicant

ap_scan=2



network={

ssid="ma_cage"

key_mgmt=WPA-PSK

proto=WPA

pairwise=TKIP

group=TKIP

psk="ma_passphrase_de_la_mort_ki_tue"

}

Et pour terminer un petit script pour lancer automatiquement au démarrage wpa_supplicant, que l'on rendra exécutable par un petit chmod +x /etc/init.d/wpa_supplicant :

#! /bin/sh

# wifi: wpa_supplicant init

echo " * [Wifi]: Enabling WPA supplicant..."

if [ -x /sbin/wpa_supplicant ]; then

echo " * [Wifi]: ... WPA supplicant enabled"

/sbin/wpa_supplicant -B -i eth2 -c /etc/wpa_supplicant/wpa_supplicant.conf -Dwext -w

fi



exit 0

Et pour terminer, le lien qui va bien : ln -s /etc/init.d/wpa_supplicant /etc/rcS.d/S40netwifiwpa

Ce qui devrait donner si tout marche bien :

$ iwconfig

lo no wireless extensions.



eth0 no wireless extensions.



eth1 no wireless extensions.



eth2 IEEE 802.11g ESSID:"ma_cage"

Mode:Managed Frequency:2.427 GHz Access Point: AA:BB:CC:DD:EE:FF

Bit Rate:54 Mb/s Tx-Power=20 dBm Sensitivity=8/0

Retry limit:7 RTS thr:off Fragment thr:off

Power Management:off

Link Quality=96/100 Signal level=-29 dBm Noise level=-91 dBm

Rx invalid nwid:0 Rx invalid crypt:1 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:0 Missed beacon:0



sit0 no wireless extensions.

Supprimer les librairies inutilisées

Trouvé sur Andesi :

  • dpkg --purge $(deborphan)
  • Installe deborphan, puis :

    En root :

    #deborphan | xargs apt-get remove --purge -y

    Résumé : deborphan rechercle les libs inutilisées, xargs récupère le résultat de la recherche et l'envoie à apt-get qui supprime les dites libs automatiquement (-y pour passer la demande de confirmation).

lilo (LInux LOader)

Introduction

Quant on débute sous Linux on souhaite souvent garder
Windows sous la main. Si l'on a un disque dur suffisamment
grand cela ne devrait pas poser de gros problèmes.

Il existe différentes solutions. On peut lancer Linux
à partir d'une disquette d'amorçage, mais c'est peu pratique.
On peut utiliser un logiciel d'amorçage, qui propose au démarrage
de choisir quel OS lancer. Le plus populaire est lilo, c'est celui
qui est installé par défaut par Debian (et d'autres distributions).
Sinon il y a aussi grub qui est proposé par l'installation de la Mandrake
et de Connectiva Linux entre autres.

La première chose à savoir avant de commencer c'est qu'il peut y
avoir un problème si vous avez une interface IDE. En effet les BIOS
anciens ne peuvent accéder au démarrage qu'aux 1024 premiers cylindres.

Les versions anciennes de lilo (antérieures à 21) présentent la même limitation.
Si c'est votre cas vous devez veiller à installer linux en-dessous de cette
limite. Ceci ne concerne que les disques de grande capacité, mon ancien disque
de 3,2 Go n'atteignait pas cette limite.

Pour les versions récentes de lilo (j'utilise la 21.4.3)
il faut utiliser l'option '-L' qui
oblige lilo à utiliser l'adressage LBA 32-bits, à condition
bien sûr d'avoir activée
cette option dans votre BIOS (ce qui est le cas par défaut
sur mon portable, et ma carte mère ASUS A7M166).

Agencement de mon disque dur

Maintenant passons à la pratique. La configuration de lilo se fait
à travers le fichier /etc/lilo.conf. Voici comment est
partitionné mon disque dur de 11,2 Go:


                              Disque Dur: /dev/hda
                            Size: 12068904960 bytes
              Têtes: 255   Secteurs par Piste: 63  Cylindres: 1467

    Nom         Drapeaux   Type de SF Type SF          [Label]        Taille(Mo)
 ------------------------------------------------------------------------------
    hda1        Boot        Primaire  FAT16            [WIN98      ]    2146,80
    hda2                    Primaire  Inconnu (A9)                      2146,77*
                            Pri/Log   Espace Libre                         0,04*
    hda5                    Logique   Win95 FAT32                       2146,80
    hda6                    Logique   Linux ext2                        2146,80
    hda7                    Logique   Linux swap                         131,61
    hda8                    Logique   Linux ext2                        2146,80
    hda9                    Logique   FAT16            [MP3        ]    1200,90
      

Bon, alors accrochez-vous, c'est pas trivial:


  • hda1: partition primaire amorçable, contient Windows 98;
  • hda2: partition primaire, contient NetBSD;
  • hda5: partition logique FAT32, utilisée sous Windows;
  • hda6: partition logique ext2, mon système Linux de test;
  • hda7: partition logique pour le swap de mes 2 systèmes Linux;
  • hda8: partition logique ext2, mon système Linux normal;
  • hda9: partition logique FAT16, utilisée sous Windows.


Je veux donc, au démarrage, pouvoir choisir entre Windows, NetBSD et mes 2 systèmes Linux
(le système de test contenant plusieurs noyaux).

Le fichier de configuration

Voici détaillé le contenu de mon fichier /etc/lilo.conf:


# fichier de config de lilo
# /etc/lilo.conf

boot = /dev/hda         # indique que lilo s'installe sur le MBR du premier disque IDE
compact 
install = /boot/boot.b  # localisation du fichier que lilo recopie sur le secteur de boot
map = /boot/map         # fichier généré par lilo lors de son installation
prompt                  # propose un choix au démarrage
timeout=90              # durée de ce choix en millisecondes (90 = 9 secondes)
default=dos		# système amorcé par défaut

# partition windows sur /dev/hda1
other = /dev/hda1	# emplacement de la partition
   table = /dev/hda	# emplacement de la table de partition
   label = dos		# nom du système pour le menu d'amorçage

# partition NetBSD sur /dev/hda2
other = /dev/hda2
   table = /dev/hda
   label = netbsd

# système Linux principal sur /dev/hda8
image = /boot/vmlinuz-2.2.17	# emplacement du noyau
   label = linux		# nom du système pour le menu d'amorçage
   root = /dev/hda8		# emplacement de la partition racine
   vga = 0x314 			# 800x600 16 bits en FrameBuffer

# système Linux de test sur /dev/hda6 avec 2 noyaux au choix
image = /boot/vmlinuz-2.2.17	# premier noyau
   label = test
   root = /dev/hda6
   vga = 0x314 

image = /boot/vmlinuz-2.4.0	# deuxième noyau, sur la même partition racine
   label = test4
   root = /dev/hda6
   vga = 0x314
      

Voilà, il ne reste plus qu'à installer lilo avec la commande '/sbin/lilo -L'
en tant que root. Si tout se passe bien vous devriez avoir ceci:

kaneloon% sudo /sbin/lilo -L
Added dos *
Added netbsd
Added linux
Added test
Added test4
kaneloon%
      

Réamorçage

Il ne vous reste plus qu'à réamorcer votre système pour voir si tout marche:
'/sbin/shutdown -r now'. Je ne saurais trop vous conseiller de TOUJOURS
avoir une disquette d'amorçage disponible au cas ou ... Ca peut éviter de devoir
tout réinstaller. A défaut un CD-ROM amorçable (celui que vous avez utiliser pour
l'installation par exemple) peut également faire l'affaire.

Vous devriez vous retrouver avec l'invite:


boot:


si tout se passe bien. Vous pouvez soit attendre que lilo lance le système par
défaut, soit entrer le nom du système que vous voulez lancer. Attention, à ce
moment là le clavier est en qwerty ! Si vous ne vous souvenez plus du nom que
vous avez donné à votre système, une pression sur la touche TAB vous
listera les noms disponibles.

Suppression de lilo

La suppression de lilo est très simple. Vous avez 2 possibilités:

  1. sous DOS: 'fdisk /mbr ';
  2. sous Linux en tant que root: 'dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1'.
    Ceci recopie le secteur d'amorçage originel (sauvegardé par lilo lors de son installation,
    '/boot/boot.0300' pour un disque IDE, '/boot/boot.0800' pour un SCSI) sur
    le disque dur. Seuls les 446 premiers octets sont nécessaires, les autres contiennent
    la table de partition.
  3. Lilo et un autre bootloader (win2k + win98se + linux)

    Je ne détaillerai pas l'installation de windows 2000 et windows 98se. Je vous
    conseille néemmoins de préparer les partitions à l'avance (avec Powerquest Partition
    Magique par exemple), et de ne pas utiliser le bootloader de 2000 pour choisir entre
    2000 et 98.

    Voici le problème:

                                 Disque Dur: /dev/hda
                                Size: 40020664320 bytes
                  Têtes: 255   Secteurs par Piste: 63  Cylindres: 4865
    
        Nom         Drapeaux   Type de SF Type SF          [Label]        Taille(Mo)
     ------------------------------------------------------------------------------
        hda1                    Primaire  NTFS                              5025,65
        hda3        Boot        Primaire  Win95 FAT32                       1998,75
        hda5                    Logique   Win95 FAT32                      10487,24
        hda6                    Logique   Win95 FAT32                      10487,24
                                Logique   Espace Libre                      4359,40
        hda7                    Logique   Linux ext2                        2138,58
        hda8                    Logique   Linux ext2                        5247,73
        hda9                    Logique   Linux swap                         271,44

    Je n'ai pas réussi en utilisant lilo à choisir entre les deux windows au
    démarrage. J'ai donc utilisé un autre bootloader, Powerquest BootMagic en
    l'occurence. Il y a 3 entrées: windows 2000, windows 98se, et linux.
    Pour ce faire il faut installer lilo au début de la partition linux, et non sur
    le MBR. Cela se fait par l'option:

    boot = /dev/hda8 # au lieu de boot = /dev/hda

    Et lilo ne me sert plus qu'à choisir les différents noyaux installés sur ma partition.

    Matériel

    Sans matériel, un ordinateur ne sert pas à grand chose ...

    Dans cette section j'ai repris deux anciens articles qui ne me servent plus beaucoup :

    Activer le WiFi avec une puce Intel PRO/Wireless 5100 AGN [Shiloh]

    Introduction

    Mon nouveau portable, un HP 6730b, intègre un jeu de composant WiFi Intel Pro/Wireless 5100 :
    02:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection

    Par chance, il est supporté par le noyau 2.6.27, par malchance, le noyau actuellement disponible avec Debian Lenny est le 2.6.26.

    ATTENTION : il faut de plus télécharger le micrologiciel (firmware en anglais) chez Intel, et accepter leur licence, ce qui fait que votre linux sera un peu moins libre.

    Installer le micrologiciel

    Il faut télécharger le micrologiciel sur le site d'intel, ici pour être précis. Il suffit de décompresser l'archive iwlwifi-5000-ucode-5.4.A.11.tar.gz et de copier le fichier iwlwifi-5000-1.ucode dans le répertoire /lib/firmware :
    $ tar -xvzf iwlwifi-5000-ucode-5.4.A.11.tar.gz
    $ sudo cp iwlwifi-5000-ucode-5.4.A.11/iwlwifi-5000-1.ucode /lib/firmware/

    Compiler le noyau

    Je ne vais pas détailler la compilation du noyau à la Debian, je vous renvoie sur l'article du site Andesi.

    Pour faire simple, je reconfigure le noyau avec les mêmes options que celui qui tourne en récupérant le fichier /boot/config-2.6.26-1-amd64 (à adapter à votre système). Ensuite il faut activer ces options :

    CONFIG_IWLWIFI=m
    CONFIG_IWLCORE=m
    CONFIG_IWLWIFI_LEDS=y
    CONFIG_IWLWIFI_RFKILL=y
    CONFIG_IWLAGN=m
    CONFIG_IWLAGN_SPECTRUM_MEASUREMENT=y
    CONFIG_IWLAGN_LEDS=y
    CONFIG_IWL5000=y

    REMARQUE : à priori, en utilisant les pilotes de Linuxwireless, il n'est pas nécessaire de passer au noyau 2.6.27, ça devrait fonctionner sur le 2.6.26 d'une Debian Lenny, mais j'ai la flemme de vérifier.

    Pour terminer

    Une fois le nouveau noyau installé, et l'ordinateur re-démarré, vous devriez avoir ceci dans votre dmesg :

    [...]
    iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, 1.3.27ks
    iwlagn: Copyright(c) 2003-2008 Intel Corporation
    iwlagn 0000:02:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
    iwlagn 0000:02:00.0: setting latency timer to 64
    iwlagn: Detected Intel Wireless WiFi Link 5100AGN REV=0x54
    iwlagn: Tunable channels: 13 802.11bg, 24 802.11a channels
    iwlagn 0000:02:00.0: PCI INT A disabled
    hy0: Selected rate control algorithm 'iwl-agn-rs'

    On peut également vérifier les modules chargés :
    $ lsmod |grep iw
    iwlagn 77700 0
    iwlcore 77252 1 iwlagn
    rfkill 8984 2 iwlcore
    led_class 4740 1 iwlcore
    mac80211 136988 2 iwlagn,iwlcore
    cfg80211 22152 3 iwlagn,iwlcore,mac80211

    Et pour finir, on vérifie l'état de l'interface réseau sans fil :
    $ /sbin/iwconfig
    lo no wireless extensions.

    eth0 no wireless extensions.

    wmaster0 no wireless extensions.

    wlan0 IEEE 802.11abgn ESSID:"MaCage"
    Mode:Managed Frequency:2.427 GHz Access Point: xx:xx:xx:xx:xx:xx
    Bit Rate=54 Mb/s Tx-Power=15 dBm
    Retry min limit:7 RTS thr:off Fragment thr=2352 B
    Power Management:off
    Link Quality=100/100 Signal level:-43 dBm Noise level=-88 dBm
    Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
    Tx excessive retries:0 Invalid misc:0 Missed beacon:0

    Ah oui, si vous avez un interrupteur qui active/désactive le WiFi et/ou le Bluetooth, il faut veiller à ce qu'il soit allumé bien sûr pour que ça fonctionne ! Ou désactiver cette fonction dans le BIOS ...

    Après, pour gérer mes connections, j'utilise wicd, ce n'est pas dans les dépôts Debian mais je n'ai jamais réussi à faire fonctionner NetworkManager en wpa2. J'ai fait un petit tuto pour configurer wicd.

    Installer Debian 2.1 (slink) sur un IBM Thinkpad 390 (2626-2FR)

    Installer Debian 2.1 (slink) sur un IBM Thinkpad 390
    (2626-2FR)

    écrit par Sébastien KALT
    dernière mise à jour le 21 août
    2000

    Introduction

    Beaucoup de monde parle de linux en ce moment, que ce soit dans la presse
    informatique, et même dans des journaux grand public. Comme je suis plutôt
    curieux par nature j'ai donc décidé de me procurer une distribution linux et
    de l'installer sur mon ordinateur. Après avoir fourbi mes armes sur une RedHat
    5.2 (je suis totalement novice en système linux / unix) j'ai installé Debian
    2.1 pas plus tard que la semaine dernière. Tout s'est bien passé en partie
    grâce au travail que j'avais précédemment réalisé pour la RedHat. Le support
    APM marche, j'ai X-Windows en 800x600x24 (le maximum supporté par mon moniteur
    LCD), ma connexion internet par modem fonctionne également.

    Après pas mal de galère je crois que j'ai enfin le son sur mon Thinkpad !
    Enfin presque, des fois ça marche, et d'autres ça ne marche pas, mais
    maintenant c'est un problème induit par la mise en hibernation.

    Caractéristiques de la machine

    • modèle: IBM Thinkpad 390 (2626-2FR);
    • écran: TFT 12'1 800x600x24bpp;
    • CPU: Intel Pentium Mobile 233 mmx;
    • RAM: 64 Mo SDRAM 66 MHz;
    • disque dur: IBM (DKLA-23240) 3.2 Go ATA-4, UDMA;
    • batterie: NI-MH;
    • périphériques: disquette 1.44 Mo et CDROM SANYO CRD-S372B
      internes (UltraBay FX);
    • connections: parallèle, série, IRDA, USB, PCMCIA;
    • chipset vidéo: NeoMagic NM2200 (=NMG5 =256AV) PCI avec 2.5 Mo
      VRAM;
    • chipset son: NeoMagic NMA2 (256AV);
    • haut-parleurs: Altec Lansing 0.1 watts;
    • modem: PCMCIA IBM 56 (origine PSION).

    Installation de Debian

    L'installation s'est déroulée sans trop de problèmes. Par défaut j'ai réglé
    mon BIOS pour qu'il ne boote pas sur l'unité de CD-ROM. La première chose à
    faire est donc de changer ce réglage (le réglage d'origine boote sur la
    disquette, puis le CD-Rom, puis le réseau et enfin sur le disque dur). Ensuite
    mettre le CD-ROM Debian dans le lecteur, et rebooter. Et si 'la Force est avec
    vous' l'installation de Debian peut commencer ...

    Le partitionnement d'origine du disque comprend une partition FAT16 de 2 Go
    pour windows 98 et une partition FAT32 étendue de 1 Go. J'ai donc supprimé
    cette seconde partition sous windows pour y installer Linux. Mon disque dur a
    donc la structure suivante:

         Disk /dev/hda: 128 heads, 63 sectors, 788 cylinders
         Units = cylindres of 8064 * 512 bytes
    
            Device Boot    Start       End    Blocks   Id  System
         /dev/hda1   *         1       520   2096608+   6  FAT16
         /dev/hda2           772       788     68544   82  Linux swap
         /dev/hda3           521       771   1012032   83  Linux
    

    Une partition de swap de 68 Mo pour mes 64 Mo de RAM, et le reste de la
    place pour ma partition Linux. Au début je faisais une partition pour
    '/' et une autre pour '/usr', mais je me suis rendu compte
    que vu la place que j'avais ce n'était pas une très bonne idée: quand j'ai
    voulu installer Star Office il n'avait pas assez de place dans le répertoire
    temporaire pour décompresser les fichiers d'installation.

    La gestion de l'énergie, et en particulier la mise en hibernation, semble
    nécessiter que la partition bootable soit la partition windows 98, puisque le
    fichier d'hibernation se trouve sur celle là. Peut être qu'en créant une
    partition d'hibernation ce problème est résolu. Comme en fait j'utilise
    windows au travail je boote par défaut ce système d'exploitation donc je ne me
    suis pas vraiment penché sur le problème.

    Le démarrage est assuré par lilo. Un conseil: créez toujours la disquette
    de boot linux pendant l'installation ! J'ai laissé debian installer lilo pour
    moi, mais ça ne marchait pas. J'ai donc personnalisé mon lilo.conf pour qu'il boote par défaut sur windows,
    et seulement à la demande sur linux.

    Configuration de XFree86

    Contrairement à ce que je pensais (et surtout à ce que j'avais enduré sous
    RedHat) la configuration de X se fit sans aucun problèmes. Debian fournit
    'XFree86 Version 3.3.3.1' qui supporte la puce NeoMagic 256AV par son
    serveur SVGA. Il suffit donc d'installer les paquets X avec les serveurs SVGA
    et VGA16 (ça c'est pour la configuration). Ensuite il suffit, en tant que
    root de lancer 'XF86Setup', dans la rubrique 'Card' de
    choisir 'advanced', puis 'NM2200', et de passer comme argument supplémentaire
    'hw_cursor' (non indispensable). Dans la section 'screen', vu qu'il
    n'y avait aucun panneau LCD, j'ai décidé de choisir 'generic SVGA' et
    je dois dire que tout marche à merveille.

    Ensuite, par sécurité (normalement tous les modes non supportés sont
    désactivés au lancement de X automatiquement), j'ai édité le fichier
    'XF86Config' et j'ai viré tous les modes non supportés par ma carte
    ou mon écran, en gros toute résolution autre que 800x600, et la profondeur de
    couleur 32 bits. Et ensuite j'ai spécifié 16 bits par défaut, et une
    résolution virtuelle de 1024x768.

    Si ça peut vous intéresser vous trouverez mon fichier href="XF86Config">XF86Config.

    Compilation du Noyau

    La compilation du noyau n'a jamais posé de problèmes particulier: j'ai
    recompilé 'à la façon Debian' le noyau 2.0.36 livré, ainsi que le 2.2.9, et du
    2.2.12 au 2.2.17 que j'utilise actuellement. J'ai même testé le 2.4.0-TEST5 mais
    la gestion d'énergie par ACPI est encore balbutiante.

    Je ne vais pas m'étendre sur ce sujet, je vous conseille de consulter le site
    Linux Aide, ils expliquent la
    compilation du noyau, et j'ai même participé pour la page sur la compilation
    'à la façon Debian'.

    Je vous conseille quand même d'intégrer le support APM (menu 'general
    setup
    '):

    • APM support: Y
    • Ignore User Suspend: N
    • Enable PM at boot time: Y
    • Make CPU idle calls when idle: Y
    • Enable console blanking using APM: Y
    • Power off on shutdown: Y
    • ignore multiple suspend: N (à priori ne concerne que les
      Thinkpad 560)
    • ignore multiple suspend/resume cycles: N (à priori ne concerne
      que les Dell Inspirion 3200 et consorts)

    Un petit conseil: n'hésitez pas à faire la disquette de boot, même si votre
    configuration lilo marche aux petits oignons, on ne sait jamais.

    Support du son

    Tout ne marche pas encore parfaitement. Mais je peux lire un CD et utiliser
    Freeamp, par le biais du serveur de son Enlightenment: esound. Par contre le
    son ne marche plus lors du retour d'une hibernation. Un petit détail à régler
    (si vous avez la solution n'hésitez pas à m'en faire part !!). En attendant
    que le driver ALSA soit disponible,
    pour le moment aucune date n'a été précisée.

    Donc pour le moment cette satanée carte son se comporte comme une Yamaha
    OPL3-SAx (YMF719) (dixit le noyau). Il
    faut donc compiler les modules suivants dans votre noyau 2.2.x (je crois
    qu'ils n'existaient pas dans les 2.0.x):

    • Menu "Sound"
      • Sound card support: M
      • OSS sound modules: M
      • MPU-401 support (not for SB16): M
      • PSS (AD1848, ADSP-2115, ESC614) support: M
      • Microsoft Sound System support: M
      • Support for Yamaha OPL3-SA2, SA3, and SAx based PnP cards: M
      • FM synthesizer (YM2812/OPL-3) support: M

    • Menu "Additional low level sound drivers"

      • Additional low level sound drivers: Y

    Et voilà, maintenant il ne reste plus qu'à lancer la compilation,
    installer le noyau nouvellement compilé et rebooter.

    Maintenant pour charger les modules dans le noyau, il y a 2 manières:


    • soit manuellement avec un ch'ti script (c'est moins fatiguant):


    $ vi son

    #! /bin/sh



    modprobe sound

    insmod mpu401

    insmod ad1848

    insmod opl3sa2 mss_io=0x530 irq=5 dma=0 dma2=1 mpu_io=0x300 io=0x370

    insmod opl3 io=0x388

    # ---------- fin du script


    Il faut être root pour que ça marche, ou mettre un 'sudo' devant chaque ligne et inclure les utilisateurs
    autorisés dans /etc/sudoers. Sur la console ça doit nous donner ceci:

    $ ~/son

    Using /lib/modules/2.2.15/misc/mpu401.o

    Using /lib/modules/2.2.15/misc/ad1848.o

    Using /lib/modules/2.2.15/misc/opl3sa2.o

    Using /lib/modules/2.2.15/misc/opl3.o

  4. soit automatiquement par modprobe:
  5. Pour cela il faut ajouter un fichier /etc/modutils/sound contenant ces lignes:


    $ vi /etc/modutils/sound
    # Configuration de la carte son NeoMagic 256av

    #



    alias char-major-14 opl3sa2

    pre-install opl3sa2 modprobe "-k" "ad1848"

    post-install opl3sa2 modprobe "-k" "opl3"



    options opl3sa2 mss_io=0x530 irq=5 dma=0 dma2=1 mpu_io=0x300 io=0x370

    options opl3 io=0x388

    # ---------- fin du fichier /etc/modutils/sound

    Puis faire un update-modules: cela mettra à jour votre fichier
    /etc/modules.conf (consulter les pages de man pour plus d'informations). Pour charger
    les modules appropriés il suffit de faire (sous root):

    $ modprobe opl3sa2

    Si l'on jette un oeil sur sur /var/log/kern.log on doit avoir ces entrées:


    May 20 22:20:45 foo kernel: ad1848/cs4248 codec driver Copyright (C) by Hannu Savolainen 1993-1996

    May 20 22:20:45 foo kernel: Found OPL3-SAx (YMF719)

    May 20 22:20:45 foo kernel: YM3812 and OPL-3 driver
    Copyright (C) by Hannu Savolainen, Rob Hooft 1993-1996


    Et il doit y avoir les modules suivant de chargés:


    $ lsmod

      Module                  Size  Used by
      opl3                   10920   0 (autoclean) (unused)
      opl3sa2                 3888   0 (unused)
      ad1848                 15856   0 [opl3sa2]
      mpu401                 18480   0 [opl3sa2]
      sound                  55512   0 [opl3 opl3sa2 ad1848 mpu401]
      soundlow                 344   0 [sound]
      soundcore               2372   7 [sound]


    Il peut être utile de prendre une précaution si vous utilisez le support PCMCIA: exclure l'IRQ et les
    plages mémoires utilisés par la puce son en ajoutant ces lignes dans votre
    /etc/pcmcia/config.opts:


    # Sound chipset

    exclude irq 5

    exclude memory 0x300-0x301, memory 0x530-0x538


    Et voilà, maintenant vous devriez pouvoir entendre du son. Je vous renvois aux Sound HOWTO

    et Sound-Playing HOWTO pour plus d'informations sur le son. J'ai expérimenté quelques problèmes
    que j'ai résolus (en partie) en changeant de Window Manager pour Enlightenment et en utilisant
    esd, 'Enlightenment sound daemon'.

    Installer une carte ATI RADEON 9700 PRO

    Introduction

    Ce document explique comment installer une carte Gigabyte MAYA II Radeon 9700pro sous Debian Sarge.

    Il s'inspire fortement du document de Flavio Stanchina pour la partie concernant la création des paquets Debian.

    Pré-requis au niveau du noyau

    Il vous faut le support AGP pour que les pilotes puissent marcher correctement. Vous pouvez soit utiliser le module du noyau, soit utiliser le support interne aux pilotes ATI. Si les deux marchent, faites des essais pour voir si l'une des méthodes est plus performante que l'autre.

    Le support du jeu de composants VIA KT400 n'est pas idéal dans les noyaux 2.4.xx, je vous conseille d'utiliser un noyau 2.6.xx. Ma carte mère MSI KT4Ultra marche très bien avec un noyau 2.6.8 ainsi qu'un 2.6.10.

    Options à compiler

    Vous avez juste besoin du support AGP si vous souhaitez utiliser le pilote agpgart du noyau. L'idéal est de le compiler en module pour avoir le choix entre l'utiliser ou ne pas l'utiliser, telle est la question ...

    Pour les noyaux 2.6.xx il y a deux modules à compiler : agpgart et le module spécifique à votre carte mère (via-agp, nvidia-agp, ...)

    Il ne faut surtout pas compiler en dur le support Direct Rendering Manager, cela peut empêcher le pilote de marcher correctement.

    Voici un tableau qui reprend les options affectant le pilote fglrx, si vous rencontrez des problèmes essayez de compiler votre noyau avec ces options :

    Options du noyau

    Remarques
    CONFIG_MODULES=y

    CONFIG_MODULE_UNLOAD=y

    CONFIG_KMOD=y

    Vérifiez bien que CONFIG_MODVERSIONS n'est
    pas sélectionné
    CONFIG_MTRR=y Le pilote fglrx a besoin du support MTRR
    (Memory Type Range Register)
    CONFIG_AGP=m

    CONFIG_AGP_chipset=m
    Activez les pilotes pour les jeux de composants AGP
    de votre carte mère, par exemple
    CONFIG_AGP_VIA, CONFIG_AGP_NVIDIA, ... Ne
    sélectionnez pas CONFIG_AGP=y si vous voulez
    utiliser le support AGP interne au pilote
    fglrx.
    CONFIG_DRM=y

    CONFIG_DRM_RADEON=m
    Les logiciels détectant automatiquement le
    matériel peuvent vouloir charger le module
    DRM radeon lors du démarrage de votre
    machine. Si c'est votre cas, personalisez la
    configuration des logiciels de détection
    pour les en empêcher, ou ne compilez pas ce
    module.
    # CONFIG_FB is not set CONFIG_FB_VESA=y est censé marcher, mais
    apparement cela peut occasionner
    des erreurs de "mtrr overlapping"
    ;

    CONFIG_FB_RADEON=y est source de problèmes,
    à désactiver absolument.

    CONFIG_TMPFS=y ATI proclame POSIX
    shared memory is required
    !

    Chargement des modules

    Un fois votre noyau compilé et installé, on va charger le module AGP et vérifier que tout se passe bien :

    # modprobe -k via-agp
    Linux agpgart interface v0.100 (c) Dave Jones
    agpgart: Detected VIA KT400/KT400A/KT600 chipset
    agpgart: Maximum main memory to use for agp memory: 439M
    agpgart: AGP aperture is 256M @ 0xe0000000

    Pour que le module se charge automatiquement au démarrage de votre machine, il faut rajouter dans votre fichier /etc/modules :

    # driver port AGP
    # pour 2.6.x
    via-agp

    Compilation et installation des pilotes

    Deux méthodes permettent d'arriver au même résultat:

    • récupérer les pilotes sur le site ATI et les compiler,
    • récupérer les scripts de Flavio Stanchina et compiler des paquets Debian.

    Personnellement je trouve la deuxième méthode plus propre, mais chacun est maitre de sa machine !

    Quoi que vous choisissiez, il y a quelques paquets à avoir sur sa machine :

    # apt-get install debhelper libqt3-mt-dev xlibs-dev fakeroot rpm wget

    Première méthode : compiler les pilotes ATI directement

    Fichiers nécessaires

    Vous aurez besoin des pilotes fournis par ATI. Normalement ils sont disponibles sur leur site. Sinon essayez ce site (les pilotes sont communs à toutes les cartes ATI, y compris les FireGL). Au 27 décembre 2005, la dernière version disponible est la 8.19.10, et les notes de version sont disponibles ici.

    Pour une Debian Sarge, il faut récupérer la version pour XFree 4.3.0. Comme vous pouvez le voir, l'archive fournie est au format rpm, ce qui n'est pas très utile sur une Debian. Il faut donc bidouiller un peu pour faire l'installation. Créez un répertoire radeon et mettez-y le fichier :

    $ cd /usr/local/src
    $ mkdir radeon
    $ cd radeon
    $ wget http://www2.ati.com/drivers/linux/fglrx-4.3.0-x.x.xx.i386.rpm

    Extraction de l'archive rpm

    Pour cela il faut utiliser rpm2cpio (si ce n'est pas déjà fait, installez le paquet "rpm" : apt-get install rpm) :

    $ rpm2cpio fglrx-4.3.0-x.x.xx.i386.rpm | cpio -i --make-directories

    Maintenant il va falloir compiler le module ATI spécifique.

    Compilation des modules

    Les modules sont dans le répertoire lib/modules/fglrx/. Pour les recompiler on va commencer par copier le répertoire dans /lib/modules/ :

    # cp -r lib/modules/fglrx /lib/modules
    $ cd /lib/modules/fglrx/build_mod
    # sh make.sh

    Les modules compilés sont placés dans /lib/modules/fglrx/.

    Installation des modules

    $ cd ../
    # ./make_install.sh

    - creating symlink
    - recreating module dependency list
    - trying a sample load of the kernel module
    Warning: loading /lib/modules/2.4.20/kernel/drivers/char/drm/fglrx.o will taint
    the kernel: non-GPL license - Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY
    [fglrx] Maximum main memory to use for locked dma buffers: 432 MBytes.
    ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16
    [fglrx] module loaded - fglrx 3.14.1 [Sep 27 2004] on minor 0
    [fglrx] module unloaded - fglrx 3.14.1 [Sep 27 2004] on minor 0
    done.

    Et voilà, les modules sont installés. N'oubliez pas de recommencer à chaque fois que vous compilez un nouveau noyau.

    Installation des pilotes pour XFree

    Maintenant il faut installer les pilotes nécessaires pour XFree :

    # cd /usr/local/src/radeon/usr/X11R6
    # cp -a lib/modules/* /usr/X11R6/lib/
    # mv /usr/X11R6/lib/libGL.so.1.2 /usr/X11R6/lib/OLD.libGL.SO.1.2
    # cp lib/libGL.so.1.2 /usr/X22R6/lib
    # cp bin/* /usr/X11R6/bin

    Cette dernière commande copie quelques utilitaires, comme fglrxconfig pour générer votre fichier XF86Config-4. Il est déconseillé de l'utiliser (cf section configuration).

    Deuxième méthode : compiler des paquets Debian

    Fichiers nécessaires

    Au 27 décembre 2005, les scripts fournis par Flavio Stanchina vont empaqueter les pilotes ATI version 8.19.10. Vous pouvez empaqueter une version différente des pilotes en utilisant une variable d'environnement lors de l'invocation de debian/rules. Cette option n'a pas beaucoup été testée, elle est donc réservée aux utilisateurs qui savent ce qu'ils font !

    Le script détecte la version de XFree86 présente sur votre machine, et il téléchargera automatiquement le pilote ATI correspondant. Vous pouvez demander une version de pilote différente, mais cette manipulation n'est pas documentée, à réserver donc aux pros qui trouveront d'eux-même.

    Flavio a intégré le support pour module-assistant. Il a dû supprimer du nom des paquet la version d'X pour laquelle ils sont créés, il faudra donc veiller à supprimer manuellement l'ancienne version lors de la mise à jour.

    Voici les deux fichiers à télécharger :

    Création et installation des paquets Debian

    On va placer ces fichiers dans un répertoire radeon, puis on va les dépaqueter (x.x.xx-x = 8.19.10-1):

    $ mkdir /usr/local/src/radeon
    $ cd /usr/local/src/radeon
    $ wget http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer_x.x.xx...
    $ wget http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer_x.x.xx...
    $ dpkg-source -x fglrx-installer_x.x.xx-x.dsc
    $ cd fglrx-installer-x.x.xx
    $ fakeroot debian/rules binary

    Le script va télécharger le pilote sur le site ATI, puis il va construire les paquets suivant :

    • fglrx-driver_x.x.xx-x_i386.deb
    • fglrx-driver-dev_x.x.xx-x_i386.deb
    • fglrx-kernel-src_x.x.xx-x_i386.deb
    • fglrx-control-qt2_x.x.xx-x_i386.deb
    • fglrx-control-qt3_x.x.xx-x_i386.deb (uniquement pour XFree86 4.3)
    • fglrx-sources_x.x.xx-x_i386.deb

    Maintenant il ne reste plus qu'à installer les paquets :
    attention N'oubliez pas de supprimer l'ancienne version des pilotes avant la mise à jour en exécutant : apt-get remove "fglrx-4.*"

    # dpkg -i fglrx-driver_x.x.xx-x_i386.deb (pilote ATI)
    # dpkg -i fglrx-kernel-src_x.x.xx-x_i386.deb (source du module noyau à compiler)
    # dpkg -i fglrx-control-qt3_x.x.xx-x_i386.deb (contient le panneau de contrôle sous X)

    Le paquet -driver-dev contient les en-têtes et la bibliothèque statique libfglrx_gamma.a, ce qui est utile uniquement si vous comptez développer des applications pour les cartes ATI. Le paquet sources contient les sources du panneau de contrôle.

    Compilation des modules du noyau

    L'installation du paquet -kernel-src a placé un fichier dans le répertoire /usr/src/. On va y aller et le décompresser :

    $ cd /usr/src
    $ tar -xvzf fglrx-kernel-src.tar.gz

    Cela crée un répertoire /usr/src/modules/fglrx-kernel-src contenant les modules du noyau à compiler. Vous pouvez le faire de différentes façon : avec le script fourni, avec le makefile du noyau (pour les versions 2.6.x), ou avec make-kpkg. C'est bien sûr cette dernière méthode que je vous conseille.

    Ces méthodes compilent un module pour la même version que le noyau qui tourne sur votre machine. Normalement les nouveaux pilotes ATI peuvent se compiler avec les fichiers d'en-têtes de votre noyau, mais je n'ai pas testé cette façon de procéder.

    ATTENTION : si la méthode avec les en-têtes du noyau ne marche pas, il vous faut récupérer les sources de votre noyau et le configurer correctement :
    $ apt-get install kernel-source-2.x.y
    $ cd /usr/src
    $ tar xjvf kernel-source-2.x.y.tar.bz2
    $ cd kernel-source-2.x.y
    $ cp /boot/config-2.x.y-saveur .config
    $ make-kpkg --append-to-version "-flavour" --revision 2.x.y-z --config old configure

    -saveur dépend de votre architecture, par exemple -1-k7 pour un Athlon.

    Compilation avec le script ATI

    Cette méthode compile un module pour la même version que le noyau qui tourne sur votre machine.
    $ cd /usr/src/modules/fglrx-kernel-src
    $ ./make.sh

    Compilation avec le makefile du noyau (uniquement pour 2.6.x)

    Cette méthode compile un module pour la même version que le noyau qui tourne sur votre machine. Si vous n'arrivez pas à compiler un module avec la méthode make-kpkg, essayez cette méthode et installez le module à la main. Si le module marche alors vous devez juste vous trompez dans les paramètres de make-kpkg.
    $ cd /usr/src/linux
    $ make SUBDIRS=/usr/src/modules/fglrx-kernel-src modules

    Compilation à l'aide de la commande make-kpkg

    $ cd /usr/src/linux
    $ fakeroot make-kpkg --append-to-version "-flavour" --added-modules fglrx-kernel-src modules_image

    "-flavour" doit correspondre à la valeur de votre noyau, quelque chose comme "-1-k7" pour un noyau précompilé par Debian pour un processeur Athlon. Il ne vous reste plus maintenant qu'à installer le paquet :
    $ cd ../
    # dpkg -i /usr/src/fglrx-kernel-x.y.z_x.x.xx-x+kernelversion_i386.deb

    ATTENTION : si vous compilez vos propres paquets il est souhaitable que vous mettiez à jour le paquet debhelper vers la version 4.2.11 (voir le bogue Debian #248624), sinon vous aurez besoin de lancer manuellement un update-modules après l'installation du paquet.

    Compilation avec module-assistant

    J'ai testé cette méthode, et ça marche très bien.
    $ module-assistant -k /usr/src/linux update
    $ module-assistant -k /usr/src/linux build fglrx-kernel
    $ module-assistant -k /usr/src/linux install fglrx-kernel

    Si vous préférez construire les paquets avec module-assistant depuis votre compte utilisateur :
    $ mkdir ~/src/modass
    $ module-assistant -u ~/src/modass -k ~/src/linux update
    $ module-assistant -u ~/src/modass -k ~/src/linux build fglrx-kernel
    $ module-assistant -u ~/src/modass -k ~/src/linux install fglrx-kernel

    Installation du module du noyau

    Si vous avez compilé votre module à l'aide de la commande make-kpkg, vous avez un paquet Debian à installer. Sinon vous devez copier le module du répertoire /usr/src/modules/fglrx-kernel-src vers le répertoire des modules de votre noyau, /lib/modules/2.6.8 par exemple, puis lancer un depmod -ae :
    # cp /usr/src/modules/fglrx-kernel-src/fglrx.ko /lib/modules/2.6.8./misc
    # depmod -ae

    Maintenant il ne reste plus qu'à charger le module :
    # modprobe -k fglrx
    [fglrx] Maximum main memory to use for locked dma buffers: 431 MBytes.
    ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16
    [fglrx] module loaded - fglrx 8.8.25 [Jan 14 2005] on minor 0

    Si le module n'arrive pas à se charger, vérifiez que vous avez bien installé le module du noyau, que vous avez lu l'avertissement concernant le bogue #248624, et consultez votre dmesg pour d'éventuels messages d'erreurs.

    ATTENTION : si vous avez une erreur du genre unresolved symbol dev_base_R863b01ad, cela signifie que le module a été compilé avec l'option CONFIG_MODVERSIONS=yes alors que le noyau en cours d'exécution ne l'a pas été. Autrement dit, la configuration des sources du noyau est différente de celle du noyau en cours d'exécution : vérifiez que vous avez bien configuré les sources de votre noyau, et surtout que CONFIG_MODVERSIONS n'est pas activé.

    Configuration de XFree

    ATTENTION : le paquet du pilote fournit un outil de configuration automatique appelé fglrxconfig. Surtout ne l'utilisez pas ! Cet utilitaire est utile si vous voulez utiliser les fonctionnalités d'affichage sur deux écrans. Mais avant d'en arriver là, vérifiez au préalable que l'affichage sur un seul écran marche correctement. Quoi qu'il en soit, soyez prévenu que fglrxconfig remplacera votre fichier de configuration d'XFree86, alors faites en une sauvegarde avant toute chose !

    ATTENTION : si vous éditez manuellement votre fichier /etc/X11/XF86Config-4, il ne sera alors plus géré par debconf. Si vous voulez que debconf en reprenne la gestion, il faut faire : cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom, puis md5sum /etc/X11/XF86Config-4 >/var/lib/xfree86/XF86Config-4.md5sum et enfin dpkg-reconfigure xserver-xfree86.

    Éditez votre fichier /etc/X11/XF86Config-4 pour avoir les options suivantes :

    Section "Module"
      ...
      Load "GLcore"
      Load "glx"
      Load "dri"
      ...
      # Charge "extmod" mais sans DGA extension
      SubSection "extmod"
        Option "omit xfree86-dga"
      EndSubSection
      ...
    EndSection
    Section "Device"
      Identifier "ATI"
      Driver     "fglrx" # La partie importante
    # Si X refuse de se charger à la résolution spécifiée,
    # essayez de dé-commenter l'option suivante.
      #Option "NoDDC"
    # === Video Overlay for the Xv extension ===
      Option "VideoOverlay" "on"
    # === OpenGL Overlay ===
    # Note: quand OpenGL Overlay est activé, Video Overlay
    #       est automatiquement désactivé.
      Option "OpenGLOverlay" "off"
    # === Use internal AGP GART support? ===
    # Si l'accélération OpenGL ne marche pas, essayez de mettre "yes" ici
    # et désactivez le module agpgart du noyau.
      Option "UseInternalAGPGART" "no"
    EndSection
    Section "Screen"
      Identifier "your screen"
      Device     "ATI"
      Monitor    "your monitor"
      DefaultDepth 24
      SubSection "Display"
        Depth 24
        Modes "1280x960" # juste un exemple,
                         # mettez votre résolution préférée ici
      EndSubSection
    EndSection
    Section "DRI"
      Mode 0666
    EndSection

    Stoppez et redémarrez votre serveur X. Si vous utilisez gdm, voici comment faire :

    # /etc/init.d/gdm restart

    Remplacez gdm par kdm ou xdm selon votre configuration.

    Les pilotes ATI sont fournis sans aucun support, et sans aucune garantie. Si vous endommagez votre système, je ne peux en aucun cas être tenu pour responsable, vous avez utilisé cette documentation à vos risques et périls.

    Une fois X chargé, vous pouvez vérifier que l'accélération fonctionne bien :
    % fglrxinfo
    display: :0.0 screen: 0
    OpenGL vendor string: ATI Technologies Inc.
    OpenGL renderer string: RADEON 9500 Pro Generic
    OpenGL version string: 1.3.4769 (X4.3.0-8.8.25)
    % glxinfo
    name of display: :0.0
    display: :0 screen: 0
    direct rendering: Yes
    [...]
    % glxgears
    14188 frames in 5.0 seconds = 2837.600 FPS
    14190 frames in 5.0 seconds = 2838.000 FPS
    14187 frames in 5.0 seconds = 2837.400 FPS
    % fgl_glxgears
    2928 frames in 5.0 seconds = 585.600 FPS
    2860 frames in 5.0 seconds = 572.000 FPS
    2702 frames in 5.0 seconds = 540.400 FPS
    2808 frames in 5.0 seconds = 561.600 FPS

    Ces résultats sont obtenus avec une carte ATI Radeon 9700 PRO en AGP 8x.

    Liens

    Accéder à l'ADSL avec une carte Bewan ADSL PCI st

    Installer une carte Bewan ADSL PCI st

    Introduction

    Cet article décrit comment installer une carte Bewan ADSL PCI st sur une Debian (ça marche en woody et en sarge), puis comment la configurer pour une connection non dégroupée ou dégroupée chez Free.

    Cette procédure marche également pour la carte Bewan ADSL USB st à quelques modifications prêt.

    Bewan fournit des pilotes de périphérique pour linux, par contre ils sont propriétaires.

    Installation de la carte

    Ceci est la partie la plus facile: il suffit de débrancher votre ordinateur, de l'ouvrir, et d'insérer la carte dans un port PCI de libre.

    Compilation et installation du pilote de périphérique

    Pré-requis au niveau du noyau

    La carte Bewan étant vue comme un périphérique ATM, il faut que certaines options soient activées dans votre noyau. Voici les options à activer dans les différents menus :

    Rubrique Option
    Code maturity level options Prompt for development and/or incomplete
    code/drivers
    Y
    Networking options Asynchronous Transfer Mode (ATM)
    (EXPERIMENTAL)
    Y
    Networking options Classical IP over ATM Y
    Networking options RFC 1483/2684 Bridged protocols Y
    Network device support PPP (point-to-point protocol) support M
    Network device support PPP support for async serial ports M
    Network device support PPP support for sync tty ports M
    Network device support PPP Deflate compression M
    Network device support PPP BSD-Compress compression M
    Network device support PPP over ATM (EXPERIMENTAL) M

    Les options Classical IP over ATM et RFC 1483/2684 Bridged protocols ne concernent que la connexion dégroupée Free.

    Pour vérifier si votre carte est reconnue par le système, vous pouvez utiliser cette commande :
    $ lspci
    0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8377 [KT400/KT600 AGP] Host Bridge
    0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8235 PCI Bridge
    0000:00:08.0 ATM network controller: STMicroelectronics ST70137 [Unicorn] ADSL DMT Transceiver (rev 10)

    Récupération des fichiers nécessaires

    Bewan propose sur son site les derniers pilotes disponibles pour sa carte. Il faut s'enregistrer sur le site pour les télécharger. Si vous ne souhaitez pas vous enregistrer, vous pouvez aller sur le site en
    anglais.
    .

    Au 22 septembre 2004, vous trouverez les pilotes en version 0.8.7.

    ATTENTION : il faut choisir la version des pilotes que vous utilisez en fonction de votre noyau et de votre matériel.

    En cherchant bien sur le site Bewan, on tombe sur un document du 15 avril 2004 :

    En fonction du noyau Linux et du composant ADSL de votre modem,
    vérifiez ci-dessous la version du pilote à utiliser afin d’obtenir une connexion stable.
    [Noyau Linux 2.4]
    BeWAN ADSL PCI st <--------> BeWAN ADSL USB st
    ST70134 : v.0.8.1 <--------> ST70136 : v.0.8.1
    MTC20714 : v.0.8.1 <--------> MTC20714 : v.0.8.7
    [Noyau Linux 2.6]
    BeWAN ADSL PCI st <--------> BeWAN ADSL USB st
    ST70134 : v.0.8.7 <--------> ST70136 : v.0.8.7
    MTC20714 : v.0.8.7 <--------> MTC20714 : v.0.8.7

    Avec un noyau 2.4.xx il faut donc utiliser la version 0.8.1 des pilotes. Vous pouvez la télécharger ici. Pour la version 0.8.7 c'est par là :
    $ wget http://www.bewan.fr/bewan/utilisateurs/telechargement/pilotes/adsl/linux/A1012-A1006-A904-A888-0.8.1.tgz

    Une fois les pilotes récupérés, il faut les décompresser :
    $ tar -xvzf A1012-A1006-A904-A888-0.8.1.tgz

    Cela créée un répertoire /unicorn, contenant les pilotes et les utilitaires Bewan.

    ATTENTION : si vous avez une carte réseau ethernet, sous linux je n'ai pas rencontré de problème, par contre sous windows XP ces deux cartes refusent de cohabiter !! Ma carte réseau était une 3Com Etherlink XL TPO PCI. Maintenant, avec mon IBM Netfinity 10/100 tout marche bien.

    Compilation et installation

    ATTENTION : avec les dernières versions des drivers, la carte Bewan ADSL PCI st doit être physiquement présente dans la machine pour que la procédure de compilation puisse se faire.

    ATTENTION : si vous avez une carte mère MSI KT4 ou équivalente, il y a une petite modification à faire au fichier unicorn/unicorn_pci/Makefile : il faut modifier la ligne 15 du fichier en COPTIONS = -DKT400, comme c'est précisé dans le-dit fichier. Pour cela utilisez votre éditeur de texte préféré, vi par exemple.

    Il ne reste plus qu'à se mettre dans le répertoire /unicorn et à compiler les drivers :
    $ cd unicorn
    $ make all

    Les cibles possibles sont :

    Cibles
    all exécute all_appli et all_drivers
    all_applis compile les applications
    all_drivers compile les drivers
    clean nettoie les répertoire pour une compilation propre
    install exécute install_appli et install_drivers
    install_applis installe les applications
    install_drivers installe les drivers
    only_install_drivers installe juste les drivers, sans depmod -ae

    L'installation est tout aussi simple, n'oubliez pas qu'il faut les droits d'administrateur :
    # make install_drivers
    # make install_applis

    L'installation des applications n'est à faire qu'une seule fois par version des pilotes.

    ATTENTION : comme pour tout pilote compilé en dehors du noyau, n'oubliez pas qu'il faudra penser à les compiler et à les installer à nouveau si vous changez de noyau ou si vous recompilez votre noyau.

    Test du pilote

    On va maintenant tester le driver en essayant de le charger :
    # modprobe unicorn_pci ActivationMode=4

    ATTENTION : le paramètre ActivationMode peut prendre les valeurs : 1=ANSI, 2=G.Lite, 3=MULTI, 4=G.DMT.

    ATTENTION : remplacez unicorn_pci par unicorn_usb si vous avez un modem USB.

    La commande suivante permet de vérifier que le pilotes'est chargé correctement, elle permet également de connaître l'état d'activation du modem (exemple de sortie pour une configuration dégroupée) :
    $ cat /proc/net/atm/UNICORN:0
    ADSL: status no link, modem state SHOWTIME L0, US rate 639Kbits/s, DS rate 7167Kbits/s
    Current speed: US 0Kbits/s,DS 1Kbits/s
    Current speed: US 0Kbits/s,DS 1Kbits/s,rt-US 0, rt-DS 0Kbits/s
    Bridged: 00:00:00:00:00:00
    AAL5: tx 40171 ( 0 err ), rx 72965 ( 0 err, 0 drop )
    AAL0: tx 0 ( 0 err ), rx 0 ( 0 err, 0 drop )

    L'état du modem SHOWTIME L0 correspond à une synchronisation avec le DSLAM. Les autres états correspondent à des tentatives de synchronisation du modem : ACTIVATING, IDLE et INITIALIZING.

    Chargement automatique du pilote

    Pour que le pilote se charge automatiquement au démarrage de votre machine, il suffit de rajouter dans votre /etc/modules les lignes suivantes :

    # Carte Bewan ADSL PCIst
    unicorn_pci ActivationMode=4
    # driver pppoatm nécessaire
    pppoatm

    Il ne vous reste plus alors qu'à redémarrer votre machine.

    Suivi de l'état de la connexion

    Vous pouvez utiliser l'utilitaire unicorn_status pour suivre l'état de votre modem et de votre connexion. Cet utilitaire est installé si vous avez fait un make install_applis comme précisé plus haut. Voici ce que ça donne pour une connexion dégroupée :
    $ unicorn_status
    Modem State : SHOWTIME_L0
    Remote Report : Showtime
    Last Failure :
    Time Connected : 01:52:57
    Modulation : G.dmt
    Rate Us/Ds (Kbps) : 640 7168
    Cap. Occupation Us/Ds (%) : 87 97
    Noise Margin Us/Ds (dB) : 13 9
    Attenuation Us/Ds (dB) : 21 36
    Output Power Us/Ds (dBm) : 12 19
    FEC Errors Us/Ds : 0 0
    CRC Errors Us/Ds : 25 3
    HEC Errors Us/Ds : 12 0
    Driver Version : 0.8.1
    Firmware Version : PCI_1.9.6.1

    Configuration d'une connexion Free dégroupée

    La connexion utilisée par Free dans les zones dégroupées est de l'IP over ATM

    . Elle utilise du RFC 1483 Routed VC Mux, avec une IP fixe et des paramètres VPI.VCI=8.36.

    Pré-requis

    La configuration du noyau et l'installation des pilotes ont été vus dans la partie précédente. Il vous faut maintenant installer les utilitaires ATM pour linux :
    # apt-get install atm-tools atm-dev

    Configuration de la connexion

    Il faut d'abord créer un lien ATM, puis l'interface réseau correspondante, et configurer la passerelle :
    # atmarp -c atm0
    # ifconfig atm0 www.xxx.yyy.zzz netmask 255.255.255.0 mtu 1500 up
    # atmarp -s www.xxx.yyy.254 8.36 null
    # route add default gw www.xxx.yyy.254

    ATTENTION : les paramètres de votre connexion Free ont dû vous être communiqués. Vous devez remplacer www.xxx.yyy.zzz par votre IP fixe, et www.xxx.yyy.254 par votre Passerelle.

    Voilà, normalement vous devez être connecté à internet maintenant ! Vous pouvez le vérifier par les commandes suivantes :
    $ cat /proc/net/atm/UNICORN:0
    ADSL: status ATM ready, modem state SHOWTIME L0, US rate 639Kbits/s, DS rate 7167Kbits/s
    Current speed: US 0Kbits/s,DS 1Kbits/s
    Current speed: US 0Kbits/s,DS 1Kbits/s,rt-US 0, rt-DS 0Kbits/s
    Bridged: 00:00:00:00:00:00
    AAL5: tx 40171 ( 0 err ), rx 72965 ( 0 err, 0 drop )
    AAL0: tx 0 ( 0 err ), rx 0 ( 0 err, 0 drop )

    $ ifconfig atm0
    atm0 Lien encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    inet adr:www.xxx.yyy.zzz Masque:255.255.255.0
    UP RUNNING MTU:1500 Metric:1
    RX packets:72834 errors:0 dropped:0 overruns:0 frame:0
    TX packets:40043 errors:0 dropped:3 overruns:0 carrier:0
    collisions:0 lg file transmission:100
    RX bytes:98959841 (94.3 MiB) TX bytes:2131989 (2.0 MiB)

    $ route -n |grep atm0
    www.xxx.yyy.0 0.0.0.0 255.255.255.0 U 0 0 0 atm0
    0.0.0.0 www.xxx.yyy.254 0.0.0.0 UG 0 0 0 atm0

    $ cat /proc/net/atm/arp
    IPitf TypeEncp Idle IP address ATM address
    atm0 PVC NULL 1 www.xxx.yyy.254 0.8.36

    Configuration d'une connexion Free non-dégroupée

    Dans les zones non dégroupées Free utilise une classique connexion IP/ADSL de France Telecom.

    Pré-requis

    Il faut installer une version modifiée du démon pppd qui comprend le plugin PPPoATM. Cette version n'est pas fournie par Debian en version stable/woody, par contre elle est intégrée à unstable/sarge.

    Si vous êtes en woody, il faut récupérer le paquet modifié et l'installer :
    $ wget http://throka.org/ppp_2.4.0-3_i386.deb
    # dpkg -i ppp_2.4.0-3_i386.deb

    ATTENTION : pensez à mettre le paquet PPP installé on hold, sinon il sera remplacé par une autre version à la prochaine mise à jour de votre système.

    Configuration de pppd

    Il faut adapter les fichiers suivants :

    Fichier ajouts/modifications
    /etc/ppp/pap-secrets # authentification utilisant PAP"
    0326032603@freeadsl" * "motdepasse"
    /etc/ppp/chap-secrets # authentification utilisant CHAP
    "0326032603@freeadsl" * "motdepasse"
    /etc/ppp/options lock
    ipparam ppp0
    noipdefault
    noauth
    default-asyncmap
    defaultroute
    hide-password
    noaccomp
    noccp
    nobsdcomp
    nodeflate
    nopcomp
    novj novjccomp
    lcp-echo-interval 20
    lcp-echo-failure 3
    sync
    maxfail 0
    persist
    plugin /usr/lib/pppd/plugins/pppoatm.so 8.35

    A priori les autres options éventuellement présentes dans ce fichier sont inutiles. A noter que le paramètre 8.35 correspond à VPI.VCI, cette valeur correspond à ce qui est utilisé en France.

    Un petit redémarrage de votre machine et cette fois elle doit être prête pour l'ADSL !

    Connexion

    La connexion proprement dite se fait par la commande suivante :
    $ pppd user 0326032603@freeadsl

    Pour couper la connexion il suffit d'un brutal :
    $ killall pppd

    Si vous êtes un peu flemmard, vous pouvez aussi taper un petit script que vous appelez adsl.sh:

    #!/bin/sh
    pppd user 0326032603@freeadsl

    Ensuite n'oubliez de le rendre exécutable :
    $ chmod +x adsl.sh

    Il vous suffira pour lancer votre connexion de taper :
    $ ./adsl.sh

    Remerciements

    Cette page a été rédigée à partir d'autres documents qui traitaient déjà du sujet. Voici les liens vers ces pages:

    Post'it

    Liste des paquets installés classés par taille

    dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n

    Réseau :: qui est connecté

    echo "=Apps Connectees=" && lsof -i | sed -n '/["ESTABLISHED""LISTEN"]/p' | awk '{print $1}' | uniq

    Réseau :: DHCP

    Essai de remplacer dans ton /etc/network/interfaces ton auto eth0 par allow-hotplug eth0 : il me semble que ça ne configurera eth0 que si un câble y est connecté

    A TRADUIRE :: Monter une partition NTFS

    This tutorial will show you how to mount NTFS and FAT partitions in ubuntu

    For mounting NTFS we are going to use one small tool called NTFS-3G this is very powerfull and simple tool.

    The NTFS-3G driver is an open source, freely available NTFS driver for Linux with read and write support. It provides safe and fast handling of the Windows XP, Windows Server 2003 and Windows 2000 file systems. Most POSIX file system operations are supported, with the notable exception of file ownership and access right changes.

    You need to edit the sources.list file using the following command

    sudo gedit /etc/apt/sources.list

    and add the following repositories which is suitable for you

    If you are running Ubuntu Dapper enter the following lines save and exit the file

    deb http://givre.cabspace.com/ubuntu/ dapper main main-all
    deb http://ntfs-3g.sitesweetsite.info/ubuntu/ dapper main main-all
    deb http://flomertens.keo.in/ubuntu/ dapper main main-all

    If you are running Ubuntu Edgy enter the following lines save and exit the file

    deb http://givre.cabspace.com/ubuntu/ edgy main
    deb http://ntfs-3g.sitesweetsite.info/ubuntu/ edgy main
    deb http://flomertens.keo.in/ubuntu/ edgy main

    Now you need to import th GPG key for these repositories using the any one of the following command

    wget http://flomertens.keo.in/ubuntu/givre_key.asc -O- | sudo apt-key add -

    wget http://givre.cabspace.com/ubuntu/givre_key.asc -O- | sudo apt-key add -

    Now you need to update the source list using the following command

    sudo apt-get update

    Install ntfs-3g in Ubuntu

    If you want to install ntfs-3g run the following command from your terminal

    sudo apt-get install ntfs-3g

    Configuring ntfs-3g

    Now you need to use the following command to determine all the available partitions

    sudo fdisk -l

    Now you need to configure your NTFS partitions in /etc/fstab file before doing any changes in /etc/fstab file we will take a backup of this file using the following command (Highly Recommended)

    sudo cp /etc/fstab /etc/fstab.bak

    Now you need to create a directory where do you mount your windows partitions in this example i ma creating windows directory

    sudo mkdir /media/windows

    If you want to mount /dev/hda1 is your windows partition you need to enter the following line in /etc/fstab file

    /dev/ /media/ ntfs-3g defaults,locale=en_US.utf8 0 0

    You need to replace your partition and mount point with your details

    Example

    /dev/hda3 /media/windows ntfs-3g defaults,locale=en_US.utf8 0 0

    save and exit the file

    If you want to mount as read only you need to enter the following line in /etc/fstabfile

    /dev/hda3 /media/windows ntfs-3g ro,locale=en_US.utf8,uid=1000 0 0

    If You want to change your locale option you need to run the following command in a terminal to know which one is supported by your system.

    locale -a

    Now if you want these new chnages to take effect there are two options one is you can simply reboot your machine and the second one is without rebooting you need to run the following commands

    To unmount

    sudo umount -a

    To Mount

    sudo mount -a

    If you want to know more available options for ntfs-3g check man page

    If you want to mount and unmount Windows partitions (FAT) manually, and allow all users to read and write

    Follow the same procedure to get the list of your windows partitions,create a directory where do you want to mount and you do the following command from your teminal replace /dev/hda3,/media/windows/ to your environment

    sudo mount /dev/hda3 /media/windows/ -t vfat -o iocharset=utf8,umask=000

    If you want to mount FAT partitions on boot-up to allow users to read and write use the following command in your /etc/fstab file you can see the above procedure how to take backup of fstab file before you do any changes

    /dev/hda3 /media/windows vfat iocharset=utf8,umask=000 0 0

    Installer un client Oracle sous Debian

    Introduction

    Oracle ne supporte pas officiellement Debian comme distribution linux sur laquelle on peut installer un client Oracle ou un serveur Oracle. On peut néanmoins trouver des paquets pour Red Hat, que l'on peut installer avec l'outil alien.

    Téléchargement

    Le téléchargement se fait sur le site Oracle. Il est malheureusement obligatoire de s'inscrire sur le site pour accéder aux liens.

    Les fichiers à télécharger se trouvent sur la page de téléchargement de l'Instant Client pour linux. J'utilise une base Oracle 10.2.0.4, je télécharge donc le client correspondant :

    • oracle-instantclient-basic-10.2.0.4-1.i386.rpm
    • oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm

    Conversion des paquets

    Après avoir installé alien s'il en l'était pas sur votre système (avec Synaptic ou un apt-get install alien), on passe à la conversion en .deb des archives pour système Red Hat :

    # sudo alien oracle-instantclient-basic-10.2.0.4-1.i386.rpm
    # sudo alien oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm

    Installation des paquets

    Rien de bien compliqué, il suffit d'utiliser dpkg :
    # sudo dpkg -i oracle-instantclient-basic-10.2.0.4-1.i386.deb
    # sudo dpkg -i oracle-instantclient-sqlplus-10.2.0.4-1.i386.deb

    Pour terminer l'installation, il faut ajouter le répertoire des librairies dans la liste des librairies partagées. Pour ce faire, nous allons ajouter le chemin dans la configuration de ldconfig en ajoutant un fichier :
    # sudo vi /etc/ld.so.conf/oracle.conf
    Qui contient :
    # librairies utilisées par le client Oracle
    /usr/lib/oracle/10.2.0.4/client/lib

    Il suffit maintenant de mettre à jour le cache des librairies partagées :
    # sudo ldconfig -v

    Configuration

    On va créer un répertoire pour stocker le fichier de configuration, le fameux tnsname.ora :

    # sudo mkdir /etc/oracle
    # sudo vi /etc/oracle/tnsname.ora

    Il faut ensuite déclarer la variable d'environnement qui permet de préciser l'emplacement de ce fichier de configuration. Editez le fichier :

    # sudo vi /etc/environnement

    Ajoutez-y la ligne suivante :

    TNS_ADMIN=/etc/oracle

    Si vous voulez installer un client Oracle, vous devez savoir configurer le fichier de connexion. Voici à quoi ressemble le contenu du fichier tnsname.ora :

    ORACLE.WORLD =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = serveur_oracle)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = ORACLE)
    )
    )

    Tester la connexion

    On arrive à la partie que l'on attend tous ! Testons notre connexion pour vérifier que tout fonctionne à merveille :

    # sqlplus monutilisateur@monSID

    Alors ? Heureux ?

    Liens

    • L'article sur le site Andesi
    • Un article (en anglais) pour corriger le problème de librairie non trouvée

    Utilitaires

    Voici quelques utilitaires que j'utilise. J'espère qu'ils vous seront aussi (f)utiles qu'ils me l'ont été !

    Compiler Pino pour Debian Squeeze

    Pino est un client linux pour Identi.ca et Twitter. Il est simple et rapide. Il est écrit en language Vala.

    Malheureusement il n'existe pas de binaire pour Debian Squeeze. Le projet est présent chez les mentors Debian, il nous suffit donc d'en récupérer les sources et de le compiler localement !

    Pour Lenny et Sid, vous trouverez des dépôts non officiels à l'adresse suivante : http://packages.kirya.net/ (merci à Nerach et à Stemp)

    Dans un premier temps, on va ajouter les sources de mentors.debian.net dans notre /etc/apt/sources.list (ou bien directement dans Synaptic). On ajoute donc la ligne suivante :

    # sources pour pino depuis mentors Debian (et tout mentors au passage)
    deb-src http://mentors.debian.net/debian/ unstable main contrib non-free

    Ensuite on va récupérer les dernières sources, en se positionnant dans le répertoire /usr/local/src/ :

    $ cd /usr/local/src
    $ apt-get source pino

    On pré-suppose bien sûr que la liste des paquets est à jour, si vous venez juste de modifier votre sources.list n'oubliez pas d'exécuter sudo aptitude update.

    $ dpkg-source -x pino_0.2.8-1.dsc
    $ cd pino-0.2.8/
    $ dch -i

    Cette commande permet d'ajouter une entrée au changelog, en incrémentant le numéro de version. J'édite ensuite cette entrée en ajoutant simplement mon nom à la suite du nom du paquet, comme suit :

    pino (0.2.8-1ustilago) unstable; urgency=low

      * Non-maintainer upload.
      * Compilation pour cafard.

     -- Sébastien KALT <ustilago@throka.org>  Mon, 10 May 2010 12:24:49 +0200

    Si vous n'avez jamais compilé pino, il faut au préalable installer les dépendances de compilation, à l'aide de cette commande : sudo aptitude build-depends pino. Ensuite vous pouvez passer à la compilation du paquet :

    $ debuild

    Et voilà, le paquet Debian pour votre version et votre architecture a été créé, il ne reste plus qu'à l'installer :

    $ cd ../
    $ sudo dpkg -i pino_0.2.8-1ustilago_i386.deb

    Vivement que pino soit intégré officiellement à Debian !

    Compiler et installer Dropbox

    1. Introduction

    Dropbox est un service qui existe en version gratuite. Il permet d'accéder à des fichiers depuis internet par une interface web, et en local de manière transparente comme un répertoire classique sur Linux (intégration à nautilus + démon), MacOS et Windows. Le compte gratuit permet de stocker 2 Go, avec possibilité de passer à 50 Go ou 100 Go moyennant finance. Dropbox permet également de créer des partages avec des amis, ou de mettre à disposition un fichier précis à travers une url, d'accéder à ces fichiers depuis plusieurs ordinateurs ainsi que d'avoir un historique des versions des fichiers.

    On peut se poser des questions sur la sécurité du stockage. Tous les transferts se font de manière sécurisée (SSL) et les fichiers sont cryptés sur le serveur. Si l'on veut aller plus loin on peut utiliser Truecrypt (ne cherchez pas des paquets Debian, sa licence est incompatible avec cette distribution).

    Il n'existe pas de paquets pour Debian (uniquement pour Ubuntu). Comme je n'aime pas mettre de tels paquets sur ma Debian, on va voir deux méthodes pour compiler nous-même ces paquets :

    • on peut ruser et récupérer les sources pour Ubuntu et les recompiler en local.
    • ou on peut générer les scripts de création des paquets Debian à partir des sources et de la commande dh_make

    Nous allons voir ces deux méthodes, puis l'installation et la configuration de Dropbox.

    2. Compilation

    2.1 À partir des sources Ubuntu

    On commence par ajouter une ligne de sources Ubuntu dans /etc/apt/sources.list :

    # dépôt dropbox sources Ubuntu Jaunty
    deb-src http://linux.getdropbox.com/ubuntu jaunty main

    On va ensuite mettre à jour la liste des paquets, et télécharger les sources :

    $ cd /usr/local/src
    $ sudo aptitude update
    $ sudo apt-get source nautilus-dropbox
    [...]
    $ cd nautilus-dropbox-0.6.1

    Et voilà, il ne reste plus qu'à installer quelques librairies de développement, et à lancer la compilation :

    $ sudo aptitude install libnautilus-extension-dev libnotify-dev python-docutils
    $ debuild

    Si la compilation s'est bien passée, vous trouverez le paquet dans le répertoire /usr/local/src

    2.2. À partir des sources Dropbox et de dh_make

    Nous avons besoin de quelques paquets :
    $ sudo aptitude install pkg-config libnautilus-extension-dev python-docutils libnotify-dev

    Ensuite on récupère et on décompresse les sources :

    $ wget http://www.getdropbox.com/download?dl=packages/nautilus-dropbox-0.6.1.tar.bz2

    $ tar -xvjf nautilus-dropbox-0.6.1.tar.bz2

    On génère les scripts de création du paquet Debian :
    $ cd nautilus-dropbox-0.6.1/
    $ dh_make --createorig

    Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch or cdbs?
    [s/i/m/l/k/n/b]
    On choisit single binary en tapant s
    Maintainer name : Ustilago
    Email-Address : ustilago@moo.org
    Date : Tue, 29 Sep 2009 13:23:24 +0200
    Package Name : nautilus-dropbox
    Version : 0.6.1
    License : blank
    Using dpatch : no
    Using quilt : no
    Type of Package : Single
    Hit <enter> to confirm:

    On tape donc Entrée pour poursuivre :
    Done. Please edit the files in the debian/ subdirectory now. nautilus-dropbox
    uses a configure script, so you probably don't have to edit the Makefiles.

    Maintenant on peut passer à la compilation proprement dite :
    $ debuild

    Si tout s'est bien déroulé vous trouverez votre paquet nautilus-dropbox_0.6.1-1_i386.deb dans le répertoire /usr/local/src, ou nautilus-dropbox_0.6.1-1_amd64.deb si vous compilez sur un système 64 bits.

    3. Installation

    Ça c'est la partie la plus simple, on se place dans le répertoire /usr/local/src et on lance la commande :
    $ cd /usr/local/src
    $ sudo dpkg -i nautilus-dropbox_0.6.1-1_i386.deb

    Ou, sur un système 64 bits :
    $ sudo dpkg -i nautilus-dropbox_0.6.1-1_amd64.deb

    4. Exécution

    Pour le premier lancement, on le force à installer le démon dropboxd s'il n'est pas présent sur le système :
    $ dropbox start -i
    Starting Dropbox...

    Normalement vous aurez cette fenêtre qui s'affiche :
    Installation de Dropbox 1
    Si vous acceptez de télécharger, et d'installer le démon Dropbox, qui est propriétaire, et donc non-libre, cliquez sur Valider :
    Installation de Dropbox 2
    J'ai déjà un compte Dropbox, je choisis donc la seconde proposition (si ce n'est pas votre cas, sélectionnez la première) :
    Paramétrage de Dropbox 1
    Saisissez votre identifiant, et donnez un nom à l'ordinateur sur lequel vous faites l'installation :
    Paramétrage de Dropbox 2
    Sauf si vous voulez passer sur une offre payante, garder cochée la première ligne et cliquez sur Suivant :
    Paramétrage de Dropbox 3
    Et voilà, c'est fini ! Si vous souhaitez suivre la visite guidée, cliquez sur Suivant, sinon cliquez sur Skip tour and finish :
    Paramétrage de Dropbox 4
    Normalement vous devriez avoir la petite icône dans la barre de notification :
    Dropbox dans la zone de notification

    5. Démarrer automatiquement

    Pour que ce soit plus pratique, je vous propose de lancer automatiquement le démon Dropbox lors de votre connexion à votre session X. Pour ce faire, sous Gnome (je vous laisse trouver par vous même si vous utilisez un autre gestionnaire de fenêtres), aller dans le menu Système -> Préférences -> Applications au démarrage :
    Démarrage automatique de Dropbox 1
    Cliquez sur Ajouter :
    Démarrage automatique de Dropbox 2
    Comme nom, on va mettre Dropbox, et comme commande /usr/bin/dropbox start, et cliquez sur Ajouter :
    Démarrage automatique de Dropbox 3
    Et voilà, le tour est joué :
    Démarrage automatique de Dropbox 4

    Contourner le bogue d'erreur de segmentation avec screenlets 0.1.2-6

    Screenlets présente une erreur de segmentation dans Squeeze. Apparemment cela est du à un changement de déclaration des classes dans Python (cf. ce rapport de bogue).

    Il y a un moyen de contourner ce bogue pour continuer d'utiliser screenlets, pour les gens comme moi qui en dépendent pour régler le rétro-éclairage de leur écran de portable ! Par contre cela implique d'appliquer un patch et de recompiler le paquet.

    Je ne détaille pas les paquets nécessaires pour compiler une source Debian, je pré-suppose que vous avez ce qu'il faut. J'ai prévu un article sur le sujet, dès que j'aurais envie de le rédiger.

    On va commencer par récupérer les sources de screenlets :
    $ cd /usr/local/src
    $ apt-get source screenlets
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    Nécessité de prendre 3553ko dans les sources.
    Réception de : 1 http://ftp2.fr.debian.org squeeze/main screenlets 0.1.2-6 (dsc) [1364B]
    Réception de : 2 http://ftp2.fr.debian.org squeeze/main screenlets 0.1.2-6 (tar) [3525kB]
    Réception de : 3 http://ftp2.fr.debian.org squeeze/main screenlets 0.1.2-6 (diff) [27,3kB]
    3553ko réceptionnés en 4s (767ko/s)
    dpkg-source: info: extracting screenlets in screenlets-0.1.2
    dpkg-source: info: extraction de screenlets_0.1.2.orig.tar.gz
    dpkg-source: info: mise en place de screenlets_0.1.2-6.diff.gz


    Cela installe les sources dans le répertoire screenlets-0.1.2. On va aller dans ce répertoire et y mettre le le patch proposé sur cette page (fichier : new-class.patch) :
    $ cd screenlets-0.1.2
    $ patch -p1 < new-class.patch


    Voilà, ensuite on va utiliser un outil pour faire une nouvelle révision du paquet (sinon au prochain aptitude dist-upgrade le paquet du mainteneur Debian remplacera le votre) :
    $ dch -v 0.1.2-6.ustilago

    Cela génère une nouvelle entrée dans le fichier debian/changelog, en ouvrant un éditeur pour compléter cette entrée. Maintenant il ne reste plus qu'à compiler le paquet :
    $ debuild

    Et voilà ! Il n'y à plus qu'à installer le paquet compilé dans le répertoire parent :
    $ cd ../
    $ dpkg -i screenlets_0.1.2-6.ustilago_all.deb




    Utiliser Skype avec Debian Squeeze

    1. Le problème

    Le client Skype ne fonctionne pas sur Debian Squeeze 64 bits. Il semblerait qu'il n'ai pas été porté en 64 bits. Malheureusement il y a un bogue dans les librairies 32 bits de Squeeze qui empêche le client de lancer. Cela donne à peu près ceci :

    $ ./skype
    Inconsistency detected by ld.so: dl-open.c: 643: _dl_open: Assertion `_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT' failed!

    2. La solution

    Elle est donnée dans le lien sur le bogue, mais en anglais. Voici en substance, et en français, comment s'en sortir!

    2.1. Télécharger les librairies manquantes

    Il manque un lien vers libwrap et libgdbm3. On va télécharger ces deux librairies :

    Vous pouvez remplacer squeeze par sid, ou par la version de votre Debian.

    2.2. Décompression des librairies

    On va décompresser ces deux librairies dans /emul/ia32-linux :

    $ dpkg -X nom_de_libwrap.deb /emul/ia32-linux
    $ dpkg -X nom_de_libgdbm3.deb /emul/ia32-linux

    2.2. Liaison

    On ajoute les chemins dans les répertoires où ldconfig va chercher les librairie en créant un fichier /etc/ld.so.conf.d/ia32.conf qui contienne :

    /emul/ia32-linux/lib
    /emul/ia32-linux/usr/lib/

    Et ensuite on met à jour les liaisons :

    $ sudo ldconfig

    Et voilà, maintenant le client Skype se lance au quart de tour !

    Réseau

    Vous trouverez ici tout ce qui concerne les réseaux.

    Accès aux répertoires partagées sous Windows (98se et 2000)

    Introduction

    On peut avoir besoin d'accéder à des ressources qui se trouvent sur des ordinateurs tournant sous windows. Cela peut être une imprimante, un accès à internet, ou tout simplement des fichiers.

    Pour accéder à des fichiers il existe samba qui permet d'accéder à des répertoires partagés sous windows. Bien sûr il faut déjà que les 2 machines soient reliées entre elles, par une liaison ethernet par exemple.

    Installation et configuration de samba

    Si vous avez une Debian c'est très simple (pour les autres c'est sûrement pas compliqué non plus):
    vache% sudo apt-get install task-samba

    La configuration installée par défaut marche chez moi, je n'ai rien modifié (il me semble, d'un seul coup je suis plus très sûr).

    Exemple

    Soit deux ordinateurs, l'un sous Debian, l'autre sous Windows (les deux versions que je peux tester: 98se et 2000). Chacun dispose d'une carte ethernet, et la liaison se fait par un câble croisé. L'ordinateur sous linux a l'adresse 192.168.1.1 et se nomme 'vache'; l'ordinateur sous windows a l'adresse 192.168.1.2 et se nomme 'etable'.

    Vérifions d'abord que la liaison marche bien:
    vache% ping 192.168.1.2
    PING 192.168.1.2 (192.168.1.2): 56 data bytes
    64 bytes from 192.168.1.2: icmp_seq=0 ttl=128 time=0.6 ms
    64 bytes from 192.168.1.2: icmp_seq=1 ttl=128 time=0.3 ms
    64 bytes from 192.168.1.2: icmp_seq=2 ttl=128 time=0.3 ms
    64 bytes from 192.168.1.2: icmp_seq=3 ttl=128 time=0.3 ms

    --- 192.168.1.2 ping statistics ---
    4 packets transmitted, 4 packets received, 0% packet loss
    round-trip min/avg/max = 0.3/0.3/0.6 ms

    Ensuite partageons un répertoire sur la machine windows, par exemple E:\foin en tant que NOURRITURE.

    smbclient

    smbclient permet d'accéder au répertoire partagé comme si c'était un serveur ftp. La syntaxe est :
    'smblient //hôte/dossier_partagé [mot de passe] -U nom_utilisateur'

    Le mot de passe est celui spécifié pour le partage sous windows, l'utilisateur est celui sous lequel vous voulez accéder aux ressources (optionnel). Voici ce que ça donne:
    vache% smbclient //etable/NOURRITURE
    added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
    Got a positive name query response from 192.168.1.2 ( 192.168.1.2 )
    Password:
    smb: \> ls
    . D 0 Sun Mar 17 22:33:28 2002
    .. D 0 Sun Mar 17 22:33:28 2002
    [...]

    Si on spécifie pas le mot de passe, il le demande de toutes façons. Avec Windows 2000 il faut préciser un nom d'utilisateur valide et le mot de passe correspondant, sinon la connexion est refusée. Pour les commandes disponibles, et les autres options, consultez les pages de manuel.

    smbmount-2.2.x

    Cette commande permet de monter le répertoire partagé comme n'importe quelle partition, ce qui est quand même plus pratique que la commande smbclient. La syntaxe est la suivante :
    smbmount-2.2.x //hôte/NOM_DE_PARTAGE point_de_montage -o username=NOM password=XXX'

    le nom d'utilisateur et le mot de passe sont là aussi optionnels. Encore une fois avec Windows 2000 je suis obligé de spécifier le nom d'utilisateur. Voici ce que ça donne:
    vache% smbmount //etable/NOURRITURE nourriture
    Password:
    vache% mount
    /dev/hda7 on / type ext2 (rw,errors=remount-ro,errors=remount-ro)
    proc on /proc type proc (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    /dev/hda8 on /home type ext2 (rw)
    //etable/NOURRITURE on /home/utilisateur/nourriture type smbfs (0)

    Ne pas oublier de démonter le répertoire avant de rompre votre connexion physique:
    vache% smbumount nourriture

    Gérer ses connexions au réseau avec wicd

    Introduction

    J'ai toujours eu la flemme de gérer mes connexions au réseau, surtout avec le WiFi, pour peu que l'on soit un peu nomade, ça devient vite pénible. J'ai essayé Network Manager, mais sans grand succès avec des réseaux WiFi cryptés en WPA.

    Et puis, au détour d'un blogue, je suis tombé sur wicd :
    Vue d'ensemble de wicd
    Cet utilitaire n'est pas présent dans les dépôts officiels Debian, mais le développeur propose son propre dépôt. Du coup, il n'est pas nécessaire de faire l'installation à la main.

    Installation

    Sur une Debian Lenny, c'est relativement simple. Il suffit dans un premier temps d'ajouter le dépôt wicd dans votre /etc/sources.list (ou bien directement depuis Synaptic):
    deb http://apt.wicd.net lenny extras

    Ensuite, il faut ajouter la clé utilisée pour la signature du paquet à votre trousseau avec cette commande :
    # wget -q http://apt.wicd.net/wicd.gpg -O- | sudo apt-key add -

    Ensuite, selon votre choix, installer le paquet depuis Synaptic, ou avec un :
    # apt-get update
    # apt-get install wicd

    Paramétrage

    Sous xfce4, vous aurez une belle icône dans le panneau, en haut à droite Icône wicd : il suffit de cliquer dessus pour faire apparaître la fenêtre listant les réseaux sans fils disponibles (cf. capture d'écran ci-dessus). Il suffit de cliquer sur le petit triangle devant le réseau que l'on veut paramétrer pour faire apparaître le bouton Icône afficher le paramétrage :

    Afficher le paramétrage de wicd

    La capture suivante présente le paramétrage avec une IP fixe :

    Paramétrage de wicd

    Les éléments importants sont :



    • Utiliser des adresses IP statiques : à laisser décoché si vous voulez profiter de l'attribution automatique d'une IP par DHCP, ce qui est le plus simple. Si vous savez ce que vous faites, cochez cette option et remplissez les champs IP, masque de réseau et passerelle.
    • Si vous utilisez l'option DHCP, la plupart du temps le serveur DNS est configuré également par DHCP. Sinon vous pouvez préciser dans Utiliser un serveur DNS statique les serveurs DNS à utiliser : en général c'est l'adresse IP de votre routeur / bobox qu'il faut préciser.
    • Si votre réseau WiFi est crypté, ce que je ne saurais trop vous conseiller, il faut cocher Utiliser le chiffrement, sélectionner le chiffrement de votre connexion, et rentrer votre clé.

    Ensuite il suffit de cliquer sur le bouton Valider.

    Vous pouvez maintenant cliquer sur Bouton de connexion :

    se connecter
    Si vous souhaitez vous connecter automatiquement à ce réseau à chaque fois, il suffit de cocher l'option correspondante avant de cliquer sur se connecter.

    Liens

    Relier deux machines en réseau local

    Introduction

    Quand on a deux ordinateurs, je pense qu'on finit toujours par avoir envie de les relier entre eux. J'ai commencé avec un câble parallèle et deux ordinateurs sous Windows : c'est lent! Toujours sous Windows je suis passé à une liaison par cable USB, un peu plus rapide. Et puis j'ai voulu relier mon portable sous linux à un ordinateur sous Windows. Et là je suis passé par un petit réseau local.

    Ce qu'il faut

    Il faut bien sûr deux ordinateurs. Ensuite une carte ethernet pour chacun, et soit un hub/switch (ce que je n'ai pas), soit un câble croisé qui permet de relier directement 2 cartes ethernet. Si vous ne pouvez pas le faire vous même cela se trouve facilement dans le commerce.

    Un fois la carte installée physiquement (une 3Com Etherlink XL TPO PCI pour vache, et une 3Com Etherlink III PC-CARD pour etable) il faut vérifier qu'il n'y a pas de conflits au niveau IRQ (j'ai été obligé de désactivé un port COM sur ma carte mère ASUS A7M266, sinon soit j'avais la carte réseau, soit j'avais la carte son SB Live!, mais pas les deux en même temps).

    Préparation de Linux

    Une fois qu'on est sûr que la carte est reconnue, attaquons nous à Linux. Il faut bien évidemment compiler les modules nécessaires dans votre noyaux : d'une part ceux qui servent au réseau en général, et d'autre part ceux qui concernent votre carte en particulier.

    On peut essayer de charger manuellement le module de sa carte réseau pour être sûr que ça marche :
    vache% sudo modprobe 3c59x
    vache% lsmod

    Module Size Used by Tainted: P
    3c59x 24944 0 (unused)

    Mise en place manuelle du réseau

    Il faut utiliser la commande ifconfig. Invoquée toute seule, elle permet de connaitre l'état des interfaces existantes. Voici par exemple ce que ça donne avec une connexion internet par modem active :
    vache% ifconfig

    lo        Lien encap:Boucle locale  
              inet adr:127.0.0.1  Masque:255.0.0.0
              adr inet6: ::1/128 Scope:Hôte
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:3601 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3601 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:0 
              RX bytes:782997 (764.6 KiB)  TX bytes:782997 (764.6 KiB)
    
    ppp0      Lien encap:Protocole Point-à-Point  
              inet adr:62.147.67.232  P-t-P:192.168.254.254  Masque:255.255.255.255
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:9579 errors:0 dropped:0 overruns:0 frame:0
              TX packets:7877 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:3 
              RX bytes:12464996 (11.8 MiB)  TX bytes:621187 (606.6 KiB)

    Pour lancer l'interface ethernet avec l'adresse IP 192.168.1.1:
    vache% ifconfig eth0 192.168.1.1 up

    On obtient:
    vache% ifconfig

    eth0      Lien encap:Ethernet  HWaddr 00:01:02:9D:75:3E  
              inet adr:192.168.1.1  Bcast:192.168.1.255  Masque:255.255.255.0
              adr inet6: fe80::201:2ff:fe9d:753e/10 Scope:Lien
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2 errors:0 dropped:0 overruns:0 carrier:2
              collisions:0 lg file transmission:100 
              RX bytes:0 (0.0 b)  TX bytes:148 (148.0 b)
              Interruption:3 Adresse de base:0xa400 
    
    lo        Lien encap:Boucle locale  
              inet adr:127.0.0.1  Masque:255.0.0.0
              adr inet6: ::1/128 Scope:Hôte
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:3601 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3601 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:0 
              RX bytes:782997 (764.6 KiB)  TX bytes:782997 (764.6 KiB)
    
    ppp0      Lien encap:Protocole Point-à-Point  
              inet adr:62.147.67.232  P-t-P:192.168.254.254  Masque:255.255.255.255
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:10413 errors:0 dropped:0 overruns:0 frame:0
              TX packets:8332 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 lg file transmission:3 
              RX bytes:13715996 (13.0 MiB)  TX bytes:645195 (630.0 KiB)

    En faisant de même sur l'ordinateur portable avec l'IP 192.168.1.2, on a relié nos deux ordinateurs. Un moyen très simple pour vérifier que le réseau marche bien:
    vache% traceroute 168.192.1.2

    traceroute to 192.168.1.2 (192.168.1.2), 30 hops max, 38 byte packets
     1  etable (192.168.1.2)  0.686 ms  0.262 ms  3.342 ms

    Et voilà le travail, on a maintenant un réseau local reliant nos deux ordinateurs. A partir de là on peut utiliser samba pour accéder à des ressources partagées sur un ordinateur tournant sous windows, ou NFS pour partager des ressources entre machines unix/linux./p>

    Pour arrêter l'interface réseau il suffit d'un :
    vache% ifconfig eth0 down'

    Lancement automatique des interfaces réseau

    Une fois que le réseau marche, on peut vouloir le lancer automatiquement au démarrage de linux. Pour ce faire il faut utiliser les possibilités offertes par les commandes ifup et ifdown, et par leur fichier de configuration /etc/network/interfaces. En rajoutant dans ce fichier les lignes :

    # carte ethernet eth0
    auto eth0
    iface eth0 inet static
            address 192.168.1.1
            netmask 255.255.255.0

    On peut lancer automatiquement le réseau au démarrage. Si on préfère le lancer à la main, il faut supprimer la ligne auto eth0 et on pourra alors lancer le réseau par la commande ifup eth0, ce qui est quand même plus pratique que de préciser à chaque fois l'adresse IP. La commande ifdown eth0 arrêtera le réseau de la même manière.