tftpd-hpa --verbosityオプションはどのように機能しますか?

tftpd-hpa --verbosityオプションはどのように機能しますか?

tftp-hpaを使用してTFTPサーバーを設定しようとしています。マンページこのオプションを使用すると、--verbosityより多くの出力を得ることができます。

残念ながら、このオプションに何を渡すべきかについての説明が見つかりません。どうやって使うの?

  • --verbosity loud
  • --verbosity 5
  • --verbosity 255
  • --verbosity DEBUG

これはどこにも文書化されていますか?これまで試したことは、標準出力にメッセージを生成しませんでした。

答え1

これに加えて、tftpd-hpaはフォアグラウンドモードで実行しているときにもstdout / stderrではなくsyslogにのみ書き込むことを発見しました。そのため、詳細なフラグを何に設定しても出力は表示されません。

Dockerはこれを実行しており、ログをstdout / stderrに移動してコマンドとして表示できるようにするため、docker logstftpd-hpaから送信されたメッセージを受信するには、Dockerコンテナでsyslogクライアントも実行する必要があります。

オンラインで例を見つけました。私はそれを借りてsyslog-ngを使用し、すべてを標準出力に書き込むように設定しました。

実行後、次のログが表示されます。

$ docker logs abc123
Jul  3 09:37:57 vorticon syslog-ng[7]: syslog-ng starting up; version='3.30.1'
Jul  3 09:39:00 host in.tftpd[11]: remap: input: test2a.txt
Jul  3 09:39:00 host in.tftpd[11]: remap: rule 0: rewrite: 192.168.0.1/test2a.txt
Jul  3 09:39:00 host in.tftpd[11]: remap: done
Jul  3 09:39:00 host in.tftpd[11]: RRQ from 192.168.0.1 filename test2a.txt remapped to 192.168.0.1/test2a.txt
Jul  3 09:39:00 host in.tftpd[11]: sending NAK (1, File not found) to 192.168.0.1

答え2

--verbosityは整数値を使用します。いつものように、最良の情報源はコード自体です。コードは以下にあります。https://git.kernel.org/pub/scm/network/tftp/tftp-hpa.git/tree/

tftpd.cこれはパラメータを解析するコードの関連部分です--verbosity。整数値を使用していることを確認してください。マニュアルページに記載されているとの間-vの関係も表示されます。--verbosity

case 'v':
    verbosity++;
    break;
case OPT_VERBOSITY:
    verbosity = atoi(optarg);
    break;

最大詳細レベルが何であるかは指定されていません(ソースコードのバージョンによって変更される可能性があります)。ところで、最新のソースコードを検索してみると、verbosity0~4の間の値が有効であることがわかりました。 4より大きい値は追加の効果はありません。

関連情報