[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
为yum定义repo文件
[Repo_Name]:仓库名称
name:描述信息
baseurl:仓库的具体路径,接受以下三种类型
ftp://
http://
file:///
enabled:可选值{1|0},1为启用此仓库,0为禁用此仓库
gpgcheck:可选值{1|0},1为检查软件包来源合法性,0为不检查来源
如果gpgcheck设为1,则必须用gpgkey定义密钥文件的具体路径
gpgkey=/PATH/TO/KEY
[root@localhost ~]# vi /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever 缓存目录
keepcache=0 缓存软件包, 1启动 0 关闭
debuglevel=2 调试级别
logfile=/var/log/yum.log 日志记录位置
exactarch=1 检查平台是否兼容
obsoletes=1 检查包是否废弃
gpgcheck=1 检查来源是否合法,需要有制作者的公钥信息
plugins=1 是否启用插件
tolerant={1|0} 容错功能,1为开启,0为关闭,当设为0时,如果用yum安装多个软件包且其中某个软件包已经安装过就会报错;当设为1时,当要安装的软件已经安装时自动忽略
installonly_limit=3
# metadata_expire=90m 每90分钟手动检查元数据
# in /etc/yum.repos.d 包含repos.d目录
[root@localhost ~]# mkdir /opt/myrepo
[root@localhost ~]# cp -r /mnt/* /opt/myrepo/
[root@localhost myrepo]# ls
addons GPL media.repo RPM-GPG-KEY-redhat-release
EFI images Packages TRANS.TBL
EULA isolinux repodata
[root@localhost ~]# ls /etc/yum.repos.d/
redhat.repo
[root@localhost ~]# vi /etc/yum.repos.d/myrepo.repo
[root@localhost ~]# cat /etc/yum.repos.d/myrepo.repo
[myrepo]
name=myrepo
baseurl=file:///opt/myrepo
gpgcheck=0
enabled=1
[root@localhost ~]# yum clean all
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
正在清理软件源: myrepo
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
[root@localhost ~]# yum list all
...
yum-langpacks.noarch 0.4.2-7.el7 myrepo
yum-plugin-aliases.noarch 1.1.31-42.el7 myrepo
yum-plugin-changelog.noarch 1.1.31-42.el7 myrepo
yum-plugin-ovl.noarch 1.1.31-42.el7 myrepo
yum-plugin-tmprepo.noarch 1.1.31-42.el7 myrepo
yum-plugin-verify.noarch 1.1.31-42.el7 myrepo
yum-plugin-versionlock.noarch 1.1.31-42.el7 myrepo
yum-utils.noarch 1.1.31-42.el7 myrepo
zenity.x86_64 3.22.0-1.el7 myrepo
zip.x86_64 3.0-11.el7 myrepo
zlib.i686 1.2.7-17.el7 myrepo
zlib-devel.i686 1.2.7-17.el7 myrepo
zlib-devel.x86_64 1.2.7-17.el7 myrepo
zsh.x86_64 5.0.2-28.el7 myrepo
zziplib.i686 0.13.62-5.el7 myrepo
zziplib.x86_64 0.13.62-5.el7 myrepo
Base/Extras/Updates: 默认国外官方源
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo \
http://mirrors.aliyun.com/repo/Centos-7.repo
国外epel源
[root@localhost ~]# yum -y install epel-release
阿里云epel源
[root@localhost ~]# curl -o /etc/yum.repos.d/epel.repo \
http://mirrors.aliyun.com/repo/epel-7.repo
源查找方式基本一致,zabbix,mysql,saltstack,openstack等等,上官网找
[root@localhost ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
1.卸载红帽yum源
[root@localhost ~]# rpm -e $(rpm -qa|grep yum) --nodeps
2.删除所有repo相关文件
[root@localhost ~]# rm -f /etc/yum.conf
[root@localhost ~]# rm -rf /etc/yum.repos.d/
[root@localhost ~]# rm -rf /var/cache/yum
3.下载centos相关yum组件
[root@localhost ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-3.4.3-161.el7.centos.noarch.rpm
[root@localhost ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
[root@localhost ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm
[root@localhost ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-updateonboot-1.1.31-50.el7.noarch.rpm
[root@localhost ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-utils-1.1.31-50.el7.noarch.rpm
如果没有wget命令则使用curl命令
[root@localhost ~]# curl -o yum-utils-1.1.31-50.el7.noarch.rpm http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-utils-1.1.31-50.el7.noarch.rpm
[root@localhost ~]# curl -o yum-3.4.3-161.el7.centos.noarch.rpm http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-3.4.3-161.el7.centos.noarch.rpm
[root@localhost ~]# curl -o yum-metadata-parser-1.1.4-10.el7.x86_64.rpm http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
[root@localhost ~]# curl -o yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm
[root@localhost ~]# curl -o yum-updateonboot-1.1.31-50.el7.noarch.rpm http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-updateonboot-1.1.31-50.el7.noarch.rpm
3.安装所有相关组件
[root@localhost ~]# rpm -ivh yum-* --nodeps
4.下载base和epel仓库
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]# sed -i 's#\$releasever#7#g' /etc/yum.repos.d/CentOS-Base.repo
[root@localhost ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
语法:yum [options] [command] [package …]
常用options:
–nogpgcheck 如果从网上下载包有时会检查gpgkey,此时可以使用此命令跳过gpgkey的检查
-y 自动回答为"yes"
-q 静默模式,安装时不输出信息至标准输出
–disablerepo=repoidglob 临时禁用此处指定的repo
–enablerepo=repoidglob 临时启用此处指定的repo
–noplugins 禁用所有插件
常用的command
list 列表
all 默认项
available 列出仓库中有的,但尚未安装的所有可用的包
installed 列出已经安装的包
updates 可用的升级
clean 清理缓存
all 清理所有
makecache 创建缓存
(网路卡的时候建议做这一步)repolist 显示仓库
all
enabled 默认项
disabled
install 安装
yum install packages …
update 升级
yum update packages […]
update_to 升级为指定版本
downgrade package1 [package2 …] 降级
remove | erase 卸载
info 显示rpm -qi package的结果
provides | whatprovides 查看指定的文件或特性是由哪个包安装生成的
search string1 [string2 …] 以指定的关键字搜索程序包名及summary信息
deplist package [package2 …] 显示指定包的依赖关系
history 查看yum的历史事务信息
localinstall 安装本地rpm包,自动解决依赖关系
grouplist 列出可用的组
groups install “group name” 安装一组软件
yum groups mark install “group name”(标记安装)
createrepo命令 创建yum仓库的元数据信息
列出软件仓库中可用的软件
[root@localhost ~]# yum list all
...
zulucrypt-libs.x86_64 5.0.1-1.el7 epel
zvbi.x86_64 0.2.35-1.el7 epel
zvbi-devel.x86_64 0.2.35-1.el7 epel
zvbi-fonts.noarch 0.2.35-1.el7 epel
zziplib.i686 0.13.62-5.el7 myrepo
zziplib.x86_64 0.13.62-5.el7 myrepo
列出软件包详情
[root@localhost ~]# yum info ftp
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
可安装的软件包
名称 :ftp
架构 :x86_64
版本 :0.17
发布 :67.el7
大小 :61 k
源 :myrepo
简介 : The standard UNIX FTP (File Transfer Protocol) client
安装软件只需要给出软件名称(自动解决依赖关系)
[root@localhost ~]# yum install vim
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 vim-enhanced.x86_64.2.7.4.160-2.el7 将被 安装
--> 正在处理依赖关系 vim-common = 2:7.4.160-2.el7,它被软件包 2:vim-enhanced-7.4.160-2.el7.x86_64 需要
--> 正在处理依赖关系 perl(:MODULE_COMPAT_5.16.3),它被软件包 2:vim-enhanced-7.4.160-2.el7.x86_64 需要
--> 正在处理依赖关系 libgpm.so.2()(64bit),它被软件包 2:vim-enhanced-7.4.160-2.el7.x86_64 需要
--> 正在处理依赖关系 libperl.so()(64bit),它被软件包 2:vim-enhanced-7.4.160-2.el7.x86_64 需要
--> 正在检查事务
---> 软件包 gpm-libs.x86_64.0.1.20.7-5.el7 将被 安装
---> 软件包 perl.x86_64.4.5.16.3-292.el7 将被 安装
[root@localhost ~]# yum -y remove samba
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 samba.x86_64.0.4.6.2-8.el7 将被 删除
--> 解决依赖关系完成
...
列出yum源可用的软件仓库
[root@localhost ~]# yum repolist
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
源标识 源名称 状态
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,415
myrepo myrepo 4,986
repolist: 18,401
列出全部yum源可用和禁用的仓库
[root@localhost ~]# yum repolist all
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
源标识 源名称 状态
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 启用: 13,415
epel-debuginfo/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 - Debu 禁用
epel-source Extra Packages for Enterprise Linux 7 - x86_64 - Sour 禁用
myrepo myrepo 启用: 4,986
repolist: 18,401
查看这个文件或命令属于哪个包
[root@localhost ~]# yum provides /etc/my.cnf
[root@localhost ~]# yum provides cd
[root@localhost ~]# yum provides *bin/pstree
查看缓存的xml文件
[root@localhost ~]# ls /var/cache/yum/x86_64/7/base/
查看缓存软件包路径
[root@localhost ~]# ls /var/cache/yum/x86_64/7/
列出已经安装和所有可使用的软件组
[root@localhost ~]# yum group list
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
可用的环境分组:
最小安装
基础设施服务器
文件及打印服务器
Cinnamon 桌面环境
MATE 桌面环境
基本网页服务器
虚拟化主机
带 GUI 的服务器
安装一整个组的软件
[root@localhost ~]# yum groupsinstall '输入法'
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
没有该命令:groupsinstall。请使用 /usr/bin/yum --help
[root@localhost ~]# yum groups install '输入法'
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
正在解决依赖关系
--> 正在检查事务
---> 软件包 ibus-chewing.x86_64.0.1.4.4-14.el7 将被 安装
--> 正在处理依赖关系 ibus >= 1.3,它被软件包 ibus-chewing-1.4.4-14.el7.x86_64 需要
--> 正在处理依赖关系 libchewing >= 0.3.3,它被软件包 ibus-chewing-1.4.4-14.el7.x86_64 需要
--> 正在处理依赖关系 GConf2,它被软件包 ibus-chewing-1.4.4-14.el7.x86_64 需要
--> 正在处理依赖关系 GConf2,它被软件包 ibus-chewing-1.4.4-14.el7.x86_64 需要
yum删除包组
[root@localhost ~]# yum groups remove -y '输入法'
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 ibus-chewing.x86_64.0.1.4.4-14.el7 将被 删除
---> 软件包 ibus-hangul.x86_64.0.1.4.2-10.el7 将被 删除
---> 软件包 ibus-kkc.x86_64.0.1.5.18-7.el7 将被 删除
---> 软件包 ibus-libpinyin.x86_64.0.1.6.91-4.el7 将被 删除
---> 软件包 ibus-m17n.x86_64.0.1.3.4-13.el7 将被 删除
阿里云epel源
[root@localhost ~]# curl -o /etc/yum.repos.d/epel.repo \
http://mirrors.aliyun.com/repo/epel-7.repo
[root@localhost ~]# yum -y install httpd php nginx
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-67.el7 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-67.el7,它被软件包 httpd-2.4.6-67.el7.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-67.el7.x86_64 需要
--> 正在处理依赖关系 libapr-1.so.0()(64bit),它被软件包 httpd-2.4.6-67.el7.x86_64 需要
--> 正在处理依赖关系 libaprutil-1.so.0()(64bit),它被软件包 httpd-2.4.6-67.el7.x86_64 需要
---> 软件包 nginx.x86_64.1.1.12.2-3.el7 将被 安装
[root@localhost ~]# yum install httpd
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-67.el7 将被 安装
--> 解决依赖关系完成
...
总下载量:1.2 M
安装大小:3.7 M
Is this ok [y/d/N]: d
第二种方法:
[root@localhost ~]# yum -y install --downloadonly --downloaddir=/tmp httpd
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
...
总下载量:1.2 M
安装大小:3.7 M
Background downloading packages, then exiting:
exiting because "Download Only" specified
[root@localhost ~]# yum localinstall /mnt/Packages/bind-9.9.4-50.el7.x86_64.rpm
[root@localhost ~]# yum -y remove httpd
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-67.el7 将被 删除
--> 正在处理依赖关系 httpd-mmn = 20120211x8664,它被软件包 php-5.4.16-42.el7.x86_64 需要
--> 正在检查事务
---> 软件包 php.x86_64.0.5.4.16-42.el7 将被 删除