Принятие библиотек, Вы нуждаетесь в поддержке он, необходимо использовать pkg-config
, это - то, для чего это сделано.
$ pkg-config --exists libnotify
$ echo $?
0
$ pkg-config --exists nonexistant
$ echo $?
1
$
Вы можете использовать его, чтобы проверить версию, сказать Вам включение или освобождаете пути и т.д.
В те дни дешевых виртуальных машин, не будучи способен создавать проверочных пользователей не обычно.
Можно запустить программу под минимальной средой: разумное значение по умолчанию PATH
(обычно /usr/local/bin:/usr/bin:/bin
), HOME
, и безотносительно потребностей программы. Набор HOME
к подкаталогу Вашего корневого каталога или где-то в другом месте в целом (например, под /tmp
), заполненный только с файлами, которые программа ожидает находить. Это уже - первый тест против случайных зависимостей от среды. Можно хотеть ограничить путь к a /tmp/for-testing/bin
содержа только несколько программ, которые, как предполагается, являются достаточно, тестируют против случайных зависимостей от стороннего программного обеспечения. Однако, тест в стандартной установке некоторого распределения был бы более окончательным.
Если для программы нужен доступ к некоторым локальным файлам, можно, тем не менее, смочь протестировать против неожиданных зависимостей от других файлов путем проигрывания с fakechroot. Создайте каталог, содержащий все, в чем система, возможно, нуждается (вниз компоновщику, и стандартная библиотека), плюс программа и ее файлы данных и fakechroot в нее (реальный chroot должен был бы базироваться полномочия).
Мое понимание этого вопроса - то, что Вы хотите запустить скрипт как конкретный пользователь, таким образом, это не, разрабатывают быть характерным для учетной записи dev пользователя. Это в значительной степени, что sudo предназначается, чтобы сделать. Просто создайте sudo пользовательское правило как таким образом:
devUser ALL=(targetUser) NOPASSWD: /path/to/script
и затем "devUser" может запустить скрипт как таким образом:
$ sudo -u targetUser /path/to/script
Я предпочел бы sudo по "su", так как NOPASSWD сделает разработку немного легче.