rpmコマンドの使い方


rpmコマンドはRPMパッケージの管理ツールです.rpmはもともとRed Hat Linuxリリース版でLinuxの各スイートを管理するためのプログラムであり、GPLルールに従い機能が強く便利であるため、人気がある.次第に他のリリース版に採用されるようになった.RPMスイート管理方式の出現により、Linuxのインストール、アップグレードが容易になり、間接的にLinuxの適用度が向上した.
構文rpm(オプション)(パラメータ)オプション-a:すべてのスイートをクエリーします.-b+または-t+:パッケージスイートの完了フェーズを設定し、スイートファイルのファイル名を指定します.-c:グループプロファイルのみをリストします.このパラメータは「-l」パラメータと組み合わせて使用する必要があります.-d:テキストファイルのみをリストします.このパラメータは「-l」パラメータと組み合わせて使用する必要があります.-eまたは--erase:指定したスイートを削除します.-f+:指定したファイルを持つスイートをクエリーします.-hまたは--hash:スイートインストール時にタグをリストします.-i:スイートに関する情報を表示します.-iまたは--install:指定したスイートファイルをインストールします.-l:スイートのファイルリストを表示します.-p+:指定したRPMスイートをクエリーします.-q:質問モードを使用して、rpmコマンドはまずユーザーに質問します.-R:スイートの関連情報を表示します.-s:ファイルの状態を表示します.このパラメータは「-l」パラメータと組み合わせて使用する必要があります.-Uまたは--upgrade:指定したスイート・アーカイブをアップグレードします.-v:命令実行プロセスを表示します.-vv:コマンド実行プロセスが詳細に表示され、エラーが発生しやすい.パラメータパッケージ:操作するrpmパッケージを指定します.
インスタンスrpmパッケージのインストール方法
rpmパッケージのインストールは、プログラムrpmを使用して行うことができます.次のコマンドを実行します.
rpm -ivh your-package.rpm中your-package.rpmはインストールするrpmパッケージのファイル名で、一般的に現在のディレクトリの下に配置されます.
インストール中に次の警告またはプロンプトが表示されることがあります.
... conflict with ...インストールするパッケージに既存のファイルを上書きするファイルがあるかもしれませんが、デフォルトでは正しくインストールできない場合はrpm--force-iで強制的にインストールすればいいです
... is needed by ...... is not installed ...このパッケージに必要なソフトウェアの中には、rpm--nodeps-iでこの情報を無視することができます.つまり、rpm-i--force--nodepsはすべての依存関係とファイルの問題を無視することができます.どんなパッケージでもインストールできますが、このような強制的にインストールされたパッケージは完全に機能することはできません.
インストール方法src.rpmパッケージ
一部のパッケージは.src.rpmの最後に、このようなパッケージはソースコードを含むrpmパッケージであり、インストール時にコンパイルする必要がある.このようなパッケージには、2つのインストール方法があります.
方法1:
rpm -i your-package.src.rpmcd/usr/src/redhat/SPECSrpmbuild -bp your-package.specs#あなたのパッケージと同じ名前のspecsファイルcd/usr/src/redhat/BUILD/your-package/#あなたのパッケージと同じ名前のディレクトリ./configure#このステップは、通常のソースソフトウェアをコンパイルするのと同じように、パラメータmakemake installメソッド2を追加することができます.
rpm -i you-package.src.rpmcd/usr/src/redhat/SPECSの前の2つのステップと方法は同じです
rpmbuild -bb your-package.specs#あなたのパッケージと同じ名前のspecsファイル/usr/src/redhat/RPM/i 386/(具体的なパッケージによってはi 686、noarchなど)このディレクトリの下に、コンパイルされたバイナリファイルである新しいrpmパッケージがあります.
rpm-i new-packageを実行する.rpmでインストールが完了します.
rpmパッケージをアンインストールする方法
コマンドrpm-eのパケット名を用いる、パケット名にはバージョン番号などの情報を含めることができるが、接尾辞を付けることはできない.rpm、例えばパッケージproftpd-1.2をアンインストールする.8-1、次の形式を使用できます.
rpm -e proftpd-1.2.8-1rpm -e proftpd-1.2.8 rpm-e proftpd-rpm-e proftpdは以下の形式ではいけません.
rpm -e proftpd-1.2.8-1.i386.rpmrpm -e proftpd-1.2.8-1.i 386 rpm-e proftpd-1.2 rpm-e proftpd-1エラーや警告が発生する場合があります.
... is needed by ...これはこのソフトウェアが他のソフトウェアに必要とされていることを示しており、勝手にアンインストールすることはできません.rpm-e--nodepsで強制的にアンインストールすることができます.
rpmパッケージのファイルをインストールせずに取得する方法
ツールrpm 2 cpioとcpioの使用
rpm2cpio xxx.rpm | cpio -virpm2cpio xxx.rpm | cpio -idmvrpm2cpio xxx.rpm|cpio--extract--make-directoriesパラメータiはextractと同じで、抽出ファイルを表します.vは実行プロセスを示し、dはmake-directoryと同様に、パケット内のファイルの元のパスに基づいてディレクトリを作成し、mはファイルの更新時間を保持することを示す.
rpmパッケージに関連するファイルおよびその他の情報の表示方法
以下のすべての例は、パッケージmysql-3.23を使用すると仮定する.54a-11
1、私のシステムにはrpmパッケージがインストールされています.
rpm-qaは、インストールされたすべてのパッケージをリストします.インストールされた文字列sqlを含むすべてのパッケージを検索する場合は、
rpm-qa|grep sql 2、あるパッケージのファイルフルネームを取得する方法.
rpm-q mysqlは、システムにインストールされているmysqlパッケージのフルネームを取得し、現在のパッケージのバージョンなどの情報を取得できます.この例では情報mysql-3.23を得ることができる.54a-11
3、rpmパッケージのファイルをインストールしましたか?
rpm-qlパケット名ここでは含まないことに注意する.rpm接尾辞のパッケージ名は、mysqlまたはmysql-3.23しか使用できません.mysql-3.23ではなく54 a-11です.54a-11.rpm.実行可能プログラムを知りたいだけなら、whichを使ってもいいです.例えば、
which mysql 4、rpmパッケージにはそれらのファイルが含まれています.
インストールされていないパッケージでrpm-qlpを使用します.rpmは既にインストール済みのパッケージであり、rpm-qlを使用することもできる.rpm 5、1つのパッケージのバージョン、用途などに関する情報をどのように取得しますか?
インストールされていないパッケージでrpm-qipを使用します.rpmは既にインストール済みのパッケージであり、rpm-qiを使用することもできる.rpm 6、あるプログラムがどのパッケージにインストールされているか、またはどのパッケージにこのプログラムが含まれているか.
rpm-qf which #パッケージのフルネームrpm-qif which #パッケージの関連情報rpm-qlf which #パッケージのファイルリストに戻る注意、ここでは引用符ではなく`、キーボード左上のキーです.rpm-qilfを使用して、パッケージ情報とファイルリストを同時に出力することもできます.
7、あるファイルがどのパッケージにインストールされているか、またはどのパッケージにこのファイルが含まれているか.
前の問題のメソッドは、実行可能なプログラムにのみ適用されますが、次のメソッドは、実行可能なプログラムだけでなく、一般的なファイルにも使用できます.前提はこのファイル名を知っていることです.まず、whereisまたはwhichを使用して、rpm-qfを使用して、このプログラムの完全なパスを取得します.
whereis ftptopftptop:/usr/bin/ftptop/usr/share/man/man1/ftptop.1.gz
rpm -qf/usr/bin/ftptopproftpd-1.2.8-1
rpm -qf/usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txtproftpd-1.2.8-1