Не удалось запустить snmpd.service

Вопрос или проблема

Я только что установил net-snmp на Ubuntu 16.04 из исходников, используя этот учебник (скачал патч 5.7), и при вызове

$ snmpget --version
NET-SNMP version 5.7.3
$ whereis snmpd
snmpd: /usr/local/sbin/snmpd

видно, что установка выполнена. Однако, когда я хочу проверить, запущен ли snmpd

sudo service snmpd status

возвращает Loaded: not-found (Reason: No such file or directory) Active: inactive (dead). Когда я пытаюсь запустить snmpd

sudo service snmpd start

возвращает Failed to start snmpd.service: Unit snmpd.service not found. При запуске его напрямую из командной строки

$ snmpd
snmpd: symbol lookup error: snmpd: Undefined symbol: netsnmpd_close_fds

Другая проблема в том, что директория /etc/snmp/ не существует, а там должен быть файл snmpd.conf, который мне нужно отредактировать.

Я никогда не сталкивался с такими проблемами, когда использовал

sudo apt-get install snmpd

, но я должен использовать исходники, чтобы настроить установку с опциями, которые не идут с установкой ‘apt-get’. Что я делаю не так?

Удалите snmp:

sudo apt-get -y autoremove snmp

Установите снова следующим образом:

sudo apt-get update -y
sudo apt-get upgrade -y

Удалите все ненужные файлы, показанные в системе:

apt-get install snmpd
cat /etc/snmp/snmpd.conf
systemctl restart snmpd
systemctl enable snmpd
systemctl status snmpd

Ответ или решение

Не удается запустить snmpd.service на Ubuntu 16.04 после установки из источников: Подробное решение

Если вы столкнулись с ошибкой "Failed to start snmpd.service: Unit snmpd.service not found" после установки net-snmp из источников на Ubuntu 16.04, вероятно, проблема связана с неправильной конфигурацией или отсутствием необходимых файлов и директорий. Давайте разберем возможные причины и решения этой ошибки, используя методологию FOREST.

Факты

  1. Описание проблемы:
    • Вы успешно установили net-snmp версии 5.7.3 из исходников и можете проверить версию с помощью snmpget --version.
    • Каталог /etc/snmp/ отсутствует, хотя должен содержать файл конфигурации snmpd.conf.
    • При проверке статуса сервиса snmpd и при его запуске через команду sudo service snmpd start, система сообщает, что юнит snmpd.service не найден.
    • Запуск snmpd напрямую приводит к ошибке с неопределенным символом: netsnmpd_close_fds.

Возможные причины

  1. Отсутствие системного юнита: Поскольку установка производилась из источников, возможно, что service файл для systemd не был создан или размещен в нужной директории.

  2. Ошибки в зависимости и символах: Ошибка Undefined symbol: netsnmpd_close_fds часто указывает на несоответствие версий библиотек или на проблемы при компиляции.

  3. Недостаток конфигурации: Отсутствие каталога /etc/snmp/ и файла snmpd.conf указывает на неполную установку или неправильную настройку.

Решения

1. Создание системного юнита и его загрузка

  • Убедитесь, что файл юнита для systemd существует. Если нет, создайте его:

    sudo nano /etc/systemd/system/snmpd.service

    Включите в файл следующее содержимое:

    [Unit]
    Description=Simple Network Management Protocol (SNMP) Daemon.
    After=network.target
    
    [Service]
    Type=forking
    ExecStart=/usr/local/sbin/snmpd -Lo
    ExecReload=/bin/kill -HUP $MAINPID
    
    [Install]
    WantedBy=multi-user.target
  • Перезагрузите конфигурацию systemd:

    sudo systemctl daemon-reload
  • Активируйте и запустите сервис:

    sudo systemctl enable snmpd
    sudo systemctl start snmpd

2. Предотвращение ошибок символов

  • Убедитесь, что все нужные библиотеки корректно установлены и доступны. Возможно, необходимо перекомпилировать с указанием правильных путей к библиотекам.

3. Конфигурация

  • Создайте необходимые каталоги и файлы:
    sudo mkdir -p /etc/snmp
    sudo nano /etc/snmp/snmpd.conf

    Вставьте в файл конфигурации необходимые настройки согласно вашим требованиям.

4. Проверка успешности

  • После всех изменений проверьте статус сервиса:
    sudo systemctl status snmpd

Эффективность и возможности

Эти шаги должны помочь устранить возникшие проблемы с установкой и запуском snmpd. Важно всегда проверять соответствие версий библиотек и корректность компиляции. Если проблема сохраняется, рассмотрите возможность добавить отладочные логи для более детального анализа. Работа с исходниками требует внимательности и понимания зависимости всех компонентов системы.

Оцените материал
Добавить комментарий

Капча загружается...