Liste mit aktualisierten Paketen erstellen
HAllo, ich erstelle u.a. aus einer Liste mit RPM-Paketen ein eigenes Installationsmedium. Jetzt kommt ja demnächste 15.2 raus. Ich habe bis jetzt mit den Paketen der Alpha gearbeitet, da dürften ja jetzt einige upgedated worden sein, d.h. ich muss auch meine Liste updaten. Ich habe also Paket "abc-1.2-1.1.x86_64.rpm". Jetzt will ich wissen, ob es zum Paket "abc" eine neuere Version gibt und wie dieses heißt. Wie erledige ich das am dümmsten? Aus dem String "abc-1.2-1.1.x86_64.rpm" krieg ich den RPM-Namen nicht raus, sonst könnte ich per Zypper danach suchen. Installieren will ich ungerne, weil dann auch die evtl. Abhängigkeiten mit installiert werden. Jemand ne Idee? Gruß Daniel -- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Daniel, hallo zusammen, Am Montag, 22. Juni 2020, 15:17:40 CEST schrieb Daniel Spannbauer:
Ich habe also Paket "abc-1.2-1.1.x86_64.rpm". Jetzt will ich wissen, ob es zum Paket "abc" eine neuere Version gibt und wie dieses heißt.
Wie erledige ich das am dümmsten? Aus dem String "abc-1.2-1.1.x86_64.rpm" krieg ich den RPM-Namen nicht raus
Doch ;-) - zumindest wenn Du das Paket noch rumliegen hast: rpm -qp --qf '%{name}\n' abc-1.2-1.1.x86_64.rpm Falls Du wirklich auf Basis des Strings arbeiten musst, ist das prinzipiell auch machbar, kann aber eine interessante Regex werden - oder Du baust eine Regex, die 99% der Fälle abdeckt, und machst die 3 Spezialfälle von Hand. (Tip: wenn Du von hinten anfängst, ist die Anzahl der Bindestriche (zumindest pro Repo) fest definiert.) Gruß Christian Boltz -- Das statistisch größere Problem ist natürlich, dass ich als Programmierer weiß, auf welchem Niveau Software entwickelt wird, und daher sehr zurückhaltend bin, anderer Leute Software mein Leben anzuvertrauen, wenn ich es vermeiden kann. [http://blog.fefe.de/?ts=af0c7c65] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 23.06.2020 um 01:20 schrieb Christian Boltz:
Hallo Daniel, hallo zusammen,
Am Montag, 22. Juni 2020, 15:17:40 CEST schrieb Daniel Spannbauer:
Ich habe also Paket "abc-1.2-1.1.x86_64.rpm". Jetzt will ich wissen, ob es zum Paket "abc" eine neuere Version gibt und wie dieses heißt.
Wie erledige ich das am dümmsten? Aus dem String "abc-1.2-1.1.x86_64.rpm" krieg ich den RPM-Namen nicht raus Doch ;-) - zumindest wenn Du das Paket noch rumliegen hast:
rpm -qp --qf '%{name}\n' abc-1.2-1.1.x86_64.rpm
Falls Du wirklich auf Basis des Strings arbeiten musst, ist das prinzipiell auch machbar, kann aber eine interessante Regex werden - oder Du baust eine Regex, die 99% der Fälle abdeckt, und machst die 3 Spezialfälle von Hand. (Tip: wenn Du von hinten anfängst, ist die Anzahl der Bindestriche (zumindest pro Repo) fest definiert.)
Ja, da müsste ich wirklich von hinten her splitten. Aber selbst wenn ich den RPM-Namen habe (die alten Pakete hab ich wirklich rumliegen): wie komm ich an den Nanemn der neuen? Jedesmal eine FTP-Verbindung aufbauen und suchen lassen? Oder lokal den zypper suchen lassen und den Output zerlegen? Gruß Daniel -- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (2)
-
Christian Boltz
-
Daniel Spannbauer