GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Debian-Binärpakete neu erstellen, die bereits auf einem System installiert sind

Diese kurze Anleitung stellt ein nützliches Dienstprogramm namens dpkg-repack vor , das verwendet wird, um Debian-Binärpakete neu zu erstellen, 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 verloren, dh die Deb-Dateien. Würden Sie sie erneut von ihrer offiziellen Website oder ihrem Repository herunterladen?

Was ist, wenn die bestimmte Version eines bestimmten Pakets woanders nicht mehr verfügbar ist? Keine Bange! Da sie bereits auf Ihrem System installiert sind, können Sie die .deb einfach neu erstellen Dateien. Begrüßen Sie dpkg-repack !

Das dpkg-repack ist ein Befehlszeilen-Tool zum Archivieren von Debian-Paketen, um Debian-Binärpakete neu zu erstellen, die bereits auf Ihrem System installiert sind.

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

Das dpkg-repack Dienstprogramm kann in vielen Situationen hilfreich sein, wo Sie möchten,

  • erstelle .deb neu Dateien aus vorhandenen installierten Debian-Paketen,
  • Pakete einfach von einem System auf ein anderes kopieren,
  • Speichern Sie den aktuellen Status eines Pakets, bevor Sie es aktualisieren,
  • Sicherungskopie einer bestimmten Version eines Pakets für die zukünftige Verwendung
  • bestimmte Pakete speichern, die nicht mehr zum Download zur Verfügung stehen.

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 die Zwecke dieses Leitfadens 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 teams.deb nicht mehr Datei. Ich habe es direkt nach der Installation der Microsoft Teams-Anwendung gelöscht. Ich kann auf die offizielle 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 teams.deb neu erstellen Datei mit dpkg-repack.

2. Um teams.deb zu erstellen Datei aus bereits installiertem Teams-Paket mit dpkg-repack Dienstprogramm, führen Sie aus:

$ dpkg-repack teams

Beispielausgabe:

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

Wie Sie sehen, hat der obige Befehl den "teams_1.3.00.5153_amd64.deb'" neu erstellt Datei aus dem Teams-Paket, 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 zurück in .deb konvertieren Pakete mit dpkg-repack Dienstprogramm.

3. Es ist auch möglich, mehrere deb-Dateien mit Leerzeichen getrennt 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 von Fakeroot Umgebung wie unten:

$ fakeroot -u dpkg-repack teams

Ein interessantes Merkmal des Dienstprogramms dpkg-repack ist, dass, wenn Änderungen am Paket vorgenommen wurden, während es entpackt wurde (d. h. Dateien in /etc geändert), das neue Paket die Änderungen erbt.

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

Schritt 2: Das dpkg-repack ist praktisch, wenn Sie denselben Paketsatz auf mehreren Systemen installieren. Übertragen Sie sie einfach mit einer externen 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. Um die Abhängigkeiten zu installieren, führen Sie Folgendes aus:

$ sudo apt-get -f install

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

  • Wie man die Abhängigkeiten eines Pakets in Linux auflistet

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

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

Weitere Einzelheiten finden Sie in den Manpages:

$ man dpkg-repack

Verwandte Lektüre:

  • Wie man Debian-Pakete aus den Quellen erstellt
  • Wie man mit CheckInstall Pakete aus der Quelle erstellt
  • So konvertieren Sie Linux-Pakete mit Alien

Debian
  1. Debian – Pakete auf einem Apt-basierten System nach Installationsdatum auflisten?

  2. Debian – Manuell installierte Pakete der obersten Ebene ohne ihre Abhängigkeiten auflisten?

  3. Debian – Welche Pakete werden standardmäßig in Debian installiert? Gibt es einen Begriff für dieses Set? Warum werden einige dieser Pakete „automatisch installiert“ und andere nicht?

  4. Debian – Wie wird ein USB-Gerät zur Plugin-Zeit automatisch auf einem bereits laufenden System gemountet?

  5. Woran erkennt man, dass Java in einem Linux-System installiert ist?

So installieren Sie Nextcloud 15 auf Debian 9

So überprüfen Sie den installierten RAM unter Debian 10

So installieren Sie Deb-Pakete in Ubuntu, Debian &Mint

So installieren Sie Sicherheitsupdates in Ubuntu und Debian

So entfernen Sie Pakete von Ubuntu &Debian

Laden Sie Spotify Deb-Pakete herunter, um sie auf Ubuntu, Debian und Linux Mint zu installieren