Forum
Tipps
News
Menu-Icon

Suse: 9.0 => .src.rpm

Hallo.

Ich möchte bei mir unter Linux das UML(-Programm) installieren, was eigentlich nichts weiter ist als ein Übersetzer eines PAPs in z.B. einen C-Quellcode (ist aber unwichtig für meine Frage).
Jedenfalls habe ich ein .src.rpm Paket und kann das irgendwie nicht installieren. Ich hab es mit Yast versucht. Yast wird zwar gestartet, beendet sich aber immer selbst. Über die shell habe ich es schon versucht mit dem /Verzeichnis/.../../NAME.src.rpm rpm-uhr
Wobei dann da steht, cannot extract packet (muss jetzt nicht unbedingt stimmen).
Über eine Suchmaschine habe ich dazu hinweise gefunden, dass man diese .src.rpm in eine .rpm umwandeln kann, mit dem Befehl
/verzeichnis/.../NAME.src.rpm rpm - rebuild . Aber hier stand dann 100%ig cannot extract packet.
(Eigentlich habe ich nur gefunden rpm -rebuild "Packetname", aber das funktioniert bei mir nicht).

Ich habe es bei zwei unabhängiger Dateien versucht, aber bei beiden tritt dieser Fehler auf.
Das Problem liegt nach meiner Diagnose beim Anwender, also bei mir.

Wie kann ich also nun diese .src.rpm installieren?


viele Grüße Marco


Antworten zu Suse: 9.0 => .src.rpm:

Hallo,

installieren ist easy., rpmpaket draus bauen nicht.

Per Rootkonsole funktionierts bei SuSE mit

yast -i paketname

allgemeingültig bei jeder RPM-basierten Disribution ist der Befehl

rpm -i paketname

Wenn Du daraus ein RPM-Paket bauen willst, darfst Du erst mal installieren, installieren, installieren und zwar den Compiler gcc, mit seinen Gehilfen, wie make und co. Alle Develpakete zur installierten Software und meist noch nachinstallation von software. Sprich Du musst aus deinem System ein Entwicklersystem machen.

wenns dann vollbracht ist

rpmbuild --rebuild --target=i686 paketname.src.rpm  Enter

das Paket findest Du dann in usr/src/Packages/RPMS/i686

Für den Zweck brauchst Du das srcPaket aber nicht installieren sondern nur den Befehl aus dem Verzeichnis absetzen wo das src.paket liegt.

Wenn Du es installierst geht's anders

cd /usr/src/packages/SPECS

dann

rpmbuild -ba  specfile.spec  












Moin

Hallo,

installieren ist easy., rpmpaket draus bauen nicht.

Per Rootkonsole funktionierts bei SuSE mit

yast -i paketname


Also, wenn ich das mache, dann habe ich das Problem, wie ich es in meiner Frage beschrieben habe. Der möchte zwar etwas installieren, (aus dem Konsolenfenster kommt man sozusagen in ein Installationsmodus - mit einem blauen Hintergrund), aber genauso schnell landet man einfach wieder in der root-Konsole

allgemeingültig bei jeder RPM-basierten Disribution ist der Befehl
rpm -i paketname

Wenn ich das (in der Root-Konsole) anwende, dann kommt:

"warning: user grousse does not exist - using root
warning: group grousse does not exist - using root" (und das mal 8).

Heißt das, dass die Datei doch irgendwie beschädigt oder inkomplett ist?

Aber danke für diese ausführliche Erklärung (insbesondere .src.rpm in .rpm umwandeln)
Liebe Grüße Marco.

Hallo,

die Datei ist weder beschädigt noch inkompatibel. Der Paketbauer
grousse hat sich im Paket verewigt. Da es den auf deinem System nicht gibt wird automatisch der Admin root als Ersatz genommen. Kannst die Warnung getrost ignorieren.

Aber mehr als diese Warnung macht der bei yast -i Paketname nicht. Aber theoretisch müsste es gehen, oder?


Achso, der Smily  8) sollte acht mal heißen

Hallo,

nicht nur theoretisch...

Aber eine kleine nicht unbedeutende Änderung als SuS E 9.0 User musst Du machen. SuS E 9 benutzt noch die alte rpm-Version << V.4 und da ist die Syntax eine andere als bei SuS E 9.1 oder 9.2

so muss es lauten:

rpm --rebuild --target=i686 paketname.src.rpm

und nicht

rpmbuild --rebuild ......



Moin, leider muss ich wieder einmal nachfragen.

Bei mir sagt die Konsole immer: " -target=i686: unknown option".
1) Wieso funktioniert das denn nicht
2) Was soll das "Target" überhaupt bezwecken?
3) Wieso kann ich nicht --, also zwei Bindestriche verwenden, wie du das gezeigt hast? (wie's auch auf vielen anderen Internetseiten steht)


Liebe Grüße Marco

Moin Moin,

die Option target ist eine Komfortoption und nicht zwingend erforderlich. Sie bewirkt lediglich, dass das fertige Paket in
/usr/src/packages/RPMS/i686 abgelegt wird.

beim R edhat P aket M anager werden in der Regel die notwendigen Parameter mit einem Minuszeichen angegeben, Optionen mit zwei

Versuchs mal in Worten zu erklären

Paket installieren:

rpm minus Uvh minus minus nodeps

oder um beim Problem zu bleiben ( SuSE 9.0 oder älter )

rpm minus minus rebuild minus minus target=i686 packetname


tippe einfach mal

rpm --help   oder in Worten rpm minus minus help

und

man rpm  ENTER

für weitere Erklärungen

Hoffe es hilft Dir


 


« Suse: SUSE LINUX Professional 9.3 angekündigtSuse: Nochmal Minimal-Version bootet nicht »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Linux
Linux bezeichnet ein kostenloses Betriebssystem, das als Open Source verfügbar ist. Die erste Version entstand 1991 und wurde von dem Finnen Linus Torvalds aus dem S...

Metasuchmaschine
Unter einer Metasuchmaschine versteht man eine Internet-Suchmaschine, die anders als zum Beispiel Google oder Microsofts Dienst Bing nur ihre eigenen Daten durchsuchen.&n...

Dateiendungen
Die Dateiendung, auch Dateinamenerweiterung, Dateierweiterung oder einfach "Endung" genannt, besteht aus meistens drei oder vier Buchstaben und wird mit einem Punkt an de...