Hallo, unter Windows habe ichja die Möglichkeit Installationspakete auf andere Rechner zu verteilen und dort zu installieren. Gibts sowas auch für Linux und RPM-Pakete? Ich habe einige Rechner die immer den gleichen Softwarestand ahben sollen. Wenn ich also irgendwo ein neues RPM installiere muss ich das auf allen anderen Rechnern nachholen. Da wäre es schon wenn ich das nicht überall von Hand machen müsste. Gruß Daniel -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Daniel Spannbauer schrieb: | Hallo, | | unter Windows habe ichja die Möglichkeit Installationspakete auf andere | Rechner zu verteilen und dort zu installieren. | | Gibts sowas auch für Linux und RPM-Pakete? | ja sollte gehen, falls Du nichts findest kann man es z.B. so machen siehe http://linux.die.net/man/8/createrepo Man kann ein Install repo definieren, dass die rpm Pakete, die man installieren möchte enthält. (Falls diese selbstgebaut sind oder man einfach welche vorgeben möchte) Das repository konfiguriert man dann in den installationspfad der Maschinen. Man kann jetzt entweder alles den Maschinen überlassen, durch einen crontab eintrag, oder man gibt eine Liste der Pakete vor, die dann aus dem repo installiert werden (auch ein vcrontab). Die Liste muss dann den anderen Maschinen bekannt machen. Ich kann mir gut vorstellen, dass sowas ähnliches schon existiert und bin auch mal auf die weiteren Antworten gespannt. Gruss Reimar - -- Reimar Bauer Institut fuer Stratosphaerische Chemie (ICG-1) Forschungszentrum Juelich email: R.Bauer@fz-juelich.de -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFIiDPB5aOc3Q9hk/kRAoXkAKCZkiFo2VH6h2okzDdrevcTx1qgswCeIkG2 h7wSWT97ojXbZItRuzTmLGI= =j8j3 -----END PGP SIGNATURE----- ------------------------------------------------------------------- ------------------------------------------------------------------- Forschungszentrum Jülich GmbH 52425 Jülich Sitz der Gesellschaft: Jülich Eingetragen im Handelsregister des Amtsgerichts Düren Nr. HR B 3498 Vorsitzende des Aufsichtsrats: MinDir'in Bärbel Brumme-Bothe Geschäftsführung: Prof. Dr. Achim Bachem (Vorsitzender), Dr. Ulrich Krafft (stellv. Vorsitzender), Prof. Dr. Harald Bolt, Dr. Sebastian M. Schmidt ------------------------------------------------------------------- ------------------------------------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Daniel Spannbauer wrote:
Hallo,
unter Windows habe ichja die Möglichkeit Installationspakete auf andere Rechner zu verteilen und dort zu installieren.
Gibts sowas auch für Linux und RPM-Pakete?
Ich habe einige Rechner die immer den gleichen Softwarestand ahben sollen. Wenn ich also irgendwo ein neues RPM installiere muss ich das auf allen anderen Rechnern nachholen. Da wäre es schon wenn ich das nicht überall von Hand machen müsste.
Richte einen passwortlosen ssh-Zugang auf allen Rechnern ein und starte die Installation über einen Befehl bzw. über ein Script auf dem Admin-Rechner. Ich mag es, wenn der gesamte Installationsvorgang geloggt und später per Email zugestellt wird. Du kannst auch eine Distributed Shell wie dsh verwenden. Auch dafür wiederum ist ein auf Schlüsseln basierender Zugang eine große Erleichterung. Dann kann die Installation auch parallel gestartet werden und benötigt entsprechend weniger zeit. dsh gibt's IMHO im Buildservice. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Sandy Drobic schrieb:
Daniel Spannbauer wrote:
Du kannst auch eine Distributed Shell wie dsh verwenden. Auch dafür wiederum ist ein auf Schlüsseln basierender Zugang eine große Erleichterung. Dann kann die Installation auch parallel gestartet werden und benötigt entsprechend weniger zeit. dsh gibt's IMHO im Buildservice.
Du kannst auch per rsync das Repository auf einen Deiner Rechner spiegeln, dmait nicht jeder Rechner sich das aus dem Internet runterladen muß. Zum einen hat das den Vorteil, das nicht jeder Rechner sich aus dem Internet die gleichen Pakete ziehen muß, zum anderen soll sicher nicht jeder Server Internetzugriff haben. http://de.opensuse.org/Spiegelserver_Infrastruktur Bei Bedarf habe ich evtl auch noch ein etwas älteres Script, was das Spiegeln eines Repositorys erledigt. Gruß Axel -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Daniel, falls deine Frage noch aktuell ist, hier mal meine Lösung. Ich habe das ebenfalls mit einem cronjob gelöst, welcher zweimal am tag prüft ob neue Software zu installieren ist. Das geht am besten über "zypper" welchem ich per nfs-mount eine Liste mit Paketen gebe die installiert werden sollen. Hier mein Skript für den cronjob und ein kleines awk-skript zum umformatieren der Listen: #!/bin/sh # softrollout rev 1.0 # # Verwaltung der automatischen Software-Verteilung # Guido Koelsch (gkoelsch@mpifr-bonn.mpg.de) INSTALLSERVER= MOUNTPOINT=/var/inst/server SUSE_RELEASE=suse103 URI=$MOUNTPOINT/$SUSE_RELEASE STATUS=0 if ! test -d $MOUNTPOINT then mkdir -p /var/inst/server || STATUS=1 fi if ! test -d $URI then mount $INSTALLSERVER:/install/handmade $MOUNTPOINT || STATUS=1 fi test -f $URI/addon-install.sel || STATUS=2 test -f $URI/addon-remove.sel || STATUS=3 test -f $URI/packages.awk || STATUS=4 if [ ! $STATUS -eq 0 ] then umount $MOUNTPOINT logger softrollout\: ERROR $STATUS\! exit $STATUS fi if test -f /var/inst/serial && test -f $URI/addon-serial # Dateien pruefen then SERIAL_LOCAL=`cat /var/inst/serial` SERIAL_REMOTE=`cat $URI/addon-serial` else SERIAL_LOCAL=0 SERIAL_REMOTE=1 fi if [ $SERIAL_REMOTE -gt $SERIAL_LOCAL ] # ist eine neue Liste vorhanden? then /usr/bin/zypper -q install -y -l -t package \ `awk -f $URI/packages.awk \ $URI/addon-install.sel` \ >/dev/null 2>&1 && \ /usr/bin/zypper -q remove -C -y -t package \ `awk -f $URI/packages.awk \ $URI/addon-remove.sel` \ >/dev/null 2>&1 STATUS=$? if [ $STATUS -eq 0 ] # Zypper hat keine Fehler gemeldet then /sbin/SuSEconfig --quick >/dev/null 2>&1 echo $SERIAL_REMOTE > /var/inst/serial else logger softrollout\: ERROR\!\! fi else STATUS=0 fi umount $MOUNTPOINT exit $STATUS ##################### packages.awk: ##### {liste = liste $1 " "} END {print liste} ##### Auf dem Installationsserver liegt eine Datei "serial", welche eine Nummer enthält und bei jeder Änderung manuell erhöht werden muss. So wird zypper nicht jedesmal bemüht sondern nur wenn es auch was zu tun gibt. Die beiden Dateien addon-install.sel und addon-remove.sel beinhalten die Paketnamen der Software welche installiert bzw. deinstalliert werden soll. Ich hoffe das hilft weiter. Guido -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Da sind wohl ein paar Zeilen verrutscht. Hier nochmal und richtig: #!/bin/sh # softrollout rev 1.0 # # Verwaltung der automatischen Software-Verteilung # Guido Koelsch (gkoelsch@mpifr-bonn.mpg.de) INSTALLSERVER= MOUNTPOINT=/var/inst/server SUSE_RELEASE=suse103 URI=$MOUNTPOINT/$SUSE_RELEASE STATUS=0 if ! test -d $MOUNTPOINT then mkdir -p /var/inst/server || STATUS=1 fi if ! test -d $URI then mount $INSTALLSERVER:/install/handmade $MOUNTPOINT || STATUS=1 fi test -f $URI/addon-install.sel || STATUS=2 test -f $URI/addon-remove.sel || STATUS=3 test -f $URI/packages.awk || STATUS=4 if [ ! $STATUS -eq 0 ] then umount $MOUNTPOINT logger softrollout\: ERROR $STATUS\! exit $STATUS fi if test -f /var/inst/serial && test -f $URI/addon-serial # Dateien pruefen then SERIAL_LOCAL=`cat /var/inst/serial` SERIAL_REMOTE=`cat $URI/addon-serial` else SERIAL_LOCAL=0 SERIAL_REMOTE=1 fi if [ $SERIAL_REMOTE -gt $SERIAL_LOCAL ] # ist eine neue Liste vorhanden? then /usr/bin/zypper -q install -y -l -t package \ `awk -f $URI/packages.awk \ $URI/addon-install.sel` \ >/dev/null 2>&1 && \ /usr/bin/zypper -q remove -C -y -t package \ `awk -f $URI/packages.awk \ $URI/addon-remove.sel` \ >/dev/null 2>&1 STATUS=$? if [ $STATUS -eq 0 ] # Zypper hat keine Fehler gemeldet then /sbin/SuSEconfig --quick >/dev/null 2>&1 echo $SERIAL_REMOTE > /var/inst/serial else logger softrollout\: ERROR\!\! fi else STATUS=0 fi umount $MOUNTPOINT exit $STATUS ##################### packages.awk: ##### {liste = liste $1 " "} END {print liste} ##### -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (5)
-
Axel Birndt
-
Daniel Spannbauer
-
Guido Kölsch
-
Reimar Bauer
-
Sandy Drobic