Вы не можете поместить его в rc.local, потому что он запускается во время загрузки, а не ПОСЛЕ входа в систему.
Во-первых, внимательно отредактируйте ваш / etc / sudoers из каталога / etc:
sudo visudo
И в качестве последней записи в разделе, который начинается с:
#Allow members of group sudo to execute any command
, добавьте следующее:
%sudo ALL=(ALL:ALL) NOPASSWD: /path/to/script
Для простоты использования я бы добавил ваш скрипт в путь, который уже указан как безопасный для пользователей sudo, как указано в верхней части файла sudoers. Что касается моего, я создал свой сценарий в моем домашнем каталоге, затем запустил
chmod +x /my/file
, затем перешел в / usr / bin и запустил
sudo ln -s /path/to/my/script nameOfScriptForMySymbolicLink
, затем я перешел в свое окно Startup Apps (расположение будет отличаться для вашего дистрибутива), щелкнул «Добавить» 'и дал ему описательное имя, затем поместил
/usr/bin/nameOfScriptForMySymbolicLink
в командную строку, закрылся, перезагрузился и вошел в систему, и это сработало.
Способ сборки RPM noarch состоит в том, чтобы изменить спецификационный файл, включив в него эту инструкцию.:
BuildArch: noarch
Я не уверен, что вы можете настроить то же самое в файле конфигурации, таком как .rpmrc
, но в любом случае делать это, вероятно, было бы плохой идеей, поскольку это помешало бы вашей установке rpmbuild собрать настоящую арку -определенные пакеты, и даже если они вам не нужны, это все равно будет "сломанной" (или, возможно, несовместимой/неполной )установкой rpmbuild.
Если у вас есть доступ к файлу спецификаций (, файлу, названному в честь вашего пакета, с расширением .spec
), рассмотрите возможность его обновления для правильной сборки пакетов noarch с помощью директивы BuildArch: noarch
в в этом случае он также будет работать правильно, независимо от того, где он собран, без каких-либо изменений в локальной конфигурации rpmbuild.