一.简述
Yum:Yellowdog Updater,Modified的简称,起初由yellow dog发行版的开发者Terra Soft研发,用Python编写,后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。Yum是一个shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包。
二.yum仓库的分类
按照网络来分有公网仓库和私网仓库,公网仓库里又有自建仓库和官方仓库。
三.搭建私网仓库
断开网络连接,进行私网仓库的搭建
添加CentOS镜像文件在虚拟机中
把镜像软件包挂载在/mnt中(镜像软件包在/dev/sr0中为设备文件打不开,只能挂载在/mnt中),以便后面建立配置文件时,找到相应路径。
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
进入yum的配置文件,并且创建一个目录,把相应的.repo为结尾的文件放到目录中。例外,创建一个.repo为结尾的文件,进行yum的配置
[root@localhost mnt]# cd /etc
[root@localhost etc]# ls
abrt filesystems magic rpc
adjtime firefox mail.rc rpm
aliases firewalld makedumpfile.conf.sample rsyncd.conf
aliases.db flatpak man_db.conf rsyslog.conf
alsa fonts maven rsyslog.d
alternatives fprintd.conf mke2fs.conf rwtab
anacrontab fstab modprobe.d rwtab.d
asound.conf fuse.conf modules-load.d samba
at.deny gconf motd sane.d
audisp gcrypt mtab sasl2
audit gdbinit mtools.conf scl
autofs.conf gdbinit.d multipath securetty
autofs_ldap_auth.conf gdm my.cnf security
auto.master geoclue my.cnf.d selinux
auto.master.d GeoIP.conf nanorc services
auto.misc GeoIP.conf.default netconfig sestatus.conf
auto.net ghostscript NetworkManager setroubleshoot
auto.smb gnupg networks setuptool.d
avahi GREP_COLORS nfs.conf sgml
bash_completion.d groff nfsmount.conf shadow
bashrc group nsswitch.conf shadow-
binfmt.d group- nsswitch.conf.bak shells
bluetooth grub2.cfg ntp skel
brltty grub.d ntp.conf smartmontools
brltty.conf gshadow numad.conf sos.conf
centos-release gshadow- oddjob speech-dispatcher
centos-release-upstream gss oddjobd.conf ssh
certmonger gssproxy oddjobd.conf.d ssl
cgconfig.conf host.conf openldap sssd
cgconfig.d hostname opt statetab
cgrules.conf hosts os-release statetab.d
cgsnapshot_blacklist.conf hosts.allow PackageKit subgid
chkconfig.d hosts.deny pam.d subuid
chrony.conf hp passwd sudo.conf
chrony.keys idmapd.conf passwd- sudoers
cifs-utils init.d pbm2ppa.conf sudoers.d
cron.d inittab pinforc sudo-ldap.conf
cron.daily inputrc pkcs11 sysconfig
cron.deny ipa pki sysctl.conf
cron.hourly iproute2 plymouth sysctl.d
cron.monthly ipsec.conf pm systemd
crontab ipsec.d pnm2ppa.conf system-release
cron.weekly ipsec.secrets polkit-1 system-release-cpe
crypttab iscsi popt.d target
csh.cshrc issue postfix tcsd.conf
csh.login issue.net ppp terminfo
cups java prelink.conf.d tmpfiles.d
cupshelpers jvm printcap trusted-key.key
dbus-1 jvm-commmon profile tuned
dconf kdump.conf profile.d udev
default kernel protocols udisks2
depmod.d krb5.conf pulse updatedb.conf
dhcp krb5.conf.d purple UPower
DIR_COLORS ksmtuned.conf python usb_modeswitch.conf
DIR_COLORS.256color ld.so.cache qemu-ga vconsole.conf
DIR_COLORS.lightbgcolor ld.so.conf qemu-kvm vimrc
dleyna-server-service.conf ld.so.conf.d radvd.conf virc
dnsmasq.conf libaudit.conf rc0.d vmware-tools
dnsmasq.d libibverbs.d rc1.d wgetrc
dracut.conf libnl rc2.d wpa_supplicant
dracut.conf.d libreport rc3.d wvdial.conf
drirc libuser.conf rc4.d X11
e2fsck.conf libvirt rc5.d xdg
enscript.cfg locale.conf rc6.d xinetd.d
environment localtime rc.d xml
ethertypes login.defs rc.local yum
exports logrotate.conf rdma yum.conf
exports.d logrotate.d redhat-release yum.repos.d
favicon.png lsm request-key.conf
fcoe lvm request-key.d
festival machine-id resolv.conf
[root@localhost etc]# cd ./yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@localhost yum.repos.d]# mkdir adc
[root@localhost yum.repos.d]# ls
adc CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
[root@localhost yum.repos.d]# mv CentOS-* adc
[root@localhost yum.repos.d]# ls
adc
[root@localhost yum.repos.d]# vim aaa.repo
[root@localhost yum.repos.d]# ls
aaa.repo adc
yum配置文件中的详细信息
[name]:仓库id
name :仓库名字
baseurl: 为仓库的地址
enable:是否开启当前仓库
gpgcheck:是否检查密钥,一种检验软件完整性的方式
[aaa]
name=test
baseurl=file:///mnt
enable=1
gpgcheck=0
~
~
~
~
~
~
~
~
~
~
安装软件包
[root@localhost yum.repos.d]# rpm -q lynx
未安装软件包 lynx
[root@localhost yum.repos.d]# yum install lynx -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 lynx.x86_64.0.2.8.8-0.3.dev15.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
======================================================================================================
Package 架构 版本 源 大小
======================================================================================================
正在安装:
lynx x86_64 2.8.8-0.3.dev15.el7 aaa 1.4 M
事务概要
======================================================================================================
安装 1 软件包
总下载量:1.4 M
安装大小:5.4 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : lynx-2.8.8-0.3.dev15.el7.x86_64 1/1
验证中 : lynx-2.8.8-0.3.dev15.el7.x86_64 1/1
已安装:
lynx.x86_64 0:2.8.8-0.3.dev15.el7
完毕!
[root@localhost yum.repos.d]#
注:在配置yum仓库文件时,需要先使用:yum clean all 清空yum仓库的缓存。