Linux で RPM ソフトウェア パッケージをインストール、更新、アンインストールする方法

王林
リリース: 2024-01-07 15:26:24
転載
1473 人が閲覧しました

Linux オペレーティング システムでは、ほとんどすべてのソフトウェアが RPM を通じてインストール、アンインストール、管理されます。 RPM の正式名称は Redhat Package Manager で、Redhat 社が提案した Linux 上でソフトウェア パッケージを管理するソフトウェアです。 Linux をインストールする場合、いくつかのコア モジュールを除いて、他のほとんどすべてのモジュールは RPM を通じてインストールされます。 RPM には、インストール、アンインストール、アップグレード、クエリ、検証の 5 つの動作モードがあります。

#RPM インストール操作 # ###注文:### rpm -i インストールするパッケージファイル名 例は次のとおりです。

リーリー

#RPM クエリ操作

###注文:### rpm -q …

追加のクエリコマンド:

a インストールされているすべてのパッケージをクエリする 次の 2 つの追加コマンドを使用して、インストール パッケージ情報をクエリします。 i インストール パッケージ情報を表示します; l インストール パッケージ内のすべてのファイルがインストールされるディレクトリを表示します;

s は、インストール バージョン内のすべてのファイルのステータスと、それらがインストールされているディレクトリを表示します。次の 2 つの追加コマンドは、インストール パッケージまたはインストールされたファイルを照会する必要があるかどうかを指定するために使用されます。 p はインストール パッケージ情報を照会します;

f インストールされている特定のファイルの情報をクエリします;

例は次のとおりです:

リーリー
#RPM アンインストール操作

###注文:###
rpm -e
アンインストールする必要があるインストール パッケージ

通常、アンインストールする前に、rpm -q... コマンドを使用して、アンインストールする必要があるインストール パッケージの名前を確認する必要があります。

例は次のとおりです。

rpm -e tomcat4

tomcat4 パッケージをアンインストールします #RPM アップグレード操作

# ###注文:### rpm -U アップグレードが必要なパッケージ


例は次のとおりです: rpm -Uvh example.rpm
example.rpm パッケージのアップグレード
RPM 検証操作
注文:### rpm -V 検証が必要なパッケージ 例は次のとおりです:

rpm -Vf /etc/tomcat4/tomcat4.conf 出力情報は次のようになります:

S.5....T c /etc/tomcat4/tomcat4.conf

このうち、Sはファイルサイズが変更されたことを示し、Tはファイル日付が変更されたことを示します。スペースに制限があるため、詳細な検証情報については、rpm ヘルプ ファイルを参照してください: man rpm

RPM 用のその他の追加コマンド
--強制インストール、削除などの強制操作を強制します;
--requires は、このパッケージの依存関係を表示します;
--nodeps 依存関係を無視して続行します;

rpm コマンドは、RPM ソフトウェア パッケージの管理ツールです。 rpm は、もともと Red Hat Linux ディストリビューションでさまざまな Linux パッケージを管理するために使用されていたプログラムで、GPL ルールに準拠しており、強力で便利であるため、非常に人気があります。他のディストリビューションでも徐々に採用されています。 RPM パッケージ管理手法の登場により、Linux のインストールとアップグレードが容易になり、間接的に Linux の適用性が向上します。

###文法###
リーリー オプション
リーリー
パラメータ

ソフトウェアパッケージ: 操作するrpmパッケージを指定します。 ###例###

rpmパッケージのインストール方法

rpm ソフトウェア パッケージのインストールは、rpm プログラムを使用して実行できます。次のコマンドを実行します:

リーリー

your-package.rpm は、インストールする rpm パッケージのファイル名で、通常は現在のディレクトリに置かれます。


インストール プロセス中に次の警告またはプロンプトが表示される場合があります:

リーリー

インストールされるパッケージ内に、既存のファイルを上書きする可能性のあるファイルがいくつかある可能性があります。デフォルトでは、そのような状況では正しくインストールできません。
rpm --force -i

を使用して、インストールを強制します。 リーリー

このパッケージに必要なソフトウェアをインストールしていない場合は、
rpm --nodeps -i

を使用してこの情報を無視できます。つまり、

rpm -i --force --nodeps# です。 ## は OK です。依存関係やファイルの問題をすべて無視すれば、任意のパッケージをインストールできますが、ソフトウェア パッケージの強制インストールでは完全な機能は保証されません。


.src.rpm パッケージのインストール方法

一部のソフトウェア パッケージは .src.rpm で終わります。このタイプのソフトウェア パッケージはソース コードを含む rpm パッケージであり、インストール中にコンパイルする必要があります。このタイプのソフトウェア パッケージには 2 つのインストール方法があります:

方法 1:

リーリー

方法 2:

リーリー

最初の 2 つの手順は方法 1 と同じです

リーリー

現時点では、新しい rpm パッケージが

/usr/src/redhat/RPM/i386/ にあります (特定のパッケージによっては、i686、noarch などの場合があります)。これはコンパイルされたバイナリ ファイルです。

rpm -i new-package.rpm を実行してインストールを完了します。 rpmパッケージをアンインストールする方法

コマンド rpm -e

パッケージ名を使用します。パッケージ名にはバージョン番号やその他の情報を含めることができますが、サフィックス .rpm を付けることはできません。たとえば、ソフトウェア パッケージ proftpd-1.2.8 をアンインストールするには、次のようにします。 -1 の場合、次の形式を使用できます:

リーリー

を次の形式にすることはできません:

リーリー

エラーや警告が表示される場合があります:

リーリー

これは、このソフトウェアが他のソフトウェアに必要であり、簡単にアンインストールできないことを意味します。rpm -e --nodeps を使用して強制的にアンインストールできます

rpm パッケージをインストールせずにファイルを取得する方法

ツールの使用

rpm2cpio

および

cpio

rpm2cpio xxx.rpm | cpio -<span class="wp_keywordlink"><a href="https://www.php.cn/link/a8621fdfb85b64f3214f86af1e1504a2" rel="nofollow" target="_blank">vi</a></span>
rpm2cpio xxx.rpm | cpio -idmv
rpm2cpio 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 | <span class="wp_keywordlink"><a href="https://www.php.cn/link/c467978aaae44a0e8054e174bc0da4bb" rel="nofollow" target="_blank">grep</a></span> sql
ログイン後にコピー

2、如何获得某个软件包的文件全名。

rpm -q mysql
ログイン後にコピー

可以获得系统中安装的mysql软件包全名,从中可以获得当前软件包的版本等信息。这个例子中可以得到信息mysql-3.23.54a-11

3、一个rpm包中的文件安装到那里去了?

rpm -ql 包名
ログイン後にコピー

注意这里的是不包括.rpm后缀的软件包的名称,也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。如果只是想知道可执行程序放到那里去了,也可以用which,比如:

which mysql
ログイン後にコピー

4、一个rpm包中包含那些文件。

  • 一个没有安装过的软件包,使用rpm -qlp ****.rpm
  • 一个已经安装过的软件包,还可以使用rpm -ql ****.rpm

5、如何获取关于一个软件包的版本,用途等相关信息?

  • 一个没有安装过的软件包,使用rpm -qip ****.rpm
  • 一个已经安装过的软件包,还可以使用rpm -qi ****.rpm

6、某个程序是哪个软件包安装的,或者哪个软件包包含这个程序。

rpm -qf `which 程序名`<span style="color: #808080">#返回软件包的全名</span>
rpm -qif `which 程序名` <span style="color: #808080">#返回软件包的有关信息</span>
rpm -qlf `which 程序名` <span style="color: #808080">#返回软件包的文件列表</span>
ログイン後にコピー

注意,这里不是引号,而是`,就是键盘左上角的那个键。也可以使用rpm -qilf,同时输出软件包信息和文件列表。

7、某个文件是哪个软件包安装的,或者哪个软件包包含这个文件。

注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以用于可执行程序,也可以用于普通的任何文件。前提是知道这个文件名。首先获得这个程序的完整路径,可以用whereis或者which,然后使用rpm -qf例如:

<span style="color: #ff0000">whereis <span class="wp_keywordlink"><a href="https://www.php.cn/link/96fca94df72984fc97ee5095410d4dec" rel="nofollow" target="_blank">ftptop</a></span></span>
ftptop: /usr/bin/ftptop /usr/share/<span class="wp_keywordlink"><a href="https://www.php.cn/link/432fd02f951f393df1591310e6811118" rel="nofollow" target="_blank">man</a></span>/man1/ftptop.1.gz

<span style="color: #ff0000">rpm -qf /usr/bin/ftptop</span>
proftpd-1.2.8-1

<span style="color: #ff0000">rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt</span>
proftpd-1.2.8-1
ログイン後にコピー

以上がLinux で RPM ソフトウェア パッケージをインストール、更新、アンインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
rpm
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート