yum?? :rpm的前端程序,可解決軟件包相關依賴性可在多個庫之間定位軟件包,up2date的替代工具
yum ,存儲了眾多的rpm包,以及包的相關元數據文件(放置在特定目錄repodata下)
yum安裝的故障原因:配置文件出錯,緩存出現問題
yum的配置文件
/etc/yum.conf:為所有倉庫提供公共配置
/etc/yum.repos.d/*.repo:為倉庫的指向提供配置
yum的repo配置文件中可用的變量:
$releasever: 當前OS的發行版的主版本號
$arch: 平臺,i386,i486,i586,x86_64等
$basearch:基礎平臺;i386, x86_64
$YUM0-$YUM9:自定義變量
yum-config-manager –disable “倉庫名” 禁用倉庫
yum-config-manager –enable “倉庫名” 啟用倉庫
倉庫指向的定義:
[repositoryID] ??????//倉庫名
name=Some name for this repository????? //名字
baseurl=url://path/to/repository/ ??????//倉庫路徑
enabled={1|0} ?????//啟用或禁用默認啟用
gpgcheck={1|0}??? //是否支持包校驗
gpgkey=URL
enablegroups={1|0}
failovermethod={roundrobin|priority}
roundrobin:意為隨機挑選,默認值
priority:按順序訪問
cost= 默認為1000
yum命令:
yum命令的用法: yum [options] [command] [package …]
顯示倉庫列表: yum repolist [all|enabled|disabled]
顯示程序包: yum list
yum list [all | glob_exp1] [glob_exp2] […]
yum list {available|installed|updates} [glob_exp1] […]
安裝程序包:
yum install package1 [package2] […]
yum reinstall package1 [package2] […] (重新安裝)
升級程序包: yum update [package1] [package2] […]
yum downgrade package1 [package2] […] (降級)
檢查可用升級: yum check-update
卸載程序包: yum remove | erase package1 [package2] […]
查看程序包information: yum info […]
查看指定的特性(可以是某文件)是由哪個程序包所提供:
yum provides | whatprovides feature1 [feature2] […]
清理本地緩存: 清除/var/cache/yum/$basearch/$releasever緩存
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
構建緩存: yum makecache
搜索:yum search string1 [string2] […]
以指定的關鍵字搜索程序包名及summary信息
查看指定包所依賴的capabilities:
yum deplist package1 [package2] […]
查看yum事務歷史: yum history [info|list|packages-list|packages-info| summary|addon-info|redo|undo|
rollback|new|sync|stats]
yum history
yum history info 6
yum history undo 6 ??//卸載所有,包括依賴包
yum?? history? redo? 6??? //重復做第6步
日志 :/var/log/yum.log
安裝及升級本地程序包:
yum localinstall rpmfile1 [rpmfile2] […] (用install替代)
yum localupdate rpmfile1 [rpmfile2] […] (用update替代)
包組管理的相關命令:
yum?? grouplist??? //查看包組名
yum groupinstall group1 [group2] […]
yum groupupdate group1 [group2] […]
yum grouplist [hidden] [groupwildcard] […]
yum groupremove group1 [group2] […]
yum groupinfo group1 […]
yum的命令行選項:
–nogpgcheck:禁止進行gpg check
-y: 自動回答為“yes”
-q:靜默模式
–disablerepo=repoidglob:臨時禁用此處指定的repo
–enablerepo=repoidglob:臨時啟用此處指定的repo
–noplugins:禁用所有插件
Yum倉庫:
Yum的repo配置文件中的可用變量:
$releasever? :當前OS的發行版的主版本號
$arch?? :平臺,i386 ,i486 ,i586 ,x86_64等
$basearch :基礎平臺;i386, ,x86_64
創建yum倉庫: ?createrepo [options]??? <directory>
構建yum服務:
[os7]
name=centos 7.4
baseurl=http://172.20.0.1/centos/7/Packages/
gpgkey=http://172.20.0.1/centos/7/RPM-GPG-KEY-CentOS-7
gpgcheck=0
[epel]
baseurl=http://172.20.0.1/epel/7/x86_64/
gpgkey=file:///root/rpm-gpg-key-epel-7??? #localhost
gpgcheck=0
enabled=0
[base]
name=centoc 7.4
baseurl=file:///misc/cd
gpgcheck=0
構建網絡yum服務器
第一步;準備光盤,包,元數據
在/var/www/html下創建路徑:mkdir -p centos/{6,7}/x86_64/
第二步,準備網絡服務,ftp? ,http, https
rpm –ivh? vsftpd(光盤下的rpm安裝包)
Centos6: /etc/rc.d/init.d/vsftpd
service?? vsftpd?? start?? //啟動vsftpd
chkconfig????? vsftpd?? on???? //設置為開機自啟動
Centos7:? /usr/lib/systemd/system/vsftpd.service
systemctl? start?? vsftpd???? //啟動vsftpd
systemctl??? enable? vsftpd???? //設置為開機自啟動
netstat?? -ntl??? //查看21端口是否打開
第三步;關閉防火墻:
Centos6: service? iptables?? stop??? //關閉防火墻
chkconfig? ?iptables?? off???? //開機不啟動
Centos7: systemctl?? stop?? firewallld.service???? //關閉防火墻
iptables?? -vnL??? //查看防火墻服務是否停止
systemctl? disable?? firewalld.service??? //開機不啟動
cp?? /misc/cd/repodata/???? /data/? -r???? //復制repodata到指定目錄
第四步;復制元數據repodata和rpm包文件
mkdir?? /var/ftp/pub/{6,7}
cd?? /var/ftp/pub/6
cp?? /misc/cd/repodata/???? .??? -r???? //復制repodata到指定目錄
cp?? /misc/cd/Packages???? .??? -r???? //復制部分rpm包
第五步;客戶端配置
[ftpbase]
name= ftp? server??? repo
baseurl=ftp://192.168.8.133/pub/$releasever
gpgcheck =0
createrepo???? //生成元數據
wget????? 網絡文件具體地址?????? 下載文件到當前目錄
mkdir???? /mnt/cdrom
mount?? /dev/sr0?? /mnt/cdrom
rpm? -ivh? ??/mnt/cdrom/Packages/rpm 包名???? –root=/mnt/sysimage
yum 與rpm 的關系:yum 是對rpm 的二次封裝,rpm不能使用,也不能安裝yum
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96568