Hallo Leute,

ich habe gerade eine sehr hilfreiche Möglichkeit gefunden, Paket mit YaST zu installieren. Da ich hier im LAN mehrere Rechner stehen habe, die alle die gleichen Funktionen biete sollen, müssen auf allen Rechnern die gleichen Pakete installiert sein. Ich habe mir deshalb aufgeschrieben, welche Pakete ich zusätzlich zur SuSE-Standardinstallation installieren muß. Diese Pakete dann mit YaST auszuwählen (grafisch/menü) ist mir irgendwann auf den Keks gegangen ...
Man kann das Ganze auch einfacher haben:

1. alle benötigten Pakete in eine Textdatei (pakete.list) schreiben (am besten pro Zeile eins)
2. als root in der Konsole
Code:
yast -i $(cat pakete.list)
2.1 Achtung! Falls ihr als normaler Benutzer ein Xterm geöffnet habt: su wird möglicherweise nicht funktionieren, da aus irgendeinem Grund versucht wird, das grafische YaST zu starten. Ihr müsst dann den Befehl sux verwenden, damit bekommt su auch Zugriff auf die grafische Oberfläche.
2.2 Achtung! YaST wird Pakete die bereits installiert sind reinstallieren, d.h. falls ihr per Online-Update eine neuere Version aufgespielt habt, wird diese auf die Version der SuSE DVD zurückgesetzt. Mit einem kleinen Skript kann man jedoch auch das umgehen... ich poste es mal:
Code:
#!/bin/sh

tmplist="/tmp/install.list"
[ -e $tmplist ] && { rm $tmplist || { echo "Fehler beim Löschen der alten Paketliste, Abbruch!" ; exit 1 ; } ; }
[ "$1" == "" ] && { echo "Bitte eine Paketdatei angeben" ; exit 1 ; }
[ -r $1 ] || { echo "Paketdatei nicht lesbar, Abbruch!" ; exit 1 ; }

touch $tmplist || { echo "Fehler beim Anlegen der temporären Pakletliste $tmplist, Abbruch!" ; exit 1 ; }
echo
echo "Folgende Pakete aus der Liste sind bereits installiert:"
for paket in $(cat $1); do
        rpm -qa|grep ^$paket-[0-9]
        [ $? -eq 1 ] && { echo $paket >> $tmplist ; }
done
echo
echo
anzahl=`grep -c . $tmplist`
if [ $anzahl -gt 0 ]; then
        echo "Starte jetzt YaST2..."
        yast2 --install $(cat $tmplist)
else
        echo "Es sind bereits alle Pakete aus der Liste installiert"
fi
echo
exit 0
Man kann auch "fremde" Pakete so installieren, der Vorteil dabei liegt dann darin, das Paketabhängigkeiten die mit der SuSE DVD aufgelöst werden können automatisch aufgelöst werden. Hat man z.B. ein ganzes Verzeichnis mit "fremden" rpm's (z.B. von Packman ), kann man diese mit folgendem Befehl installieren:
Code:
yast -i $(find /pfad/zu/gesammelten/rpms/ -type f -name '*.rpm')
Achtung! Das Verzeichnis wird dabei rekursiv durchsucht. Pakete in Unterverzeichnissen werden ebenfalls installiert. Falls dies nicht gewünscht ist, muß man an find noch "-maxdepth 1" übergeben (man find).


Ich hoffe es interessiert jemanden

Gruss Picard