rpm:過小評価されたツール
Linuxシステムを使い始めたばかりの頃は、LinuxシステムとWindowsシステムを比較するのが好きで、Linuxシステムはいろいろ使いにくいと感じました.例えば、にはグラフィックインタフェースがありません.XwindowスイートをインストールしてWindowsのようなグラフィックインタフェースを実現することもできますが、まだいろいろな適応がありません.最も重要なのは、サーバシステムとして使用されているLinuxのほとんどがXwindowsスイートをインストールしていないことです. 真っ暗なコマンドラインに直面して、私はどのようなソフトウェアが利用できるか知っていますか?Windowsシステムには少なくともコントロールパネルがあり、どんなソフトウェアがインストールされているかは一目瞭然です. Windowsの常用ソフトは何に使うのかよく知っていますが、Linuxの中のソフトは以前見たことがありません.私はどうしてそれが何をしているのか、いつインストールされたのか、どのパッケージから来たのか知っていますか. ソフトウェアをダウンロードしましたが、インストールする前にどのようにしてその情報を知っていますか?
以上の疑問はrpmコマンドで答えを見つけることができます.
rpm、すなわちRadhet Package Manager、レッドキャップパッケージマネージャ.最初は赤い帽子のオペレーティングシステムのために開発したパッケージ管理プログラムで、このツールを利用して以前のソースパッケージのインストール過程を簡略化して、パッケージ管理の標準化を実現して、redhatシステムのパッケージ管理を更に容易にして、システム管理の敷居を下げました.このツールは現在、すべてのRadhetシリーズのLinuxシステムで使用されています.ここでは、ソースパッケージのインストール手順を簡単に振り返ります.Linuxシステムのオープンソース遺伝子とLinuxシステムの分岐の多様性のため、以前のLinuxシステムのソフトウェアの発表はすべて直接ソースコードを発表して、つまり:ソースコードを直接パッケージして、ネット上に発表してあるいは必要な人に送ります.ソフトウェアをインストールするときは、自分が使用しているシステムに基づいて、個性的なパラメータを設定し、まずコンパイルを行い、コンパイルが完了してからインストールする必要があります.ソースパケットの方式、利点は:ソフトウェアの配布者は手間が省け、自分でコンパイルしたりパッケージしたりする必要はありません. ソフトウェアの互換性は良好であり、このソフトウェアを使用するシステム上でコンパイルされるため、現在のオペレーティングシステムによりよく適応することができる. はカスタマイズ性が高く、同様に自分でコンパイルするため、ソフトウェアが許容する範囲内で、自分のニーズを最大限に満たすことができる.
対照的に、これらの利点はrpmパケット管理の欠点である.しかし、欠点は隠さず、rpmの機能は強い.
パラメータ解析:-q#クエリーモード;-a#すべてのソフトウェアを問い合わせる;
パラメータ解析:-i#ソフトウェア関連情報を表示する;
パラメータ解析:-l#ソフトウェアに関連するファイルのリストを表示します.以上はyumソフトウェアのインストール時に生成されたファイルの一部のリストにすぎず、ファイルがリストされているだけでなく、ファイルが存在する経路も示されていることがわかりますが、やはり親切です.
パラメータ解析:-f#指定ファイルが属するソフトウェアを表示します.
パラメータ解析:-p#指定したパッケージの情報を表示します.インストールされたソフトウェアをクエリーする情報との差は少なく、インストール日はありません.
インストールされているソフトウェアをクエリーして生成されたファイルと似ています.
パラメータ解析:-i#インストールパッケージ;-v#コマンド実行プロセスを表示します.-h#と-vパラメータを一緒に使用し、進捗バーを表示します.
パラメータ解析:-e#指定したソフトウェアをアンインストールします.アンインストール時にバージョンを指定する必要はありません.
ここでのパラメータ:-V(大文字)は完全性を検証します.つまり、現在のファイルのステータスがインストール時と一致していることを確認します.一致する場合、出力はありません.一致しない場合は、上記のように指定フラグが出力されます.具体的には、これらのマークの意味について、もう一つ単独で話すことができます.ここはもう展開しません.
以上の9つのシーンを通じて、rpmが本当に簡単ではないことを見ることができて、あなたがLinuxの世界を泳ぐ時、あなたの力を助けることができます!
以上の疑問はrpmコマンドで答えを見つけることができます.
概要
rpm、すなわちRadhet Package Manager、レッドキャップパッケージマネージャ.最初は赤い帽子のオペレーティングシステムのために開発したパッケージ管理プログラムで、このツールを利用して以前のソースパッケージのインストール過程を簡略化して、パッケージ管理の標準化を実現して、redhatシステムのパッケージ管理を更に容易にして、システム管理の敷居を下げました.このツールは現在、すべてのRadhetシリーズのLinuxシステムで使用されています.ここでは、ソースパッケージのインストール手順を簡単に振り返ります.Linuxシステムのオープンソース遺伝子とLinuxシステムの分岐の多様性のため、以前のLinuxシステムのソフトウェアの発表はすべて直接ソースコードを発表して、つまり:ソースコードを直接パッケージして、ネット上に発表してあるいは必要な人に送ります.ソフトウェアをインストールするときは、自分が使用しているシステムに基づいて、個性的なパラメータを設定し、まずコンパイルを行い、コンパイルが完了してからインストールする必要があります.ソースパケットの方式、利点は:
対照的に、これらの利点はrpmパケット管理の欠点である.しかし、欠点は隠さず、rpmの機能は強い.
適用シーン1:使用可能なソフトウェアを見てみましょう
#
rpm -qa |less # , less , 。
……
kernel-tools-3.10.0-957.el7.x86_64
keyutils-libs-1.5.8-3.el7.x86_64
btrfs-progs-4.9.1-1.el7.x86_64
p11-kit-trust-0.23.5-3.el7.x86_64
rootfiles-8.1-11.el7.noarch
iwl5000-firmware-8.83.5.1_1-69.el7.noarch
libblkid-2.23.2-59.el7.x86_64
:
パラメータ解析:-q#クエリーモード;-a#すべてのソフトウェアを問い合わせる;
適用シーン2:ソフトウェアの基本情報を表示する
[root@lnmp1 ~]# rpm -qi yum # yum 。
Name : yum
Version : 3.4.3 #
Release : 161.el7.centos #
Architecture: noarch
Install Date: 2019 11 13 18 17 11 #
Group : System Environment/Base
Size : 5824869
License : GPLv2+
Signature : RSA/SHA256, 2018 11 12 23 27 16 , Key ID 24c6a8a7f4a80eb5
Source RPM : yum-3.4.3-161.el7.centos.src.rpm #
Build Date : 2018 11 05 09 54 01 #
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://yum.baseurl.org/
Summary : RPM package installer/updater/manager #
Description : # 。
Yum is a utility that can check for and automatically download and
install updated RPM packages. Dependencies are obtained and downloaded
automatically, prompting the user for permission as necessary.
パラメータ解析:-i#ソフトウェア関連情報を表示する;
アプリケーションシーン3:ソフトウェアがインストールされているときにインストールされているファイルを表示します。
[root@lnmp1 ~]# rpm -ql yum
/etc/logrotate.d/yum
/etc/yum
/etc/yum.conf
/etc/yum.repos.d
/etc/yum/fssnap.d
/etc/yum/pluginconf.d
/etc/yum/protected.d
/etc/yum/vars
/etc/yum/version-groups.conf
/usr/bin/yum
/usr/lib/python2.7/site-packages/rpmUtils
/usr/lib/python2.7/site-packages/rpmUtils/__init__.py
/usr/lib/python2.7/site-packages/rpmUtils/__init__.pyc
/usr/lib/python2.7/site-packages/rpmUtils/arch.py
/usr/lib/python2.7/site-packages/rpmUtils/arch.pyc
/usr/lib/python2.7/site-packages/rpmUtils/miscutils.py
/usr/lib/python2.7/site-packages/rpmUtils/miscutils.pyc
/usr/lib/python2.7/site-packages/rpmUtils/oldUtils.py
/usr/lib/python2.7/site-packages/rpmUtils/oldUtils.pyc
/usr/lib/python2.7/site-packages/rpmUtils/transaction.py
/usr/lib/python2.7/site-packages/rpmUtils/transaction.pyc
/usr/lib/python2.7/site-packages/rpmUtils/updates.py
/usr/lib/python2.7/site-packages/rpmUtils/updates.pyc
……
パラメータ解析:-l#ソフトウェアに関連するファイルのリストを表示します.以上はyumソフトウェアのインストール時に生成されたファイルの一部のリストにすぎず、ファイルがリストされているだけでなく、ファイルが存在する経路も示されていることがわかりますが、やはり親切です.
適用シーン4:ファイルがどのソフトウェアに属しているかを表示する
[root@lnmp1 ~]# rpm -qf /etc/passwd
setup-2.8.71-10.el7.noarch
パラメータ解析:-f#指定ファイルが属するソフトウェアを表示します.
適用シーン5:インストール前に、インストールするソフトウェアを確認します。
[root@lnmp1 ~]# rpm -qpi apr-1.4.8-5.el7.x86_64.rpm
Name : apr
Version : 1.4.8
Release : 5.el7
Architecture: x86_64
Install Date: (not installed) # ,
Group : System Environment/Libraries
Size : 226790
License : ASL 2.0 and BSD with advertising and ISC and BSD
Signature : RSA/SHA256, 2019 08 23 05 20 27 , Key ID 24c6a8a7f4a80eb5
Source RPM : apr-1.4.8-5.el7.src.rpm
Build Date : 2019 08 08 20 04 16
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem
Vendor : CentOS
URL : http://apr.apache.org/
Summary : Apache Portable Runtime library
Description :
The mission of the Apache Portable Runtime (APR) is to provide a
free library of C data structures and routines, forming a system
portability layer to as many operating systems as possible,
including Unices, MS Win32, BeOS and OS/2.
パラメータ解析:-p#指定したパッケージの情報を表示します.インストールされたソフトウェアをクエリーする情報との差は少なく、インストール日はありません.
適用シーン6:インストール前に、インストールするソフトウェアによって生成されるファイルを確認します。
インストールされているソフトウェアをクエリーして生成されたファイルと似ています.
[root@lnmp1 ~]# rpm -qpl apr-1.4.8-5.el7.x86_64.rpm
/usr/lib64/libapr-1.so.0
/usr/lib64/libapr-1.so.0.4.8
/usr/share/doc/apr-1.4.8
/usr/share/doc/apr-1.4.8/CHANGES
/usr/share/doc/apr-1.4.8/LICENSE
/usr/share/doc/apr-1.4.8/NOTICE
適用シーン7:rpmパッケージのインストール
[root@lnmp1 Packages]# rpm -ivh tcpdump-4.9.2-4.el7_7.1.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:tcpdump-14:4.9.2-4.el7_7.1 ################################# [100%]
パラメータ解析:-i#インストールパッケージ;-v#コマンド実行プロセスを表示します.-h#と-vパラメータを一緒に使用し、進捗バーを表示します.
適用シーン8:rpmパッケージのアンインストール
[root@lnmp1 Packages]# rpm -e tcpdump
[root@lnmp1 Packages]#
パラメータ解析:-e#指定したソフトウェアをアンインストールします.アンインストール時にバージョンを指定する必要はありません.
アプリケーションシーン9:rpmパッケージが改ざんされているかどうかを検出する
[root@lnmp1 Packages]# rpm -V httpd
S.5....T. c /etc/httpd/conf/httpd.conf
.....UG.. /var/www/html
ここでのパラメータ:-V(大文字)は完全性を検証します.つまり、現在のファイルのステータスがインストール時と一致していることを確認します.一致する場合、出力はありません.一致しない場合は、上記のように指定フラグが出力されます.具体的には、これらのマークの意味について、もう一つ単独で話すことができます.ここはもう展開しません.
以上の9つのシーンを通じて、rpmが本当に簡単ではないことを見ることができて、あなたがLinuxの世界を泳ぐ時、あなたの力を助けることができます!