0

假设我的配置文件foo中列出了 repo:pacman.conf

[foo]
Include = /etc/pacman.d/mirrolist-custom

我想简单地从foorepo 中列出我系统的已安装软件包。

4

1 回答 1

2

您可以列出已安装的软件包,列出 repo 软件包并进行比较。输出将是您从 repo 安装的软件包。

pacman -Qq | sort > tmp_installed.txt
pacman -Slq foo | sort > tmp_foo.txt
comm -12 tmp_installed.txt tmp_foo.txt

如果你想重复做一个脚本。这里有一个名为 list_repo.sh 的脚本示例

#!/bin/bash
# List installed packages from repo
if [ "$#" -lt "1" ] || [ "$#" -gt "2" ]; then
    echo "Invalid number of arguments"
    echo "Usage: $0 <repo>"
    exit
fi

pacman -Qq | sort > tmp_installed.txt
pacman -Slq $1 | sort > tmp_repo.txt

comm -12 tmp_installed.txt tmp_repo.txt
rm tmp_installed.txt
rm tmp_repo.txt

运行它:

./list_repo.sh foo

于 2021-06-09T15:45:38.573 回答