パッケージパターン(「C/C++開発ツール」など)とパッケージ(「Mercurial」など)を同時にインストールする方法を教えてください。現在、2つのコマンドが必要です。たとえば、私がsketch-frontend
用に記述したインストール手順は、
Sudo zypper install -t pattern "devel_C_C++" "devel_Java"
Sudo zypper install Java-1_6_0-openjdk-devel Mercurial
[ リンク ]。
(モチベーション)。確かに1つのコマンドで必要なコマンドは2つだけですが、インターネット接続が遅い(またはプロセッサが遅い)マシンでは、2番目のコマンドが自動的に続行されないのは面倒です。また、ユーザーdoesはパッケージ解決のプロンプトを表示する必要があるため、--non-interactive
フラグを追加するだけではオプションではありません。
ありがとう!
編集:解決可能なものに<resolveabletype>:
を追加すると、1つのコマンドでさまざまなタイプを一致させることができます。
javaのzypper-1_6_0-openjdk-develMercurial + pattern:devel_C_C++ + pattern:devel_Java
ワンクリックインストールを作成すると、パッケージの解決を一度に行うことができますが、パターンを1つから呼び出すことができるかどうかはわかりません。 http://en.opensuse.org/openSUSE:One_Click_Install_ISV#Create_a_web_install_link 次に、oci /sbin/OCICLI /path/to/foobar.ymp
で呼び出すことができます。
最も簡単なソリューション:
Sudo zypper install -t pattern "devel_C_C++" "devel_Java" && Sudo zypper install Java-1_6_0-openjdk-devel Mercurial
Sudo
が5分後にタイムアウトすることが心配で、ユーザーがパスワードを2回入力する必要がない場合は、次のようにすることができます。
Sudo sh -c 'zypper install -t pattern "devel_C_C++" "devel_Java" && zypper install Java-1_6_0-openjdk-devel Mercurial'
更新
すべてをzypper install
への1回の呼び出しにしたかったようですが、さらにいくつかのアイデア:
zypper search
またはzypper list
を2回実行し、パッケージ名を解析して出力を結合し、パッケージの完全なリストを使用してzipper install
を1回実行します。zypper install --dry-run
を実行して出力を印刷し、ユーザーに確認を求めます。次に、ユーザーが「はい」と答えた場合は、ドライランオプションなしでzypper install
を実行します。zypper install --download-only
を2回実行してから、zypper install <that directory>/*.rpm
を実行します( mktemp -d
のzypp.conf
およびpackagesdir
オプションを参照)