archlinux的aur软件的书写

本文档详细介绍了如何在ArchLinux的AUR(Arch User Repository)中创建和管理软件包,包括从原型文件开始,设置PKGBUILD,进行必要的检查,认证过程,提交软件包到AUR,以及常用配置和管理技巧。对于想要为AUR贡献包的ArchLinux用户来说是一份实用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此文章适合新建包和接收孤儿包(Orphaned),有人维护的包不能构建
一、介绍PKGBULD 原型

  • /usr/share/pacman/的原型文件PKGBUILD.proto拷贝一份重命名成PKGBUILD文件
  • 两个重要参数:\${srcdir} 是提取的源数据目录,\${pkgdir} 相当于安装后的根目录

参考文章(PKGBUILD包装指南):https://wiki.archlinux.org/index.php/Arch_package_guidelines
参考文章(创建PKGBUILD):https://wiki.archlinux.org/index.php/Creating_packages
参考文章(PKGBUILD的变量):https://wiki.archlinux.org/index.php/PKGBUILD

二、常用的检查命令

$ namcap PKGBUILD
$ namcap <package file name>.pkg.tar.xz

三、认证

  • 为 AUR 创建一个新的密钥(而不是用旧的)
$ ssh-keygen -f ~/.ssh/aur

然后在 AUR Web 界面上点击 “My Account (我的账户)” ,把aur.pub公钥里的内容填进 “SSH Public Key:” 一节中,保存.

  • 接下来编辑 ~/.ssh/config, 告诉ssh命令连接到 aur.archlinux.org 用汝创建的新密钥
Host aur.archlinux.org
  IdentityFile ~/.ssh/aur
  User your-name #注意使用你自己注册的名字替换

四、提交软件包到 AUR(此步骤是经常使用的)

  • 创建软件包仓库
    把pkgbase换成软件包名
$ git clone ssh://aur@aur.archlinux.org/pkgbase.git
  • 提交和更新软件包
$ makepkg --printsrcinfo > .SRCINFO
$ git add PKGBUILD .SRCINFO
$ git commit -m "useful commit message"
$ git push


  • .gitignore文件配置
    常规忽略以下文件
src
pkg
*.deb
*.rpm
.AppImage
*.pkg.tar.xz
  • 如果执行了ssh认证配置,可以为软件包投票
ssh aur@aur.archlinux.org vote <PACKAGE_NAME>

五、常用的配置

  • 修改/etc/makepkg.conf中某些行
MAKEFLAGS="-j$(nproc)"
COMPRESSXZ =(xz -c -z  - --threads = 0)
  • 安装pacman-contrib
    使用方式:与PKGBUILD文件相同的目录中运行以下命令以生成新的md5sum
$ updpkgsums
  • 下载aria2c,修改/etc/makepkg.conf
DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u'
          'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
          'http::/usr/bin/aria2c -s 5 -x 6  -c  -o %o %u'
          'https::/usr/bin/aria2c -s 5 -x 6  -c  -o %o %u'
          'rsync::/usr/bin/rsync --no-motd -z %u %o'
          'scp::/usr/bin/scp -C %u %o')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值