tftpd-hpa не запускается после обновления

Подойдет ли простой sed?

$ var=_b123
$ sed -Ee "/version/s/'(.*)'/'\1$var'/" file 
war {
    baseName = 'myApp'
    version = '1.0.2_b123'
}

(/version/ проверяет, содержит ли строка эту строку, если да, то мы сзаменяем строку внутри одинарных кавычек той же строкой ((...) захватывает, \1 восстанавливает) плюс текст в переменной. Кавычки здесь не важны, так как все, что нам нужно, безопасно в двойных кавычках.)

.
1
20.04.2017, 12:01
2 ответа

Объединение двух частей информации:

Недавно, после получения некоторых обновлений

И следующая ошибка:

18 апреля 01:47:32 Amtek in.tftpd [4777]: не удается выполнить привязку к локальному IPv4 socket: адрес уже используется

Похоже, проблема в том, что порт tftp (69) уже используется, когда вы запускаете сервер tftp. Это могло быть связано с новой программой, которая была недавно установлена ​​/ обновлена.

Выполнение следующей команды поможет вам выяснить, какой процесс использует порт tftp (69) на вашем компьютере:

netstat -lnp | grep 69

netstat man

-l, --listening Показывать только прослушивающие сокеты. (По умолчанию они опущены.)

- numeric, -n Показывать числовые адреса вместо того, чтобы пытаться определить символические имена хоста, порта или пользователя.

-p, --program Показать PID и имя программы, которой принадлежит каждый сокет.

Примечание: | grep 69 отфильтрует результат и покажет только строки, содержащие 69

Изменить:

Как вы добавили в свой вопрос, результат netstat -lnp показывает, что теперь ] inetd работает на udp / порту 69, возможно, он выполняет клиент tftp как часть inetd , поэтому вы не можете запустить tftpd-hpa на этом порту.

Примечание. Проверьте, запущен ли tftpd , и достаточно ли он работает. можно избежать использования tftpd-hpa

У вас есть два варианта:

  • Переместить tftp сервер для использования другого порта Это можно сделать, изменив следующую строку, устанавливающую tftp на порт 69:

    TFTP_ADDRESS = ": 69"

    Чтобы использовать другой порт, например6900:

    TFTP_ADDRESS = ": 6900"

Примечание. Для использования этого решения потребуется, чтобы tftp-client использовал новый номер порта

  • Остановить inetd от использования udp / 69 Вы можете проверить, существует ли файл конфигурации tftp в папке inetd , найти файл с таким именем, как:

    /etc/xinetd.d/tftp

или

 /etc/inetd.d/tftp
]
1
28.01.2020, 00:57

Это может быть полезно для тех, у кого есть новые версии tftpd -hpa. Мой конфиг:

RUN_DAEMON="yes"
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/user/tftproot"
FTP_ADDRESS=":69"
TFTP_OPTIONS="192.168.0.1 --ipv4 -m /etc/tftpd.remap --create --permissive"

Без адреса сервера tftpd (192.168.0.1 в моем случае )tftpd -служба hpa не запускалась.

0
28.01.2020, 00:57

Теги

Похожие вопросы