Aptピン定義にコンマを含めるにはどうすればよいですか?


8

から作成されたパッケージに一致するピン定義を含むAptプリファレンスファイルを作成します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年

回答:


1

あなたがやろうとしていたことはまあまあですが、うまくいくかもしれません。

Pin: origin dl.google.com

私はリリースで固定しようとするのをあきらめた後、これで解決しました。このホストから他のリポジトリがいない限り、同じ効果があります...


0

コンマをエスケープする場合は、次のようにスペースもエスケープする必要があります。

o = Google \、\ Inc.

これをテストしましたか?うまくいかないようです。
ændrük

できませんでした。私のポリシーには、空白を含むo =は含まれていません。
Aquaquad、2011
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.