Алексей, сообщение No packages available to install matching 'vsftpd' означает, что vsFTPd отсутствует в бинарных репозиториях FreeBSD, но его можно установить из портов.


✅ Установка vsFTPd из портов

1. 📦 Установи систему портов (если ещё не установлена)

portsnap fetch extract

Если уже установлена:

portsnap fetch update

2. 📁 Перейди в каталог порта vsFTPd

cd /usr/ports/ftp/vsftpd

3. 🔨 Собери и установи

make install clean

Во время установки появится меню с опциями — можно оставить значения по умолчанию.


4. 🔧 Включи автозапуск

sysrc vsftpd_enable="YES"

5. 🚀 Запусти службу

service vsftpd start

📌 Проверка

  • Убедись, что порт 21 слушается: sockstat -4 -l | grep :21
  • Подключись с FTP-клиента (например, FileZilla)

Если, vsftpd не запускается, то потому что в его конфигурации отсутствует ключевая строка:

listen=YES

Этот параметр говорит демону vsftpd, что он должен работать в режиме standalone и слушать входящие подключения.


✅ Как исправить

1. 📝 Открой конфигурационный файл

ee /usr/local/etc/vsftpd.conf

Если файл пустой или не существует — создай его.


2. 🔧 Добавь минимальную конфигурацию

Вот базовый рабочий пример:

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
allow_writeable_chroot=YES

⚠️ allow_writeable_chroot=YES нужен, если домашняя директория пользователя доступна на запись — иначе vsftpd откажется запускаться в chroot.


3. 🚀 Перезапусти службу

service vsftpd restart

4. 🧪 Проверка

  • Убедись, что порт 21 слушается: sockstat -4 -l | grep :21
  • Подключись с FTP-клиента (например, FileZilla)

От alex

Обучаемый.