1 YUM的简介
- 什么是yum源?
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora、RedHat/RHEL、SUSE以及CentOS等Linux发行版中的/repo/【Shell】前端【软件包管理器】。
yum源 := yum仓库 := yum管理下的软件源/软件仓库
怎么生动地理解这一点呢?
yum 类同于 CENTOS操作系统的 软件管理器;Web前端开发的 npm 包(依赖)管理软件;Java后端开发的 maven 包(依赖)管理软件。
值得注意的是,CENTOS 8新增了 DNF
包管理器,以取代之前OS版本的 YUM。
2 YUM的常用命令
2.1 查看帮助信息
查看帮助信息[方式1] --> man yum
man yum
查看帮助信息[方式2] --> yum --help
yum --help
[root@node116 repo]# yum --help
Loaded plugins: fastestmirror, langpacks
Usage: yum [options] COMMAND
List of Commands:
check Check for problems in the rpmdb
check-update Check for available package updates
clean Remove cached data
deplist List a package's dependencies
distribution-synchronization Synchronize installed packages to the latest available versions
downgrade downgrade a package
erase Remove a package or packages from your system
fs Acts on the filesystem data of the host, mainly for removing docs/lanuages for minimal hosts.
fssnapshot Creates filesystem snapshots, or lists/deletes current snapshots.
groups Display, or use, the groups information
help Display a helpful usage message
history Display, or use, the transaction history
info Display details about a package or group of packages
install Install a package or packages on your system
langavailable Check available languages
langinfo List languages information
langinstall Install appropriate language packs for a language
langlist List installed languages
langremove Remove installed language packs for a language
list List a package or groups of packages
load-transaction load a saved transaction from filename
makecache Generate the metadata cache
provides Find what package provides the given value
reinstall reinstall a package
repo-pkgs Treat a repo. as a group of packages, so we can install/remove all of them
repolist Display the configured software repositories
search Search package details for the given string
shell Run an interactive yum shell
swap Simple way to swap packages, instead of using shell
update Update a package or packages on your system
update-minimal Works like upgrade, but goes to the 'newest' package match which fixes a problem that affects your system
updateinfo Acts on repository update information
upgrade Update packages taking obsoletes into account
version Display a version for the machine and/or available repos.
Options:
-h, --help show this help message and exit
-t, --tolerant be tolerant of errors
-C, --cacheonly run entirely from system cache, don't update cache
-c [config file], --config=[config file]
config file location
-R [minutes], --randomwait=[minutes]
maximum command wait time
-d [debug level], --debuglevel=[debug level]
debugging output level
--showduplicates show duplicates, in repos, in list/search commands
-e [error level], --errorlevel=[error level]
error output level
--rpmverbosity=[debug level name]
debugging output level for rpm
-q, --quiet quiet operation
-v, --verbose verbose operation
-y, --assumeyes answer yes for all questions
--assumeno answer no for all questions
--version show Yum version and exit
--installroot=[path] set install root
--enablerepo=[repo] enable one or more repositories (wildcards allowed)
--disablerepo=[repo] disable one or more repositories (wildcards allowed)
-x [package], --exclude=[package]
exclude package(s) by name or glob
--disableexcludes=[repo]
disable exclude from main, for a repo or for
everything
--disableincludes=[repo]
disable includepkgs for a repo or for everything
--obsoletes enable obsoletes processing during updates
--noplugins disable Yum plugins
--nogpgcheck disable gpg signature checking
--disableplugin=[plugin]
disable plugins by name
--enableplugin=[plugin]
enable plugins by name
--skip-broken skip packages with depsolving problems
--color=COLOR control whether color is used
--releasever=RELEASEVER
set value of $releasever in yum config and repo files
--downloadonly don't update, just download
--downloaddir=DLDIR specifies an alternate directory to store packages
--setopt=SETOPTS set arbitrary config and repo options
--bugfix Include bugfix relevant packages, in updates
--security Include security relevant packages, in updates
--advisory=ADVS, --advisories=ADVS
Include packages needed to fix the given advisory, in
updates
--bzs=BZS Include packages needed to fix the given BZ, in
updates
--cves=CVES Include packages needed to fix the given CVE, in
updates
--sec-severity=SEVS, --secseverity=SEVS
Include security relevant packages matching the
severity, in updates
Plugin Options:
2.2 查看 当前主机配置的yum源(软件仓库)列表
yum repolist
yum repolist enabled
# 列出你当前系统【已启用】的yum repo
2.3 重建 yum 软件源的缓存
在更新yum源或者出现配置yum源之后,通常都会使用yum makecache 生成缓存。
把服务器的rpm软件包信息提前下载到本地主机缓存起来,用来提高搜索安装软件的速度
以后用install时就在缓存中搜索,提高了速度。
yum makecache
yum makecache fast
yum makecache all
2.4 更新 yum 源
yum update -y --skip-broken
2.5 清除 yum 软件源的缓存
yum 会把下载的软件包和header存储在cache中而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令清除缓存。
yum clean all
2.6 搜索软件包
查看指定软件包的详细信息
[root@govern ~]# yum info libcurl
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* c6-media:
file:///media/CentOS/repodata/repomd.xml: [Errno 14] Could not open/read file:///media/CentOS/repodata/repomd.xml
尝试其他镜像。
file:///media/cdrecorder/repodata/repomd.xml: [Errno 14] Could not open/read file:///media/cdrecorder/repodata/repomd.xml
尝试其他镜像。
c6-media | 4.0 kB 00:00 ...
已安装的软件包
Name : libcurl
Arch : x86_64
Version : 7.19.7
Release : 52.el6
Size : 339 k
Repo : installed
From repo : anaconda-CentOS-201605220104.x86_64
Summary : A library for getting files from web servers
URL : http://curl.haxx.se/
License : MIT
Description : This package provides a way for applications to use FTP, HTTP, Gopher and
: other servers for getting files.
可安装的软件包
Name : libcurl
Arch : i686
Version : 7.19.7
Release : 52.el6
Size : 176 k
Repo : c6-media
Summary : A library for getting files from web servers
URL : http://curl.haxx.se/
License : MIT
Description : This package provides a way for applications to use FTP, HTTP, Gopher and
: other servers for getting files.
搜索软件包
yum search 软件包
yum -C search "关键词"
查看包的多个版本
yum list [package] --showduplicates
搜索指定软件的包依赖信息
[root@govern ~]# yum deplist curl
已加载插件:fastestmirror
查找依赖:
Loading mirror speeds from cached hostfile
* c6-media:
软件包:curl.x86_64 7.19.7-52.el6
依赖: libssh2.so.1()(64bit)
provider: libssh2.x86_64 1.4.2-2.el6_7.1
依赖: libz.so.1()(64bit)
provider: zlib.x86_64 1.2.3-29.el6
依赖: libkrb5.so.3()(64bit)
provider: krb5-libs.x86_64 1.10.3-57.el6
依赖: libldap-2.4.so.2()(64bit)
provider: openldap.x86_64 2.4.40-12.el6
依赖: libpthread.so.0()(64bit)
provider: glibc.x86_64 2.12-1.192.el6
依赖: libgssapi_krb5.so.2()(64bit)
provider: krb5-libs.x86_64 1.10.3-57.el6
依赖: libpthread.so.0(GLIBC_2.2.5)(64bit)
provider: glibc.x86_64 2.12-1.192.el6
依赖: libcurl.so.4()(64bit)
provider: libcurl.x86_64 7.19.7-52.el6
依赖: libnssutil3.so()(64bit)
provider: nss-util.x86_64 3.21.0-2.el6
依赖: libk5crypto.so.3()(64bit)
provider: krb5-libs.x86_64 1.10.3-57.el6
依赖: libplc4.so()(64bit)
provider: nspr.x86_64 4.11.0-1.el6
依赖: librt.so.1(GLIBC_2.2.5)(64bit)
provider: glibc.x86_64 2.12-1.192.el6
依赖: libplds4.so()(64bit)
provider: nspr.x86_64 4.11.0-1.el6
依赖: libdl.so.2()(64bit)
provider: glibc.x86_64 2.12-1.192.el6
依赖: libnss3.so()(64bit)
provider: nss.x86_64 3.21.0-8.el6
依赖: libc.so.6(GLIBC_2.7)(64bit)
provider: glibc.x86_64 2.12-1.192.el6
依赖: libcom_err.so.2()(64bit)
provider: libcom_err.x86_64 1.41.12-22.el6
依赖: librt.so.1()(64bit)
provider: glibc.x86_64 2.12-1.192.el6
依赖: libssl3.so()(64bit)
provider: nss.x86_64 3.21.0-8.el6
依赖: libsmime3.so()(64bit)
provider: nss.x86_64 3.21.0-8.el6
依赖: libnspr4.so()(64bit)
provider: nspr.x86_64 4.11.0-1.el6
依赖: libidn.so.11()(64bit)
provider: libidn.x86_64 1.18-2.el6
依赖: rtld(GNU_HASH)
provider: glibc.i686 2.12-1.192.el6
provider: glibc.x86_64 2.12-1.192.el6
依赖: libcurl = 7.19.7-52.el6
provider: libcurl.x86_64 7.19.7-52.el6
provider: libcurl.i686 7.19.7-52.el6
2.7 安装 软件包
yum install 软件包
yum -y install httpd
yum install --downloadonly --downloaddir=[download_dir] [package]
通过此命令来只下载包,但不安装包
yum localinstall /path/*.rpm
# 通过yum管理器,安装本地rpm包
2.8 卸载/移除 软件包
yum remove 软件包名
Y 公网YUM源
-
CENTOS 官方主页
https://www.centos.org/ -
CENTOS 邮件列表
https://wiki.centos.org/zh/GettingHelp/ListInfo -
CENTOS 论坛
https://forums.centos.org/ -
CENTOS 文档
https://docs.centos.org/ -
CENTOS Wiki
https://wiki.centos.org/zh/ -
CENTOS 镜像列表
https://www.centos.org/download/mirrors/
阿里云 yum源/镜像站
-
base
-
updates
-
extras
-
centosplus
-
contrib
清华 yum源/镜像站
base
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
updates
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
extras
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
centosplus
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
中国科技大学 yum源/镜像站
https://mirrors.ustc.edu.cn/centos/
163 yum源/镜像站
https://mirrors.163.com/centos/