Website-Suche

Erstellen Sie Debian-Binärpakete mit Dpkg-repack neu


In dieser kurzen Anleitung wird ein nützliches Dienstprogramm namens dpkg-repack vorgestellt, das zum Neuerstellen von Debian-Binärpaketen verwendet wird, die bereits auf einem Debian-basierten System installiert sind.

Was ist dpkg-repack?

Stellen Sie sich dieses Szenario vor. Sie haben einige Pakete auf Ihrem Debian-basierten System installiert. Und Sie möchten dieselben Pakete auf einem anderen System installieren. Aber Sie haben die Binärarchive, also die Deb-Dateien, verloren. Würden Sie sie noch einmal von der offiziellen Website oder dem Repository herunterladen?

Was passiert, wenn die bestimmte Version eines bestimmten Pakets anderswo nicht mehr verfügbar ist? Keine Sorge! Da sie bereits auf Ihrem System installiert sind, können Sie die .deb-Dateien problemlos neu erstellen. Sag Hallo zu dpkg-repack!

Das dpkg-repack ist ein Befehlszeilen-Archivierungstool für Debian-Pakete, um Debian-Binärpakete neu zu erstellen, die bereits auf Ihrem System installiert sind.

Kurz gesagt: Das Dienstprogramm dpkg-repack kann eine .deb-Datei aus einem Debian-Paket erstellen, das bereits auf Ihrem System installiert ist.

Das Dienstprogramm dpkg-repack kann in vielen Situationen hilfreich sein, in denen Sie Folgendes tun möchten:

  • .deb-Dateien aus vorhandenen installierten Debian-Paketen neu erstellen,
  • Pakete einfach von einem System auf ein anderes kopieren,
  • Speichern Sie den aktuellen Status eines Pakets, bevor Sie es aktualisieren.
  • Sichern Sie eine bestimmte Version eines Pakets für die zukünftige Verwendung.
  • Speichern Sie bestimmte Pakete, die nicht mehr zum Download verfügbar sind.

Installieren Sie dpkg-repack in Debian, Ubuntu und Derivaten

Das dpkg-repack ist in den Standard-Repositories von Debian, Ubuntu und seinen Varianten verfügbar. Um dpkg-repack zu installieren, führen Sie einfach den folgenden Befehl aus:

sudo apt install dpkg-repack

Erstellen Sie Debian-Binärpakete mit dpkg-repack neu

1. Für dieses Handbuch verwenden wir die Microsoft Teams-Anwendung, die ich vor einiger Zeit auf meinem Ubuntu-Desktop installiert habe.

dpkg -l | grep teams

Beispielausgabe:

ii  teams                                         1.3.00.5153                                amd64        Microsoft Teams for Linux is your chat-centered workspace in Office 365.

Ich habe die Datei teams.deb nicht mehr. Ich habe es direkt nach der Installation der Microsoft Teams-Anwendung gelöscht. Ich kann zur offiziellen Download-Seite gehen und es erneut herunterladen. Aber warum sollte man sich die Mühe machen, es immer wieder herunterzuladen? Ich kann jetzt einfach die Datei teams.deb mit dpkg-repack neu erstellen.

2. Um die Datei teams.deb aus einem bereits installierten Teams-Paket mit dem Dienstprogramm dpkg-repack zu erstellen, führen Sie Folgendes aus:

dpkg-repack teams

Beispielausgabe:

dpkg-deb: building package 'teams' in './teams_1.3.00.5153_amd64.deb'.

Erstellen Sie Debian-Binärpakete mit dem Dienstprogramm dpkg-repack neu

Wie Sie sehen, hat der obige Befehl die Datei "teams_1.3.00.5153_amd64.deb'" aus dem Teams-Paket neu erstellt, das bereits auf meinem Ubuntu-Desktop installiert ist. Die neu erstellte Deb-Datei wird im aktuellen Arbeitsverzeichnis gespeichert.

Ebenso können Sie alle installierten Debian-Pakete mit dem Dienstprogramm dpkg-repack zurück in .deb-Pakete konvertieren.

3. Es ist auch möglich, mehrere Deb-Dateien mit durch Leerzeichen getrennten Dateien neu zu erstellen:

dpkg-repack <package1> <package2> <package3>

4. Wenn Sie die Deb-Datei aufgrund von Berechtigungsproblemen nicht neu erstellen können, versuchen Sie es in der fakeroot-Umgebung wie folgt:

fakeroot -u dpkg-repack teams

Eine interessante Funktion des Dienstprogramms dpkg-repack besteht darin, dass das neue Paket die Änderungen erbt, wenn beim Entpacken Änderungen am Paket vorgenommen wurden (d. h. Dateien in /etc geändert wurden).

Anzeigen des Inhalts der Deb-Datei

Schritt 1: Sie können den Inhalt dieser Deb-Datei mit folgendem Befehl anzeigen:

dpkg --contents teams_1.3.00.5153_amd64.deb

Beispielausgabe:

drwxr-xr-x root/root         0 2020-05-26 15:15 ./
drwxr-xr-x root/root         0 2020-05-26 15:15 ./usr/
drwxr-xr-x root/root         0 2020-05-26 15:15 ./usr/bin/
-rwxr-xr-x root/root       286 2020-02-20 16:46 ./usr/bin/teams
drwxr-xr-x root/root         0 2020-05-26 15:15 ./usr/share/
.
.
.
drwxr-xr-x root/root         0 2020-05-26 15:15 ./usr/share/teams/swiftshader/
-rwxr-xr-x root/root    286264 2020-02-20 16:46 ./usr/share/teams/swiftshader/libEGL.so
-rwxr-xr-x root/root   2677296 2020-02-20 16:46 ./usr/share/teams/swiftshader/libGLESv2.so
-rwxr-xr-x root/root 114964776 2020-02-20 16:46 ./usr/share/teams/teams
-rw-r--r-- root/root   1040912 2020-02-20 16:46 ./usr/share/teams/v8_context_snapshot.bin

Inhalte von Deb-Dateien unter Linux anzeigen

Schritt 2: Das dpkg-repack ist praktisch, wenn Sie denselben Paketsatz auf mehreren Systemen installieren. Übertragen Sie sie einfach über eine externe Festplatte oder über LAN auf andere Systeme und installieren Sie sie mit dem dpkg-Befehl:

sudo dpkg -i <package-name>

Schritt 3: Bitte beachten Sie, dass Sie die Abhängigkeiten noch herunterladen müssen. Führen Sie Folgendes aus, um die Abhängigkeiten zu installieren:

sudo apt-get -f install

Alternativ finden Sie die Abhängigkeiten des Pakets wie unter folgendem Link beschrieben:

  • So listen Sie die Abhängigkeiten eines Pakets unter Linux auf

Und erstellen Sie sie dann alle mit dpkg-repack wie oben beschrieben neu.

Schritt 4: Dies ist auch hilfreich, wenn Sie ein Paket auf die vorherige Arbeitsversion zurücksetzen möchten. Angenommen, Sie haben gerade das Paket Vim auf die neue verfügbare Version aktualisiert. Wenn die neue Version nicht wie erwartet funktioniert, können Sie einfach mit dpkg-repack auf die alte Version zurückgreifen, die Sie zuvor erstellt haben.

Weitere Einzelheiten finden Sie in den Manpages:

man dpkg-repack

Verwandte Lektüre:

  • So erstellen Sie Debian-Pakete aus dem Quellcode
  • So erstellen Sie Pakete aus dem Quellcode mit CheckInstall
  • So konvertieren Sie Linux-Pakete mit Alien

Ressource:

  • dpkg-repack GitHub-Repository

Verwandte Artikel