(Courriels de diversion: <bourguignons@affinement-detachions.com> <depiler@traîneraient-serviabilite.com> <scander@redirigees-rapetisses.com> <acquis@empêcherai-proscrivant.com> <triomphalement@entrechoquent-eventrer.com> <trouvaient@emettais-quitterons.com> <conjecturant@grutier-echoues.com> <regrettaient@pendeloques-attribuerent.com> <teleferiques@lorsque-memorial.com> <fomentation@vaincriez-ânonnerait.com> )


Afin de créér des fiches de description matériele des PC qui soient homogénes,
je propose le script ci-après.

Les fichiers sont séparés par des séparateurs: ":::::"
En première partie se trouve le script.
En deuxième partie se trouve un exemple de résultat.

Il peut être utilisé avec une imprimante, pour créer une fiche papier.
Le résultat pourait être automatiquement stoqué sur un serveur, ce qui
permettrait d'avoir une vision globale du matérielle du culte.

Le script est sans doute imparfait.
En particulier, il manque les infos sur la mémoire, et éventuellement X.
Je suis ouvert à toutes suggestions.

Jean-Michel
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::: script:
#!/bin/bash

#Ce script est sous licence GPL.
#Ce script a été créé pour répondre au besoin du CULTe (LUG de toulouse)
# http://www.culte.org

#Ce script donne certaines des caractéristiques principales d'une machine.
#auteur: Jean-Michel Gay
#date: 6 décembre 2004


###########################" Quelques routines générales

#indentation d'un flux
indent ()
{
	sed "s/^/    /g"
}

#affichage d'un titre de section
section ()
{
	echo
	echo $1 :
}

###########################" Routines de détéction

#détection du système
#Donne la version du noyau, et le nom de la distribution
#note: j'ai un doute sur le issu. Dans mon cas, ca donne Mandrake 10.
detect-sys ()
{
	( echo -n i"noyau:"
	uname -r
	cat /etc/issue )
}


#detection du cpu
#en se basant sur les infos de /proc
detect-cpu ()
{
	cat /proc/cpuinfo |
	grep -e "^\(model\|cpu MHz\|bogomips\)"
}

#detection des modules  ''hard''
#En fait, on ne s'interesse qu'aux modules qui nous intéressent.
#Mais quels sont-ils?
detect-mod ()
{
	lsmod |
	(
		while read a b
		do
		(
			#echo $a
			desc=` modinfo $a |
				grep  "^description:" `
				#grep -v "^depends:"  |
				#grep -v "^alias:" |
				#grep -v "^parm:"|
			case $desc in
				*Audio*  | *Midi*   | *Ether*  | *sound*  | *Sound*  | *Modem*  )
					echo $a $desc
				;;
			esac
			#echo "### " $a $desc | indent
		)
		done
	) |
	cat


}

#detection des disques
#On récupére les informations principales sur les 4 disques IDE.
detect-disk ()
{
	for disk in hda hdb hdc hdd
	do
		DSK=/proc/ide/$disk
		if [ -d $DSK ]
		then
			media=`cat $DSK/media`
			model=`cat $DSK/model`
			echo $disk: $media: $model
			(
			if [ cdrom != $media ]
			then
				capacity=`cat $DSK/capacity`
				geometry=`cat $DSK/geometry`
				echo "capacité: " $capacity "blocs/secteurs"
				echo "géométrie:" $geometry
			fi
			#echo $media
			#echo $model
			) | indent
		fi
		# Tant que l'on y est: liste des partitions
		fdisk -l /dev/$disk | indent | indent
	done
}

#Detection de la configuration réseau courante. (adresses IP).
detect-net ()
{
	ifconfig | grep "inet adr"
}

#Detéction du matériel présent sur le bus PCI.
detect-pci ()
{
	lspci
}



###########################" Routines de détéction principale

#detection de tout
detect-all ()
{
hostname
date

section "Système"
detect-sys | indent

section "Processeur"
detect-cpu  | indent

section "Disques"
detect-disk | indent

section "Réseau"
detect-net | indent

section "Périphériques"
detect-mod   | indent

section "Pci"
detect-pci   | indent
}

###########################" Verification de l'environnement d'execution du
script.

verif ()
{
user=`whoami`

if [ root != $user ]
then
	echo "Vous devez être root, pour lancer ce script!"
	exit 1
fi

if [ /bin/bash != $BASH ]
then
	echo "Désolé, ce script n'a été testé que sous bash!"
	exit 1
fi
}

###########################" Programme principal
verif

RESULT=fiche.txt
detect-all > $RESULT

cat $RESULT


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::: résultat:


bagdad
lun déc  6 20:45:30 CET 2004

Système :
    inoyau:2.6.3-7mdk
    Mandrake Linux release 10.0 (Official) for i586
    Kernel 2.6.3-7mdk on an i686 / \l

Processeur :
    model               : 4
    model name  : AMD Athlon(tm) processor
    cpu MHz             : 1394.436
    bogomips    : 2760.70

Disques :
    hda: disk: SAMSUNG SP0802N
        capacité:  156368016 blocs/secteurs
        géométrie: physical 16383/16/63 logical 16383/255/63

            Disque /dev/hda: 80.0 Go, 80060424192 octets
            255 têtes, 63 secteurs/piste, 9733 cylindres
            Unités = cylindres de 16065 * 512 = 8225280 octets

            Périphérique Boot      Start         End      Blocks   Id  System
            /dev/hda1   *           1        2550    20482843+   7  HPFS/NTFS
            /dev/hda2            2551        9733    57697447+   f  W95 Ext'd
(LBA)
            /dev/hda5            2551        5100    20482843+   e  W95 FAT16
(LBA)
            /dev/hda6            5101        7662    20579233+  83  Linux
            /dev/hda7            7663        9733    16635276   83  Linux
    hdc: cdrom: _NEC DVD+RW ND-1100A
    hdd: cdrom: IDE/ATAPI CD-ROM 52XS

Réseau :
              inet adr:127.0.0.1  Masque:255.0.0.0
              inet adr:213.223.181.214  P-t-P:213.223.181.1
Masque:255.255.255.255

Périphériques :
    snd-seq-midi description: Advanced Linux Sound Architecture sequencer MIDI
synth.
    snd-seq description: Advanced Linux Sound Architecture sequencer.
    snd-ac97-codec description: Universal interface for Audio Codec '97
    snd-rawmidi description: Midlevel RawMidi code for ALSA.
    snd description: Advanced Linux Sound Architecture driver for soundcards.
    soundcore description: Core sound module
    8139too description: RealTek RTL-8139 Fast Ethernet driver
    eagle-usb description: Eagle USB ADSL Modem driver

Pci :
    00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev
03)
    00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP]
    00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South]
(rev 40)
    00:07.1 IDE interface: VIA Technologies, Inc.
VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06)
    00:07.2 USB Controller: VIA Technologies, Inc. USB (rev 1a)
    00:07.3 USB Controller: VIA Technologies, Inc. USB (rev 1a)
    00:07.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
(rev 40)
    00:07.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97
Audio Controller (rev 50)
    00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 10)
    00:0c.0 Multimedia video controller: Brooktree Corporation Bt878 Video
Capture (rev 11)
    00:0c.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture
(rev 11)
    01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 440]
(rev a3)

---MOQ1102363143e2745cda537e2a950af16418646f637f
Content-Type: text/x-sh; name="detectd-hard.sh"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="detectd-hard.sh"

--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>