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보다 큰 값은 추가 효과가 없습니다.

관련 정보