[gelöst] deb-Dateien manipulieren
-
- Beiträge: 247
- Registriert: 08.02.2006 00:57:42
[gelöst] deb-Dateien manipulieren
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…)
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.
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: deb-Dateien manipulieren
Schon mal mit force oder so probiert? man dpkg sollte den entsprechenden Parameter mitteilen —ignoriert-deos, —force irgend sowas in der Art
Re: deb-Dateien manipulieren
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.
-
- Beiträge: 247
- Registriert: 08.02.2006 00:57:42
Re: deb-Dateien manipulieren
Au, das klingt gut! Probier ich aus. Wenn's dpkg selbst packt, dann wird's vermutlich auch richtig gemacht…hikaru hat geschrieben:21.03.2020 15:48:46Wenn 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.
-
- Beiträge: 247
- Registriert: 08.02.2006 00:57:42
Re: deb-Dateien manipulieren
Hat funktioniert! Genaue Vorgehensweise:
Paket herunterladen.
Temporäres Verzeichnis erstellen:
Paket in das temporäre Verzeichnis entpacken
DEBIAN-Verzeichnis im temorären Verzeichnis erstellen
control-Datei ins Verzeichnis temp/DEBIAN extrahieren
Jetzt lässt sich die control-Datei editieren. Danach kann man das Paket wieder verpacken:
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.
Paket herunterladen.
Temporäres Verzeichnis erstellen:
Code: Alles auswählen
makedir temp
Code: Alles auswählen
dpkg-deb --extract [Packetname] temp/
Code: Alles auswählen
mkdir temp/DEBIAN
Code: Alles auswählen
dpkg-deb --control [Paketname] temp/DEBIAN
Code: Alles auswählen
dpkg-deb --build temp [Paketname]
dpkg -i [Paketname]
Re: [gelöst] deb-Dateien manipulieren
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:
damit beinhaltet es schon das DEBIAN -Verzeichnis, ohne mkdir und weiteres.
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
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
Re: [gelöst] deb-Dateien manipulieren
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
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.
Uns rottet die soziale Kälte viel früher aus.