博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux(CentOS)软件管理(2)- yum 在线安装
阅读量:6256 次
发布时间:2019-06-22

本文共 12010 字,大约阅读时间需要 40 分钟。

手动安装RPM包时,解决依赖性问题是一个非常大的麻烦。如果所有RPM包都是用手工安装,则RPM包的使用难道较大。因此,Red Hat 系列推出了 “yum 在线安装” 方法。
yum 在线安装优点:将所有软件包放在官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。

一、yum 源配置文件

1. 位置

/etc/yum.repos.d/CentOS-Base.repo

2. 内容实例(CentOS7)

[root/etc/yum.repos.d]$cat CentOS-Base.repo# CentOS-Base.repo[base]name=CentOS-$releasever - Basemirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#released updates[updates]name=CentOS-$releasever - Updatesmirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful[extras]name=CentOS-$releasever - Extrasmirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages[centosplus]name=CentOS-$releasever - Plusmirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/gpgcheck=1enabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

3. 说明

\ 说明
[base] 容器名称,一定要放在[]中
name 容器说明,可以自己随便写
mirrorlist 镜像站点
baseurl yum源服务器地址
enabled 此容器是否生效。不写或者enable=1生效,enable=0不生效
gpgcheck RPM数字证书是否生效。1:生效;0:不生效
gpgkey RPM数字证书公钥文件保存位置。一般不要修改。

关于 baseurl

baseurl 默认是CentOS官方的yum源服务器地址。是可以使用的,但是由于是国外网址,可能会出现访问较慢的问题,这时可以替换成其他yum源服务器地址。

常用yum源服务器地址

\ 地址
网易
搜狐
清华大学
中国科学技术大学
更多开源镜像见【四、常用的Linux国内开源镜像站整理】

4. 清除 yum 缓存

yum 会下载容器的清单到本机的
/var/cache/yum 中,当我们修改了容器的网址却没有修改容器的名称时,可能会造成本机缓存中的列表与yum服务其中的列表不同步,此时就会出现无法更新的问题。
这种情况下,就需要清除 yum 缓存。

命令

yum clean [packages|headers|all]

参数

packages:删除已下载的软件缓存文件
headers:删除已下载的软件文件头缓存
all:删除所有的容器缓存数据

实例

[root/var/cache/yum/x86_64/7]$yum clean packagesLoaded plugins: fastestmirrorCleaning repos: base extras updates0 package files removed[root/var/cache/yum/x86_64/7]$yum clean headersLoaded plugins: fastestmirrorCleaning repos: base extras updates0 header files removed[root/var/cache/yum/x86_64/7]$yum clean allLoaded plugins: fastestmirrorCleaning repos: base extras updatesCleaning up everythingMaybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed reposCleaning up list of fastest mirrors

5. 列出当前 yum 服务器的所有容器

命令

yum repolist all

实例

[vagrant~]$yum repolist allLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.huaweicloud.comrepo id                            repo name                         statusC7.0.1406-base/x86_64              CentOS-7.0.1406 - Base            disabledC7.0.1406-centosplus/x86_64        CentOS-7.0.1406 - CentOSPlus      disabled...省略...base/7/x86_64                      CentOS-7 - Base                   enabled: 9,911base-debuginfo/x86_64              CentOS-7 - Debuginfo              disabledbase-source/7                      CentOS-7 - Base Sources           disabled...省略...extras/7/x86_64                    CentOS-7 - Extras                 enabled:   291extras-source/7                    CentOS-7 - Extras Sources         disabledfasttrack/7/x86_64                 CentOS-7 - fasttrack              disabledupdates/7/x86_64                   CentOS-7 - Updates                enabled:   626updates-source/7                   CentOS-7 - Updates Sources        disabledrepolist: 10,828

6. yum-fastestmirror 插件

对centos系统管理员来说,yum绝对是个好东西,只可惜,官方yum源的速度实在让人不敢恭维,而非官方的yum源又五花八门,让人难以取舍。幸运的是,yum-fastestmirror插件弥补了这一缺陷:自动选择最快的yum源。

安装

yum -y install yum-fastestmirror

配置文件

/etc/yum/pluginconf.d/fastestmirror.conf/var/cache/yum/timedhosts.txt #yum镜像的速度测试记录文件

二、使用光盘搭建yam源

在没有网络的情况下,我们就无法使用 yum 在线安装。这时,我们可以使用光盘搭建 yum 源。

1. 挂载光盘

  • 插入光盘
  • 建立挂载点
[root/dev]$mkdir /mnt/cdrom
  • 挂载光盘
[root/dev]$mount /dev/cdrom /mnt/cdrom/mount: /dev/sr0 is write-protected, mounting read-only

2. 使网络yum源失效

  • 进入 /etc/yum.repos.d 目录,修改网络yum源文件后缀名,使其失效
[root~]$cd /etc/yum.repos.d/[root/etc/yum.repos.d]$mv CentOS-Base.repo CentOS-Base.repo.bak

3. 使光盘yum源生效

[root/etc/yum.repos.d]$vim CentOS-Media.repo# CentOS-Media.repo[c7-media]name=CentOS-$releasever - Mediabaseurl=file:///mnt/cdrom   # 地址为光盘挂载地址#        file:///media/CentOS/ # 注释掉不存在的地址#        file:///media/cdrom/#        file:///media/cdrecorder/gpgcheck=1enabled=1 # 将enabled=0改为enabled=1,让这个yum源文件生效gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

4. 可以使用 yum list 命令查看光盘yum源中的可用软件包

三、yum 常用命令

1. 查询

yum [list|info|search|provides|whatprovides] [参数]

查询所有可用软件包列表

yum list
yum list installed 可以查看所有已安装的软件

使用通配符匹配查询可用软件包列表

yum list [pattern]
  • 实例
[root~]$yum list g?nc-[a-e]*Loaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.huaweicloud.com * updates: mirrors.sohu.comAvailable Packagesgvnc-devel.i686                      0.7.0-3.el7                   basegvnc-devel.x86_64                    0.7.0-3.el7                   base

查询服务器上可供本机进行升级的软件列表

yum list updates
  • 实例
[root/etc/yum.repos.d]$yum list updatesLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.huaweicloud.comUpdated PackagesNetworkManager.x86_64                       1:1.10.2-14.el7_5               updatesNetworkManager-libnm.x86_64                 1:1.10.2-14.el7_5               updatesNetworkManager-ppp.x86_64                   1:1.10.2-14.el7_5               updates...省略...

搜索服务器上所有与关键字相关的包

yum search [关键字]yum search all [关键字]

实例

[root~]$yum search fastestmirrorLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.huaweicloud.com==================================== N/S matched: fastestmirror ====================yum-plugin-fastestmirror.noarch : Yum plugin which chooses fastest repository from a mirrorlist  Name and summary matches only, use "search all" for everything.[root~]$yum search all fastestmirrorLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.huaweicloud.com==================================== Matched: fastestmirror ========================yum-plugin-fastestmirror.noarch : Yum plugin which chooses fastest repository from a mirrorlist

2. 安装

语法

yum -y install [包名]

选项

-y:提示是否安装依赖时,自动回答yes
install:安装

实例

[root~]$yum install -y gccLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.huaweicloud.combase                                                                | 3.6 kB  00:00:00extras                                                              | 3.4 kB  00:00:00...省略...Resolving Dependencies--> Running transaction check---> Package gcc.x86_64 0:4.8.5-28.el7 will be updated--> Processing Dependency: gcc = 4.8.5-28.el7 for package: gcc-c++-4.8.5-28.el7.x86_64...省略...---> Package libstdc++-devel.x86_64 0:4.8.5-28.el7_5.1 will be an update--> Finished Dependency ResolutionDependencies Resolved======================================================================================= Package          Arch          Version     Repository       Size=======================================================================================Updating: gcc            x86_64    4.8.5-28.el7_5.1    updates     16 MUpdating for dependencies: cpp            x86_64    4.8.5-28.el7_5.1    updates     5.9 M...省略...Transaction Summary=========================================================================================Upgrade  1 Package (+8 Dependent packages)Total download size: 32 MDownloading packages:Delta RPMs disabled because /usr/bin/applydeltarpm not installed.(1/9): gcc-4.8.5-28.el7_5.1.x86_64.rpm                               |  16 MB  00:00:03(2/9): libgcc-4.8.5-28.el7_5.1.i686.rpm                              | 108 kB  00:00:00...省略...(9/9): gcc-c++-4.8.5-28.el7_5.1.x86_64.rpm                           | 7.2 MB  00:00:06----------------------------------------------------------------------------------------Total                                                       4.9 MB/s |  32 MB  00:00:06Running transaction checkRunning transaction testTransaction test succeededRunning transactionWarning: RPMDB altered outside of yum.  Updating   : libgcc-4.8.5-28.el7_5.1.x86_64                         1/18  Updating   : libstdc++-4.8.5-28.el7_5.1.x86_64                      2/18...省略...  Cleanup    : libgomp-4.8.5-28.el7.x86_64                            18/18  Verifying  : libgomp-4.8.5-28.el7_5.1.x86_64                        1/18  Verifying  : libstdc++-4.8.5-28.el7_5.1.i686                        2/18  ...省略...  Verifying  : libstdc++-4.8.5-28.el7.i686                            18/18Updated:  gcc.x86_64 0:4.8.5-28.el7_5.1Dependency Updated:  cpp.x86_64 0:4.8.5-28.el7_5.1         gcc-c++.x86_64 0:4.8.5-28.el7_5.1       libgcc.i686 0:4.8.5-28.el7_5.1                libgcc.x86_64 0:4.8.5-28.el7_5.1     libgomp.x86_64 0:4.8.5-28.el7_5.1  libstdc++.i686 0:4.8.5-28.el7_5.1     libstdc++.x86_64 0:4.8.5-28.el7_5.1     libstdc++-devel.x86_64 0:4.8.5-28.el7_5.1Complete!

3. 升级

在生产服务器中,除非当前软件版本有重大的BUG,否则尽量不对软件进行升级
使用
yum -y update [包名] 命令时要极其谨慎,若未输入
包名,命令会变成
yum -y update,该命令
升级所有包同时也升级软件和系统内核,有可能造成系统重启甚至崩溃!

语法

yum -y update [包名]yum -y upgrade [包名]

选项

-y:提示是否安装依赖时,自动回答yes
update:更新,后面接要更新的软件,否则将会更新所有包,改变软件设置和系统设置,更新系统版本内核
upgrade:升级,后面接要升级的软件,否则将会升级所有包。

4. 卸载

在生产服务器中,服务器应使用最小化安装,用什么软件装什么软件,尽量不卸载

语法

yum -y remove [包名]

选项

-y:提示是否安装依赖时,自动回答yes
remove:卸载软件

实例

[root~]$yum -y remove zipLoaded plugins: fastestmirrorResolving Dependencies--> Running transaction check---> Package zip.x86_64 0:3.0-11.el7 will be erased--> Finished Dependency ResolutionDependencies Resolved=========================================================================================== Package        Arch        Version         Repository          Size===========================================================================================Removing: zip            x86_64      3.0-11.el7      installed           796 kTransaction Summary===========================================================================================Remove  1 PackageInstalled size: 796 kDownloading packages:Running transaction checkRunning transaction testTransaction test succeededRunning transaction  Erasing    : zip-3.0-11.el7.x86_64                                1/1  Verifying  : zip-3.0-11.el7.x86_64                                1/1Removed:  zip.x86_64 0:3.0-11.el7

5. yum 软件组管理命令

列出所有可用软件组列表

yum grouplist
  • 实例
[root~]$yum grouplistLoaded plugins: fastestmirrorThere is no installed groups file.Maybe run: yum groups mark convert (see man yum)Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.huaweicloud.com * updates: mirrors.sohu.comAvailable Environment Groups:   Minimal Install   Compute Node   Infrastructure Server   File and Print Server   Basic Web Server   Virtualization Host   Server with GUI   GNOME Desktop   KDE Plasma Workspaces   Development and Creative WorkstationAvailable Groups:   Compatibility Libraries   Console Internet Tools   Development Tools   Graphical Administration Tools   Legacy UNIX Compatibility   Scientific Support   Security Tools   Smart Card Support   System Administration Tools   System ManagementDone

安装指定软件组,组名可以有grouplist查询出来

yum groupinstall [软件组名]

卸载指定软件组

yum groupremove [软件组名]

四、常用的Linux国内开源镜像站整理

【阿里云开源镜像站】:

【华为开源镜像站】:

【网易开源镜像站】:

【搜狐开源镜像站】:

【清华大学开源软件镜像站】:

【中国科学技术大学开源镜像站】:

【上海大学开源镜像站】:

【浙江大学开源镜像站】:

【上海交通大学开源镜像站】:

【重庆大学开源软件镜像站】:

【南京大学开源镜像站】:

【南京邮电大学开源软件镜像站】:

【东软信息学院开源镜像站】:

【兰州大学开源社区镜像站】:

转载地址:http://rmnsa.baihongyu.com/

你可能感兴趣的文章
南京大学周志华教授当选欧洲科学院外籍院士
查看>>
计算机网络与Internet应用
查看>>
Mars说光场(3)— 光场采集
查看>>
Django 文件下载功能
查看>>
走红日本 阿里云如何能够赢得海外荣耀
查看>>
qt 学习之路2
查看>>
线上应用故障排查之二:高内存占用
查看>>
第四次作业
查看>>
异常处理汇总 ~ 修正果带着你的Code飞奔吧!
查看>>
BFS --- 素数环
查看>>
PCIE_DMA:xapp1052学习笔记
查看>>
python ----字符串基础练习题30道
查看>>
uva-10879-因数分解
查看>>
python 调用aiohttp
查看>>
Spring Boot中使用MyBatis注解配置详解
查看>>
linux下文件的一些文件颜色的含义
查看>>
跨域iframe高度自适应(兼容IE/FF/OP/Chrome)
查看>>
如何花更少的时间学习更多的知识
查看>>
学习鸟哥的Linux私房菜笔记(8)——文件查找与文件管理2
查看>>
升级fedora 18到fedora 19
查看>>