RPM
RPM命名:
安裝 rpm -ihv
其他常用的選項: 1. 重新安裝 --replacepkgs (或者 --force ) 2. 不考慮依賴 --nodeps (不推薦)
升級:
查詢:
查詢已經安裝的rpm包只要指定名稱就可以了。 查詢rpm包文件加上 -p。
如果希望在不用安裝的情況下將rpm包內的文件解壓出來,可以使用 rpm2cpio pmValidator-1.0.0-1.x86_64.rpm | cpio -idv
檢查rpm文件是否被改動過。
以上命令對比的是 目前的文件相比於rpm包中初始安裝的文件是否發生改動。
卸載: rpm -e 依據依賴層次自上而下卸載
YUM
yum的目的是幫助我們收集rpm包的依賴屬性並能幫我們自動化解決安裝、卸載和升級等操作。yum 的關鍵之處是要有可靠的repository,顧名思義,這是軟件的倉庫,它可以是http 或ftp 站點,也可以是本地軟件池,但必須包含rpm 的header,header 包括了rpm 包的各種信息,包括描述,功能,提供的文件,依賴性等。正是收集了這些header 並加以分析,才能自動化地完成余下的任務。
下面是一個可用的清華大學的yum源,上面所說的那個包含rpm的header就是 repodata 目錄。
如果我們向上走,到達https://mirrors.tuna.tsinghua.edu.cn/centos/7/目錄下,我們可以發現清華大學的這個鏡像站點包含了不止一個可用的yum源。
除了http和ftp的源外,我們可以使用 centos的安裝鏡像作為本地源,例如下面是將CentOS-7.0-1406-x86_64-Minimal.iso 掛載后的內容,里面也包含repodata目錄,它可以作為一個本地源。
yum可以配置多個yum源,下面我們看看yum的配置文件。 yum的配置文件分為main和repository。 main指的是/etc/yum.conf, repository的配置指的是在/etc/yum.repo.d/目錄下的以repo結尾的文件。關於配置文件內各個屬性的含義可以參考:
http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html
http://cn.linux.vbird.org/linux_basic/0520rpm_and_srpm_4.php#intro_solution
這里說明一下mirrorlist和baseurl的區別:
- mirrorlist=:列出這個容器可以使用的映射網址,我的理解是通過這個網址我們可以尋找到真正可以使用的mirror;
- baseurl=:這里就是我們上面看到的那些真實可用的yum源地址。
當我們手動配置yum源后,需要執行 yum clean all 清空之前的配置。可以通過執行 yum repolist all 來查看所有的已配置的yum源的情況。
絕大多數資料都可以在上面列出的兩個網址內找到,我最后 執行一個例子: 通過配置 centos 7 鏡像作為本地源來安裝vim-minimal-7.4.160-1.el7.x86_64.rpm
下面執行安裝就可以了。 yum install vim-minimal -y
在源配置中有一個gpgcheck,這個是rpm包的簽名驗證,如果配置源后安裝時提示 找不到公鑰,可以執行 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 導入公鑰。
以上就是yum源的配置,下面我們看看yum的常用命令。
查詢 yum search
安裝/升級 yum install/update
卸載 yum remove
以上命令后面只需要跟 rpm包的名稱就可以了。
還有一個非常有用的命令,僅僅下載而不用去安裝。
yum install --downloadonly --downloaddir=/root/rpms postgresql
執行完成后我們在rpms目錄下就可以發現postgresql以及其依賴的包了。