#linux #sudo
#linux #sudo
Вопрос:
Я создал java-приложение, в котором я запускаю некоторые команды Linux с привилегией sudo, поэтому для установки пароля для моей системы я использую этот код
String[] cmd = {"/bin/bash","-c","echo " pw "| sudo -S installer -pkg /" userHomePath " -target"};
Process proc = Runtime.getRuntime().exec(cmd);
// Read the output
BufferedReader reader =
new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = "";
while((line = reader.readLine()) != null amp;amp; !line.equals("[?1034h")) {
// System.out.print("output" line "n");
}
proc.waitFor();
}
она работает без проблем в моей системе, но когда я запускаю в своей клиентской системе, она говорит
[sudo] password for yue.chen: sudo: installer: command not found
что может быть причиной, по которой кто-то разделяет ваши взгляды.
Комментарии:
1. Может ли быть так
installer
, что на самом деле ее нет? Или это слишком очевидно?2. что подразумевается под установщиком, это мой вопрос. Извините, я не знаком с Linux
3. Не знаю — у меня нет
installer
исполняемого файла в моей системе Linux.installer -pkg
это то, что я видел в Mac OS / X. Возможно, в некоторых дистрибутивах Linux есть утилита под названием «installer», но я не знаю, что это такое.4. на самом деле клиентская система — это система redhat OS . Так что есть ли шансы на это
5. Ни в RHEL, ни в Fedora нет стандартной вызываемой утилиты
installer
. Возможно, это было предоставлено каким-либо другим программным обеспечением.