天天看點

Linux---軟體安裝管理RPM 安裝yum線上安裝CD光牒搭建yum常用 yum 指令源碼包rpm包與源碼包的異同

版權聲明:本文為部落客原創文章,轉載請注明出處。 https://blog.csdn.net/twilight_karl/article/details/76700422

RPM 安裝

rpm -ivh 全名

安裝軟體包

選項:

  • -i (install) 安裝
  • -v (verbose) 顯示詳細資訊
  • -h (hash) 顯示進度

更新

rpm -Uvh 包全名(舊版本)

如果已經安裝就更新,如果沒有安裝就安裝

  • -U (upgrade)更新

解除安裝

rpm -e 包名

背景資料庫中查找包名對應的檔案,然後解除安裝

  • -e(erase)
  • –nodeps 不檢查依賴性(不提倡使用)

查詢(-q)

指令 作用
rpm -q 包名 查詢是否安裝軟體包
rpm -qa 查詢所有已安裝的軟體包
rpm -qi 包名 查詢已安裝軟體包的資訊
rpm -qip 包全名 檢視未安裝的包的資訊
rpm -ql 包名 檢視包安裝位置(未安裝也可以查詢-p)
rpm -qf 檔案名 檢視系統檔案屬于哪個軟體包
rpm -qR 包名 檢視包所依賴的軟體包
  • -q (query) 查詢
  • -a (all) 所有
  • -i (information) 查詢軟體包資訊
  • -f (file) 查詢系統問價屬于哪個軟體包
  • -p (package) 查詢未安裝包資訊
  • -R (requires) 查詢軟體包的依賴性
  • -V (Verify) 檔案校驗

rpm檔案提取

rpm2cpio 包全名 | cpio -idv .檔案絕對路徑

從rpm包中提取需要的檔案

  • rpm2cpio : 将rpm轉換為cpio格式的指令
  • cpio : 标準工具,使用者建立軟體檔案檔案和從檔案檔案中提取檔案

例如,删除ls指令:

rm -rf /bin/ls           

從rpm包中提取出ls檔案

rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-43.el6.x86_64.rpm | cpio -idv ./bin/ls           

yum線上安裝

yum源檔案

yum的源檔案位于

/etc/yum.repos.d/CentOS-Base.repo

,具體檔案内容如下

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

#released updates 
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
           

相關參數:

  • [base] 容器名稱,一定要放在[]中
  • name 容器說明,随便寫
  • mirrorlist 鏡像站點
  • baseurl yum源伺服器的位址
  • enabled 是否生效,1是生效,0不生效,預設生效
  • gpgcheck 1指數字證書生效
  • gpgkey 數字證書的公鑰檔案儲存位置。不用修改

更換阿裡的源

  • 備份

    mv CentOS-Base.repo CentOS-Base.repo.backup

  • 下載下傳新的源檔案,替換原來的源

    wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

  • 生成緩存

    yum makecache

CD光牒搭建yum

  • 挂載CD光牒

    mount -t iso9660 /dev/sr0 /mnt/cdrom/

  • 使網絡yum失效。将網絡源檔案改名為其他檔案,或者将

    enabled

    設為0:
// 将網絡源檔案改名為其他檔案
mv CentOS-Base.repo CentOS-Base.repo.ali.backup           
  • 更改

    CentOS-Media.repo

    檔案。将baseurl 改成CD光牒目錄,将enable改為1:
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
#        file:///media/cdrom/
#        file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6           
  • 驗證。再次使用

    yum list

    ,可以看到所有源的名稱都變成了

    c6-media

    。正是CD光牒源的名稱:
...
vte.i686                                                0.25.1-9.el6                         c6-media                                
vte-devel.i686                                          0.25.1-9.el6                         c6-media                                
vte-devel.x86_64                                        0.25.1-9.el6                         c6-media                                
w3m.x86_64                                              0.5.2-19.el6                         c6-media                                
w3m-img.x86_64                                          0.5.2-19.el6                         c6-media                                
watchdog.x86_64                                         5.6-5.el6                            c6-media                                
wavpack.i686                                            4.60-1.1.el6                         c6-media                                
wavpack-devel.i686                                      4.60-1.1.el6                         c6-media                                
wavpack-devel.x86_64                                    4.60-1.1.el6                         c6-media                                
webalizer.x86_64                                        2.21_02-3.3.el6                      c6-media                                
webkitgtk.i686                                          1.4.3-9.el6_6                        c6-media                                
webkitgtk-devel.i686                                    1.4.3-9.el6_6                        c6-media                                
webkitgtk-devel.x86_64                                  1.4.3-9.el6_6                        c6-media                                
webkitgtk-doc.x86_64                                    1.4.3-9.el6_6                        c6-media                                
werken-xpath.noarch                                     0.9.4-4.beta.12.6.el6                c6-media                                
werken-xpath-javadoc.noarch                             0.9.4-4.beta.12.6.el6                c6-media                                
wireless-tools.i686                                     1:29-6.el6                           c6-media                                
wireless-tools-devel.i686                               1:29-6.el6                           c6-media                                
wireless-tools-devel.x86_64                             1:29-6.el6                           c6-media 
...           

常用 yum 指令

  • 查詢所有可用軟體包清單

    yum list

  • 查詢和關鍵字有關的軟體包

    yum search 關鍵字

  • 自動安裝指定軟體包

    yum -y install 包名

  • 更新(如果源中有更新版的軟體包)

    yum -y update 包名

  • 更新所有軟體,包括核心

    yum -y update

  • 解除安裝軟體包

    yum -y remove 包名

參數:

  • install 安裝
  • remove 解除安裝
  • -y 自動回答yes

軟體組管理指令

  • 列出所有可用的軟體組清單:

    yum grouplsit

  • 安裝指定軟體組,組名可以由grouplist查詢出來

    yum groupinstall 軟體組名

  • 解除安裝指定軟體組

    yum groupremove 軟體組名

源碼包

1、進入解壓縮指令

2、./configure -prefix=/usr/local/apache 安裝到指定目錄

3、make 編譯(make clean清除)

4、make install編譯安裝

rpm包與源碼包的異同

啟動方式不同

  • rpm包的啟動方式:從/etc/init.d/目錄下啟動,在執行service時也是從/etc/init.d/目錄下啟動。是以可以将源碼包的啟動腳本複制到給目錄下,即可用service啟動。
  • 源碼包的啟動方式:可以随意指定,一般是

    /usr/local/

    ,不可以用service指令管理

安裝完畢後,僅有的不同是安裝位置不同。