Arch安装deb包:编写 PKGBUILD 文件

编写 PKGBUILD 文件 生成安裝包

以Karing爲例
創建目錄:Test
Test
├── karing-bin-1.2.10.1308.deb
└── PKGBUILD

在Test目錄下運行

makepkg -s

會生成karing-bin-1.2.10.1308-1-x86_64.pkg.tar.zst文件
安裝

sudo pacman -U karing-bin-1.2.10.1308-1-x86_64.pkg.tar.zst

PKGBUILD文件內容:

注意:sha256sums碼要用 sha256sum命令獲取替換

# Maintainer: czyt <czytcn@gmail.com>
pkgname=karing-bin
pkgver=1.2.10.1308
pkgrel=1
pkgdesc="Simple & Powerful proxy utility, Support routing rules for ***/sing-box"
arch=('x86_64')
url="https://github.com/KaringX/karing"
license=('GPL-3.0-or-later')
depends=(
    'gtk3'
    'libayatana-appindicator'
    'glib2'
    'libnotify'
    'libsecret'
    'xdg-user-dirs'
    'zenity'
    'libkeybinder3'
)
optdepends=(
    'libappindicator-gtk3: for system tray icon support'
)
provides=('karing')
conflicts=('karing' 'karing-git')
source=("karing-bin-1.2.10.1308.deb")
sha256sums=('db6fd1521a297bba68aab0f9372e194220014ba3669b6fab1b0c1c2b130304f7')
noextract=("${pkgname}-${pkgver}.deb")

package() {
    cd "${srcdir}"

    bsdtar -xf "${pkgname}-${pkgver}.deb"
    bsdtar -xf data.tar.zst -C "${pkgdir}"

    find "${pkgdir}" -type d -exec chmod 755 {} \;

    # Set proper permissions for executables
    if [ -d "${pkgdir}/usr/share/karing" ]; then
        find "${pkgdir}/usr/share/karing" -type f -name "karing" -exec chmod 755 {} \;
    fi

    # Remove unnecessary documentation
    rm -rf "${pkgdir}/usr/share/doc"

    # Create symlink for the binary
    install -dm755 "${pkgdir}/usr/bin"
    ln -sf "/usr/share/karing/karing" "${pkgdir}/usr/bin/karing"
}

Arch安装deb包:为 deb 包编写 PKGBUILD 文件

archinstallPKGBUILD:创建自定义软件包教程

Archlinux 安裝.deb文件

dpkg可能会损害 archlinux 系统,不太建议
sudo pacman -S dpkg
sudo dpkg -i xx.deb

将DEB软件包转换成Arch Linux软件包

yay -S debtap
sudo debtap -u
debtap xxx.deb
sudo pacman -U xxx.pkg

将DEB软件包转换成Arch Linux软件包

posted @ 2026-01-06 18:14  jokerpoker  阅读(7)  评论(0)    收藏  举报