Вопрос или проблема
Я следовал этому руководству по удалённому доступу pkcs11 на ubuntu 22 (https://p11-glue.github.io/p11-glue/p11-kit/manual/remoting.html)
и получил ошибку при включении p11-kit-client.service.
systemctl --user enable p11-kit-client.service
Не удалось включить юнит: Файл юнита p11-kit-client.service не существует.
Я создал несколько токенов с помощью модулей softhsm, затем
run p11-kit server --provider /usr/local/lib/softhsm/libsofthsm2.so ...
, и export P11_KIT_SERVER_ADDRESS, P11_KIT_SERVER_PID
, но unix-сокет /run/user/1001/p11-kit/
имеет размер 0.
Ответ или решение
Ошибка "Failed to enable unit: Unit file p11-kit-client.service does not exist" возникает в процессе работы с сервисами в системе Ubuntu, когда система не может найти указанный файл службы (unit file). В вашем случае это касается службы p11-kit-client.service
, которая не была создана или установлена.
Шаги для устранения проблемы:
-
Проверка наличия файла единицы: Первое, что нужно сделать — убедиться, что файл службы действительно не существует. Вы можете выполнить следующую команду для проверки:
systemctl --user list-units --type=service | grep p11-kit-client
Если служба отсутствует в списке, это подтверждает, что файл службы не существует.
-
Создание файла службы: Если файл службы отсутствует, вам нужно его создать. Вам необходимо создать файл с именем
p11-kit-client.service
в директории~/.config/systemd/user/
. Пример содержимого этого файла:[Unit] Description=p11-kit client service After=network.target [Service] ExecStart=/usr/bin/p11-kit client Restart=on-failure [Install] WantedBy=default.target
После создания файла, перезагрузите службу:
systemctl --user daemon-reload
-
Включение службы: Теперь, когда файл службы успешно создан, вы можете попробовать снова включить службу:
systemctl --user enable p11-kit-client.service
-
Проверка конфигурации P11-KIT: Убедитесь, что необходимые переменные окружения установлены корректно:
export P11_KIT_SERVER_ADDRESS=... export P11_KIT_SERVER_PID=...
Проверьте, что вы указали правильные значения.
-
Проверка логов: Если после выполнения всех вышеуказанных шагов ошибка все еще сохраняется или вы получаете новые сообщения об ошибках, проверьте логи для получения дополнительной информации:
journalctl --user -xe
Логи могут предоставить больше информации о том, что не так с запуском или активацией службы.
-
Создание сокета: Убедитесь, что вы правильно настроили сервер p11-kit и что сокет, указанный в переменной окружения, создается:
run p11-kit server --provider /usr/local/lib/softhsm/libsofthsm2.so ...
Если сокет
/run/user/1001/p11-kit/
все еще имеет размер 0, это может означать, что сервер не запущен должным образом.
Заключение:
Ошибка "Unit file p11-kit-client.service does not exist" может быть устранена путем создания нужного файла службы и настройки параметров. Убедитесь, что вы следуете инструкциям из документации, и внимательно проверяйте все команды и настройки. Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь их задавать.