如何在 Arch Linux 上为 TeX Live “伪造软件包”?
我直接从脚本而不是 Arch 软件包安装了 TeX Live。但是,当我安装其他与科学相关的软件时,pacman
它不知道我安装了它并尝试安装软件包。texlive-
$ sudo pacman -Syu --needed sagetex
:: Synchronizing package databases...
core is up to date
extra is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (6) dvisvgm-3.1.1-1 texlive-basic-2023.66594-19 texlive-bin-2023.66984-16
texlive-latex-2023.66594-19 texlive-latexrecommended-2023.66594-19 sagetex-3.6.1-4
Total Installed Size: 120.16 MiB
:: Proceed with installation? [Y/n]
我发现本指南关于如何欺骗包管理器,但它仅适用于基于 Debian 的发行版。我如何在 Arch 上做同样的事情?
答案1
这是我PKGBUILD
目前在 Arch 上使用的虚拟包:
pkgname=texlive-dummy-cfr
pkgver=2.0
pkgrel=1
pkgdesc="TeX typesetting program"
arch=(i686 x86_64)
license=('custom')
provides=('tetex' 'texlive-bin' 'texlive-core' 'texinfo' 'texlive-basic')
conflicts=('tetex' 'texlive-bin' 'texlive-core' 'texlive-basic')
build() {
/bin/true
}
package() {
/bin/true
}
以通常的方式构建和安装它(就像安装任何其他 AUR 包一样)。
此外,我还有以下几行/etc/pacman.conf
作为安全网:
IgnorePkg = texlive-bin
IgnoreGroup = texlive-most texlive-lang
如果您安装或更新与 TeX 相关的内容,您仍应警惕问题。包装不时会发生变化,您需要适应以PKGBUILD
防止批量安装包装版本。