記事のディレクトリ
1 RPMインストール(インストール)
[root@study ~]$ rpm -ivh package_name
选项与参数:
-i :install 安装的意思
-v :察看更详细的安装信息
-h :显示安装进度
范例一:安装 rp-pppoe 软件
[root@study ~]$ rpm -ivh rp-pppoe-3.11-5.el7.x86_64.rpm
范例二、一口气安装两个以上的软件时:
[root@study ~]$ rpm -ivh a.i386.rpm b.i386.rpm *.rpm
# 后面直接接上许多的软件文件!
范例三、直接由网络上面的某个文件安装,以网址来安装:
[root@study ~]$ rpm -ivh http://website.name/path/pkgname.rpm
rpmインストール中の一般的なオプションとパラメーターの説明
オプション | 代表的な意味 |
---|---|
--nodeps | 使用する場合:ソフトウェア属性の依存関係の問題が発生し、インストールできないが、インストールを主張する場合は 危険です:ソフトウェアの依存関係の理由は、インストールが強制された場合でも、お互いのメカニズムまたは機能を使用するためです。ソフトウェア属性の依存関係により、ソフトウェアが正常に使用できなくなる場合があります! |
--replacefiles | 使用する場合:インストールプロセス中に「ファイルがシステムにインストールされました」というメッセージが表示された場合、またはバージョンに一貫性のないメッセージ(ファイルの競合)がある場合は、このパラメーターを使用してファイルを直接上書きできます。 危険:カバーする動作は元に戻せません!したがって、上書きされたファイルが実際に上書きされる可能性があることを明確に知っておく必要があります。そうでなければあなたは涙なしで泣くでしょう! |
--replacepkgs | いつ使用するか:すでにインストールされているソフトウェアを再インストールしてください!多数のRPMソフトウェアファイルをインストールする場合は、rpm -ivh * .rpmを使用できますが、一部のソフトウェアが既にインストールされている場合、システムはこの時点で「一部のソフトウェアは既にインストールされています」というメッセージを表示します。インストールを続行できません。このとき、このオプションを使用してインストールを繰り返すことができます。 |
- 力 | タイミング:このパラメーターは、実際には--replacefilesと--replacepkgsの組み合わせです。 |
- テスト | いつ使用するか:ユーザーのLinux環境にソフトウェアをインストールできるかどうかをテストし、属性の依存関係に問題があるかどうかを調べたいと思います。例は次のとおりです。rpm-ivhpkgname.i386.rpm--test |
--justdb | 使用する場合:RPMデータベースが破損している場合、または何らかの理由でエラーが発生した場合は、このオプションを使用して、データベース内のソフトウェアの関連情報を更新できます。 |
-署名なし | 使用する場合:デジタル署名のチェックをスキップする場合は、このオプションを使用できます。 |
-プレフィックスの新しいパス | 使用する場合:ソフトウェアを他の非公式ディレクトリにインストールする場合。たとえば、特定のソフトウェアを通常の/ bin、/ etcおよびその他のディレクトリではなく/ usr / localにインストールする場合は、「-prefix / usr / local」を使用して処理できます。 |
--noscripts | いつ使用するか:インストールプロセス中にソフトウェアが特定のシステムコマンドを単独で実行することを望まない。 注:RPMの利点は、ファイルをその場所に配置するだけでなく、データベースの初期化など、いくつかの作業前の命令を自動的に実行できることです。RPMにこのタイプの命令を自動的に実行させたくない場合は、それを追加するだけです。 |
2 RPMのアップグレードと更新(アップグレード/更新)
オプション | 代表的な意味 |
---|---|
--Uvh | 次のソフトウェアがインストールされていない場合でも、システムは直接インストールします。次のソフトウェアに古いバージョンがインストールされている場合、システムは自動的に新しいバージョンに更新されます。 |
--Fvh | 次のソフトウェアがLinuxシステムにインストールされていない場合、そのソフトウェアはインストールされません。Linuxシステムにインストールされているソフトウェアのみが「アップグレード」されます。 |
3 RPMクエリ(クエリ)
[root@study ~]$ rpm -qa <==已安装软件
[root@study ~]$ rpm -q[licdR] 已安装的软件名称 <==已安装软件
[root@study ~]$ rpm -qf 存在于系统上面的某个文件名 <==已安装软件
[root@study ~]$ rpm -qp[licdR] 未安装的某个文件名称 <==查阅RPM文件
选项与参数:
查询已安装软件的信息:
-q :仅查询,后面接的软件名称是否有安装;
-qa :列出所有的,已经安装在本机 Linux 系统上面的所有软件名称;
-qi :列出该软件的详细信息 (information),包含开发商、版本与说明等;
-ql :列出该软件所有的文件与目录所在完整文件名 (list);
-qc :列出该软件的所有配置文件 (找出在 /etc/ 下面的文件名而已)
-qd :列出该软件的所有说明文档 (找出与 man 有关的文件而已)
-qR :列出与该软件有关的相依软件所含的文件 (Required 的意思)
-qf :由后面接的文件名称,找出该文件属于哪一个已安装的软件;
-q --scripts:列出是否含有安装后需要执行的脚本档,可用以 debug 喔!
查询某个 RPM 文件内含有的信息:
-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致。但用途仅在于找出某个 RPM 文件内的信息,而非已安装的软件信息!注意!
4RPM検証
[root@study ~]$ rpm -Va
[root@study ~]$ rpm -V 已安装的软件名称
[root@study ~]$ rpm -Vp 某个 RPM 文件的文件名
[root@study ~]$ rpm -Vf 在系统上面的某个文件
选项与参数:
-V :后面加的是软件名称,若该软件所含的文件被更动过,才会列出来;
-Va :列出目前系统上面所有可能被更动过的文件;
-Vp :后面加的是文件名称,列出该软件内可能被更动过的文件;
-Vf :列出某个文件是否被更动过~
例
范例一:列出你的 Linux 内的 logrotate 这个软件是否被更动过?
[root@study ~]$ rpm -V logrotate
# 如果没有出现任何讯息,恭喜你,该软件所提供的文件没有被更动过。
# 如果有出现任何讯息,才是有出现状况啊!
范例二:查询一下,你的 /etc/crontab 是否有被更动过?
[root@study ~]$ rpm -Vf /etc/crontab
.......T. c /etc/crontab
# 瞧!因为有被更动过,所以会列出被更动过的信息类型!
変更されたファイル名の前にcがあり、その後に奇妙な文字がたくさんあります。cは構成を表し、構成ファイルを意味します。最初のいくつかの情報について:
- S :(ファイルサイズが異なります)ファイルサイズが異なるかどうかが変更されました
- M :(モードが異なります)ファイルタイプまたはファイル属性(rwx)は変更されましたか?実行可能かどうかなどのパラメータが変更されている
- 5:(MD5の合計が異なります)MD5指紋コードの内容はすでに異なります
- D :(デバイスのメジャー/マイナー番号の不一致)デバイスのメジャー/マイナー番号が変更されました
- L:(readLink(2)パスの不一致)リンクパスが変更されました
- U :(ユーザーの所有権が異なります)ファイルの所有者が変更されました
- G :(グループの所有権が異なります)ファイルのグループの所有権が変更されました
- T:(mTimeが異なります)ファイルの作成時刻が変更されました
- P:(caPabilitiesが異なります)機能が変更されました
したがって、構成ファイル内のすべての情報が変更された場合、彼の表示は次のようになります。
SM5DLUGTP c filename
そのcは「設定ファイル」の意味、つまりファイルの種類を表し、ファイルの種類は次のとおりです。
- c:構成ファイル(構成ファイル)
- d:ファイルデータファイル(ドキュメント)
- g:ゴーストファイル〜通常、ファイルは特定のソフトウェアに含まれておらず、めったに発生しません!(ゴーストファイル)
- l:ライセンスファイル
- r:私を読んでください
5 RPMのアンインストールとデータベースの再構築(erase / rebuilddb)
アンインストールとは、ソフトウェアをアンインストールすることです。-eパラメーターを使用します
[root@study ~]$ rpm -e 已安装的软件名称
RPMファイルはインストール/削除/アップグレードされることが多いため、一部のアクションにより、RPMデータベース/ var / lib / rpm /内の
ファイルが損傷する可能性があります。--rebuilddbを使用して、データベースを再構築できます。
[root@study ~]$ rpm --rebuilddb <==重建数据库