如何在Apt引脚定义中包含逗号?


8

我想创建一个Apin首选项文件,该文件的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.

2
你有没有试过o="Google, Inc.",还是o='Google, Inc.'
enzotib

您仍然遇到同样的问题吗?
Braiam 2013年

Answers:


1

不完全是您要尝试执行的操作,但它可能对您也有效,请尝试:

Pin: origin dl.google.com

我放弃尝试通过发布固定它后就解决了,只要您没有来自该主机的任何其他存储库,它就具有相同的效果...


0

如果您转义了逗号,则空格也应转义,例如:

o = Google \,\ Inc.。

你测试过了吗?它似乎对我不起作用。
ændrük

我不能,我的策略不包含带有空格的o =,只是一个猜测。
2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.