从Fedora系统更新AUR仓库的可行性及替代方案咨询
从Fedora系统更新AUR仓库的可行性及替代方案咨询
嘿,刚好之前碰到过类似的情况,来给你唠唠~
首先明确说:完全可以不用Arch系统或者VM,直接在Fedora上搞定AUR仓库的更新,不过得借助容器这类轻量工具绕个小弯——毕竟Fedora确实没有makepkg、updpkgsums这些Arch专属工具,硬在Fedora里装pacman容易和DNF搞出依赖冲突,风险太高。
下面给你分两种靠谱方案:
一、轻量首选:用容器(Podman/Docker)跑Arch环境
这是我现在用的方式,比VM省资源太多,步骤也简单:
- 先拉取Arch官方镜像:
podman pull archlinux(用Docker的话把podman换成docker就行) - 运行容器并挂载你本地的AUR仓库文件夹,这样容器里的操作会直接同步到本地文件:
podman run -it --rm -v /你本地的AUR仓库路径:/aur archlinux - 进入容器后,先装基础工具:
pacman -Syu base-devel git(偶尔更新的话,临时安装也花不了两分钟;如果频繁用,可以自己构建一个预装好工具的镜像,省得每次重复安装) - 切换到
/aur目录,正常执行AUR更新命令:比如updpkgsums更新校验和,makepkg --printsrcinfo > .SRCINFO生成最新的源信息,搞定后退出容器,本地的文件就已经更新好了,直接推送到Git仓库就行。
二、稳妥备选:Arch虚拟机方案
如果你觉得容器操作有点麻烦,或者需要频繁更新多个AUR包,VM也是个不错的选择:
- 用GNOME Boxes、VirtualBox或者VMware装个最小化的Arch系统,配置好共享文件夹把本地AUR目录同步过去
- 好处是环境完整,操作起来和用原生Arch没区别,不用每次重复装工具;缺点是占内存和硬盘更多,启动速度也比容器慢不少。
小提醒
- 不管用哪种方式,你只需要生成正确的
PKGBUILD、.SRCINFO和校验和就行,不需要在Arch环境里实际编译安装包——毕竟你只是更新AUR仓库的内容,不是自己用Arch装软件。 - 可以把容器的操作写成简单的脚本,比如:
下次更新直接跑脚本就行,省得手动输一堆命令。#!/bin/bash podman run -it --rm -v /你的AUR路径:/aur archlinux /bin/bash -c " pacman -Syu --noconfirm base-devel git && cd /aur && updpkgsums && makepkg --printsrcinfo > .SRCINFO "
总结下来:偶尔更新选容器,频繁操作选VM,千万别在Fedora本地硬装Arch的包管理器工具,容易把系统搞崩~
备注:内容来源于stack exchange,提问作者Etienne Charland
相关产品推荐
相关产品推荐

