неопределенная ссылка на '__ intel_sse4_atol' проблема

/etc/default

Каталог /etc/default никогда не используется ни на одном из дистрибутивов, работающих на базе Red Hat. Это Debian/Ubuntu-ism. Для Centos 7 вы можете посмотреть на пакеты, которые были установлены и которые относятся к fail2ban следующим образом:

$ rpm -aq|grep fail
fail2ban-server-0.9-9.el7.noarch
fail2ban-sendmail-0.9-9.el7.noarch
fail2ban-firewalld-0.9-9.el7.noarch
fail2ban-systemd-0.9-9.el7.noarch
fail2ban-0.9-9.el7.noarch

Содержимое fail2ban-сервера

В файле fail2ban-server содержится файл службы для Systemd.

$ rpm -ql fail2ban-server-0.9-9.el7.noarch | grep systemd
/usr/lib/python2.7/site-packages/fail2ban/server/filtersystemd.py
/usr/lib/python2.7/site-packages/fail2ban/server/filtersystemd.pyc
/usr/lib/python2.7/site-packages/fail2ban/server/filtersystemd.pyo
/usr/lib/systemd/system/fail2ban.service

Systemd service file

Содержимое Systemd service file:

$ more /usr/lib/systemd/system/fail2ban.service
[Unit]
Description=Fail2ban Service
After=syslog.target network.target firewalld.service

[Service]
Type=forking
ExecStart=/usr/bin/fail2ban-client -x start
ExecStop=/usr/bin/fail2ban-client stop
ExecReload=/usr/bin/fail2ban-client reload
PIDFile=/var/run/fail2ban/fail2ban.pid
Restart=always

[Install]
WantedBy=multi-user.target

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

Долгосрочные исправления

Чтобы сделать их постоянными, я бы добавил опции более "официальным" способом, чтобы обновления пакета fail2ban не перезаписывали изменения в этом файле. Это можно сделать, добавив специальную версию файла fail2ban.service в этот каталог:

/etc/systemd/system/fail2ban.service

NOTE: Файл в этом каталоге, /etc/systemd/system всегда перезаписывает файл по умолчанию .service.

Однако, делая это таким образом, есть некоторые предостережения, одно из которых заключается в том, что если бы файл службы присутствовал здесь, когда fail2ban должен был бы обновляться через yum, это привело бы к тому, что служба была бы отключена, до тех пор, пока вы вручную не включите ее. Поэтому вместо этого можно переопределить фрагменты файла .service, добавив их в этот каталог в разделе /etc.

Excerpt

Для редактирования файла модуля, предоставляемого пакетом, можно создать каталог называемый, например, /etc/systemd/system/unit.d/ /etc/systemd/system/httpd.service.d/ и поместите туда *.conf файлы чтобы переопределить или добавить новые опции. systemd разберет эти *.conf файлы. и нанести их на оригинальное устройство. Например, если вы просто если вы хотите добавить дополнительную зависимость к устройству, вы можете создать следующий файл: /etc/systemd/system/unit.d/customdependency.conf

  [Единица измерения]
 Требуется=новая зависимость
 После=новая зависимость

В качестве другого примера, чтобы заменить директиву ExecStart на a единицу, не являющуюся типичной единицей, создайте следующий файл: /etc/systemd/system/unit.d/customexec.conf

  [Служба]
 ЭкзСтарт=
 команда ExecStart=new

, чтобы можно было создать каталог, /etc/systemd/system/fail2ban.service.d и добавить в него файлы *.conf с содержимым, подобным этому:

[Service]
ExecStart=
ExecStart=new command

Добавив туда свои опции.

Ulimits & Systemd

Если вы пытаетесь установить ulimit для конкретной службы, посмотрите страницу man для systemd.exec.

Выдержка
LimitCPU=, LimitFSIZE=, LimitDATA=, LimitSTACK=, LimitCORE=, LimitRSS=, 
LimitNOFILE=, LimitAS=, LimitNPROC=, LimitMEMLOCK=, LimitLOCKS=,
LimitSIGPENDING=, LimitMSGQUEUE=, LimitNICE=, LimitRTPRIO=, LimitRTTIME=
These settings control various resource limits for executed processes. See 
setrlimit(2) for details. Use the string infinity to configure no limit 
on a specific resource.

Поэтому простое добавление LimitSTACK=256 в файл настроек .conf, который я описываю выше, должно дать вам тот же эффект, что и установка ulimit -s 256.

Выдержка - setrlimit(2) man page

Если вы посмотрите на man page setrlimit(2), вы увидите, как переключатель ulimit выравнивается с системными ограничениями.

   RLIMIT_STACK
        The maximum size of the process stack, in bytes.  Upon reaching 
        this limit, a SIGSEGV signal is generated.  To handle this signal, 
        a process must employ an alternate signal stack (sigaltstack(2)).

        Since Linux 2.6.23, this limit also determines the amount of space 
        used for the process's  command-line  arguments  and  environment
        variables; for details, see execve(2).

References

0
18.05.2014, 13:43
1 ответ
[1131996] Перед компиляцией вы должны получить исходные тексты сценария [1132394]bin/compilervars.sh[1132395]. Это устанавливает все необходимые переменные окружения.

Наиболее важным в вашем случае является [1132396]LD_LIBRARY_PATH[1132397], который должен содержать ссылку на пути:

Скрипт компилятора установит это.

  1. Я бы не рекомендовал устанавливать [1132398]rpath[1132399] или [1132400]rpath-link[1132401] вручную, так как в этом не должно быть необходимости, если Вы исходите из [1132402]компилятора.sh[1132403].[1132003].

1
28.01.2020, 02:52

Теги

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