### RPM包管理以及yum的基本用法
> rpm包管理
常用選項:
-v:顯示過程
-h:以#格式顯示包管理執行進度
-i:安裝程序包
-V校驗功能
升級選項
“`
-U:裝有舊版程序包就升級,沒有則安裝。
-F:有舊版則升級沒有則不執行
–oldpackarg:降級
–force:強制
“`
查詢操作:-q:【查詢選項】或【挑選選項】
“`
查詢選項有:
a:查詢所有包
f:由哪個包安裝生成
g:包組的相關程序包
–whatproveides:查看指定的能力由哪個包提空
–whattrequires:查看指定的能力被哪個包依賴
–changglog:查詢rpm包的改變日志
–conflicfs:查看與誰沖突
-c:查看程序配置文件
-i:查看包信息
-d:查看程序文檔
-l:列出文件包安裝后生成的所有文件
–script:安裝或者卸載時有可能執行的腳本
-R:查看程序包所依賴
–provides:列出指定程序包所提供的能力
“`
示例:
“`
[root@zhangxiao ~]# rpm -ivh /media/CentOS_6.9_Final/Packages/httpd-2.2.15-59.el6.centos.x86_64.rpm
Preparing… ########################################### [100%]
package httpd-2.2.15-59.el6.centos.x86_64 is already installed
[root@zhangxiao ~]#
“`
> 注意:1、不要對內核進行升級,LINUX支持多版本內核并存,如果需要升級則直接安裝
> 2、如果原程序包的配置文件曾被修改升級時,新版本的配置文件并不會覆蓋老版本的文件,而是會把老版本文件重新命名后保留
安裝選項:
“`
–test:測試模式安裝
–nodeps:忽略依賴關系
–replacepkgs:重新安裝
–nosignature:不檢查來源合法性
–nodigest:不檢查包的完整性
–noscript:安裝不行行腳本
%pre 安裝前腳本
%post 后腳本
%preun 卸載前腳本
%postun 后腳本
“`
示例
“`
[root@zhangxiao ~]# rpm -ivh /media/CentOS_6.9_Final/Packages/httpd-2.2.15-59.el6.centos.x86_64.rpm –replacepkgs
Preparing… ########################################### [100%]
1:httpd ########################################### [100%]
[root@zhangxiao ~]#
“`
示例
“`
[root@zhangxiao ~]# rpm -e httpd
error: Failed dependencies:
httpd >= 2.2.0 is needed by (installed) gnome-user-share-2.28.2-3.el6.x86_64
[root@zhangxiao ~]# rpm -e httpd –nodeps
[root@zhangxiao ~]# httpd
-bash: httpd: command not found
“`
常用的組合
“`
-qi Package ,-qf File
-qc Pachage ,-ql Package
-qd Package ,-qpi Pachage_File,-qpl:Pachage_File
“`
卸載:-e
–nodeps
–test
–noscripts
“`
示例[root@zhangxiao ~]# rpm -e tree
[root@zhangxiao ~]# tree
-bash: tree: command not found
“`
完整性校驗:
rpm –import 導入秘鑰(/media/centos6.9/KEY….)(一般是gpg-pubkey)
-K:檢驗來源合法性和完整性
### yum
> yum(全稱為 Yellow dog Updater Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器,基於RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
yum:基本工作組件依賴于yum倉庫,yum倉庫存儲了許多rom包,以及包所相關的元數據(放置于repodata)所以倉庫應該指向的路徑應該為ropodata的父目錄
文件服務器:通常格式為
ftp://
http://
file://
“`
yum客戶端配置文件有
/etc/yum.conf
:為所有倉庫提供配置服務
/etc/yum.repors.d/*.repo
:為倉庫指向提供配置
“`
通常yum的基本配置不會變化,變化的一般是倉庫指向文件
我們需要在/etc/yum.repors.d/*.repo 新建一個文件,名字隨意,一般都叫base.repo(必須以.repo結尾)
“`
[base]
name=base #####此行表示名稱
baseurl=file:///media/CentOS_6.9_Final ###表示yum數據庫的路徑指向
gpgcheck=0 ###表示是否檢查文件的來源合法性(1表示檢查0表示不檢查)
~
“`
yum的用法格式
list
“`
yum [選項]【命令】[包名]…
yum list :顯示所有的包
yum list installed :顯示所有已安裝的包
yum list available
:顯示可用的包
“`
常用選項:
“`
install :安裝
remove:刪除
updata:升級
info:查看信息
clean:清理緩存
常用clean all
history:查看相關yum事務歷史
包組:
groupinstall 組名
安裝包組內的所有包
groupupdate 組名
升級包組
grouplist
包組清單
groupremove
卸載包組
groupinfo
查看包組信息
“`
如何使用光盤當做本地yum倉庫
1.掛載光盤到某目錄
2.創建配置文件
YUM 中命令行的優先級高于配置文件
命令行選項:
“`
–nogpgcheck:不進行檢查
-y :自動回答為yes
-q:靜默模式
–disablerepo:臨時禁用某個倉庫指向
–enablerepo:臨時啟動倉庫指向
repo配置文件中的可用變量
$releasever:os主版本
$arch:平臺
$basesearch:基礎平臺
$YUM0-$YUM9
“`
創建本地文件夾做倉庫
“`
首先復制需要的rpm包到文件夾下
輸入
createrepo dirname
元數據就生成了在diename/會生成文件repodata
“`
這時修改yum配置就可以了
(url地址改成file://PATH/dirname)
搭建yum服務器
首先準備兩臺服務器,兩臺機器版本可以不同
“`
啟動網絡服務
命令:systemctl start httpd
關閉防火墻
systemctl stop firewalld
下次開機不開啟防火墻
systemctl disable firewalld
在文件/var/www/html文件夾下新建index.html
[root@localhost html]# ls
[root@localhost html]# echo welcome > index.htm
在文件夾下新建文件夾
centos/6/x86_64/
需要的rpm包復制到文件中
或重新在虛擬機上掛載一塊管公安
添加光盤時,添加后沒有顯示啟用
echo ‘- – -‘ > /sys/class/scsi_host/host2/scan
“`
剩下參考創建本地倉庫
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96873