2008年7月17日 星期四

rpm 札記

顯示套件異動的日誌資訊
rpm -q --changelog

顯示套件資訊
rpm -qi

尋找有哪些套件需要此套件(相依性)
rpm -q --whatrequires

列出套件提供的功能
rpm -q --provides

列出套件所含的組態檔
rpm -qc


指定只秀出 rpm 套件名稱列表
rpm -qa --queryformat="%{NAME}\n"|sort -n


Show rpm package name and arch
rpm -qa --qf "%{n}-%{arch}\n"


秀出所有可用的rpm Tag <標籤>
rpm --querytags

若要於安裝時,可指定安裝路徑,需在 specs 檔中添加 prefix 的標籤
SPECS:
    prefix: opt/tmp

INSTALL:
    rpm -qp --queryformat "%{prerfixes}\n" my.rpm
    > opt/tmp
    rpm -ivh --prefix=/tmp my.rpm
    將在 /tmp 路徑中安裝此套件。

解 rpm 包
rpm2cpio rpmfile.rpm  | cpio -idv

詳列製作 RPM 包的變數及其內容
/usr/lib/rpm/macros

rpm 解譯 執行動作代碼
$1 = 1 (install; rpm -i)     if [ $1 -eq 1 ]; then ... fi
$1 = 0 (erase; rpm -e)
$1 = 2 (update; rpm -U)

rpm update (rpm -U) 流程順序如下
(example: A.rpm want to UPDATE to B.rpm)
        1.   B.rpm 執行  --
                %post
        2.   A.rpm 執行 --
                %preun
                %postun

其他詳細 RPM 說明可參考: [http://linux.vbird.org/linux_basic/0520rpm_and_srpm.php#rpmmanager]




沒有留言: