將 DEB 軟體包轉換成 Arch Linux 軟體包

將 DEB 軟件包轉換成 Arch Linux 軟件包

編譯自: https://www.ostechnix.com/convert-deb-packages-arch-linux-packages/

我們已經學會了如何 為多個平臺構建包 ,以及如何從 源代碼構建包 。 今天,我們將學習如何將 DEB 包轉換為 Arch Linux 包。 您可能會問,AUR 是這個星球上的大型軟件存儲庫,幾乎所有的軟件都可以在其中使用。 為什麼我需要將 DEB 軟件包轉換為 Arch Linux 軟件包? 這的確沒錯! 但是,由於某些軟件包無法編譯(封閉源代碼軟件包),或者由於各種原因(如編譯時出錯或文件不可用)而無法從 AUR 生成。 或者,開發人員懶得在 AUR 中構建一個包,或者他/她不想創建 AUR 包。 在這種情況下,我們可以使用這種快速但有點粗糙的方法將 DEB 包轉換成 Arch Linux 包。

Debtap - 將 DEB 包轉換成 Arch Linux 包

為此,我們將使用名為 “Debtap” 的實用程序。 它代表了 DEB T o A rch (Linux) P ackage。 Debtap 在 AUR 中可以使用,因此您可以使用 AUR 輔助工具(如 Pacaur 、 Packer 或 Yaourt )來安裝它。

使用 pacaur 安裝 debtap 運行:

pacaur -S debtap

使用 Packer 安裝:

packer -S debtap

使用 Yaourt 安裝:

yaourt -S debtap

同時,你的 Arch 系統也應該已經安裝好了 bash, binutils ,pkgfile 和 fakeroot 包。

在安裝 Debtap 和所有上述依賴關係之後,運行以下命令來創建/更新 pkgfile 和 debtap 數據庫。

sudo debtap -u

示例輸出是:

==> Synchronizing pkgfile database...

:: Updating 6 repos...

download complete: archlinuxfr [ 151.7 KiB 67.5K/s 5 remaining]

download complete: multilib [ 319.5 KiB 36.2K/s 4 remaining]

download complete: core [ 707.7 KiB 49.5K/s 3 remaining]

download complete: testing [ 1716.3 KiB 58.2K/s 2 remaining]

download complete: extra [ 7.4 MiB 109K/s 1 remaining]

download complete: community [ 16.9 MiB 131K/s 0 remaining]

:: download complete in 131.47s < 27.1 MiB 211K/s 6 files >

:: waiting for 1 process to finish repacking repos...

==> Synchronizing debtap database...

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 34.1M 100 34.1M 0 0 206k 0 0:02:49 0:02:49 --:--:-- 180k

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 814k 100 814k 0 0 101k 0 0:00:08 0:00:08 --:--:-- 113k

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 120k 100 120k 0 0 61575 0 0:00:02 0:00:02 --:--:-- 52381

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 35.4M 100 35.4M 0 0 175k 0 0:03:27 0:03:27 --:--:-- 257k

==> Downloading latest virtual packages list...

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 149 0 149 0 0 49 0 --:--:-- 0:00:03 --:--:-- 44

100 11890 0 11890 0 0 2378 0 --:--:-- 0:00:05 --:--:-- 8456

==> Downloading latest AUR packages list...

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 264k 0 264k 0 0 30128 0 --:--:-- 0:00:09 --:--:-- 74410

==> Generating base group packages list...

==> All steps successfully completed!

你至少需要運行上述命令一次。

現在是時候開始轉換包了。

比如說要使用 debtap 轉換包 Quadrapassel,你可以這樣做:

debtap quadrapassel_3.22.0-1.1_arm64.deb

上述的命令會將 DEB 包文件轉換為 Arch Linux 包。你需要輸入包的維護者和許可證,輸入他們,然後按下回車鍵就可以開始轉換了。

包轉換的過程可能依賴於你的 CPU 的速度從幾秒到幾分鐘不等。喝一杯咖啡等一等。

示例輸出:

==> Extracting package data...

==> Fixing possible directories structure differencies...

==> Generating .PKGINFO file...

:: Enter Packager name:

quadrapassel

:: Enter package license (you can enter multiple licenses comma separated):

GPL

*** Creation of .PKGINFO file in progress. It may take a few minutes, please wait...

Warning: These dependencies (depend = fields) could not be translated into Arch Linux packages names:

gsettings-backend

==> Checking and generating .INSTALL file (if necessary)...

:: If you want to edit .PKGINFO and .INSTALL files (in this order), press (1) For vi (2) For nano (3) For default editor (4) For a custom editor or any other key to continue:

==> Generating .MTREE file...

==> Creating final package...

==> Package successfully created!

==> Removing leftover files...

注:Quadrapassel 在 Arch Linux 官方的軟件庫中早已可用,我只是用它來說明一下。

如果在包轉化的過程中,你不想回答任何問題,使用 -q 略過除了編輯元數據之外的所有問題。

debtap -q quadrapassel_3.22.0-1.1_arm64.deb

為了略過所有的問題(不推薦),使用 -Q。

debtap -Q quadrapassel_3.22.0-1.1_arm64.deb

轉換完成後,您可以使用 pacman 在 Arch 系統中安裝新轉換的軟件包,如下所示。

sudo pacman -U

顯示幫助文檔,使用 -h:

$ debtap -h

Syntax: debtap [options] package_filename

Options:

-h --h -help --help Prints this help message

-u --u -update --update Update debtap database

-q --q -quiet --quiet Bypass all questions, except for editing metadata file(s)

-Q --Q -Quiet --Quiet Bypass all questions (not recommended)

-s --s -pseudo --pseudo Create a pseudo-64-bit package from a 32-bit .deb package

-w --w -wipeout --wipeout Wipeout versions from all dependencies, conflicts etc.

-p --p -pkgbuild --pkgbuild Additionally generate a PKGBUILD file

-P --P -Pkgbuild --Pkgbuild Generate a PKGBUILD file only

這就是現在要講的。希望這個工具有所幫助。如果你發現我們的指南有用,請花一點時間在你的社交、專業網絡分享並支持我們!

更多的好東西來了。請繼續關注!

乾杯!


via: https://www.ostechnix.com/convert-deb-packages-arch-linux-packages/

本文由 LCTT 原創編譯, Linux中國 榮譽推出


分享到:


相關文章: