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

zypper lu / up

catweasel

Hacker
Hi,

:???:

Code:
linux1:/home/mm # zypper lu -t package
Lese installierte Pakete...
S | Repository        | Name                        | Version         | Architektur
--+-------------------+-----------------------------+-----------------+------------
v | packman           | amarok                      | 1.4.10-100.pm.1 | x86_64
v | packman           | amarok-libvisual            | 1.4.10-100.pm.1 | x86_64
v | packman           | amarok-yauap                | 1.4.10-100.pm.1 | x86_64
v | packman           | dejavu                      | 2.26-0.pm.1     | noarch
v | packman           | fftw3                       | 3.1.2-142.pm.3  | x86_64
v | packman           | gstreamer-0_10              | 0.10.20-42.pm.1 | x86_64
v | packman           | gstreamer-0_10-plugins-base | 0.10.20-42.pm.1 | x86_64
v | packman           | gstreamer-0_10-plugins-good | 0.10.10-42.pm.2 | x86_64
v | packman           | kaffeine                    | 0.8.7-0.pm.1    | x86_64
v | packman           | kdemultimedia3              | 3.5.9-44.pm.1   | x86_64
v | packman           | kdemultimedia3-CD           | 3.5.9-44.pm.1   | x86_64
v | packman           | kdemultimedia3-mixer        | 3.5.9-44.pm.1   | x86_64
v | packman           | ktorrent                    | 3.1.2-0.pm.1    | x86_64
v | packman           | libakode                    | 2.0.2-152.pm.1  | x86_64
v | packman           | libgpod-tools               | 0.6.0-100.pm.9  | x86_64
v | packman           | libgpod3                    | 0.6.0-100.pm.9  | x86_64
v | packman           | libgstinterfaces-0_10-0     | 0.10.20-42.pm.1 | x86_64
v | packman           | libraptor1                  | 1.4.18-0.pm.1   | x86_64
v | packman           | libspeex                    | 1.1.99.4-0.pm.0 | x86_64
v | packman           | libtunepimp                 | 0.5.3-100.pm.9  | x86_64
v | packman           | libtunepimp5                | 0.5.3-100.pm.9  | x86_64
v | packman           | libwavpack1                 | 4.50.0-0.pm.1   | x86_64
v | packman           | mjpegtools                  | 1.9.0rc3-0.pm.1 | x86_64
v | openSUSE-11.0-Oss | openal                      | 0.0.8-165.1     | x86_64
linux1:/home/mm # zypper up -t package
Lese installierte Pakete...
Keine auszuführenden Aktionen.
Warum zeigt mir "zypper lu -t package" Pakete an, während "zypper up -t package" "Keine auszuführenden Aktionen" ausgibt?
 

whois

Ultimate Guru
Code:
list-updates

Mit list-updates (bzw. lu) werden die vorhandenen Aktualisierungsmöglichkeiten angegeben. Wird kein Auflösungstyp angegeben bezieht es sich nur auf Patches. Wollen Sie alle Pakete anzeigen lassen, für die neuere Versionen existieren, müssen Sie den Typ package angeben. Da bis auf die SUSE-eigenen Aktualisierungs- und Patch-Depots bisher kein anderes Depot Patches verwendet, müssen Sie, bspw. wenn Sie andere Quellen wie Packman eingebunden haben, immer den Typ package angeben, um aktuellere Versionen angezeigt zu bekommen.

http://de.opensuse.org/Zypper/Anleitung

Code:
update

Mit update (bzw. up) können Pakete und Patches oder ganze Gruppen wie Schemata aktualisiert werden. Standardmäßig bezieht sich das Kommando auf Patches, über die Option --type können auch andere Auflösbare/Resolvables, wie package für Pakete, angegeben werden. Mehrere Pakete, Patches oder Gruppen können durch Leerzeichen getrennt angegeben werden. Mit diesem Kommando können Sie auch das komplette System aktualisieren, indem Sie lediglich package als Typ angeben und sonst nichts weiter.
 
OP
C

catweasel

Hacker
Code:
Wollen Sie alle Pakete anzeigen lassen, für die neuere Versionen existieren, müssen Sie den Typ package angeben.
Will ich - darum: "zypper lu -t package".

Code:
Mit diesem Kommando können Sie auch das komplette System aktualisieren, indem Sie lediglich package als Typ angeben und sonst nichts weiter.
Habe ich gemacht: "zypper up -t package"

Was ich immer noch nicht verstehe:
"zypper lu -t package" zeigt mir Pakete an, von denen vermutlich neuere Versionnen existieren aber
"zypper up -t package" sagt: "Keine auszuführenden Aktionen."
 

admine

Ultimate Guru
catweasel schrieb:
Was ich immer noch nicht verstehe:
"zypper lu -t package" zeigt mir Pakete an, von denen vermutlich neuere Versionnen existieren aber
"zypper up -t package" sagt: "Keine auszuführenden Aktionen."
"zypper up -t package" zeigt bzw. aktualisiert nur die Updates, welche kein Quell/Repository-Änderung erfordern.

Lösung:
"Yast -> Software -> Software installieren oder löschen" starten und im Menü "Paket -> alle Pakete -> Aktualisieren, falls neue Version verfügbar" anwählen.
 
OP
C

catweasel

Hacker
admine schrieb:
"zypper up -t package" zeigt bzw. aktualisiert nur die Updates, welche kein Quell/Repository-Änderung erfordern.

Lösung:
"Yast -> Software -> Software installieren oder löschen" starten und im Menü "Paket -> alle Pakete -> Aktualisieren, falls neue Version verfügbar" anwählen.

So hab ich's hinbekommen.
Was versteht man unter Repository-Änderung?
Wäre ein Umstieg von Openoffice 2.4 auf Openoffice 3.0 eine solche Änderung.

Irgendwo hab ich gelesen, dass "zypper up -t package" der Gute und "zypper dup" der Böse ist.
Sollte man also eher nicht machen? :ugly:
 

admine

Ultimate Guru
catweasel schrieb:
Was versteht man unter Repository-Änderung?
Wäre ein Umstieg von Openoffice 2.4 auf Openoffice 3.0 eine solche Änderung.
Nein.
Aber z.B. Amarok ... du hast vermutlich Amarok von openSUSE installiert. Die neuste Version gibt es aber bei packman ;)
openSUSE-Repo -> packman-Repo => das ist eine Repository-Änderung.
 
OP
C

catweasel

Hacker
Warum ich das alles wissen wollte?

Da ich in der Taskleiste den Platz für andere Sachen benötige, habe ich mir ein Updateskript geschrieben, welches von Cron gestartet wird. Das Skript sollte mit Hilfe von "zypper lu -t package" auf dem Desktop eine Datei erstellen, sobald Updates (welche keine Repository-Änderung erfordern) verfügbar sind.
Da ich jetzt mit eurer Hilfe weiss, dass das so nicht geht, habe ich das Skript geändert:

Code:
if ps -C pppd > /dev/null; then
   tmp=$(mktemp)
   zypper up -D -l -t package -y | tee >> $tmp | grep -q -e 'Nothing to do' -e 'Keine auszuführenden Aktionen' && exit
   date >> /home/mm/Desktop/update
   cat $tmp >> /home/mm/Desktop/update
   
   mailx mm -s update <<EOF
   $(date): New updates
EOF
fi

Hier stört mich, dass vermutlich bei jedem Skriptstart eventuell verfügbare Pakete heruntergeladen werden.
Angenommen das Skript wird jede Stunde gestartet und es gibt gerade ein Kernelupdate, dann würden Kernel und Kernel-sources jede Stunde heruntergeladen und das ohne richtiger Flatrate.
Gibt es einen Ausweg dafür (abgesene davon, das Skript nicht so oft laufen zu lassen)?
 
OP
C

catweasel

Hacker
:eek:ps: neue Version funktioniert noch nicht.
alte Version:

Code:
#!/bin/bash

if ps -C pppd > /dev/null; then
	zypper up -D -l -t package -y | grep -q -e 'Nothing to do' -e 'Keine auszuführenden Aktionen' && exit
	
	date >> /home/mm/Desktop/update
	zypper up -D -l -t package -y >> /home/mm/Desktop/update
	
	mailx mm -s update <<EOF
	$(date): New updates
EOF

fi
 
OP
C

catweasel

Hacker
Vielleicht anstatt

Code:
 zypper up -D -l -t package -y | grep -q -e 'Nothing to do' -e 'Keine auszuführenden Aktionen' && exit

Code:
 zypper up -D -t package | grep -q -e 'Nothing to do' -e 'Keine auszuführenden Aktionen' && exit

Hab kein update mehr zum Testen: Bleibt das Skript so stecken?
 
Oben