我想通过备份在新计算机上重新安装系统。所以我写了一个脚本,它从列表中重新安装所有软件包并恢复备份,但缺少一点:
我也想从 AUR 安装软件包,但我找不到如何安装这些软件包的方法。 第一个问题是,如果您是 root,则不允许您构建软件包。 我可以使用“su nobody”为单个包构建一个解决方法,但我没有看到如何对具有依赖项的包使用 AUR 助手(如 trizen)的方法。
我发现可以在 arch-chroot 环境中通过使用循环遍历软件包列表的脚本来执行此操作,并使每个软件包使用
makepkg -s
作为非 root 用户,然后以 root 身份安装每个软件包使用 pacman -U <package>.pkg.tar.zst
。这是我的脚本:
aur-pkg-installer.sh
--------------------------------
#!/bin/bash
USERNAME=$1
PACKAGE_LIST_FILE=$2
mapfile -t packages < "$PACKAGE_LIST_FILE"
cd "/home/$USERNAME/"
for package in "${packages[@]}"; do
sudo -u $USERNAME git clone "https://aur.archlinux.org/$package.git"
cd "/home/$USERNAME/$package"
sudo -u $USERNAME makepkg -s --noconfirm
chown -R "root" "/home/$USERNAME/$package"
pacman -U *.pkg.tar.zst --noconfirm --needed
cd "/home/$USERNAME/"
rm -r "/home/$USERNAME/$package"
done
我在 Chris Titus Tech 的 archtitus 安装脚本中的
arch-chroot
环境中运行了此脚本。它的工作原理如下:aur-pkg-installer.sh <user> <package_list_file>
尝试使用 paru 或 yay 等包管理器来安装 AUR。如果不直接从 GitHub 下载 AUR 并运行他们的安装脚本。