我想pkglist.txt
至少在 Manjaro 和 Ubuntu 中安装一个软件包列表,尽管如果有办法在所有发行版上安装它会更好。我怎样才能做到这一点?
我想到了类似的东西:
# If on Manjaro:
yay -S --no-confirm --needed - < pkglist.txt
# Else if on Ubuntu:
xargs sudo apt install < pkglist.txt
问题是我得到了一堆Unable to locate package
错误。我可以从文件中一一安装软件包并忽略错误。
这基本上归结为“不同的发行版是不同的”:一般来说这是不可能的。您需要维护两个发行版的软件包名称列表。
仍然有一些技巧可以实现自动化:
/usr/bin/oocalc
,您可以使用apt-file search /usr/bin/oocalc
在 debian、ubuntu 等上查找软件包,dnf repoquery --whatprovides
在 Fedora/RHEL 上也是如此- oids,我确信 Arch/Manjaro 也有类似的工具。但是,这一切很快就会崩溃,因为不同的发行版可以将文件放在不同的位置。例如,一些发行版使用架构前缀。此外,可能有多个包提供相同的文件。(例如,同一程序的不同版本,或社区与上游包等;有关示例,请参见 mariadb/mysql)