hallo
wie kann ich mit Yast z.B. von
Sina Jany schrieb:
wie kann ich mit Yast z.B. von
heruntergeladene Updates und / oder src.rpm installieren ? Die Downloads sind dabei z.B. unter /planet/download/* gespeichert. Mit yast -i funktioniert es nicht immer.
Du willst "yast -i" nicht wirklich verwenden, glaube mir :-) Lies Dir einfach mal http://marc.theaimsgroup.com/?l=suse-linux&m=104794110703358&w=2 durch und Du wirst verstehen. Obiger Befehl verwendet im Prinzip die RPM-Optionen --nodeps --force, und das ist nicht gut, wie Christian in der Mail gezeigt hat. Vielleicht hat sich da ja inzwischen etwas an yast ge- tan, das waere nicht schlecht.
[...] Deshalb habe ich in der Regel rpm -F oder -U verwendet.
Und das ist auch gut so :-)
Aber warum funktioniert yast -i für *.src.rpm und sonst nicht ?
src.rpm werden normalerweise nicht installiert, sondern per "rpm --rebuild" uebersetzt und das dabei entstehende Binary-RPM wird dann installiert. "yast -i" sollte auf Deinem System eigentlich schon funktioniert haben, aber - siehe oben - Du willst das vermutlich gar nicht ver- wenden. Wie kommst Du darauf, dass es nicht funktioniert hat? Gibt es denn Fehlermeldungen o.ae.? Cu, Thomson
Thomas Hertweck schrieb:
Sina Jany schrieb: [ . . . ] src.rpm werden normalerweise nicht installiert, sondern per "rpm --rebuild" uebersetzt und das dabei entstehende Binary-RPM wird dann installiert. "yast -i" sollte auf Deinem System eigentlich schon funktioniert haben, aber
yast -i hat hier bei mir mit dem *.src.rpm-Paket das gleiche gemacht wie rpm --rebuild
- siehe oben - Du willst das vermutlich gar nicht ver- wenden. Wie kommst Du darauf, dass es nicht funktioniert hat? Gibt es denn Fehlermeldungen o.ae.?
Vielleicht konnte ich mich nicht richtig verständlich machen. Es geht mir dabei um zwei verschiedene Dinge: 1) Es gibt das Kontrollzentrum von yast2 und darin die Möglichkeit, die Installationsquelle zu ändern. Hier konnte ich nicht erreichen, dass yast2 eine Adresse wie /planet/* akzeptiert bzw findet. Das bedeutet, ich muss rpm -U (oder -F) verwenden. Früher konnte Yast1 das. Ist das weggefallen ? 2) Als ich einmal eine *.noarch.rpm mit yast -i bearbeitet habe, erhielt ich keine Fehlermeldung. Ich musste also annehmen, es sei eine Installation erfolgt. Ich konnte aber nichts dergleichen feststellen. In diesem Fall wurde die *.noarch.rpm von mir aus einem *.tar.gz mit "alien --to-rpm" gebildet. (Das tar.gz-Archiv wurde jedoch nie entpackt oder kompiliert. Es war eine Source von gtk.org, und zwar gtk+-2.2.1.tar.gz) Wenn nun, wie ich heute durch eine andere Mail an die Liste gelernt habe, die *.noarch.rpm eine installierbare Binärdatei ist und diese mit rpm -F installiert würde, was passiert denn, wenn die vorherige *.tar.gz nie kompiliert wurde ? Danke für die schnellen Infos. Die Mail von Christian habe ich gelesen. Wenn's so ist, ist natürlich yast -i nicht schön Gruß Sina
Hallo, Am Dienstag, 10. Juni 2003 22:18 schrieb Sina Jany:
Thomas Hertweck schrieb:
Sina Jany schrieb:
2) Als ich einmal eine *.noarch.rpm mit yast -i bearbeitet habe, erhielt ich keine Fehlermeldung. Ich musste also annehmen, es sei eine Installation erfolgt. Ich konnte aber nichts dergleichen feststellen.
Mit rpm installieren und zwar so: rpm -Uvh <paketname> U -> update wenn paket installiert, installieren wenn noch nicht auf dem System vh -> erzeugt dir eine schöne Anzeige mit 50 Rauten, wodurch du den Erfolg der Installation siehst. Ansonsten wird eine Fehlermeldung ausgegeben. gruß, sven
Sina Jany wrote:
[...] yast -i hat hier bei mir mit dem *.src.rpm-Paket das gleiche gemacht wie rpm --rebuild
OK, das kenne ich nicht, das scheint dann ein Feature von yast zu sein. Ich benutze da ehrlich gesagt lieber das Original (sprich: rpm), wenn es denn eh das Gleiche macht.
Vielleicht konnte ich mich nicht richtig verständlich machen. Es geht mir dabei um zwei verschiedene Dinge:
1) Es gibt das Kontrollzentrum von yast2 und darin die Möglichkeit, die Installationsquelle zu ändern. Hier konnte ich nicht erreichen, dass yast2 eine Adresse wie /planet/* akzeptiert bzw findet. Das bedeutet, ich muss rpm -U (oder -F) verwenden.
Früher konnte Yast1 das. Ist das weggefallen ?
Soweit ich weiss, ich das Feature von yast1, beliebige (externe) RPMs per netter Anzeige und Auswahl zu installieren, weggefallen.
2) Als ich einmal eine *.noarch.rpm mit yast -i bearbeitet habe, erhielt ich keine Fehlermeldung. Ich musste also annehmen, es sei eine Installation erfolgt. Ich konnte aber nichts dergleichen feststellen.
Ich kenne wie gesagt yast -i nicht genau, da ich den Sinn nicht so ganz verstehe, wo es doch rpm gibt. noarch bedeutet eigentlich, dass es ein RPM-Paket ist, das unabhaengig von der Rechnerarchitektur ist. Es sollte sich ganz normal per rpm installieren lassen. Was genau da bei Dir passiert ist, kann man im Nachhinein und ohne genaue Meldungen oder Fehlermeldungen schlecht sagen.
[...] In diesem Fall wurde die *.noarch.rpm von mir aus einem *.tar.gz mit "alien --to-rpm" gebildet. (Das tar.gz-Archiv wurde jedoch nie entpackt oder kompiliert. Es war eine Source von gtk.org, und zwar gtk+-2.2.1.tar.gz)
Ich kenne auch alien nicht, aber ich denke, da ist etwas schief gegangen. So kannst Du vielleicht tar.gz, die Binaerdateien enthal- ten, in RPMs umwandeln, aber vermutlich nicht tar.gz Dateien mit uncompiliertem Quellcode. Ich denke, das geht so nicht, und das wuerde auch erklaeren, warum dann wie oben erwaehnt die Installation mit yast -i schief lief.
Wenn nun, wie ich heute durch eine andere Mail an die Liste gelernt habe, die *.noarch.rpm eine installierbare Binärdatei ist und diese mit rpm -F installiert würde, was passiert denn, wenn die vorherige *.tar.gz nie kompiliert wurde ?
Das geht so IMHO nicht, da laeuft was schief. Wenn Du Quellen im tar.gz Format hast, ent- packe sie, compiliere den Code und baue Dir ein RPM oder verwende zumindest checkinstall, das sollte dann helfen. CU, Thomson
Thomas Hertweck schrieb:
Sina Jany wrote:
hallo Thomas, vorab besten Dank für Deine Infos. [. . . . .]
Wenn Du Quellen im tar.gz Format hast, ent- packe sie, compiliere den Code und baue Dir ein RPM oder verwende zumindest checkinstall, das sollte dann helfen.
Zitat: "und baue Dir ein RPM" Nur, damit ich es richtig verstehe: Meinst Du damit auch das, was David Haller mir auf meine weitere Mail mitgeteilt hat, nämlich den Weg über eine *.spec-Datei (?) oder gibt es (außer checkinstall) noch was Einfacheres ? Bei der Gelegenheit noch die Frage, was spricht eigentlich dagegen, die Installation ohne Bauen eines RPM-Paketes vorzunehmen (ausgenommen die Tatsache, dass der installierte tarball nicht in der RPM-Bank ausgewiesen wird und Abhängigkeiten gesondert geprüft/bearbeitet werden müssen )? Gruß Sina
Hallo, On 11-Jun-2003 Sina Jany wrote:
Bei der Gelegenheit noch die Frage, was spricht eigentlich dagegen, die Installation ohne Bauen eines RPM-Paketes vorzunehmen
Nur die Faulheit :-)
(ausgenommen die Tatsache, dass der installierte tarball nicht in der RPM-Bank ausgewiesen wird und Abhängigkeiten gesondert geprüft/bearbeitet werden müssen )?
Was ja schon mal nicht so ganz unwichtig ist. Man kann dann zwar auch mit --nodeps installieren, was ich in der Vergangenheit auch reichlich getan habe, bloss leidet darunter doch sehr die Uebersichtlichkeit. Und rpm-Pakete lassen sich sehr viel einfacher deinstallieren. Manche Programme bringen zwar ein make uninstall mit, aber meistens ist doch eine Menge Handarbeit angesagt. Der Weg ueber Spec-Files war mir bislang allerdings zu muehselig, so dass ich seit einiger Zeit auf checkinstall setze. Alles in allem klappte es damit bislang auch recht gut. Beste Gruesse, Heinz. -- Journalisten gegen den Krieg: http://www.pickings.de/tiki/tiki-index.php?page=Krieg http://www.pahlke-online.de/reisenews/ http://www.Pahlke-KunstWebDesign.de/
Sina Jany schrieb:
[...] Meinst Du damit auch das, was David Haller mir auf meine weitere Mail mitgeteilt hat, nämlich den Weg über eine *.spec-Datei (?) oder gibt es (außer checkinstall) noch was Einfacheres ?
AFAIK ist checkinstall der einfachste Weg - statt "make install" muss eben checkinstall aufgerufen werden. Allerdings sollte man sich bewusst machen, dass checkinstall kein Allheilmittel ist - es hat durchaus Nachteile gegenueber dem Bauen eines eigenen RPMs via .spec File. Es gab da mal einen laengeren Thread hier in der Liste zum Thema Vor- und Nachteile von checkinstall - schau am Besten mal im Archiv der Liste.
Bei der Gelegenheit noch die Frage, was spricht eigentlich dagegen, die Installation ohne Bauen eines RPM-Paketes vorzunehmen (ausgenommen die Tatsache, dass der installierte tarball nicht in der RPM-Bank ausgewiesen wird und Abhängigkeiten gesondert geprüft/bearbeitet werden müssen )?
Es gibt mehrere Gruende, aber den absoluten Haupt- punkt hast Du selbst schon genannt. RPMs lassen sich einfach deinstallieren oder einfach updaten, mache so etwas mal mit einer rein .tgz basierten Software - da wirst Du sehr schnell auf Probleme stossen, zumal nur sehr wenige Projekte ein "make uninstall" Target im Makefile haben. Ferner ist es wichtig, dass die RPM Datenbank konsistent ist, sonst koennen Abhaengigkeiten nicht mehr ueber- prueft werden. Frueher oder spaeter kommst Du da- mit in Schwierigkeiten und machst Dein System in- stabil und unuebersichtlich - Du hebelst quasi damit ein wichtiges Feature von RPM komplett aus! Gruesse, Thomson
participants (4)
-
h.pahlke@nexgo.de
-
Sina Jany
-
Sven Schupp
-
Thomas Hertweck