proFTPD не работает из-за ошибки привязки сокета

Использование программы из библиотеки Icon (символьный -язык манипулирования в смысле SNOBOL):

# Utility functions: print-as-echo, print-line-with-visual-space.
pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }

pl " Input data files" data?
head data?

pl " Expected output:"
head -v $E

# Insert strings like:
# The ID of the Josh Smith is 1
pl " Results:"
icon-paste "-The ID of the " data2 "- " data3 "- is " data1 |
tee f1

pl " Verify results if possible:"
C=$HOME/bin/pass-fail
[ -f $C ] && $C f1 "$E" || ( pe; pe " Results cannot be verified." ) >&2

производство:

-----
 Input data files data1 data2 data3
==> data1 <==
1
2
3

==> data2 <==
Josh
Kate
Chris

==> data3 <==
Smith
Jones
Black

-----
 Expected output:
==> expected-output <==
The ID of the Josh Smith is 1
The ID of the Kate Jones is 2
The ID of the Chris Black is 3

-----
 Results:
The ID of the Josh Smith is 1
The ID of the Kate Jones is 2
The ID of the Chris Black is 3

-----
 Verify results if possible:

-----
 Comparison of 3 created lines with 3 lines of desired results:
 Succeeded -- files (computed) f1 and (standard) expected-output have same content.

Это было в такой системе, как:

OS, ker|rel, machine: Linux, 3.16.0-7-amd64, x86_64
Distribution        : Debian 8.11 (jessie) 

Некоторые подробности о значке -paste (lam.icn):

icon-paste      paste, join, laminate lines from files. (man)
Path    : ~/executable/icon-paste
Version : - ( local: ~/executable/icon-paste, 2012-02-11 )
Length  : 24 lines
Type    : POSIX shell script executable (binary data)
Shebang : #!/bin/sh
Home    : https://www2.cs.arizona.edu/icon/library/src/progs/lam.icn (doc)

Информацию о Icon можно найти по адресу:

https://www2.cs.arizona.edu/icon/

С наилучшими пожеланиями... ура, дрл

0
14.04.2021, 13:17
1 ответ

Вывод straceуказывает на то, что ошибка вызвана попыткой создать /run/proftpd.sock, который, по-видимому, уже существует.

Попробуйте fuser /run/proftpd.sockпроверить, не удерживает ли его какой-либо процесс; он сообщит номера PID любых таких процессов. Затем используйте ps -fp <PID number here>, чтобы получить дополнительную информацию о рассматриваемом процессе (es ).

Если это systemd, вам может потребоваться сделать что-то вроде systemctl stop proftpd.socket; systemctl disable proftpd.socket, чтобы избавиться от него. (В этом случае конфигурация ProFTPD DietPi по умолчанию могла быть адаптирована для использования systemdмеханизма активации сокета -, по сути, механизма, который может заменить классический inetd/ xinetdв запуск демона FTP только по запросу -. Поскольку вы, кажется, хотите запустить ProFTPD как классический автономный -сервис, вам нужно будет отключить для него сокет systemd.)

Если это какой-то другой процесс, вы можете убить его и выяснить, как предотвратить его повторный запуск.

Но если fuserвообще не перечисляет процессы, возможно, /run/proftpd.sockпросто осталось -от более раннего тестового прогона, который не запустился правильно; в этом случае запустите rm /run/proftpd.sockи повторите попытку systemctl start proftpd.service.

2
28.04.2021, 22:52

Теги

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