проблема с запуском rpcbind

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

У меня возникла проблема с rpcbind. Сервис не запускается после перезагрузки, даже после его включения.

Я получаю следующий вывод, когда запускаю systemctl status rpcbind сразу после перезагрузки.

root@ubuntu:~# systemctl status rpcbind
● rpcbind.service - Сервис привязки RPC
   Loaded: loaded (/lib/systemd/system/rpcbind.service; indirect; vendor preset: enabled)
  Drop-In: /run/systemd/generator/rpcbind.service.d
           └─50-rpcbind-$portmap.conf
   Active: inactive (dead)
root@ubuntu:~#

Если я запущу сервис systemctl start rpcbind, сервис запустится.

Когда я включаю сервис с помощью команды systemctl enable rpcbind, я получаю следующий вывод.

root@ubuntu:~# systemctl enable rpcbind
Синхронизация состояния rpcbind.service с SysV init с /lib/systemd/systemd-sysv-install...
Выполнение /lib/systemd/systemd-sysv-install enable rpcbind

Вывод cat /lib/systemd/system/rpcbind.service

root@ubuntu:~# cat /lib/systemd/system/rpcbind.service 
[Unit]
Description=Сервис привязки RPC
After=systemd-tmpfiles-setup.service
Wants=remote-fs-pre.target
Before=remote-fs-pre.target
Requires=rpcbind.socket
DefaultDependencies=no

[Service]
Environment="OPTIONS=-w"
ExecStart=/sbin/rpcbind -f $OPTIONS
EnvironmentFile=-/etc/rpcbind.conf
EnvironmentFile=-/etc/default/rpcbind
Type=notify
KillMode=process
Restart=on-failure

[Install]
Also=rpcbind.socket

Но сервис все равно не включается после перезагрузки.

Может кто-то помочь, пожалуйста?

Удалось решить проблему.

Создание символической ссылки на rpcbind.service в директории /etc/systemd/system/multi-user.target.wants/ решило проблему.

ln -s '/lib/systemd/system/rpcbind.service' '/etc/systemd/system/multi-user.target.wants/rpcbind.service'

Сервис не запускается после перезагрузки, даже после его включения.

Он и не должен. Это сервис, активируемый сокетом. Вам нужно включить rpcbind.socket, а не rpcbind.service.

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

Проблема с запуском rpcbind: решение и объяснение

Вам была озвучена проблема с запуском службы rpcbind после перезагрузки системы на Ubuntu. Вы отметили, что служба не активируется автоматически даже после включения, что может вызывать определённое недоумение, учитывая, что вы выполняете команду systemctl enable rpcbind. Давайте разберемся в причинах этой проблемы и возможных решениях.

Понимание работы службы rpcbind

Служба rpcbind — это компонент, служащий для управления сетевыми вызовами в среде удалённых процедур (RPC). Важно понимать, что в системе используется концепция "активации по сокету". Это означает, что не сама служба rpcbind запускается напрямую, а её сокет, который в свою очередь активирует службу только по необходимости (например, когда поступает запрос на использование RPC).

Почему rpcbind.service не запускается автоматически

Как упоминалось в вашем запросе, если вы видите Active: inactive (dead) при проверке статуса службы после перезагрузки, это может свидетельствовать о том, что не запущен сокет rpcbind.socket, который отвечает за активацию rpcbind.service. Служба может быть загружена и настроена для автоматического запуска, но она не будет активной до тех пор, пока не будет запроса на доступ к ней через сокет.

Как включить правильно

  1. Проверьте статус сокета:

    systemctl status rpcbind.socket
  2. Если сокет не активен, активируйте его:

    systemctl enable rpcbind.socket
    systemctl start rpcbind.socket
  3. Убедитесь, что сервис rpcbind настроен на запуск "по запросу" через сокет:

    systemctl status rpcbind.service

Таким образом, активация сокета является ключевым моментом. При выполнении вышеуказанных команд вы должны получить уведомление о том, что сокет был активирован и служба rpcbind будет автоматически запускаться по мере необходимости.

Альтернативное решение: создание символьной ссылки

Вы также упомянули, что создали символьную ссылку для rpcbind.service, которая помогла решить вашу проблему. Это подход может служить временной мерой, однако, лучший способ — постоянное включение сокета, как описано выше.

Заключение

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

Оптимизация для SEO

В данной статье мы обсуждали проблемы с запуском rpcbind, методы активации службы, механизмы работы сетевых вызовов в операционных системах на базе Linux. Если у вас появилась необходимость узнать больше о системных службах и их управлении в Ubuntu, следует обратиться к документации или специализированным форумам для IT-специалистов.

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

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