Назад | Перейти на главную страницу

Как установить fail2ban из исходного кода в произвольную корневую папку?

Установка из исходников прошла нормально:

sudo apt-get remove fail2ban
wget https://github.com/fail2ban/fail2ban/archive/0.10.3.tar.gz
mv 0.10.3.tar.gz fail2ban-0.10.3.tar.gz
gzip -d fail2ban-0.10.3.tar.gz
tar -xvf fail2ban-0.10.3.tar
cd ~/programs/fail2ban-0.10.3
mkdir ~/programs/install/fail2ban
sudo python setup.py install --root=~/programs/install/fail2ban
sudo cp files/debian-initd /etc/init.d/fail2ban
sudo update-rc.d fail2ban defaults
sudo systemctl unmask fail2ban.service
sudo service fail2ban start

Но тогда клиент отсутствует:

stephane@thalasoft:~/programs/fail2ban-0.10.3$ sudo fail2ban-client version
sudo: fail2ban-client: command not found
stephane@thalasoft:~/programs/fail2ban-0.10.3$ fail2ban-client version

Command 'fail2ban-client' not found, but can be installed with:

sudo apt install fail2ban

stephane@thalasoft:~/programs/fail2ban-0.10.3$ find ../install/fail2ban/ -name fail2ban-client
../install/fail2ban/usr/local/bin/fail2ban-client
stephane@thalasoft:~/programs/fail2ban-0.10.3$ ll ../install/fail2ban/usr/local/bin/
total 24
drwxr-xr-x 2 root root 4096 Oct 19 13:18 ./
drwxr-xr-x 4 root root 4096 Oct 19 13:18 ../
-rwxr-xr-x 1 root root 1418 Oct 19 13:18 fail2ban-client*
lrwxrwxrwx 1 root root   15 Oct 19 13:18 fail2ban-python -> /usr/bin/python*
-rwxr-xr-x 1 root root 1279 Oct 19 13:18 fail2ban-regex*
-rwxr-xr-x 1 root root 1416 Oct 19 13:18 fail2ban-server*
-rwxr-xr-x 1 root root 2284 Oct 19 13:18 fail2ban-testcases*
stephane@thalasoft:~/programs/fail2ban-0.10.3$ ../install/fail2ban/usr/local/bin/fail2ban-client 
versionTraceback (most recent call last):
  File "../install/fail2ban/usr/local/bin/fail2ban-client", line 34, in <module>
    from fail2ban.client.fail2banclient import exec_command_line, sys
ImportError: No module named fail2ban.client.fail2banclient
stephane@thalasoft:~/programs/fail2ban-0.10.3$ ../install/fail2ban/usr/local/bin/fail2ban-client version
Traceback (most recent call last):
  File "../install/fail2ban/usr/local/bin/fail2ban-client", line 34, in <module>
    from fail2ban.client.fail2banclient import exec_command_line, sys
ImportError: No module named fail2ban.client.fail2banclient

Вы можете попробовать команду which fail2ban-client и если он ничего не возвращает, попробуйте find ~ -type f -name fail2ban-client.

Если вы не установили его у себя дома или сменили пользователя, эта команда (генерирующая множество предупреждений) обязательно найдет его, если он у вас есть в этом поле: sudo find / -type f -name fail2ban-client.

Как только вы его получите, выполните его с помощью /full/path/to/fail2ban-client или следуй за этим сделать все бинарные файлы fail2ban доступными без /full/path/to префикс.