[gelöst] deb-Dateien manipulieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

[gelöst] deb-Dateien manipulieren

Beitrag von mitscherdinger » 21.03.2020 15:07:36

Hi!
Ich muss ein Paket installieren und das möglichst schnell. Problem ist: Derjenige, der das Paket erstellt hat, hat eine Abhängigkeit zu viel angegeben. Sie ist nicht nur überflüssig, das Paket, von dem das zu installierende Paket angeblich abhängig ist, ist im derzeitigen Repositorium von bullseye - meiner Distribution der Wahl - nicht mehr vorhanden.
Mein Plan war nun, die Abhängigkeit aus der "DEBIAN/control" -Datei einfach zu entfernen, damit das deb-Paket dann ohne Probleme installiert wird.
Aber auch das stellt sich nun als problematischer heraus, als gedacht: Ich kann das deb-Paket zwar mit Engrapa öffnen und die Datei editieren, wie ich es wieder packen soll, entzieht sich aber meiner Kenntnis. Ich habe *.zip und *.tar.gz" als Endung versucht (Engrapa macht dann den Rest) und die Dateiendung einfach zu einem *.deb abgeändert, dpkg bricht aber ab, weil er das deb-Paket nicht als solches erkennt.

Wie könnte ich meinen Plan umsetzen? Habt Ihr andere Ideen? (Die ursprüngliche und falsche Abhängigkeit installieren ist keine, weil das einen Rattenschwanz an anderen Abhängigkeiten nach sich ziehen würde…)
Zuletzt geändert von mitscherdinger am 21.03.2020 18:37:42, insgesamt 1-mal geändert.

pferdefreund
Beiträge: 3799
Registriert: 26.02.2009 14:35:56

Re: deb-Dateien manipulieren

Beitrag von pferdefreund » 21.03.2020 15:39:58

Schon mal mit force oder so probiert? man dpkg sollte den entsprechenden Parameter mitteilen —ignoriert-deos, —force irgend sowas in der Art

Benutzeravatar
hikaru
Moderator
Beiträge: 13896
Registriert: 09.04.2008 12:48:59

Re: deb-Dateien manipulieren

Beitrag von hikaru » 21.03.2020 15:48:46

Wenn du (z.B. mit Engrampa) das gesamte Debian-Paket auspackst, so dass du einen Ordner mit dem Namen des Paktes hast, dann kanst du in diesem Ordner deine Änderungen vornehmen und anschließend den Ordner mit dpkg -b ORDNERNAME wieder zu einem Debianpaket schnüren.

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: deb-Dateien manipulieren

Beitrag von mitscherdinger » 21.03.2020 17:18:43

hikaru hat geschrieben: ↑ zum Beitrag ↑
21.03.2020 15:48:46
Wenn du (z.B. mit Engrampa) das gesamte Debian-Paket auspackst, so dass du einen Ordner mit dem Namen des Paktes hast, dann kanst du in diesem Ordner deine Änderungen vornehmen und anschließend den Ordner mit dpkg -b ORDNERNAME wieder zu einem Debianpaket schnüren.
Au, das klingt gut! Probier ich aus. Wenn's dpkg selbst packt, dann wird's vermutlich auch richtig gemacht…

mitscherdinger
Beiträge: 247
Registriert: 08.02.2006 00:57:42

Re: deb-Dateien manipulieren

Beitrag von mitscherdinger » 21.03.2020 18:37:23

Hat funktioniert! Genaue Vorgehensweise:
Paket herunterladen.
Temporäres Verzeichnis erstellen:

Code: Alles auswählen

makedir temp
Paket in das temporäre Verzeichnis entpacken

Code: Alles auswählen

dpkg-deb --extract [Packetname] temp/
DEBIAN-Verzeichnis im temorären Verzeichnis erstellen

Code: Alles auswählen

mkdir temp/DEBIAN
control-Datei ins Verzeichnis temp/DEBIAN extrahieren

Code: Alles auswählen

dpkg-deb --control [Paketname] temp/DEBIAN
Jetzt lässt sich die control-Datei editieren. Danach kann man das Paket wieder verpacken:

Code: Alles auswählen

dpkg-deb --build temp [Paketname]
dpkg -i [Paketname]
installiert das Paket. Bei mir ist's jetzt insoweit kompliziert, weil ich an der Versionierung nichts geändert habe, und dadurch zwei Versionen ein und desselben Programms habe - mein eigenes und das aus dem Repositorium von Debian (mit den falschen Abhängigkeiten). APT will nach der Installation meiner Version die aus dem Internet drüber bügeln. Daher muss ich erst die Abhängigkeiten installieren, dann das Paket und dann dasselbe mit "hold" markieren.

Benutzeravatar
detix
Beiträge: 1743
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: [gelöst] deb-Dateien manipulieren

Beitrag von detix » 22.03.2020 13:20:24

Nur mal kurz nachgefragt:
reicht es nicht die Versionsnummer in DEBIAN/control um einen Tacken zu erhöhen, um es der Paketmaschinerie als Neu vorzugaukeln?

Einfacher ist es auch ein Debianpaket so nach temp zu entpacken:

Code: Alles auswählen

dpkg-deb -R Packetname.deb temp
damit beinhaltet es schon das DEBIAN -Verzeichnis, ohne mkdir und weiteres.
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

MaGe
Beiträge: 1796
Registriert: 01.06.2014 17:12:16

Re: [gelöst] deb-Dateien manipulieren

Beitrag von MaGe » 22.03.2020 14:31:14

So sieht das bei deb multimedia aus
nv-codec-headers_9.1.23.1-dmo1_all.deb

Package: nv-codec-headers
Source: nv-codec-headers-dmo
Version: 1:9.1.23.1-dmo1
Architecture: all
Bugs: mailto:marillat@deb-multimedia.org



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Antworten