web-dev-qa-db-ja.com

不正なシステムコール(コアダンプ)/ usr / share / man / man1

Ubuntu 18.04.1リリース4.15.0-38-genericで実行しています。

私はこれまたは同様の質問が数か月前に尋ねられ、進行中の修正または回避策があるように見えます。

dpkg --list man-db
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend  
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
iF  man-db         2.8.3-2ubunt AMD64        on-line manual pager

Software Updaterを実行するたびに、または新しいパッケージをインストールしようとするたびに時間がかかります。その理由は、大量のコアダンプにあるようです。以下に小さなサンプルを示します。

>

usr/bin/mandb:zcat:不正なシステムコール(コアダンプ)
/usr/bin/mandb:zcat </usr/share/man/man1/pbmtomda.1.gz:不正なシステムコール(コアダンプ)
/usr/bin/mandb:/ usr/lib/man-db/manconv -f UTF-8:ISO-8859-1 -t UTF-8 // IGNORE -q:不正なシステムコール(コアダンプ)
/usr/bin/mandb:zcat </usr/share/man/man1/pamfile.1.gz:不正なシステムコール(コアダンプ)
/usr/bin/mandb:zcat:不正なシステムコール(コアダンプ)
/usr/bin/mandb:zcat </usr/share/man/man1/pamfile.1.gz:不正なシステムコール(コアダンプ)
/usr/bin/mandb:/ usr/lib/man-db/manconv -f UTF-8:ISO-8859-1 -t UTF-8 // IGNORE -q:不正なシステムコール(コアダンプ)
/usr/bin/mandb:zcat </usr/share/man/man1/pnmtorast.1.gz:不正なシステムコール(コアダンプ)
/usr/bin/mandb:zcat:不正なシステムコール(コアダンプ)
/usr/bin/mandb:zcat </usr/share/man/man1/pnmtorast.1.gz:不正なシステムコール(コアダンプ)
/usr/bin/mandb:/ usr/lib/man-db/manconv -f UTF-8:ISO-8859-1 -t UTF-8 // IGNORE -q:不正なシステムコール(コアダンプ)

AppArmorはAstrillの誰かによって犯人の可能性があると特定されましたが、Astrill VPNと呼ばれるパッケージは使用していません。 Expressvpn、Ubuntuネットワークマネージャー、pptp-linux、openvpnがあります。

Man-dbとapparmorを再インストールしようとしましたが、何も変わりません。

私は現在Ubuntu 19.4を使用していますが、まだこれらのmandbエラーメッセージが表示されています。すべてのソフトウェアのインストールまたは更新は、約89%に達し、これらのエラーメッセージをループし始めるため、時間がかかります。私は、新しいリリースを待つことで、最終的には単独でこれを解決できると期待していましたが、そうではないようです。何が起こっているのか、これを修正するための支援についての手がかりをいただければ幸いです。
(上記の編集は私が行ったものですが、サインインしていません!)

1
Mercedes99

電子メールによるデバッグ情報をありがとう。

これは、ESET File Securityの障害であることが判明しました。過去にこのプログラムに回避策を適用しましたが、明らかにもう少しする必要がありました。

簡単に言うと、これは特定のイベントが発生したときにマシン上の別のプログラムにメッセージを送信することを含むすべてのプロセスにコードを挿入するマルウェア対策ツールです。現在、man-dbには、悪意のあるドキュメントを処理するツールのバグを何らかの方法で悪用することを防ぐための独自のセキュリティ対策があり、これらのツールが実行できるシステムコールを想定されているもののみに制限しますテキスト処理を行うために必要なもの。残念ながら、ESETが行っていることは、マルウェアが行うことを決定する可能性があるものと区別するのが非常に難しいため、これら2つのセキュリティ対策は互いに戦っています。

私の消極的な妥協(最終的にはもっと良いものを見つけたいと思いますが)は、ESETがインストールされていることを検出し、その場合はさらにいくつかのシステムコールを許可することです。 変更をコミットしました あなたのトレースに応じてそのリストに別のリストを追加しました。これは、安定したUbuntuのリリースにバックポートする必要があります。その前に、少なくとも来週半ばまでそのプロセスを開始する時間がありません。それまでの間、この問題を乗り越えるためのオプションがいくつかあります。

  • ESET File Securityをアンインストールします(一時的またはそれ以外)。
  • 環境変数MAN_DISABLE_SECCOMP=1を設定します。これはSoftware Updaterなどのグラフィカルツールを使用して永続的に実行するのは少し難しいですが、ターミナルからaptを使用する場合は、Sudo MAN_DISABLE_SECCOMP=1 apt full-upgradeまたはSudo MAN_DISABLE_SECCOMP=1 apt install some-packageを実行することを忘れないでください。または何でも。

変更を含むパッケージが利用可能になったら、この回答を更新します。 (残念ながら、これが完全に修正されたことを確認する良い方法はありません。ですから、これはもう一度やり直さなければならない、もぐらたたきのエクササイズになる可能性があります。)

1
Colin Watson