• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] packet installation via script

chappert

Hacker
Hy,

ich würde gern ein script schreiben das clamav automatisch upgradet wenn eine neue Version zur verfügung steht
mein erster ansatz war zypper aber wo soll ich dem script bei bringen was er installieren soll wenn ich nicht weiß wie die neue Version heißt

hat dazu eine ne Idee wie man das realisieren kann???

P.S. unter folgendem Link würde ich nach aktualisiereungen schauen, momentan hab ich auch die aktuelleste version drauf aber ick will da nicht immer per hand machen
http://download.opensuse.org/repositories/home:/peternixon/openSUSE_11.0/x86_64/
 

admine

Ultimate Guru
chappert schrieb:
ich würde gern ein script schreiben das clamav automatisch upgradet wenn eine neue Version zur verfügung steht
mein erster ansatz war zypper aber wo soll ich dem script bei bringen was er installieren soll wenn ich nicht weiß wie die neue Version heißt
Eine neue Version wird sicher auch "clamav" heißen und die Versions-Nummer sollte zypper nicht beeindrucken.
 

michael77

Newbie
Hi chappert,

Also eigentlich sollte das hier reichen:
Code:
zypper install clamav

Wenn clamav in der aktuellen Version schon installiert ist, bricht zypper ab.

Bsp:
bei mir ist z.Z. MozillaFirefox-branding-openSUSE Version 3.0.3-2.5 installiert
Verfügbar ist Version 3.0.4-1.1

Code:
platz12:/ # zypper search MozillaFirefox-branding-openSUSE
Lese installierte Pakete...

S | Name                                         | Zusammenfassung                                                | Typ
--+----------------------------------------------+----------------------------------------------------------------+------
i | MozillaFirefox-branding-openSUSE             | openSUSE branding of MozillaFirefox                            | Paket
  | MozillaFirefox-branding-openSUSE-debuginfo   | Debug information for package MozillaFirefox-branding-openSUSE | Paket
  | MozillaFirefox-branding-openSUSE-debugsource | Debug sources for package MozillaFirefox-branding-openSUSE     | Paket


platz12:/ # zypper --non-interactive install MozillaFirefox-branding-openSUSE
Lese installierte Pakete...

Die folgenden Pakete werden aktualisiert:
  mozilla-xulrunner190-translations mozilla-xulrunner190-gnomevfs
mozilla-xulrunner190 MozillaFirefox-translations MozillaFirefox-branding-openSUSE
MozillaFirefox


Gesamtgröße des Herunterladens: 12,0 M. Nach der Operation werden zusätzlich 2,7 M genutzt.
Fortfahren? [JA/nein]: ja
Herunterladen von Paket mozilla-xulrunner190-1.9.0.4-3.1.x86_64 (1/6), 6,5 M (23,8 M installiert)
Lade herunter: mozilla-xulrunner190-1.9.0.4-3.1.x86_64.rpm [fertig (169,6 K/s)]
Installiere: mozilla-xulrunner190-1.9.0.4-3.1 [fertig]
Herunterladen von Paket MozillaFirefox-branding-openSUSE-3.0.4-1.1.x86_64 (2/6), 13,0 K (31,0 K installiert)
Lade herunter: MozillaFirefox-branding-openSUSE-3.0.4-1.1.x86_64.rpm [fertig]
Installiere: MozillaFirefox-branding-openSUSE-3.0.4-1.1 [fertig]
Herunterladen von Paket mozilla-xulrunner190-translations-1.9.0.4-3.1.x86_64 (3/6), 3,2 M (21,6 M installiert)
Lade herunter: mozilla-xulrunner190-translations-1.9.0.4-3.1.x86_64.rpm [fertig (154,0 K/s)]
Installiere: mozilla-xulrunner190-translations-1.9.0.4-3.1 [fertig]
Herunterladen von Paket mozilla-xulrunner190-gnomevfs-1.9.0.4-3.1.x86_64 (4/6), 34,0 K (96,0 K installiert)
Lade herunter: mozilla-xulrunner190-gnomevfs-1.9.0.4-3.1.x86_64.rpm [fertig]
Installiere: mozilla-xulrunner190-gnomevfs-1.9.0.4-3.1 [fertig]
Herunterladen von Paket MozillaFirefox-3.0.4-2.3.x86_64 (5/6), 879,0 K (3,2 M installiert)
Lade herunter: MozillaFirefox-3.0.4-2.3.x86_64.rpm [fertig (148,2 K/s)]
Installiere: MozillaFirefox-3.0.4-2.3 [fertig]
Herunterladen von Paket MozillaFirefox-translations-3.0.4-2.3.x86_64 (6/6), 1,4 M (8,8 M installiert)
Lade herunter: MozillaFirefox-translations-3.0.4-2.3.x86_64.rpm [fertig (167,6 K/s)]
Installiere: MozillaFirefox-translations-3.0.4-2.3 [fertig]


platz12:/ # zypper --non-interactive install MozillaFirefox-branding-openSUSE
Lese installierte Pakete...
'MozillaFirefox-branding-openSUSE' ist bereits installiert.
Keine auszuführenden Aktionen.

Ich hab Firefox hier gewählt, weil du eigentlich sehr schön sehen kannst, dass zypper auch die dependencies auflösst. (ausserdem war das update sowieso nötig :D )

Das "--non-interactive" kannst du auch durch "-n" abkürzen.

Gruß Michael

EDIT: hab ein paar leerzeilen eingefügt, damit es lesbarer wird
 
OP
C

chappert

Hacker
also wenn ich folgenden spruch in der bash los lasse

zypper --non-interactive install clamav

dann schaut er erst welche version drauf ist und überprüft ob eine neue zur verfügung steht und installiert diese dann ohne das ich eine weitere eingabe tätigen muss, richtig?

woher weiß er aber wo er zu suchen hat nach der neuen version (Repositories)???
 
OP
C

chappert

Hacker
kann mir jemand aus der manpage von zypper mir das erklären, wie das einzugeben ist in der bash

-r, --repo <alias|#|URI>
Install packages only from the repository specified by the alias, number or URI. This option can be used multiple times.

folgende eingabe habe ich probiert gehen aber nicht

zypper -nr clamav|download.opensuse.org|/repositories/home:/peternixon/openSUSE_11.0/ install clamav

klappt aber nicht, wie muss man das richtig eingeben????
 
OP
C

chappert

Hacker
so hast funktioniert....

Code:
zypper --repo http://download.opensuse.org/repositories/home:/peternixon/openSUSE_11.0/ --non-interactive install clamav

folgende ausgabe hab ich bekommen...
Warning: No repositories defined. Operating only with the installed resolvables. Nothing can be installed.
Reading installed packages...
'clamav' is already installed.
Nothing to do.

was hat das zu bedeuten, ich habe doch eine definiert, verstehe ich nicht
 
OP
C

chappert

Hacker
wen ich folgendes mache...

Code:
zypper search clamav
Reading installed packages...

S | Name      | Summary                           | Type
--+-----------+-----------------------------------+--------
i | clamav    | Antivirus Toolkit                 | package
i | clamav    | clamav: Update to version 0.93.3. | patch
i | clamav-db | Virus Database for ClamAV         | package

unter yast steht aber folgendes...
Version: 0.94.1-3.1 Installed: 0.94.1-3.1

deswegen würde ich gerne meine eigene Quelle angeben aber wie im post darüber steht funktioniert das nicht
bitt helft mir
 

admine

Ultimate Guru
Code:
'clamav' is already installed.
Nothing to do.
Was ist daran unverständlich?

In dem angegebenen Repo ist keine neuere clamav-Version vorhanden, als bei dir installiert ist.
Also ... was willst du?

So siehst du, welche clamav-Version bei dir installiert ist:
Code:
rpm -qa | grep clamav
 
OP
C

chappert

Hacker
Code:
rpm -qa | grep clamav
clamav-db-0.94-9.1
clamav-0.94.1-3.1

warum steht dann aber bei...

Code:
zypper search clamav
Downloading repository 'Peter's Playground (openSUSE_11.0)' metadata [done]
Building repository 'Peter's Playground (openSUSE_11.0)' cache [done]
Reading installed packages...

S | Name      | Summary                           | Type
--+-----------+-----------------------------------+--------
i | clamav    | Antivirus Toolkit                 | package
i | clamav    | clamav: Update to version 0.93.3. | patch
i | clamav-db | Virus Database for ClamAV         | package

und meine frage war ja auch wie ich explizieht sagen kann das er auf ein bestimmtes repositorie schauen soll ob da ne neue version drauf ist

Code:
 zypper --repo http://download.opensuse.org/repositories/home:/peternixon/openSUSE_11.0/ --non-interactive install clamav
Warning: No repositories defined. Operating only with the installed resolvables. Nothing can be installed.
Reading installed packages...
'clamav' is already installed.
Nothing to do.

und hierbei irritiert mich die Zeile...
Warning: No repositories defined. Operating only with the installed resolvables. Nothing can be installed.
 

michael77

Newbie
Ok, da du diese Quelle offensichlich nicht als repository eintragen kannst (ich habs bei mir auch probiert) und du unbedingt diese Quelle benutzen willst, heisst es eben: basteln.

1. Schritt: such dir einen Mirror mit ftp Unterstützung. Das macht das Ganze etwas leichter.
mein Vorschlag: ftp://ftp5.gwdg.de/pub/opensuse/repositories/home:/peternixon/openSUSE_11.0/x86_64/

Du musst also via ftp abfragen, welche Datei auf dem Server ist.
Anmerkung: das hier ist Bastelei, die ich auf keinen Fall für irgendein produktives System, auch nur im Ansatz, empfehlen würde!

Code:
#!/bin/bash
rm ~/tmp/clamav/VersionFTP && touch ~/tmp/clamav/VersionFTP

ftp -in ftp://ftp5.gwdg.de/pub/opensuse/repositories/home:/peternixon/openSUSE_11.0/x86_64/  <<INPUT
ls clamav* ~/tmp/clamav/VersionFTP
bye
INPUT

Das "touch DATEI" ist nötig, weil ftp meckert, wenn die Datei nicht existiert.

Der Rest besteht nur noch aus vergleichen und ggf. ziehen und installieren

Gruß Michael
 

admine

Ultimate Guru
chappert schrieb:
Code:
rpm -qa | grep clamav
clamav-db-0.94-9.1
clamav-0.94.1-3.1

warum steht dann aber bei...

Code:
zypper search clamav
Downloading repository 'Peter's Playground (openSUSE_11.0)' metadata [done]
Building repository 'Peter's Playground (openSUSE_11.0)' cache [done]
Reading installed packages...

S | Name      | Summary                           | Type
--+-----------+-----------------------------------+--------
i | clamav    | Antivirus Toolkit                 | package
i | clamav    | clamav: Update to version 0.93.3. | patch
i | clamav-db | Virus Database for ClamAV         | package
Was hast du denn an dieser Ausgabe auszusetzen? Ist doch genau das Richtige, was hier steht?
 
OP
C

chappert

Hacker
eben nicht im obrigen steht das ich clamav-0.94.1-3.1 drauf habe was auch der fall ist
und im unteren wird mir gesagt das ich die 0.93.3. Version drauf hätte

was ja net stimmt...

kann ich denn mit zyyper auch ersteinmal prüfen lassen ob ne aktuellere Version drauf ist??? wenn ja wie???
 

admine

Ultimate Guru
Code:
i | clamav    | clamav: Update to version 0.93.3. | patch
Also ich verstehe diese Zeile so, dass das ein Patch als Update auf die vorherige installierte Version 0.93.3 ist.
Und das "rpm -qa" hat dir ja eindeutig gezeigt, welche Version du installiert hast.

Wo und was überhaupt verfügbar ist (entsprechend der eingetragenen Repos) kannst du so sehen:
Code:
zypper se -ds clamav
 
Oben