ArchLinux将deb包转为pkg包
有时候有些linux软件没有pkg包,想要用又不想用折腾aur
,这时可以使用debtap
这个命令行脚本将deb包转换为pkg包
项目地址
debtap
用于将 .deb 包转换为 Arch Linux 包的脚本,专注于准确性
问&答
- “debtap"什么意思?
- DEB To Arch (Linux) Package.
- 如果我需要编译包或将 .deb 包转换为 Arch Linux 包,下载官方包或编写 PKGBUILD 不是更好吗?
- 当然是这样,我鼓励你这样做。编写 Debtap 是为了创建无法编译(闭源包)或由于各种原因(编译期间出错或文件不可用)而无法从 AUR 构建的包
- 那么只有在我需要将特定的 .deb 包转换为 Arch Linux 包的情况下,debtap 才会帮助我?
- 并不是。如果你需要为 Debian/Ubuntu 发行版中已经存在的软件包编写新的 PKGBUILD,使用参数 -p 或 -P 它可以生成一个 PKGBUILD,然后根据需要进行编辑。
- 运行此脚本的最低要求是什么?
- 你需要安装这些依赖项:
bash
、binutils
(提供用于提取 .deb)、pkgfile
和fakeroot
。且必须至少运行一次debtap -u
(最好是最近)来创建/更新 pkgfile 和 Debtap 数据库(使用 root 权限执行此操作)。
- 你需要安装这些依赖项:
- Debtap 需要很多时间来转换一个包。那么,为什么会发生这种情况?
- 就像我说的,debtap 专注于准确性。 它不仅是解压 .deb 包,然后将其数据重新打包到 ArchLinux 包中,而忽略元数据。 根据处理器的速度和包装本身,转换可能需要几秒钟到几分钟的时间。
- 在转换过程中,我收到几条警告消息,为什么?
- 由于多种原因,Debtap 不能 100% 准确,主要原因是包名称的复杂性。如果你想检查新生成的 .PKGINFO 和 .INSTALL(这是可选文件)元数据文件,甚至修复 .PKGINFO 中未翻译的包名称,debtap 为你提供了在压缩最终包之前编辑这些文件的选项。
使用帮助
-h --help 打印帮助信息
-u --update 更新debtap数据库
-q --quiet 跳过所有问题,编辑元数据文件除外
-Q --Quiet 跳过所有问题(不推荐)
-s --pseudo 从32位deb包文件创建伪64位软件包
-w --wipeout 清除所有依赖项、冲突等的版本
-p --pkgbuild 另外生成一个PKGBUILD文件
-P --Pkgbuild 仅生成PKGBUILD文件
-v --version 打印版本信息
archalinux下下载debtap
之后
执行debtap -u
来更新转换时需要的版本数据
然后执行debtap {target}.deb
转换为pkg包