Я пытаюсь обслужить соединение tftpd (используя xinetd) и получаю эту ошибку
$ sudo systemctl status xinetd
"tftpd[18566]: unknown option -?"
После установления соединения с удаленного хоста при попытке получить файл (или любое другое действие). Я не знаю, что может быть не так, поскольку я установил все разрешения и все в соответствии с руководством
sudo apt-get install xinetd tftpd tftp
sudo mkdir -p /etc/xinetd.d/
sudo touch /etc/xinetd.d/tftp
sudo vim /etc/xinetd.d/tftp
##copy the text below
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /srv/tftp
disable = no
}
sudo mkdir /srv/tftpd
sudo cp ~/Downloads/openwrt-18.06.1-ar71xx-generic-wndr3800-squashfs-factory.img /srv/tftp
sudo chmod -R 777 /srv/tftp
sudo chown -R nobody /srv/tftp
sudo systemctl restart xinetd.service
По сути, по какой-то причине я не мог заставить работать tftpd
, включенный в репозитории, "связанные" с xinetd.
Я нашел свой путь с помощью opentftpd, краткое руководство по которому можно объяснить в этом руководстве. Этот работает вне xinetd и работает
https://www.youtube.com/watch?v=K5yOBr3uoGs
wget http://downloads.sourceforge.net/proj...
tar xvf opentftpspV1.66.tar.gz
cd opentftp/
g++ opentftpd.cpp -oopentftpd -lpthread
mkdir /home/pi/files
chmod 777 /home/pi/files/
sudo bash
cp opentftpd /usr/bin/
vi /etc/opentftp.ini
## File contents ##
[LISTEN-ON]
[HOME]
/home/pi/files
[TFTP-OPTIONS]
username=pi
ThreadPoolSize=10
Read=Y
Write=Y
Overwrite=Y
##################
/usr/bin/opentftpd -i /etc/opentftp.ini