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

KDE Update mit Smart - Wie geht das?

Mr. Spock

Hacker
Hallo Junx,

ich habe SuSE 9.3 und KDE 3.5.2. Nun wollte ich auf KDE 3.5.3 updaten und stellte fest, dass das unter SuSE 9.3 nun nicht mehr über Yast geht. Nach einiger Recherche habe ich mir nun Smart installiert und will es damit machen. Doch einiges verwirrt mich.

Ich habe in den Channels suse-kde (war schon drin) und suse-kde-backports (hab ich hinzugefügt, schein aber eh nix neues zu enthalten). In Yast hab ich früher dann "alle aktualisierbaren Pakete" auf "aktualisieren" gesetzt und los ging's. Aber wie ist das in Smart? Irgendwie hab ich dauernd das Gefühl, dass Smart sofort anfangen würden, ALLES zu updaten, was er nur findet! (also alle überhaupt existierenden installierten Pakete oder so)

Das will ich ja auf keinen Fall, also wie kann man Smart denn genau sagen, was er updaten soll und was nicht? Updatet Smart immer alles, was als weißes Kästchen mit Stern dargestellt wird? Und dabei dann immer nur das, was in der aktuellen Ansicht angezeigt wird?

Mein Plan ist nun der: NUR den RPM und SUSE-KDE Channel aktivieren, so dass nichts anderes geupdatet wird. Dann unter Ansicht auf "verberge nicht aktualisierbare" klicken, so dass nur die neueren Pakete angezeigt werden, die ich (in älterer Version) bereits installiert habe (stimmt das??). Dann müsste ich auf "alle aktualisieren" klicken und das war's?

Was ich auf jeden Fall vermeiden will, ist dass KDE-Pakete in verschiedenen Versionen existieren. Jemand hier im Forum hatte nämlich einen Supergau nach dem Smart-Update, da er dann alle KDE Pakete in der neuen UND der alten Version hatte.

Daher bitte ich euch, mir das genaue Vorgehen nochmal zu erklären! Ist mein Plan ok? Oder kann/soll ich ALLE Channels aktiviert lassen? Wie sorge ich dann dafür, dass nur KDE geupdatet wird? Was, wenn ich nach "KDE" suche? Werden dann nur die angezeigten Pakete geupdatet?

Hilfe!
 
Eins nach dem anderen. Du verwendest die smart-Pakete von suser-guru, richtig?

Die sind mit verschiedenen Channels vorkonfiguriert, unter anderem auch mit suser-gurus eigenem Channel. Daher kommen die Updates der Pakete, die gar nichts mit KDE zu tun haben. Da Du bisher ohne diese Updates leben konntest, gehe ich einfach mal davon aus, dass Du die nicht willst, richtig?

Also eines nach dem anderen: Zeig erstmal die Channel-Liste her, das ist die Ausgabe des Befehls
Code:
smart channel --show
PS: Sag am besten gleich dazu, welche YaST-Installationsquellen Du bisher hattest. Die Angabe bräuchte ich, um daraus eine 1:1-entsprechende smart-Konfiguration zu machen.
 
OP
Mr. Spock

Mr. Spock

Hacker
Erstmal danke für eure Antworten!

@oc2pus:
Seltsam, ich habe lange recherchiert und hier im Forum nachgefragt, das Ergebnis war immer, dass erst die neue Yast-Version in 10.0+ YUM unterstützt und es daher mit der alten nicht geht. Steht auch so auf opensuse.org. Natürlich lasse ich mich aber gerne eines besseren belehren.

@traffic:
Ja, ich habe Smart von Guru über Yast installiert, Version 0.41-26. Und es waren schon Channels vorinstalliert. Hier der Auszug:

Code:
kid-a@linux:~> smart channel --show
[suse-wine]
type = rpm-md
name = Latest wine packages
disabled = yes
baseurl = ftp://ftp.suse.com/pub/people/meissner/wine/9.3/

[rpm-sys]
type = rpm-sys
name = RPM System

[packman]
type = yast2
name = Packman 3rd Party Package Repository
disabled = yes
baseurl = http://packman.inode.at/suse/9.3

[guru]
type = yast2
name = Guru 3rd party package repository
disabled = yes
baseurl = http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/9.3

[suse-mozilla]
type = rpm-md
name = Latest mozilla.org packages
disabled = yes
baseurl = ftp://ftp.suse.com/pub/projects/mozilla/9.3

[suse-kde]
type = rpm-md
name = Latest KDE packages
baseurl = http://software.opensuse.org/download/KDE:/KDE3/SUSE_Linux_9.3

[suse-security]
type = apt-rpm
name = SUSE Linux Security Updates
disabled = yes
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.3-i386
components = security

[suse-base]
type = apt-rpm
name = SUSE Linux Packages
disabled = yes
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.3-i386
components = base

[suse-kde-backports]
type = rpm-md
name = KDE Backports
disabled = yes
baseurl = http://software.opensuse.org/download/KDE:/Backports/SUSE_Linux_9.3

[suse-update]
type = apt-rpm
name = SUSE Linux Online Updates
disabled = yes
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.3-i386
components = update

Aktuell will ich erstmal nur KDE updaten. Generell interessiert mich aber natürlich ganz allgemein, wie man einzelne Pakete mit Smart installiert, ohne gleich alle neuen Pakete zu installieren, die Smart gefunden hat. Der Knop "alles aktualisieren" klingt so, als würden generell sofort ALLE neuen Pakete installiert, ohne dass ich diese vorher auswähle. Daher ist auch die Frage wichtig, wie es überhaupt zu einer "Auswahl", also Markierung, der Pakete kommt. Werden alle installiert, die ein weißes Kästchen mit Stern haben? Oder heißt das bloß, dass hier neuere Versionen vorliegen und ich muss sie noch zur Aktualisierung markieren (wenn ja, wie?). Oder ist es widerum so, dass immer nur die Pakete installiert werden, die in der aktuellen Ansicht angezeigt werden (Suchfunktion in Smart)?

Als Yast-Quellen hatte ich früher nur die DVD, Packman, Guru und die supplementary-Quellen auf dem gwdg-Server für KDE. Der funktioniert ja nun nicht mehr.

Hoffe, das hilft erstmal zur näheren Beantwortung meiner Fragen...

Ach ja, und bitte sagt mal was zu dem angesprochenen Problem, dass ein Paket in MEHREREN Versionen installiert ist! (Wie kann denn sowas passieren??)

DANKE EUCH!
 

oc2pus

Ultimate Guru
traffic schrieb:
Geht das mit 9.3? Ich hab gerade keine 9.3 da, meine aber wirklich, dass die YUM-Repos erst ab 10.0 unterstützt werden.

oops, es gibt wohl die repomd Verzeichnisse für 9.3 aber das "Standard-YaST" kann diese nicht.
Sorry, für Falschmeldung.

Mit dem neuen apt geht es aber sehr gut.
 

oc2pus

Ultimate Guru
Mr. Spock schrieb:
...Aktuell will ich erstmal nur KDE updaten. Generell interessiert mich aber natürlich ganz allgemein, wie man einzelne Pakete mit Smart installiert, ohne gleich alle neuen Pakete zu installieren, die Smart gefunden hat. ...

schaust du hier:
Übersicht über alle smart-Befehle:
http://wiki.suselinuxsupport.de/wikka.php?wakka=SmartCommands

Wichtig ist eine solide channel-Definition und eine gute mirror Auswahl.
Der Rest ist Übung :)

Die smart-GUI ist IMHO etwas gewöhnungsbedürftig, evtl liegt es auch an derÜbersetzung.. Ich persönliche nutze lieber die smart-shell (viel schneller und weniger Resourcen)
 
1) Channelliste

Diese Channel-Liste sieht gut aus, folgende Dinge (Kleinigkeiten) unterscheiden sich von der vorherigen YaST-Konfiguration:

- [suse-wine] hattest Du in der YaST-Konfiguration nicht drin, ist aber kein großer Unterschied
- [suse-mozilla] ebenso
- Die DVD fehlt (brauchst Du die?)

Allerdings hast Du jetzt (wahrscheinlich wegen der vielen angebotenen Updates) alle Channels außer [suse-kde] deaktiviert. Siehe unten.

2) Pakete werden in mehreren Versionen installiert

Ist mir noch nie passiert. Keine Ahnung, was da los war - ich habe auch noch nie anderswo von diesem Problem gehört. Könnte evtl. an einem Bedienungsfehler liegen.

3) YaST und YUM-Repositories

Um herauszufinden, ob das 9.3-YaST die YUM-Repositories unterstützt, kannst Du einfach mal probehalber eines einrichten:

Protokoll: HTTP
Servername: software.opensuse.org
Verzeichnis: download/repositories/KDE:/Backports/SUSE_Linux_9.3

Wenn YaST daraufhin ein Popup-Fenster anzeigt, dann tipp mal den Text ab oder mach einen Screenshot (ist ätzend, aber ich bräuchte den Originaltext, um zu beurteilen, ob das ein Hinweis oder ein Fehler ist).

4) Smart-GUI will alle Pakete aus allen Channels auf einmal aktualisieren

So ist halt die Logik dieser GUI: Es gibt den großen grünen Pfeil ("Aktualisiere alle Pakete"), und dann werden auch wirklich alle Pakete aktualisiert.

Fürs Kommandozeilen-Interface gibt es eine Lösung:
Code:
smart -o force-channels=<NameDesChannels> upgrade
Leider kann man aus dem GUI nicht alle Optionen erreichen, die es in der Kommandozeile gibt.

Im Moment hast Du es ja so gelöst, dass Du alle Channels außer [suse-kde] temporär deaktiviert hast. Klappt das denn so?

Nur eine Kleinigkeit dazu: Die "statischen" Channels, konkret [suse-base], musst Du nicht deaktivieren, weil die Pakete von dort immer gebraucht werden, um Abhängigkeiten aufzulösen und es aus diesem Channel sowieso nie Updates gibt. => Nicht deaktivieren.

Und den Channel [rpm-sys] bitte auch keinesfalls deaktivieren, der wird immer gebraucht. Du hast ihn jetzt nicht deaktiviert, ich sag's nur vorsichtshalber.

PS: Du kannst sehr wohl auch im Smart-GUI nur einzelne Channels aktualisieren, ohne die anderen temporär zu deaktivieren (Datei -> Selektierten Channel aktualisieren, und dann die erwünschten Channels auswählen), allerdings frühestens ab der zweiten smart-Benutzung, nicht bei der ersten. ;)
 
OP
Mr. Spock

Mr. Spock

Hacker
@oc2pus:
Die shell-Variante werde ich mir auch noch angucken, wollte aber erstmal wissen, wie es mit der GUI geht. Danke für den Link!

@traffic:
Danke für deine wirklich umfassenden Antworten! Meine Channels lasse ich also erstmal so. Um Mirrors hab ich mich noch nicht gekümmert, mach ich aber dann auch erstmal später.

zu 1): Was genau ist denn der wine-Channel? Die DVD brauch ich eigentlich nicht, manchmal hatte Yast sie aber angefordert, daher hatte ich sie nie rausgenommen.

zu 2): ok, ich hoffe mal das beste.

zu 3): Ich werde es ausprobieren, aber ich gehe eigentlich schon davon aus, dass es nicht funktionieren wird. Gab schon einige Threads dazu.

zu 4): Gut, es werden also IMMER alle Channels aktualisiert, sofern nicht explizit nur selektierte angewählt werden (per Menü). Das bringt mich aber doch definitiv zu der Annahme, dass es für das KDE-Update das beste ist, nur bestimmte Channels zu aktivieren, damit umgeht man ja dann recht einfach die Aktualisierung der anderen Channels.

Ist es denn aber schon richtig, dass nur das aktualisiert wird, was auch angezeit wird? Wenn ich also oben im Menü "verberge nicht aktualisierbare" auswähle, dann werden die, die daraufhin nicht mehr angezeigt werden, auch nicht aktualisiert/installiert, oder? Ich will nämlich KDE nur in deutsch und nicht in ALLEN Sprachen, bloß weil diese Pakete angezeigt werden....... ;-)

Den rpm-sys-Channel habe ich ganz bewußt aktiviert gelassen, denn ich habe mir schon gedacht, dass ich den brauche.

ABER: du sagst, ich bräuchte den suse-base-Channel? Das ist schon eher ein Problem, denn da verwirrt mich völlig, dass - solange suse-base aktiviert ist - ich auch KDE-Pakete der uralten Version 3.4.0 angezeigt bekomme!!! Und die werden auch mit weißem Kästchen und Stern angezeigt! Das sieht dann so aus, als ob er 3.4.0 UND 3.5.3 installieren wollte..... Was zum Geier soll das und was passiert, wenn ich suse-base aktiviert lasse? Kapiert denn Smart da teilweise nicht, was neuer und was älter ist? Die Symbole sind jedenfalls völlig verwirrend.
 
OP
Mr. Spock

Mr. Spock

Hacker
Hm, etwas Klarheit bringt womöglich diese Aussage aus dem Smart-FAQ:

What does the little yellow star mean?

The yellow star means the package has changed since the last time you updated its channel. You can use View->Hide old to view only what changed since the last update.

Zumindest habe ich grade beim Nachgucken gesehen, dass tatsächlich die Pakete aus suse-base jetzt keinen Stern mehr haben. Insofern gehe ich davon aus, dass die mir jetzt auch keinen Ärger machen werden. Ich werde nun rpm-sys, suse-base und suse-kde aktivieren und dann auf "verberge nicht aktualisierbare" klicken und dann einen Versuch wagen. Mit etwas Glück kann ich euch nachher von meinem neuen KDE 3.5.3 aus mitteilen, dass es geklappt hat. Ich hoffe das beste.

Generell kann man wohl sagen, dass die Symbole in der Smart-GUI differenzierter sein sollten und eine umfassendere Legende exisitieren sollte. In Yast ist dies zumindest besser gelöst.
 
Mr. Spock, eine Unterscheidung ist ganz wichtig: Update und Upgrade sind nicht dasselbe!

Im Einzelnen: Das Shell-Kommando
Code:
smart update
aktualisiert die Channel-Beschreibungen. Es installiert keine neuen Pakete, sondern holt lediglich die neuesten Informationen aus den Channels, welche Pakete gerade verfügbar sind.

Diese Operation entspricht dem blauen runden Doppelpfeil im GUI.

Das Shell-Kommando
Code:
smart upgrade
aktualisiert alle Pakete auf die Versionen, die gemäß des letzten Channel-Updates die neuesten sind.

Diese Operation entspricht dem großen grünen Pfeil im GUI.

Das bedeutet: Um lediglich Pakete aus bestimmten Channels zu aktualisieren und nicht alle, beschränkst Du den ersten Schritt - das Update der Channel-Informationen - auf diejenigen Channels, aus denen Du neue Pakete haben willst. Dazu dient der Shell-Befehl
Code:
smart update <NameDesErstenChannels> <NameDesZweitenChannels>
usw. Diese Operation kann man auch aus dem GUI erreichen, aber nicht über den blauen Doppelpfeil in der Symbolleiste, sondern über den Menüpunkt "Datei -> Selektierten Channel aktualisieren". Da kann man genau auswählen, welche Channel aktualisiert werden, um beim darauffolgenden Upgrade werden dann natürlich auch nur die Pakete erneuert, die aus den gerade erneuerten Channels kommen.

Der Grund, weshalb Du jetzt Aktualisierungen aus allen Channels angeboten bekommst, liegt einfach darin, dass Du gerade erst mit smart anfängst. Beim ersten Start aktualisiert smart immer alle Channels. Später, wenn aus jeden Channel die erste Ladung an Updates durch ist, kannst Du die zu aktualisierenden Channels einzeln auswählen.

Etwas klarer? Auch eine nette Idee wäre es, sowohl mit dem GUI als auch in der Shell mit smart herumzuspielen. So kriegt man nach kurzer Zeit ganz gut raus, welche GUI-Option welchen Shell-Befehlen entspricht usw.
 
Oben