Note that there are some explanatory texts on larger screens.

plurals
  1. POHow can I do a yum install in a linux command line from a jar file?
    primarykey
    data
    text
    <p>I want to be able to execute a jar file in a linux terminal that will run a series of commands to yum install several programs on a server. The goal is to automate some of the install processes because we do so many installs for testing. I have the following code: </p> <pre><code>public class test { public static void main(String[] args) { Runtime rt = Runtime.getRuntime(); String cmd; cmd = "/bin/sh -c yum install -y rpm-build"; rt.exec(cmd); } } </code></pre> <p>When I run it, nothing happens. If I just run "yum install -y rpm-build" it works fine, but not if I run the jar to do it. What am I doing wrong?</p> <p>Error stream from code/comment below:</p> <pre><code> root@netBoot labStats]# java test Loaded plugins: fastestmirror Usage: yum [options] COMMAND List of Commands: check Check for problems in the rpmdb check-update Check for available package updates clean Remove cached data deplist List a package's dependencies distribution-synchronization Synchronize installed packages to the latest available versions downgrade downgrade a package erase Remove a package or packages from your system groupinfo Display details about a package group groupinstall Install the packages in a group on your system grouplist List available package groups groupremove Remove the packages in a group from your system help Display a helpful usage message history Display, or use, the transaction history info Display details about a package or group of packages install Install a package or packages on your system list List a package or groups of packages load-transaction load a saved transaction from filename makecache Generate the metadata cache provides Find what package provides the given value reinstall reinstall a package repolist Display the configured software repositories resolvedep Determine which package provides the given dependency search Search package details for the given string shell Run an interactive yum shell update Update a package or packages on your system upgrade Update packages taking obsoletes into account version Display a version for the machine and/or available repos. Options: -h, --help show this help message and exit -t, --tolerant be tolerant of errors -C, --cacheonly run entirely from system cache, don't update cache -c [config file], --config=[config file] config file location -R [minutes], --randomwait=[minutes] maximum command wait time -d [debug level], --debuglevel=[debug level] debugging output level --showduplicates show duplicates, in repos, in list/search commands -e [error level], --errorlevel=[error level] error output level --rpmverbosity=[debug level name] debugging output level for rpm -q, --quiet quiet operation -v, --verbose verbose operation -y, --assumeyes answer yes for all questions --version show Yum version and exit --installroot=[path] set install root --enablerepo=[repo] enable one or more repositories (wildcards allowed) --disablerepo=[repo] disable one or more repositories (wildcards allowed) -x [package], --exclude=[package] exclude package(s) by name or glob --disableexcludes=[repo] disable exclude from main, for a repo or for everything --obsoletes enable obsoletes processing during updates --noplugins disable Yum plugins --nogpgcheck disable gpg signature checking --disableplugin=[plugin] disable plugins by name --enableplugin=[plugin] enable plugins by name --skip-broken skip packages with depsolving problems --color=COLOR control whether color is used --releasever=RELEASEVER set value of $releasever in yum config and repo files --setopt=SETOPTS set arbitrary config and repo options Plugin Options: ------ Std Err ------- Failed </code></pre> <p>Finally got it working thanks to JtheRocker. Here is the working code in case someone else has the same issue.</p> <pre><code>import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class test { public static void main(String[] args) throws IOException, InterruptedException { Runtime rt = Runtime.getRuntime(); String cmd[] = new String[] {"yum", "install", "-y", "rpm-build"}; Process ps = rt.exec(cmd); BufferedReader readerStd = new BufferedReader(new InputStreamReader(ps.getInputStream())); BufferedReader readerErr = new BufferedReader(new InputStreamReader(ps.getInputStream())); String line = null; while ((line = readerStd.readLine()) != null) { System.out.println(line); } System.out.println("------ Std Err -------"); while ((line = readerErr.readLine()) != null) { System.out.println(line); } if (ps.waitFor()==0) { System.out.println("success"); } else { System.out.println("Failed"); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload