On Monday 29 April 2002 15:52, Timo Eckert wrote:
Am Montag, 29. April 2002 14:57 schrieb Konrad Neitzel:
Hmm - gar nicht. Es gibt keinen festen Punkt wo Du sagen kannst: Die Distribution ist installiert.
hmpf so ne scheisse...
Man kann einige Infos abzwacken z.B.:
- Kernelversion - installierte Software
nunja.. KernelVersion bringt mich auch net viel weiter... Ich mein bei SuSE gibs ja /etc/SuSE-release .. ich dachte halt nur sowas gibs auch für debian etc...
Was genau willst Du denn machen? Was musst Du erreichen?
Ich brauche das für mein Projekt, wo ich gerade bin. Da dies auf unterschiedlichen Distris laufen soll, muss ich bei der installation natürlich meine Pfade, Programme die ich aufrufe etc anpassen. Es gibt einige Systemvariablen in denen (zumindest bei einer SuSE) der Distributor enthalten ist. MACHTYPE gibt bei SuSE und Debian einen Distributor aus: echo $MACHTYPE i586-suse-linux echo $MACHTYPE i686-debian-linux-gnu
Bann ist im 5ten Feld von BASH_VERSINFO bei SuSE auch de Distributor angegeben: echo ${BASH_VERSINFO[*]} 2 05 0 1 release i386-suse-linux echo ${BASH_VERSINFO[5]} i386-suse-linux oder, auch wieder SuSE Spezifisch less /etc/SuSEconfig SuSE Linux 8.0 (i386) VERSION = 8.0 Ich würde für Distributions übergreifende Scripte aber ein Abfangen der Probleme durch eine case Anweisung abfangen. Für ein Bash Script könnte dies zum Beispiel so aussehen: ---8<--- #!/bin/bash # Bis auf eine der folgenden Zeilen auskomentieren # es gilt immer die letzte aktivierte Zeile Distribution="suse" # fuer SuSE #Distribution="debian" # fuer Debian #Distribution="redhat" # fuer RedHat #Distribution="mandrake" # fuer Mandrake # testausgabe echo "Distribution: "$Distribution # Beginne Case Block case $Distribution in # prueft Inhalt von Distribution und case'd "suse" ) kDeDIR="/opt/KDE3" \ gNoMeDIR="/opt/gnome" \ ;; "debian" ) kDeDIR="/usr/opt/KDE3" \ gNoMeDIR="/usr/opt/gnome" \ ;; # und immer so weiter # Dieser Eintrag wirkt falls Distribution nicht gesetzt wurde * ) echo "Distribution case nicht gesetzt";; esac # Ende des Case Blockes # Asugabe der im Case Block gesetzten Variablen echo "Inhalt von kDeDIR: "$kDeDIR echo "Inhalt von gNoMeDIR: "$gNoMeDIR ---8<--- Tschüss, Thomas -- "[In 'Doctor' mode], I spent a good ten minutes telling Emacs what I thought of it. (The response was, 'Perhaps you could try to be less abusive.')" (By Matt Welsh)