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

YaST-Installationsquelle auf HD wird nicht aktualisiert

FHW

Newbie
Ich versuche vergeblich im YaST-Modul "YaST Installationsquelle wechseln" einen Ordner meines home-Verzeichnisses als Inst.-Quelle hinzuzufügen. Das Verzeichnis wird mit dem Namen:
dir:///home/rpm_packete//
und mit der URL:
dir:///home/rpm_packete/

eingetragen.
Wenn ich dann über "Bearbeiten -> aktualisieren" die InstQuelle aktualisieren will, bekomme ich die Meldung "Installationsquelle nicht aktualisiert".
Folglich bekomme ich die Pakete in o.a. Ordner bei der Softwareauswahl im Modul "Software installieren/Löschen" auch nicht angezeigt.
Wer kann mir helfen, das Problem zu lösen?
 

gameboy

Hacker
Hallo Helmut Wagner,

ich bin nicht ganz sicher, ob ich Dein Anliegen richtig verstanden habe... - Wenn Du ein lokales Verzeichnis als YaST-Installationsquelle hinzufügen willst, dann habe ich zwei Tips für Dich:

1.) Der komplette Pfad sollte keine Leerzeichen/Sonderzeichen enthalten.

2.) Konquerer aufrufen
--> Rechtsklick auf den betreffenden Ordner
--> Actions
--> Add directory as YaST source

(Für ein deutschsprachiges KDE halt entsprechend übersetzen...)

Hilft Dir das irgendwie weiter?

Viele Grüße,
gameboy.
 

emoenke

Member
Helmut Wagner schrieb:
Ich versuche vergeblich im YaST-Modul "YaST Installationsquelle wechseln" einen Ordner meines home-Verzeichnisses als Inst.-Quelle hinzuzufügen. Das Verzeichnis wird mit dem Namen:
dir:///home/rpm_packete//
und mit der URL:
dir:///home/rpm_packete/

eingetragen.
Wenn ich dann über "Bearbeiten -> aktualisieren" die InstQuelle aktualisieren will, bekomme ich die Meldung "Installationsquelle nicht aktualisiert".
Folglich bekomme ich die Pakete in o.a. Ordner bei der Softwareauswahl im Modul "Software installieren/Löschen" auch nicht angezeigt.
Wer kann mir helfen, das Problem zu lösen?

YaST in 10.0 kann mit einer simplen Directory mit RPMs drin nichts anfangen. Da muß eine Yast-Repository-Struktur drübergebaut werden, oder eine Repodata-Struktur.
Beide Prozeduren sind unter www.opensuse.org beschrieben.

Ich meine, bei 10.1-Beta3 gesehen zu haben, daß jetzt auch "Directory with RPM files" geht, aber ganz sicher bin ich nicht (finde es nicht wieder).
 
OP
F

FHW

Newbie
Hallo gameboy,

bin Deinem Vorschlag gefolgt. Leider mit dem gleichen Ergebnis.

Ich bekomme zwar zunächst die Meldung "YaST-Quelle hinzugefügt", beim öffnen des YaST-Moduls "SW inst./löschen" aber wieder den Hinweis "Quelle nicht aktualisiert".

Ich fürchte emoenke hat Recht und ich muss einfach auf ein entsprechendes YaST-Update warten. Scheinbar hat Suse hier einfach zuviel versprochen.

Trotzdem vielen Dank für Deine Antwort.

Helmut
 

emoenke

Member
Helmut Wagner schrieb:
Ich fürchte emoenke hat Recht und ich muss einfach auf ein entsprechendes YaST-Update warten. Scheinbar hat Suse hier einfach zuviel versprochen.

Wenn Du Dir die URL mal angeguckt hättest, hättest Du gelesen:

http://en.opensuse.org/Installation_Sources#Plain_Cache_Sources schrieb:
Plain Cache Sources

A plain cache source is a directory containing RPM files. For YaST to recognize a directory as a plain cache source, you must create a file (IS_PLAINcache) that contains the RPM header information of the available RPM packages. YaST needs the package data (name, version, dependencies, etc.) from the .rpm file in order to avoid reading the file over and over again. For large packages, this would result in extremely long transfer times, even if you do not want to install the package. Therefore, the needed package data is extracted from the packages and stored in a file.

This file can be created with the genIS_PLAINcache utility, which is included in the package yast2-packagemanager.

Advantages

* Easy to generate


Disadvantages

* Source RPMs (src.rpm) are not supported
* Multiple architectures (i586, i686, noarch, ppc, etc.) are not supported
* No description of the installation source in YaST
* genIS_PLAINcache is a binary (not a script) that only runs on SUSE systems


Example

You have a directory with a number of binary RPM files on your server and want to make it available as a YaST installation source via HTTP or FTP.

/srv/www/htdocs/suse/RPMS/
`- software1-1.0-1.i686.rpm
`- software2-1.0-1.i686.rpm
`- software3-1.0-1.i686.rpm
`- test/
`- test1-0.99-1.i686.rpm
`- test2-0.99-1.i686.rpm
`- test3-0.99-1.i686.rpm

Run the following commands in order to generate a plain cache source:

cd /srv/www/htdocs/suse/RPMS/
genIS_PLAINcache -f -r .
gzip genIS_PLAINcache

Subsequently, you can add the directory as installation source in YaST -> Change Source of Installation. Note the restrictions mentioned above.

Nun macht das doch mal so, und berichtet dann Erfolg.
 

gameboy

Hacker
emoenke schrieb:
gameboy schrieb:
emoenke schrieb:
YaST in 10.0 kann mit einer simplen Directory mit RPMs drin nichts anfangen.
Also ich habe auf diese Art und Weise immerhin KDE 3.5 installiert...
Dann verrate doch mal, was Du da außer den RPMs noch liegen hattest.
Nichts.

Siehe Anleitung zur Installation von KDE 3.5: http://www.linux-club.de/viewtopic.php?p=266547#266547

Viele Grüße,
gameboy.
 

gameboy

Hacker
Helmut Wagner schrieb:
Hallo gameboy,

bin Deinem Vorschlag gefolgt. Leider mit dem gleichen Ergebnis.

Ich bekomme zwar zunächst die Meldung "YaST-Quelle hinzugefügt", beim öffnen des YaST-Moduls "SW inst./löschen" aber wieder den Hinweis "Quelle nicht aktualisiert".
Wenn Du so vorgehst, wie oben beschrieben, dann kannst Du diese Meldung kannst Du getrost ignorieren.

Viele Grüße,
gameboy.
 

emoenke

Member
gameboy schrieb:
emoenke schrieb:
gameboy schrieb:
Also ich habe auf diese Art und Weise immerhin KDE 3.5 installiert...
Dann verrate doch mal, was Du da außer den RPMs noch liegen hattest.
Nichts.

Du hast ja garnicht hingeguckt.
Wenn Du "Rechte Maustaste auf den Ordner - Aktionen - Verzeichnis als Yast-Quelle anmelden" machst, wird erst was brauchbares daraus gemacht. Und das würde man in der Directory sehen.

Es wird wohl die Plain-Cache-Methode sein.
 

gameboy

Hacker
emoenke schrieb:
Du hast ja garnicht hingeguckt.
Ganz ehrlich: Ich lasse mir ungern etwas unterstellen. So macht es wirklich keinen Spaß, anderen bei der Lösung ihrer Probleme zu helfen.

emoenke schrieb:
Wenn Du "Rechte Maustaste auf den Ordner - Aktionen - Verzeichnis als Yast-Quelle anmelden" machst, wird erst was brauchbares daraus gemacht. Und das würde man in der Directory sehen.
Dazu zwei Anmerkungen:

1) Die Frage des OP war, wie er RPMs, die er in einem lokalen Verzeichnis liegen hat, installieren kann. Ich habe daraufhin ganz konkret beschrieben, wie das funktioniert. Ob dabei in dem betreffenden Verzeichnis zusätzliche Dateien angelegt werden oder nicht, war zunächst überhaupt nicht Gegenstand der Frage.

2) Keine Ahnung, was man da sehen soll. Das Verzeichnis (~/Installations-Archive/KDE3.5/10.0/) habe ich noch da, schauen wir also mal nach, was da außer RPM-Dateien noch so alles drin ist:

Code:
~> ls -la ~/Installations-Archive/KDE3.5/10.0/ | grep -v "\.rpm$"
total 232400
drwxr-xr-x  2 td users     5696 2006-01-29 19:49 .
drwxr-xr-x  3 td users       72 2006-01-29 19:37 ..
~>
Hm, sehr viele zusätzliche Dateien werden da offenbar nicht angelegt.

Viele Grüße,
gameboy.
 

unikum

Newbie
Habe es auch so wie gameboy gemacht.
Erst rpm-Pakete auf der HD ins Verzeichnis. Dann Verzeichnis als Installationsquelle. Pakete waren anschließend in Yast. Nachdem ich weitere rpm-Pakete in das Verzeichnis kopiert hatte, wurden diese jedoch nicht in Yast übernommen.
Es werden somit nur die Pakete in Yast übernommen, die zur Zeit der Aufnahme als Installationsquelle im Verzeichnis liegen. Später hinzugefügte Pakete werden nicht aktualisiert.
 

datten

Member
Da sag ich mal: Glotzen uff unn kehne Fettbemmen uffn Bildschörm schmieren! :roll:

Yast > Installationsquelle wechseln > hinzufügen und dann kommts unten rechts "Aktivieren oder deaktivieren" und "Aktualisieren ein oder aus".

Dann sollte das wohl gehen. :)

Schbass! :)
 
OP
F

FHW

Newbie
Hallo Leute,

vielen Dank für eure Kommentare. Habe alle eure Ratschläge befolgt und auch alles genau gelesen. Habe auch das von emoenke beschriebene Verfahren ausprobiert. Bei mir geht's halt trotzdem nicht. Bei der Methode mit dem Rechtsklick im Konq. habe ich die gleiche Erfahrung gemacht wie unikum. Das Verzeichnis wird nicht automatisch aktualisiert und ist damit nur eine Einmalangelegenheit! Egal, ob der Schalter zum Aktualisieren in YaST aus- oder eingeschaltet ist. Dazu kommt, dass die Pakete in dem Verzeichnis nicht über das YaST-Filter "Selektionen" angezeigt werden, sondern man muss explizit über die Suchfunktion nach ihnen suchen (nicht sehr komfortabel).

Ich schätze ich muss auch weiter ohne lokale YaST-Inst.-Quelle leben, wäre halt schön gewesen wenn...

Nochmals vielen Dank!

Helmut
 

datten

Member
Wenn es mit Yast nicht geht, dann versuch doch mal apt! :)
Wie das geht, steht hier im apt Forum.

Viel Spass! :)
 

joka

Member
Wie man lokale bzw. eigene Installationsquellen für Yast erstellt, ist in der SuSE-SDB hier beschrieben. Dabei gibt es zwei Möglichkeiten, eine vereinfachte oben beschriebene "Plain Cache Sources" und eine "richtige", die eine Directory-Struktur nach folgendem Muster voraussetzt:
Code:
./i386
./i486
./i586
./i686
./media.1
./noarch
./setup
./setup/descr
./src
In diesem Fall holt yast die Informationen aus einer Art Inhaltsverzeichnis in setup/descr, das nach jeder Änderung durch das Kommando create_package_descr aktualisiert werden muss. Die Anweisungen aus der SDB habe ich in ein einfaches Shell-Skript update-yast-content umgesetzt, das ich jedesmal aufrufe, wenn ich ein neues RPM heruntergeladen (oder auch selbst gebaut) habe:
Code:
#!/bin/bash
# File media.1/media
#       Die Datei media.1/media enthält eine Bezeichnung des Mediums bestehend
#       aus folgenden Bestandteilen:
#       Inhalt:
#       <Hersteller>
#       <Datum der Herstellung (YYYYMMDDHHMMSS)>
#       <Anzahl der Medien>
cat > media.1/media << END
Downloads
`date +%Y%m%d%H%M%S`
1
END

# File directory.yast
#       Diese Datei benutzt YaST, wenn die Installationsquelle über ein
#       Protokoll angesprochen wird, das keine directory listings unterstützt
#       (zum Beispiel http). Sie können diese Datei ganz einfach mit dem
#       Programm ls erstellen:
ls -A1 > directory.yast

# Files setup/descr/*
#       Diese Dateien können Sie mit dem Script create_package_descr erzeugen.
#       Sie enthalten die Abhängigkeiten, die Größe und die Paketbeschreibungen
#       aller Pakete in der Installationsquelle.
create_package_descr -d .
Vorher muss noch das Paket autoyast2-utils installiert werden.

Wenn yast eine Installationsquelle "aktualisiert", dann heißt das nur, dass es ich mit dem so erzeugten Inhaltsverzeichnis synchronisiert. Wird das Inhaltsverzeichnis nicht mit create_package_descr erneuert, dann nützt auch die Aktualisierung nichts.
 
Oben