我想创建一个 Apt 首选项文件,其中的 pin 定义与来自 的包相匹配Google, Inc.
。
以下定义似乎没有做任何事情:
Package: *
Pin: release o=Google, Inc.
Pin-priority: 900
我怀疑逗号造成了问题。我该如何将其去掉?
以下方法均不起作用:
release o="Google, Inc."
release o='Google, Inc.'
release o=Google\, Inc.
release o=Google\\, Inc.
奇怪的是,下面的内容匹配Google, Inc.
成功:
release o=Google? Inc.
但这不是我想要的解决方案。我想知道如何Google, Inc.
在不使用(不稳定的)通配符的情况下进行匹配。
更多信息:
$ apt-cache policy | grep -C 1 'Google, Inc.'
500 http://dl.google.com/linux/earth/deb/ stable/main amd64 Packages
release v=1.0,o=Google, Inc.,a=stable,n=stable,l=Google,c=main
origin dl.google.com
500 http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages
release v=1.0,o=Google, Inc.,a=stable,n=stable,l=Google,c=main
origin dl.google.com
$ grep Origin /var/lib/apt/lists/dl.google.com_*_Release
/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_Release:Origin: Google, Inc.
/var/lib/apt/lists/dl.google.com_linux_earth_deb_dists_stable_Release:Origin: Google, Inc.
答案1
虽然这与您想要做的并不完全一样,但它可能对您也有效,请尝试:
Pin: origin dl.google.com
在放弃尝试通过发布来固定它之后,我决定这样做,只要您没有来自该主机的任何其他存储库,它就会产生相同的效果......
答案2
如果转义逗号,则空格也应该转义,例如:
o=Google\,\ Inc.