Linuxノート--RPM、SRPMとYUM方式インストールソフト
3179 ワード
1. RPM
RPMとは、メーカーがまずシステム上でユーザーに必要なソフトウェアをコンパイルし、RPMインストールパッケージにパッケージ化し、インストールパッケージをユーザーに直接公開してインストールすることです.RPMの利点:
rpm -ivh a.i386.rpm
rpm -ivh http://website.name/path/pkgname.rpm
// test
rpm -ivh pkgname.i386.rpm --test
// , /usr/local
rpm -ivh pkgname.i386.rpm --prefix=/usr/local/software
rpm -Fvh pkgname.i386.rpm
// nginx
rpm -q nginx
// nginx
rpm -ql nginx
// nginx , 、
rpm -qi nginx
// nginx
rpm -qc nginx
rpm -qd nginx
// nginx
rpm -qR nginx
//
rpm -qf /bin/sh
上は、/var/lib/rpmによって提供されるシステムにインストールされているソフトウェア情報を調べます.インストールされていないrpmファイルの内容を調べるには、rpm-qp(pはpackageの意味):
//
rpm -qpR filename.i386.rpm
ネイティブ上のRPMソフトウェアに関する情報を問い合わせる場合は、バージョン名を付ける必要はありません./var/lib/rpmデータベースからクエリーされるためです.ただし、インストールされていないRPMファイルを調べるには、ファイル名全体を指定する必要があります.
// ,
rpm -e pam
rpm --rebuilddb
2. SRPM
通常、異なるdistributionでパブリッシュされるRPMファイルは、他のdistributionでは使用できません.もし私たちが本当に他のdistributionが提供する使いやすいRPMソフトウェアをインストールする必要があるならどうしますか?幸いなことに、SRPMもあります.このSRPMが提供するソフトウェアの内容はコンパイルされていません.ソースコードを提供しています.通常、1つのソフトウェアがリリースされると、SRPMからRPMが同時にリリースされます.RPMは同じ環境でインストールする必要がありますが、SRPMはソースコードである以上、SRPM内のパラメータ設定ファイルを変更して、Linux環境に適したRPMファイルに再コンパイルすることができます.CentOSはなぜ「コミュニティメンテナンスのエンタープライズ版」なのでしょうか?Red Hat社のRHELがリリースされると、連帯でSRPMがリリースされるからです.いくつかのコミュニティの友达はこれらのSPRMを集めて必要なソフトウェアに再コンパイルして、CentOSに再配布して、SRPMに感謝します.
SRPMファイルをダウンロードし、このファイル内のソースコードと関連設定値を変更したくないと仮定し、rpmbuildを利用してRPMパッケージを直接生産してインストールします.
rpmbuild --rebuild filename.i386.src.rpm
3.YUMオンラインアップグレードメカニズム
RPMソフトウェアには、いわゆるファイル依存の問題があります.もし私たちがこれらの依存ソフトウェアを先にリストして、ソフトウェアをインストールする必要があるときに先にこのリストを探して、同時にシステム内にインストールされたソフトウェアと比較して、インストールされていない依存ソフトウェアを一気にインストールすれば、依存問題を解決するのではないでしょうか.これがYUMメカニズムです.distributionは、まずソフトウェアを解放し、yunサーバにソフトウェアを配置して、インストールとアップグレードを要求するクライアントを提供する必要があります.そのためyumの機能を使用するには、適切なyun serverを見つけなければなりません.
// pam
yum list pam*
//
yum install pam-devel
//
yum update pam-devel
//
yum remove pam-devel
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5