こんにちは、私はlxdコンテナで風景を走らせています。コンテナはブリッジモードです。ランドスケープにlxdhostを追加しました。ランドスケープは正常に機能し、認識できる限り正常に接続します。ただし、そのパッケージは報告されないため、ご想像のとおり、パッチ管理にはほとんど役に立ちません。すべてのシステムでUbuntu 18.04が実行されています。手動でlandscape-package-reporterを実行すると、次のエラーが発生します。
Sudo landscape-package-reporter
[Sudo] password for lxcuser:
2020-01-17 14:38:53,220 ERROR [MainThread] None
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 653, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/usr/lib/python3/dist-packages/landscape/client/package/reporter.py", line 92, in <lambda>
result.addCallback(lambda x: self.request_unknown_hashes())
File "/usr/lib/python3/dist-packages/landscape/client/package/reporter.py", line 498, in request_unknown_hashes
self._facade.ensure_channels_reloaded()
File "/usr/lib/python3/dist-packages/landscape/lib/apt/package/facade.py", line 265, in ensure_channels_reloaded
self.reload_channels()
File "/usr/lib/python3/dist-packages/landscape/lib/apt/package/facade.py", line 253, in reload_channels
version, with_info=False).get_hash()
File "/usr/lib/python3/dist-packages/landscape/lib/apt/package/facade.py", line 402, in get_package_skeleton
return build_skeleton_apt(pkg, with_info=with_info, with_unicode=True)
File "/usr/lib/python3/dist-packages/landscape/lib/apt/package/skeleton.py", line 131, in build_skeleton_apt
version.record, "Provides", DEB_PROVIDES))
File "/usr/lib/python3/dist-packages/apt/package.py", line 690, in record
return Record(self._records.record)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x96 in position 724: invalid start byte
おかしなことに、他のすべてのコンテナーは通常、パッケージを報告しますが、問題はありません。
スクリプトを調べましたが、プログラミングの知識が非常に低いため、問題の原因を見つけることができませんでした。
たぶん、あなたの一人がアイデアを持っています。
この問題(特に724
の位置にある問題)は、Veeamパッケージリスト/var/lib/apt/lists/repository.veeam.com_backup_linux_agent_dpkg_debian_public_dists_stable_veeam_binary-AMD64_Packages
の迷子のUnicode文字に関連しています。私はこれを発見しました
この問題をVeeamに報告したので、すぐに修正される場合とそうでない場合があります(この投稿を更新します)。
簡単な(ただし永続的ではない)方法は、/var/lib/apt/lists/repository.veeam.com_backup_linux_agent_dpkg_debian_public_dists_stable_veeam_binary-AMD64_Packages
の末尾にある浮遊文字を削除することです。ただし、apt
がveeam
パッケージリストを更新すると、この変更は上書きされます。
恒久的な解決策(launchpad-client
更新によってのみ上書きされます)は、try
/except UnicodeError
ブロックをskeleton.py
の関連コードの周りに追加することです
その方法の詳細については my blogpost を参照してください。