如何安装和运行 TFTP 服务器?

use*_*961 70 tftp

我有一个嵌入式 VxWorks 目标,需要从我的 Ubuntu 计算机启动其内核。如何安装和运行 TFTP 服务器?

use*_*961 108

TFTP 服务器安装和设置

  1. 安装以下软件包。

    sudo apt-get install xinetd tftpd tftp
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建 /etc/xinetd.d/tftp 并放置此条目

    service tftp
    {
    protocol        = udp
    port            = 69
    socket_type     = dgram
    wait            = yes
    user            = nobody
    server          = /usr/sbin/in.tftpd
    server_args     = /tftpboot
    disable         = no
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 创建一个文件夹 /tftpboot 这应该与您在 server_args 中提供的内容相匹配。主要是 tftpboot

    sudo mkdir /tftpboot
    sudo chmod -R 777 /tftpboot
    sudo chown -R nobody /tftpboot
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重启xinetd服务。

    较新的系统:

    sudo service xinetd restart
    
    Run Code Online (Sandbox Code Playgroud)

    旧系统:

    sudo /etc/init.d/xinetd restart
    
    Run Code Online (Sandbox Code Playgroud)

现在我们的 tftp 服务器已启动并运行。

测试我们的 tftp 服务器

  1. 在 tftp 服务器的 /tftpboot 路径中创建一个名为 test 的文件

    使用ifconfig命令获取tftp服务器的ip地址

  2. 现在在其他一些系统中遵循以下步骤。

    tftp 192.168.1.2
    tftp> get test
    Sent 159 bytes in 0.0 seconds
    
    tftp> quit
    
    cat test
    
    Run Code Online (Sandbox Code Playgroud)

来源:http : //mohammadthalif.wordpress.com/2010/03/05/installing-and-testing-tftpd-in-ubuntudebian/

  • 我遵循了此说明并面临被拒绝的许可!目标文件名 [c2950-i6q4l2-mz.121-22.EA1b.bin]?TFTP:收到错误代码 2 - 访问冲突 %Error opening tftp://10.1.11.14/c2950-i6q4l2-mz.121-22.EA1b.bin(权限被拒绝)#copy flash:c2950-i6q4l2-mz.121-22 .EA1b.bin tftp:远程主机 [] 的地址或名称?10.1.11.14 目标文件名 [c2950-i6q4l2-mz.121-22.EA1b.bin]?TFTP:收到错误代码 2 - 访问冲突 (3认同)
  • 在 14.04,这对我不起作用。`/etc/xinetd.d/tftp` 中关于 `/tftpboot` 的信息似乎无关紧要。相反,客户端在`/etc/inetd.conf` 中指定的目录`/srv/tftp` 中查找。如果自这篇文章以来设置的方式发生了变化,或者我以某种方式搞砸了,我不会。如果上面的答案对您不起作用,请尝试将您的测试文件放在 `/srv/tftp` 中。 (2认同)
  • 请注意,在 Ubuntu 16.04 中,您将遇到“错误代码 2(访问冲突)”。要修复它,请将 `tftpboot -s` 放在 `server_args` 中(没有前导斜杠,末尾有 `-s`。来源:https://icesquare.com/wordpress/solvedtftp-error-code-2-access-violation/ (2认同)

nan*_*rad 8

您可以安装atftpd,它会创建一个名为的目录/tftpboot,您可以在其中放置文件。特别是把pxelinux.0文件放在那里。如有必要,将处理任何未来的配置。

当您安装软件包时

sudo apt-get install atftpd
Run Code Online (Sandbox Code Playgroud)

它将使用 Debconf 提示您进行一些选择。您可以设置许多选项(服务器超时可能有用),尤其是basepath。您还可以调整多播范围。


小智 7

您可以安装tftpd-hpa和更改配置。安装 tftpd-hpa 的步骤在这篇文中进行了解释。

  • 虽然这在理论上可以回答这个问题,但 [最好](​​http://meta.stackexchange.com/q/8259) 在此处包含答案的基本部分,并提供链接以供参考。 (2认同)