tftpd不工作 - MAC OS X El Capitan 10.11.5

时间:2016-06-22 20:08:04

标签: macos udp osx-elcapitan launchd launchctl

我每天都使用tftp,这是我工作的一部分。到目前为止,这么好,从昨天(2016年6月21日)起,它根本就没有用了。我不知道究竟是什么原因,因为找不到任何人都没有讨论这个问题的支持(因为没有其他人像我一样用tftp来使用Apple闪存路由器吗?)。

我一直在做的基本程序来启动tftpd:

$ launchctl load -F /System/Library/LaunchDaemons/tftp.plist
$ launchctl start com.apple.tftpd

然后我将我的固件放在" / private / tftpboot"目录,已经设置为模式0777。

为了下载固件,过程很简单:

$ tftp
tftp> connect
(to) localhost
tftp> get firmware.bin
Transfer timed out.

你可能会猜到"转移超时"对我来说并不意味着好事。

看看" /var/log/system.log"有了尾巴,我可以在循环中看到以下消息(严重的是,这是一个巨大的消息量,我的SSD HD几乎被烧毁,因为日志写入时这种高密集的I / O):

...
Jun 22 14:36:59 MacBook-Pro tftpd[57553]: setgid to -2: Operation not permitted
Jun 22 14:36:59 MacBook-Pro com.apple.xpc.launchd[1] (com.apple.tftpd[57553]): Service exited with abnormal code: 1
Jun 22 14:36:59 MacBook-Pro tftpd[57554]: setgid to -2: Operation not permitted
Jun 22 14:36:59 MacBook-Pro com.apple.xpc.launchd[1] (com.apple.tftpd[57554]): Service exited with abnormal code: 1
Jun 22 14:36:59 MacBook-Pro tftpd[57555]: setgid to -2: Operation not permitted
Jun 22 14:36:59 MacBook-Pro com.apple.xpc.launchd[1] (com.apple.tftpd[57555]): Service exited with abnormal code: 1
...

由于它是一个不停的服务,导致密集的I / O,我不得不停止它,这是我一直以来的常规程序:

$ launchctl stop com.apple.tftpd
$ launchctl unload -F /System/Library/LaunchDaemons/tftp.plist

我需要这个工具,因为我正在努力。 你能评估一下发生了什么吗? 也许某些操作系统更新将这种错误行为带到tftpd?

运行绑定到UDP / 69的tftpd的Docker容器都无法运行。 我甚至删除了我的所有磁盘内容并尝试进行全新的OS X安装,认为某种错误更新导致我的系统出现问题。

备注:

  1. 已经尝试禁用System Integrity Protection (rootless)

  2. 已经尝试使用" sudo"来运行launchctl启动程序(如上所述)。

  3. 我从Ask DifferentServer Fault复制了这个问题,以获得更多意见。

  4. 谢谢你, 最诚挚的问候。

2 个答案:

答案 0 :(得分:1)

这个问题也困扰着我。答案很简单......目录/ private / tftpboot中没有文件,因为苹果已不再将其作为标准包含在内。 Apple希望人们购买OS x Server软件以获得更多功能,我假设。

答案 1 :(得分:0)

只是为了关闭这个问题,因为我发现无法使用tftpd,就像我过去每天使用Mac OS X一样,然后我决定在途中解决它并创建一个简单的基于Vagrant,VirtualBox和Docker的项目解决了我的所有需求:

https://github.com/rpherrera/docker-tftpd