Честно говоря, мне совсем не комфортно использовать systemd. Я просто не могу этого понять.
Я использовал версию fail2ban, которая в моем Ubuntu 16.04 вела себя странно. Я удалил это:
apt remove fail2ban
и установил последнюю:
wget https://github.com/fail2ban/fail2ban/archive/0.11.zip
unzip 0.11.zip
cd fail2ban-0.11
python setup.py install
В конце установки он сказал, что мне нужно включить его службу.
я думал что
systemctl enable fail2ban.service
хватило, но вроде бы служба была «замаскирована». Я использовал эту ссылку: https://askubuntu.com/questions/710420/why-are-some-systemd-services-in-the-masked-state чтобы понять, что такое маскировка.
Пытался разоблачить: systemctl unmask fail2ban.servic
е
и включить его:
systemctl enable fail2ban.service
А теперь классическая команда:
service fail2ban status | start | stop
работает.
Проблема в, Я прочитал, что тоже смогу получить информацию об услуге из systemctl:
systemctl fail2ban status
Unknown operation fail2ban.
Итак, я начал поискать результаты в Google ... Я нашел эту команду (и добавил | sort для лучшего вывода):
systemctl list-units | sort
Это показывает:
fail2ban.service loaded active exited LSB: Start/stop fail2ban
Я не знаю, что означает "выход", поэтому я поискал: https://unix.stackexchange.com/questions/241970/what-does-status-active-exited-mean-for-a-custom-service
Состояние активно (завершено) означает, что systemd успешно выполнила команды, но не знает, что есть демон, за которым нужно следить.
Мой запрос:
Все, что я хочу сделать, это иметь возможность запускать и останавливать и контролировать, работает ли он, служба fail2ban. Я не знаю (почти) ничего о systemd, потому что я всегда его пропускал (причина, по которой я перешел на Ubuntu 14 после того, как много лет привык к CentOS 5 и предыдущим версиям), но, похоже, сейчас я вынужден.
Может кто-нибудь сказать мне, как я должен правильно «добавить» службу fail2ban в systemctl?
Мышечная память - это вещь. Разработчики утилиты systemctl переупорядочили командную строку так, чтобы теперь (в целом)
systemctl <action> <service>
а не то, к чему привыкла ваша мышечная память
systemctl <service> <action>
Итак, start stop, restart, enable, status и т. Д. Станут
systemctl start fail2ban
systemctl stop fail2ban
systemctl restart fail2ban
systemctl enable fail2ban
systemctl status fail2ban