我每天都使用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安装,认为某种错误更新导致我的系统出现问题。
备注:
已经尝试使用" sudo"来运行launchctl启动程序(如上所述)。
我从Ask Different和Server Fault复制了这个问题,以获得更多意见。
谢谢你, 最诚挚的问候。
答案 0 :(得分:1)
这个问题也困扰着我。答案很简单......目录/ private / tftpboot中没有文件,因为苹果已不再将其作为标准包含在内。 Apple希望人们购买OS x Server软件以获得更多功能,我假设。
答案 1 :(得分:0)
只是为了关闭这个问题,因为我发现无法使用tftpd
,就像我过去每天使用Mac OS X一样,然后我决定在途中解决它并创建一个简单的基于Vagrant,VirtualBox和Docker的项目解决了我的所有需求: