При запуске службы в Linux появляется ошибка «Нет такого файла или каталога», хотя файл существует.

Я отредактировал файл автозагрузки в Windows и загрузил его на сервер Linux. Несмотря на то, что файл находился в каталоге, при запуске возникла ошибка «Нет такого файла или каталога». Я несколько раз проверил содержимое файла автозагрузки и не обнаружил ничего необычного. Оказалось, что проблема была в символе возврата каретки.

Отредактируйте файл запуска в Windows и загрузите его вПосле установки сервера файл явно находился в каталоге, но при запуске выдавалась ошибка «Нет такого файла или каталога». Я несколько раз проверил содержимое файла запуска, и всё было в порядке! Оказалось, что проблема была вначальство.
Введите следующую командную строку:

кот /etc/init.d/v2ray

Вы заметите, что после каждой строки стоит символ ^M — это возврат каретки.
Когда система Linux встречает скрипт, отредактированный в Windows, она может некорректно прочитать его. Это может произойти при создании файла в текстовом редакторе или терминале в Windows, поскольку Windows использует символ возврата каретки +.как символ новой строки, в то время как системы Linux используют только символы новой строки.
Удалите символы возврата каретки из вашего скрипта инициализации. Это можно сделать с помощью однострочной команды sed:

sed -i -e 's/\r//g' /etc/init.d/v2ray

После удаления символа возврата каретки вы сможете успешно запустить службу.

счет

Ответить

Ваш адрес электронной почты не будет опубликован. Обязательные поля помечены *