GNU/Linux >> Znalost Linux >  >> Debian

Znovu vytvořte binární balíčky Debianu, které jsou již nainstalovány v systému

Tento stručný průvodce představuje užitečný nástroj nazvaný dpkg-repack , který se používá k opětovnému vytvoření binárních balíčků Debianu, které jsou již nainstalovány na systému založeném na debianu.

Co je dpkg-repack?

Představte si tento scénář. Nainstalovali jste nějaké balíčky na váš systém založený na Debianu. A chcete nainstalovat stejné balíčky na jiný systém. Ale ztratili jste binární archivy, tj. soubory deb. Stáhli byste si je znovu z jejich oficiálních stránek nebo repozitáře?

Co když konkrétní verze konkrétního balíčku již není dostupná jinde? Bez obav! Protože jsou již nainstalovány ve vašem systému, můžete snadno znovu vytvořit .deb soubory. Pozdravte dpkg-repack !

dpkg-repack je nástroj pro archivaci balíčků Debianu z příkazového řádku pro opětovné vytvoření binárních balíčků Debianu, které jsou již nainstalovány ve vašem systému.

Stručně řečeno, dpkg-repack nástroj může vytvořit .deb soubor z balíčku debianu, který je již nainstalován ve vašem systému.

dpkg-repack nástroj může být užitečný v mnoha situacích, kde chcete,

  • znovu vytvořit .deb soubory ze stávajících nainstalovaných balíčků debianu,
  • snadno kopírujte balíčky z jednoho systému do druhého,
  • před aktualizací balíčku uložte aktuální stav,
  • zálohujte konkrétní verzi balíčku pro budoucí použití,
  • uložte konkrétní balíčky, které již nejsou k dispozici ke stažení.

Nainstalujte dpkg-repack v Debianu, Ubuntu a odvozeninách

dpkg-repack je k dispozici ve výchozích úložištích Debianu, Ubuntu a jeho variant. Chcete-li nainstalovat dpkg-repack , jednoduše spusťte následující příkaz:

$ sudo apt install dpkg-repack

Znovu vytvořte binární balíčky Debianu pomocí dpkg-repack

1. Pro účely této příručky používejte aplikaci Microsoft Teams který jsem si před chvílí nainstaloval na plochu Ubuntu.

$ dpkg -l | grep teams

Ukázkový výstup:

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

Již nemám teams.deb soubor. Smazal jsem to hned po instalaci aplikace Microsoft Teams. Mohu přejít na oficiální stránku ke stažení a stáhnout si ji znovu. Ale proč byste se měli obtěžovat stahováním znovu a znovu? Nyní mohu jednoduše znovu vytvořit teams.deb soubor pomocí dpkg-repack.

2. Chcete-li vytvořit teams.deb soubor z již nainstalovaného balíku týmů s dpkg-repack utility, spusťte:

$ dpkg-repack teams

Ukázkový výstup:

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

Jak vidíte, výše uvedený příkaz znovu vytvořil "teams_1.3.00.5153_amd64.deb'" soubor z balíčku Teams, který je již nainstalován na mé ploše Ubuntu. Nově vytvořený soubor deb bude uložen do aktuálního pracovního adresáře.

Podobně můžete převést všechny nainstalované balíčky Debianu zpět na .deb balíčky pomocí dpkg-repack utility.

3. Je také možné znovu vytvořit více deb souborů s mezerami oddělenými:

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

4. Pokud nemůžete znovu sestavit deb soubor kvůli problémům s oprávněními, zkuste to z fakeroot prostředí jako níže:

$ fakeroot -u dpkg-repack teams

Jednou zajímavou funkcí nástroje dpkg-repack je, že pokud byly v balíčku provedeny nějaké změny během jeho rozbalování (tj. soubory v /etc byly změněny), nový balíček změny zdědí.

Zobrazení obsahu souboru deb

Krok 1: Obsah tohoto deb souboru můžete zobrazit pomocí příkazu:

$ dpkg --contents teams_1.3.00.5153_amd64.deb

Ukázkový výstup:

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

Krok 2: dpkg-repack se hodí při instalaci stejné sady balíčků na více systémů, stačí je přenést pomocí externího pevného disku nebo přes LAN do jiných systémů a nainstalovat pomocí příkazu dpkg:

$ sudo dpkg -i <package-name>

Krok 3: Upozorňujeme, že stále musíte stáhnout závislosti. Chcete-li nainstalovat závislosti, spusťte:

$ sudo apt-get -f install

Případně můžete najít závislosti balíčku, jak je popsáno v následujícím odkazu:

  • Jak vypsat seznam závislostí balíčku v Linuxu

A poté je všechny znovu vytvořte pomocí dpkg-repack jak je popsáno výše.

Krok 4: To také pomůže, když chcete vrátit balíček na předchozí pracovní verzi. Řekněme například, že jste právě upgradovali Vim balíček na novou dostupnou verzi. Pokud nová verze nefunguje podle očekávání, můžete se jednoduše vrátit ke staré verzi, kterou jste vytvořili dříve pomocí dpkg-repack .

Další podrobnosti naleznete na manuálových stránkách:

$ man dpkg-repack

Související čtení:

  • Jak sestavit balíčky Debianu ze zdroje
  • Jak sestavit balíčky ze zdroje pomocí CheckInstall
  • Jak převést balíčky Linuxu pomocí aplikace Alien

Debian
  1. Jak zobrazit seznam nainstalovaných úložišť v Ubuntu a Debianu

  2. Debian – Seznam balíčků na systému založeném na Apt podle data instalace?

  3. Debian – jaké balíčky jsou standardně instalovány v Debianu? Existuje pro tuto sadu termín? Proč se některé z těchto balíčků `automaticky instalují` a některé ne?

  1. Jak vypsat všechny nebo konkrétní balíčky nainstalované v systému Debian/Ubuntu Linux

  2. Nakonfigurujte místní nastavení systému na Debianu 9

  3. Jak zjistit, že Java je nainstalována v systému Linux?

  1. Jak zobrazit seznam všech souborů nainstalovaných balíčkem DEB na Ubuntu/Debian Linux

  2. Zkontrolujte, jakou verzi Debianu na svém systému Linux používáte

  3. Různé metody instalace balíčku Debian (.deb).