
В некоторых приложениях есть cli (Command-line interface) команды. Cli команды — это команды для взаимодействия с приложением через терминал.
У некоторых snap приложений они тоже есть, но в Centos 8 они не работают.
Содержание
- Пример проблемы
- 1 Способ (использовать root)
- 2 Способ (Перед командой указывать путь к файлу)
- 3 Способ (Прописать путь в $PATH)
- Видео Centos 8 не работают команды cli из snap приложений
Пример проблемы
Рассмотрим как пример команду nextcloud.mysql-client. Она принадлежит приложению nextcloud, который установлен через snap. Эта команда позволяет подключиться к базе данных, но мы видим ошибку.
Так же, при установке приложения nextcloud мы видим предупреждение.
Проблема в том, что при установке snapd в $PATH не прописывается путь.
Есть 3 способа решения проблемы.
1 Способ (использовать root)
Это очень легкий способ. Просто перейти на пользователя root. У него такой проблемы не наблюдается.
2 Способ (Перед командой указывать путь к файлу)
Перед командой указывать путь к файлу:
sudo /var/lib/snapd/snap/bin/nextcloud.mysql-client
Или, если вы добавляли символическую ссылку на каталог snap, то перед командой можно указать сокращенный путь к файлу:
sudo /snap/bin/nextcloud.mysql-client
3 Способ (Прописать путь в $PATH)
Для этого нужно отредактировать файл /etc/sudoers, но напрямую его нельзя перезаписывать. Поэтому воспользуемся командой:
sudo visudo
И в строке Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin дописать /var/lib/snapd/snap/bin/. Если вы добавляли символическую ссылку на каталог snap, то дописать /snap/bin.
Должно получиться:
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin
Или
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/snap/bin