2020年 02月 07日
SUSE Linux でパッケージインストールの色々な方法
このブログにたどり着いた方には、どうも SUSE Linux のパッケージのインストール方法が分からずに来てしまった方が多い様です。お気の毒です。こんなに内容のない記事しか頼りにならないのも何とかしたいものです。パッケージのインストール方法は幾つかの方法があります。
- コンパイルしてインストール
- rpm のインストール
- zypper ツールによるインストール
- YaST によるインストール
- ブラウザから1クリックインストール
という事で、SUSE Linux 15(openSUSE/SLE) でのパッケージのインストール方法を幾つかご紹介します。
パッケージ管理のコマンドを実行中は、パッケージDBがロックされ、他のパッケージ管理コマンドはエラーになってしまいます。例えば
# zypper update
を実行中は YaST のソフトウェア管理は使えません。また、Software Management のアイコンをダブルクリックしてしまう。よくやっちゃう間違えです。
もう、ソースコードしかない場合や、プロプラエタリなデバイスドライバのバイナリパッケージをインストールする場合ですね。デバイスドライバなどを make install する場合、なるべくカーネルパッチなど当たっていない、「素の状態」でインストールする事をお勧めします。ドライバ屋さんも、最新パッチが当たった状態で make することは考えていないようなので、カーネルがマイナーバージョンアップした状態で、見事にコンパイルエラーとなった事がありました。
単体の依存性が少ない rpm パッケージは rpm コマンドでインストールするか、nautilus ファイルマネージャなどで右ボタンから開くとそのまま yast2 が起動してインストールができます。 公式リポジトリになかったり、どこかに「落ちていた」パッケージをインストールするにはこの方法でしょうか。後にも説明しますが、software.opensuse.org にあるパッケージから1クリックインストールできない場合も、rpm をダウンロードしてインストールします。他には rpm -qa でパッケージのバージョンを確認する時に使います。
他のディストリビューションでは yum や apt に相当するコマンドです。例えば、inotify-tools パッケージをインストールする場合は次の様に実行します。
opensuse151:~ # zypper in inotify-toolsLoading repository data...Reading installed packages...Resolving package dependencies...The following 2 NEW packages are going to be installed:inotify-tools libinotifytools02 new packages to install.Overall download size: 57.9 KiB. Already cached: 0 B. After the operation, additional 111.7KiB will be used.Continue? [y/n/v/...? shows all options] (y): yRetrieving package libinotifytools0-3.14-lp151.2.3.x86_64: 略opensuse151:~ #

恐らく次に説明する、yast/yast2 のパッケージ管理を使い始めると、面倒くさくてやってられないよ、という事になりそうです。一番使いそうなのが # zypper update と zypper patch でしょう。インストールが終わって、おおよそのサービスやデバイスドライバが問題なくうごいたら、 zypper update を使って全てのインストール済のパッケージをアップデートできます。YaST Online Update (YOU) だと一つ一つアップデートするため、非常に面倒くさい。 YOU はピンポイントでパッケージをアップデートする作業に向いています。zypper update は時間がかかります。
opensuse151:~ # zypper updateLoading repository data...Reading installed packages...The following 11 package updates will NOT be installed:cdda2wav cdrecord libnuma1 libscg1_0 libssh4 lsof mkisofs numactl prctl urlscan urlviewThe following 15 NEW packages are going to be installed:firebird gnome-shell-classic-session kernel-default-4.12.14-lp151.28.36.1 libfbclient2libfreebl3-hmac libib_util libidn2-lang libixion-0_15-0 libmediacheck5 liborcus-0_15-0libprocps7 libreoffice-base-drivers-firebird librevenge-stream-0_0-0 libsoftokn3-hmaclibtommath1The following package is going to be REMOVED:libwicked-0-6The following 517 packages are going to be upgraded:: 略
全体ではなくセキュリティパッチなどを適用するなら
# zypper patch
でも十分でしょう。Zypperの使用ただし zypper はシェルに組み込んで、インストールや設定をバッチ化できるので、沢山 SUSE Linux に付き合うヒトには向いているかもしれません。
パッケージの正しい綴りもバージョンも分からないけど、パッケージを操作したい。その場合の強力なツールが YaST です。# yast コマンドはテキストコンソールで、カーソルキーや Tab キーなどでサクッ使い。 GUI 環境では複雑なパッケージを調整したり、じっくりリポジトリを変更するには GUI のコピーペーストが簡単な # yast2 コマンドの二つがあります。SUSE Linux が他のディストリビューションとは段違いに使いやすいと思ってしまう最大の特徴があるYaSTの機能です。テキストコンソールでは
# yast
GUIでは YaST アイコンを開くか、xterm などから
# yast2 &
でGUIが開きます。
YaST (yast2) による SUSE Linux のパッケージ管理, インストールと削除
yast と yast2 は見てわかる通り、メニューの階層構造やタブの位置、執行するための Accept ボタンもほとんど同じ場所にあります。YaSTでパッケージをインストールするには、YaST > Software > Software management から、インストールしたいパッケージやキーワードを適当に "Search" します。リポジトリにあれば、綴りが分からなくても、キーワードに一致するパッケージのリストから、チェックマークを付けてインストールするだけです。ここでは "ino...." というキーワードで探して "inotify-tools" というパッケージをインストールしようとしています。


YaST ツールは、エンジニアから「タッチタイピング」というエンジニアの秘儀を忘れさせてしまうキラーツールです。頼りすぎると、私の様に他のディストリビューションに戻れないダメ人間製造機、危険なツールかもしれません。また、YaST のパッケージ管理は YaST の機能の一部です。インストールから、サービスの初期設定、チューニングまで YaST で完結できる強力なツールです。
- まとめ -公式リポジトリにない、あるいは公式リポジトリにあっても古いパッケージなので、最新版をインストールしたい場合は、ブラウザを使って software.opensuse.org の1クリックインストールを使うと良いでしょう。1クリックインストールのメタファイルを開くと、YaST が起動して自動的にリポジトリの追加から、必要なパッケージのダウンロード、インストールまで、ウィザード形式でやってくれます。software.opensuse.org は、基本 openSUSE のタメのものですが、SLE 用の1クリックインストールもあるので、SLE でも使えます。ただし SLE のサブスクリプションを購入しているなら、自己責任です。openSUSE のリポジトリが追加されます。テクニカルサポートの指示に従って正しく利用すべきでしょう。SLE ではうまくインストールできなかったり、不安定なケースがあります。出来るだけシステム依存の少ないパッケージをインストールしたい場合は便利です。1クリックインストールが上手くいかない場合は、”Expart Download” から、手動でインストールすると上手くいく場合があります。openSUSE では問題が少ないのですが、SLE の場合と時折トラブります。まぁ依存性の少ないパッケージなら、ほとんど問題には出会わないンですけどね。時々 opensuse のサイトが不安定なのがガンです。
SUSE Linux(openSUSE/SLE) のパッケージ管理ツールの全体をまとめると
- YaST は初心者からベテランまでパッケージ管理に使えるツール- コマンドライン命で YaST が使いにくいケースでは zypper を使う。スクリプト化にも便利、中上級者向け- rpm や make install は他に手段が無い場合につかう。
と言ったところです。
SUSE Linux でよく使う忘れやすい使えるコマンド