将 DEB 软件包转换成 Arch Linux 软件包 | Linux 中国

2018 年 6 月 22 日 Linux中国
AUR 是这个星球上的大型软件存储库,几乎所有的软件都可以在其中使用。 为什么我需要将 DEB 软件包转换为 Arch Linux 软件包?
-- Sk



致谢
编译自 | https://www.ostechnix.com/convert-deb-packages-arch-linux-packages/ 
 作者 | Sk
 译者 | amwps290 🌟 🌟 共计翻译:15 篇 贡献时间:136 天

我们已经学会了如何为多个平台构建包[1],以及如何从源代码构建包[2]。 今天,我们将学习如何将 DEB 包转换为 Arch Linux 包。 您可能会问,AUR 是这个星球上的大型软件存储库,几乎所有的软件都可以在其中使用。 为什么我需要将 DEB 软件包转换为 Arch Linux 软件包? 这的确没错! 但是,由于某些软件包无法编译(封闭源代码软件包),或者由于各种原因(如编译时出错或文件不可用)而无法从 AUR 生成。 或者,开发人员懒得在 AUR 中构建一个包,或者他/她不想创建 AUR 包。 在这种情况下,我们可以使用这种快速但有点粗糙的方法将 DEB 包转换成 Arch Linux 包。

Debtap - 将 DEB 包转换成 Arch Linux 包

为此,我们将使用名为 “Debtap” 的实用程序。 它代表了 DEB T o A rch (Linux) Package。 Debtap 在 AUR 中可以使用,因此您可以使用 AUR 辅助工具(如 Pacaur[3]Packer[4] 或 Yaourt[5] )来安装它。

使用 pacaur 安装 debtap 运行:

   
   
     
  1. pacaur -S debtap

使用 Packer 安装:

   
   
     
  1. packer -S debtap

使用 Yaourt 安装:

   
   
     
  1. yaourt -S debtap

同时,你的 Arch 系统也应该已经安装好了 bash, binutils ,pkgfile 和 fakeroot包。

在安装 Debtap 和所有上述依赖关系之后,运行以下命令来创建/更新 pkgfile 和 debtap 数据库。

   
   
     
  1. sudo debtap -u

示例输出是:

   
   
     
  1. ==> Synchronizing pkgfile database...

  2. :: Updating 6 repos...

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

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

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

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

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

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

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

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

  11. ==> Synchronizing debtap database...

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

  13. Dload Upload Total Spent Left Speed

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

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

  16. Dload Upload Total Spent Left Speed

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

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

  19. Dload Upload Total Spent Left Speed

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

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

  22. Dload Upload Total Spent Left Speed

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

  24. ==> Downloading latest virtual packages list...

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

  26. Dload Upload Total Spent Left Speed

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

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

  29. ==> Downloading latest AUR packages list...

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

  31. Dload Upload Total Spent Left Speed

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

  33. ==> Generating base group packages list...

  34. ==> All steps successfully completed!

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

现在是时候开始转换包了。

比如说要使用 debtap 转换包 Quadrapassel,你可以这样做:

   
   
     
  1. debtap quadrapassel_3.22.0-1.1_arm64.deb

上述的命令会将 DEB 包文件转换为 Arch Linux 包。你需要输入包的维护者和许可证,输入他们,然后按下回车键就可以开始转换了。

包转换的过程可能依赖于你的 CPU 的速度从几秒到几分钟不等。喝一杯咖啡等一等。

示例输出:

   
   
     
  1. ==> Extracting package data...

  2. ==> Fixing possible directories structure differencies...

  3. ==> Generating .PKGINFO file...

  4. :: Enter Packager name:

  5. quadrapassel

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

  7. GPL

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

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

  10. gsettings-backend

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

  12. :: 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:

  13. ==> Generating .MTREE file...

  14. ==> Creating final package...

  15. ==> Package successfully created!

  16. ==> Removing leftover files...

:Quadrapassel 在 Arch Linux 官方的软件库中早已可用,我只是用它来说明一下。

如果在包转化的过程中,你不想回答任何问题,使用 -q 略过除了编辑元数据之外的所有问题。

   
   
     
  1. debtap -q quadrapassel_3.22.0-1.1_arm64.deb

为了略过所有的问题(不推荐),使用 -Q

   
   
     
  1. debtap -Q quadrapassel_3.22.0-1.1_arm64.deb

转换完成后,您可以使用 pacman 在 Arch 系统中安装新转换的软件包,如下所示。

   
   
     
  1. sudo pacman -U <package-name>

显示帮助文档,使用 -h

   
   
     
  1. $ debtap -h

  2. Syntax: debtap [options] package_filename

  3. Options:

  4. -h --h -help --help Prints this help message

  5. -u --u -update --update Update debtap database

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

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

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

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

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

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

这就是现在要讲的。希望这个工具有所帮助。如果你发现我们的指南有用,请花一点时间在你的社交、专业网络分享并支持我们!

更多的好东西来了。请继续关注!

干杯!


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

作者:SK[7] 译者:amwps290 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


登录查看更多
0

相关内容

Python地理数据处理,362页pdf,Geoprocessing with Python
专知会员服务
113+阅读 · 2020年5月24日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
专知会员服务
31+阅读 · 2020年4月24日
【Facebook AI】低资源机器翻译,74页ppt
专知会员服务
29+阅读 · 2020年4月8日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
开源书:PyTorch深度学习起步
专知会员服务
50+阅读 · 2019年10月11日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
从零开始:深度学习软件环境安装指南
机器之心
6+阅读 · 2017年10月2日
Do RNN and LSTM have Long Memory?
Arxiv
19+阅读 · 2020年6月10日
Directions for Explainable Knowledge-Enabled Systems
Arxiv
26+阅读 · 2020年3月17日
Arxiv
35+阅读 · 2019年11月7日
Arxiv
7+阅读 · 2018年6月1日
Arxiv
5+阅读 · 2018年5月1日
Arxiv
3+阅读 · 2012年11月20日
VIP会员
相关VIP内容
Python地理数据处理,362页pdf,Geoprocessing with Python
专知会员服务
113+阅读 · 2020年5月24日
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
专知会员服务
31+阅读 · 2020年4月24日
【Facebook AI】低资源机器翻译,74页ppt
专知会员服务
29+阅读 · 2020年4月8日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
开源书:PyTorch深度学习起步
专知会员服务
50+阅读 · 2019年10月11日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
从零开始:深度学习软件环境安装指南
机器之心
6+阅读 · 2017年10月2日
Top
微信扫码咨询专知VIP会员