Centos上如何使用yum與rpm命令安裝軟件?
軟件包的分類
- 源碼包
- 二進制包
1、源碼包
安裝的時候需要人工設定相關安裝參數,
優點:
- 開源的,可以自行修改代碼
- 安裝的時候可以自定義功能,按需選擇功能
- 編譯安裝,更加適合系統,
- 卸載方便,直接刪除安裝目錄
缺點:
- 步驟多,難度大
- 編譯時間長
- 錯誤新手比較難解決
2、二進制包
優點:
- 編譯過的安裝包,執行比較簡單,簡單命令就可以實現安裝 升級 卸載
- 安裝速度塊
缺點:
- 看不到源碼
- 功能無法選擇
- 依賴關係需要解決
二進制包安裝(yum與rpm)
二者區別
- rpm管理本地包的安裝、卸載、查詢
- yum擁有rpm的功能,還具備了從網絡上下載rpm包和依賴的功能。
一.yum安裝
如何配置網絡源
- 尋找網絡源
列舉幾個:
阿里雲鏡像站點:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11346ud6
網易雲鏡像站點:http://mirrors.163.com/.help/centos.html - 備份配置
- 備份:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- . 下載新的 CentOS-Base.repo 到 /etc/yum.repos.d/
- 運行 yum makecache 生成緩存
如何配置本地源
步驟:
1. 掛載光盤
- 臨時掛載 :mount /dev/sr0 /media (再次開機後失效)
- 永久性掛載 : vi /etc/fstab
輸入到最後一行 -->/dev/sr0 /media iso9660 defaults 0 0
[root@fei ~]# cat /etc/fstab
#
#/etc/fstab
#Created by anaconda on Tue Mar 17 21:54:16 2020
#
#Accessible filesystems, by reference, are maintained under '/dev/disk'
#See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=b298fe23-319e-4fbb-b373-5b9dfbe70864 / ext4 defaults 1 1
UUID=ec6ebd58-971b-415f-9287-f44abddd0a20 /boot ext4 defaults 1 2
UUID=12f8ad69-974f-4cba-8c9a-9d679fc9cc07 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sr0 /media iso9660 defaults 0 0 /完成掛載。
/etc/fstab下內容
第一列:磁盤設備文件或UUID(blkid獲取)
第二列:設備掛載點
第三例:磁盤文件系統格式
第四列:文件系統參數
第五列:能否被dump備份
- 0不做備份
- 1每天備份
- 2不定期備份
第六列:是否檢查扇區
- 0不檢查
- 1最早檢查
- 1級別檢查完之後檢查
2. 備份網絡源
- cd /etc/yum.repos.d - 到/etc/yum.repos.d目錄下。
- mkdir bak-創建一個目錄bak。
- mv Ce* bak-將該目錄下名字爲Ce開頭的文件放入bak中。
[root@fei ~]# cd /etc/yum.repos.d/
[root@fei yum.repos.d]# ls
bak dvd.repo
[root@fei yum.repos.d]# cd bak
[root@fei bak]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-Debuginfo.repo CentOS-Media.repo
3. 創建光盤的yum源文件
- vi dvd.repo -->將以下內容寫入dvd.repo中
[Centos]
name=Centos6.8
baseurl=file:///media 注:三個/,前兩個是標準格式,第三個代表根目錄
gpgcheck=0
enabled=1
[root@fei yum.repos.d]# cat dvd.repo
[Centos 6.8]
[Centos]
name=centos6.8
baseurl=file:///media
gpgcheck=0
enable=1
4. 清空緩存
- yum clean all
5. 創建緩存
- yum makecache
[root@fei ~]# yum makecache
已加載插件:fastestmirror
Bad id for repo: Centos 6.8, byte = 6
Determining fastest mirrors
Centos | 4.0 kB 00:00 ...
Centos/group_gz | 226 kB 00:00 ...
Centos/filelists_db | 6.3 MB 00:00 ...
Centos/primary_db | 4.7 MB 00:00 ...
Centos/other_db | 2.8 MB 00:00 ...
元數據緩存已建立
6. 驗證
- yum list -->列舉出可以安裝的軟件。
與yum相關命令
- 顯示配置倉庫
yum repolist [all|enabled] - 顯示安裝包
yum list
yum list | grep XXXX
yum grouplist
yun list installed | grep
yum list available 顯示可以安裝的包
yum list updates 顯示已更新包
yum list recent 顯示最近增加的包 - 安裝
yum install 包名
yum instlal 包名 -y
[root@fei yum.repos.d]# yum install tree
已加載插件:fastestmirror
Bad id for repo: Centos 6.8, byte = 6
設置安裝進程
Loading mirror speeds from cached hostfile
解決依賴關係
--> 執行事務檢查
---> Package tree.x86_64 0:1.5.3-3.el6 will be 安裝
--> 完成依賴關係計算
依賴關係解決
================================================================================
軟件包 架構 版本 倉庫 大小
================================================================================
正在安裝:
tree x86_64 1.5.3-3.el6 Centos 36 k
事務概要
================================================================================
Install 1 Package(s)
總下載量:36 k
Installed size: 65 k
確定嗎?[y/N]:
//加上- y 就不用確認了
- 升級
yum update 包名
[root@fei yum.repos.d]# yum update tree
已加載插件:fastestmirror
Bad id for repo: Centos 6.8, byte = 6
設置更新進程
Loading mirror speeds from cached hostfile
不升級任何軟件包
-
卸載
yum remove 包名 -
搜索
yum search 包名 -
顯示信息 (與是否安裝無關)
yum info 包名
[root@fei yum.repos.d]# yum info tree
已加載插件:fastestmirror
Bad id for repo: Centos 6.8, byte = 6
Loading mirror speeds from cached hostfile
已安裝的軟件包
Name : tree
Arch : x86_64
Version : 1.5.3
Release : 3.el6
Size : 65 k
Repo : installed
From repo : Centos
Summary : File system tree viewer
URL : http://mama.indstate.edu/users/ice/tree/
License : GPLv2+
Description : The tree utility recursively displays the contents of directories
: in a tree-like format. Tree is basically a UNIX port of the DOS
: tree utility.
- 列出軟件包提供哪些文件
yum provides 包名
[root@fei yum.repos.d]# yum provides tree
已加載插件:fastestmirror
Bad id for repo: Centos 6.8, byte = 6
Loading mirror speeds from cached hostfile
tree-1.5.3-3.el6.x86_64 : File system tree viewer
Repo : Centos
匹配來自於:
tree-1.5.3-3.el6.x86_64 : File system tree viewer
Repo : installed
匹配來自於:
Other : 提供依賴滿足:tree
二.rpm安裝
安裝命令執行位置
這種安裝方法需要到/media/Packages/位置執行命令
/media/Packages/可查看能夠安裝的所有軟件。
[root@fei /]# cd /media/Packages/
[root@fei Packages]# ls
389-ds-base-1.2.11.15-74.el6.x86_64.rpm
389-ds-base-libs-1.2.11.15-74.el6.x86_64.rpm
.
.
.
例如:
389-ds-base-1.2.11.15-74.el6.x86_64.rpm
解釋:
389-ds-base | 軟件包名 |
---|---|
1.2.11 | 依次爲;主版本,四版本,修正版本。 |
15-74 | 發佈版本號,表示第多少次編譯 |
el6 | 企業版 |
x86_64 | x86 cpu架構 64 64位系統 |
rpm | 後綴名 |
安裝命令 :
-
rpm -ivh +包名
i:install
v:顯示安裝信息
h:顯示進度
–nodeps:不檢測依賴
–replacepkgs:重新安裝
[root@fei Packages]# rpm -ivh zip-3.0-1.el6_7.1.x86_64.rpm
//安裝時要在該目錄下,使用包的全名。
[root@fei Packages]# rpm -ivh zip-3.0-1.el6_7.1.x86_64.rpm
warning: zip-3.0-1.el6_7.1.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:zip ########################################### [100%]
與rpm相關命令
-
升級
rpm -Uvh U升級或者安裝
-U -
卸載:
rpm -e -
查詢
rpm -qa :查看已安裝軟件。
rpm -ql : 查找已安裝軟件安裝包的位置
[root@fei Packages]# rpm -qa zip
zip-3.0-1.el6_7.1.x86_64
[root@fei Packages]# rpm -ql zip // 查找已安裝軟件安裝包的位置
/usr/bin/zip
/usr/bin/zipcloak
/usr/bin/zipnote
/usr/bin/zipsplit
/usr/share/doc/zip-3.0
/usr/share/doc/zip-3.0/CHANGES
/usr/share/doc/zip-3.0/LICENSE
/usr/share/doc/zip-3.0/README
/usr/share/doc/zip-3.0/README.CR
/usr/share/doc/zip-3.0/TODO
/usr/share/doc/zip-3.0/WHATSNEW
/usr/share/doc/zip-3.0/WHERE
/usr/share/doc/zip-3.0/algorith.txt
/usr/share/man/man1/zip.1.gz
/usr/share/man/man1/zipcloak.1.gz
/usr/share/man/man1/zipnote.1.gz
/usr/share/man/man1/zipsplit.1.gz
- 顯示信息:
rpm -qi
[root@fei Packages]# rpm -qi zip //顯示該軟件的相關信息。
Name : zip Relocations: (not relocatable)
Version : 3.0 Vendor: CentOS
Release : 1.el6_7.1 Build Date: 2015年11月10日 星期二 18時02分11秒
Install Date: 2020年03月17日 星期二 23時58分47秒 Build Host: c6b9.bsys.dev.centos.org
Group : Applications/Archiving Source RPM: zip-3.0-1.el6_7.1.src.rpm
Size : 823164 License: BSD
Signature : RSA/SHA1, 2015年11月10日 星期二 20時42分06秒, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : http://www.info-zip.org/Zip.html
Summary : A file compression and packaging utility compatible with PKZIP
Description :
The zip program is a compression and file packaging utility. Zip is
analogous to a combination of the UNIX tar and compress commands and
is compatible with PKZIP (a compression and file packaging utility for
MS-DOS systems).
Install the zip package if you need to compress files using the zip
program.
-
查詢某個文件屬於那個 RPM包
rpm -qf +文件的絕對路徑。
[root@fei /]# rpm -qf /usr/bin/zip
zip-3.0-1.el6_7.1.x86_64
- 查詢依賴關係
rpm -qR
[root@fei /]# rpm -qR zip
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
rpmlib(PayloadIsXz) <= 5.2-1
- 校驗
rpm -V