LinuxでRPMパッケージからソフトウェアをインストールする方法を学びます。 また、システム上のRPMパッケージをアップグレード、削除、および管理する方法についても学習します。
< RPMとは >
RPMはRedHat PackageManagerの略です。 ただし、他の多くのLinuxディストリビューションがソフトウェアの管理にRPMを使用しているため、最近のRPMはRedHat固有のものだけではありません。 たとえば、MandrivaとSuSEはどちらもソフトウェア管理にRPMを使用しています。 RPMを使用すると、Linuxにソフトウェアをインストール、アップグレード、アンインストールしたり、システムにすでにインストールされているRPMパッケージを追跡したりできます。 RPMは、RPMとともにインストールされたすべてのソフトウェアのデータベースを保持しているため、これを行うことができます。
RPMは(驚きの) .rpm
拡張。 RPMパッケージには、実際にインストールされるソフトウェア、ソフトウェア用の追加ファイル、ソフトウェアとそのファイルのインストール先に関する情報、およびこの特定の部分を実行するためにシステムに必要なその他のファイルのリストが含まれています。ソフトウェア
ソフトウェアパッケージのインストールにRPMを使用する場合、RPMはシステムがRPMパッケージに含まれるソフトウェアに適しているかどうかを確認し、パッケージが提供するファイルをどこにインストールするかを判断し、それらをシステムにインストールします。インストールされているRPMパッケージのデータベース。
異なるLinuxディストリビューションは、ソフトウェアとそのソフトウェアに関連するファイルを異なるディレクトリに保持する場合があることに注意してください。 そのため、ディストリビューション用に作成されたRPMパッケージを使用することが重要です。 たとえば、Red HatシステムにSuSE固有のソフトウェアパッケージをインストールすると、RPMはそのパッケージのファイルを間違ったディレクトリに配置する可能性があります。 最悪の場合、プログラムは必要なすべてのファイルを見つけられず、正しく機能しません。
RPMパッケージをインストールするための優れたグラフィカルプログラムがいくつかありますが、このtuXfileでは、ソフトウェアをインストールするための絶対確実なコマンドライン方法について説明します。 Linuxにソフトウェアをインストールするときは、rootである必要があることに注意してください。 ルート権限を取得したら、 rpm
RPMソフトウェアパッケージを管理するための適切なオプションを指定してコマンドを実行します。
< RPMパッケージのインストールとアップグレード >
ソフトウェアパッケージをインストールするには、 rpm
コマンドで -i
オプション(「インストール」の略)。 たとえば、と呼ばれるRPMパッケージをインストールするには software-2.3.4.rpm
:
# rpm -i software-2.3.4.rpm
システムにすでにいくつかのバージョンがインストールされていて、それを新しいバージョンにアップグレードしたい場合は、次のようにします。 -U
代わりにオプション(「アップグレード」を表します)。 たとえば、 software-2.3.3.rpm
インストールしてそれをアップグレードしたいです。
# rpm -U software-2.3.4.rpm
すべてうまくいけば、あなたのパッケージのファイルはあなたのシステムにインストールされるでしょう、そしてあなたは幸せにあなたの新しいプログラムを実行することができます。 しかし、あなたの新しいプログラムはどこにありますか? ご了承ください rpm
通常、ソフトウェアパッケージのファイル用の特別なディレクトリは作成されません。 代わりに、パッケージのさまざまなファイルがLinuxシステムの適切な既存のディレクトリに配置されます。 実行可能プログラムは通常、rpmでインストールした後、/ bin、/ usr / bin、/ usr / X11 / bin、または/ usr / X11R6 / binに移動します。
しかし、実行可能ファイルがどこにあるかわからない場合、どのようにして新しいプログラムを実行できますか? プログラムがメニューに自動的に追加されることもありますが、通常はコマンドプロンプトで名前を入力するだけでプログラムを実行できます。 ほとんどの場合、プログラムの実行時にパス全体を入力する必要がないため、プログラムがインストールされた場所を知る必要はありません。必要なのはプログラムの名前だけです。
< エラー:依存関係の失敗 >
発行 rpm -i
or rpm -U
ソフトウェアをインストールし、使用を開始できます。 RPMは、動作するときに非常に簡単です。 ただし、RPMが機能しない場合、RPMは悪魔になる可能性があります。 ソフトウェアのインストールがうまくいかない理由はたくさんありますが、通常は 失敗した依存関係.
お分かりのように、多くのLinuxプログラムは正しく動作するために他のファイルやプログラムを必要とします。 言い換えれば、ソフトウェアの特定の部分 依存 他のソフトウェアで。 RPMパッケージをインストールしようとすると、RPMは、インストールされているソフトウェアが必要とする他のファイルがないかデータベースを自動的にチェックします。 RPMがデータベースでこれらのファイルを見つけることができない場合、RPMはソフトウェアのインストールを停止し、依存関係の失敗について文句を言います。
依存関係エラーが発生すると、RPMはプログラムに必要なファイルのリストを吐き出します。 リストを見てください。 リスト内のファイルは、おそらくシステムにないファイルか、持っているがバージョンが間違っているファイルです。 恐ろしい依存関係エラーが発生した場合は、RPMが文句を言うファイルを見つけ、それらのファイルを最初にインストールまたはアップグレードしてから、最初にインストールしたパッケージをインストールする必要があります。
しかし、時にはRPMは単にばかげているだけです。 あなたが見る、と一緒にインストールされたソフトウェアだけ RPM インストールされているソフトウェアのデータベースに追加されます。 これは、特定のプログラムをインストールするために他の方法を使用した場合、RPMはそのプログラムがシステムに存在することを認識しないことを意味します。 この場合、RPMは、必要なプログラムがシステムに存在し、依存関係の失敗がない場合でも、依存関係の失敗について文句を言います。
もしあなた 知っています 必要なファイルはそこにあり、RPMはただばかげているだけなので、依存関係は無視できます。 使用 --nodeps
パッケージをインストールする前に依存関係をチェックしないようにRPMに指示したい場合はオプション:
# rpm -i software-2.3.4.rpm --nodeps
これにより、RPMは依存関係エラーを無視し、とにかくソフトウェアをインストールしますが、必要なファイルがとにかく欠落している場合、プログラムはうまく機能しないか、まったく機能しないことに注意してください。 使用 --nodeps
自分が何をしているのかがわかっている場合、または十分に頭がおかしい場合にのみオプションを選択できます😉
< RPMと共にインストールされたソフトウェアの削除 >
RPMと一緒にインストールされたソフトウェアを削除するには、 -e
オプション(「消去」の略):
# rpm -e software-2.3.4
に注意してください インストールする ソフトウェアの場合は、RPMパッケージの名前を入力する必要があります。 でもいつ 除去 ソフトウェアの場合、ソフトウェアが含まれているパッケージの名前全体を入力する必要はありません。 入力する必要はありません .rpm
ソフトウェアを削除するときの拡張。 おそらく、バージョン番号も入力する必要がないので、これは上記とまったく同じようになります。
# rpm -e software
この rpm -e
commandはRPMデータベースを使用して、このソフトウェアに関連するすべてのファイルがインストールされている場所を確認してから、それらのファイルをすべて自動的に削除します。 プログラムファイルを削除した後、インストールされたソフトウェアのデータベースからプログラムを削除します。
これが、RPMソフトウェアを手動で削除しないことが非常に重要である理由です(たとえば、 rm
)。 システムを実行してRPMでインストールされたファイルをランダムに削除すると、ソフトウェアは削除されますが、RPMはそれを認識せず、データベースからソフトウェアパッケージを削除しません。 その結果、RPMはプログラムがシステムにインストールされていると見なし、後で依存関係の問題が発生する可能性があります。
特定のソフトウェアのインストールにRPMを使用した場合は、そのソフトウェアの削除にもRPMを使用してください。
< RPMデータベースへの問い合わせ >
ご存じのとおり、RPMデータベースには、システムにインストールされているすべてのRPMパッケージのリストが含まれています。 あなたのLinuxシステム上のパッケージの情報を得るためにこのデータベースに問い合わせることができます。 単一のパッケージを照会するには、 -q
オプション。 たとえば、名前が「ソフトウェア」のパッケージをクエリするには、次のようにします。
# rpm -q software
このコマンドを発行した後 rpm
パッケージのバージョンを通知するか、パッケージがインストールされていないことを通知します。
システムにインストールされているすべてのパッケージのリストが必要な場合は、すべてをクエリする必要があります。 -qa
:
# rpm -qa
ほとんどの場合、このリストは非常に長くなるため、スクロールする方法が必要になります。 最良の方法は、リストをにパイプすることです less
:
# rpm -qa | less
名前に特定の単語が含まれているパッケージを探している場合は、 grep
それらのパッケージを見つけるため。 たとえば、名前に「kde」という単語が含まれている、インストールされているすべてのRPMパッケージのリストを取得するには、次のようにします。
# rpm -qa | grep kde
上記のコマンドは rpm
データベース内のすべてのパッケージをリストして、そのリストをに渡します。 grep
。 それから grep
すべての行で「kde」をチェックし、最後に「kde」という単語を含むすべての行を表示します。
何か分からない場合 grep
またはパイピング、リダイレクト標準入力および出力tuXfileを見てください。