首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >tftpd-hpa --详细选项是如何工作的?

tftpd-hpa --详细选项是如何工作的?
EN

Unix & Linux用户
提问于 2020-01-15 11:19:34
回答 2查看 7.1K关注 0票数 2

我正在尝试使用TFTP设置tftp服务器,根据大写,我可以使用--verbosity选项来获得更多的输出。

不幸的是,我找不到任何东西来解释我应该把什么传递给这个选项。我该怎么用呢?

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

这里有记录吗?到目前为止,我没有尝试过在stdout上产生任何消息。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2020-01-15 11:38:50

--verbosity值接受一个整数值。和往常一样,最好的真相来源是代码本身,它可以在https://git.kernel.org/pub/scm/network/tftp/tftp-hpa.git/tree/中找到。

下面是来自tftpd.c的代码中解析--verbosity参数的相关部分。它确认它接受一个整数值。还显示了手册页中描述的-v--verbosity之间的关系。

代码语言:javascript
运行
复制
case 'v':
    verbosity++;
    break;
case OPT_VERBOSITY:
    verbosity = atoi(optarg);
    break;

它没有指定最大详细级别(因为这可能随着源代码的不同版本而改变)。但是搜索最新的源代码会发现verbosity值在0-4中很重要。任何高于4的值都没有额外的效果。

票数 3
EN

Unix & Linux用户

发布于 2021-07-03 09:44:57

此外,我还发现tftpd仅登录到syslog,而不是stdout/stderr,即使在前台模式运行时也是如此。这就是为什么无论我将详细标记设置为什么,我都没有看到任何输出。

因为我在Docker中运行它,并且希望日志转到stdout/stderr,所以我可以使用docker logs命令查看它们,所以我还必须在Docker容器中运行syslog客户机来接收tftpd发送的消息。

我借用了在网上找到一个例子,它使用syslog并将其配置为将所有东西写入标准输出。

在此运行之后,日志将显示:

代码语言:javascript
运行
复制
$ 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
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/562224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档