Linux(centos8)下的yum的基本用法和实例 Linux配置yum源

时间:2024-01-26 08:50:03

yum 命令

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

 

yum 语法

yum [options] [command] [package ...]
  • options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
  • command:要进行的操作。
  • package操作的对象。

 

选项

-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。

参数

#常的命令
install:安装rpm软件包; update:更新rpm软件包; check-update:检查是否有可用的更新rpm软件包; remove:删除指定的rpm软件包; list:显示软件包的信息; search:检查软件包的信息; info:显示指定的rpm软件包的描述信息和概要信息; clean:清理yum过期的缓存; shell:进入yum的shell提示符; resolvedep:显示rpm软件包的依赖关系; localinstall:安装本地的rpm软件包; localupdate:显示本地rpm软件包进行更新; deplist:显示rpm软件包的所有依赖关系。 alias 列出或创建命令别名 autoremove 删除所有原先因为依赖关系安装的不需要的软件包 check 在包数据库中寻找问题 check-update 检查是否有软件包升级 clean 删除已缓存的数据 deplist 列出软件包的依赖关系和提供这些软件包的源 distro-sync 同步已经安装的软件包到最新可用版本 downgrade 降级包 group 显示或使用组信息 help 显示一个有帮助的用法信息 history 显示或使用事务历史 info 显示关于软件包或软件包组的详细信息 install 向系统中安装一个或多个软件包 list 列出一个或一组软件包 makecache 创建元数据缓存 mark 在已安装的软件包中标记或者取消标记由用户安装 的软件包。 module 与模块交互。 provides 查找提供指定内容的软件包 reinstall 重装一个包 remove 从系统中移除一个或多个软件包 repolist 显示已配置的软件仓库 repoquery 搜索匹配关键字的软件包 repository-packages 对指定仓库中的所有软件包运行命令 search 在软件包详细信息中搜索指定字符串 shell 运行交互式的DNF终端 swap 运行交互式的 DNF 终端以删除或者安装 spec 描述文件 updateinfo 显示软件包的参考建议 upgrade 升级系统中的一个或多个软件包 upgrade-minimal 升级,但只有“最新”的软件包已修复可能影响你 的系统的问题 插件命令列表: builddep Install build dependencies for package or spec file changelog 查看软件包的改变日志数据 config-manager 管理 dnf 配置选项和软件仓库 copr 与 Copr 仓库交互 debug-dump 转储已安装的 RPM 软件包信息至文件 debug-restore 恢复调试用转储文件中的软件包记录 debuginfo-install 安装调试信息软件包 download 下载软件包至当前目录 needs-restarting 判断所升级的二进制文件是否需要重启 playground 与 Playground 仓库交互。 repoclosure 显示仓库中未被解决的依赖关系的列表 repodiff 列出两组仓库中的不同 repograph 以点线图方式输出完整的软件包依赖关系图 repomanage 管理 RPM 软件包目录 reposync 下载远程仓库中的全部软件包

 

 

安装

yum install              #全部安装
yum install package1     #安装指定的安装包package1
yum groupinsall group1   #安装程序组group1

更新和升级

yum update               #全部更新
yum update package1      #更新指定程序包package1
yum check-update         #检查可更新的程序
yum upgrade package1     #升级指定程序包package1
yum groupupdate group1   #升级程序组group1

查找和显示

yum info package1      #显示安装包信息package1
yum list               #显示所有已经安装和可以安装的程序包
yum list package1      #显示指定程序包安装情况package1
yum groupinfo group1   #显示程序组group1信息yum search string 根据关键字string查找安装包

删除程序

yum remove | erase package1   #删除程序包package1
yum groupremove group1             #删除程序组group1
yum deplist package1               #查看程序package1依赖情况

清除缓存

yum clean packages       #清除缓存目录下的软件包
yum clean headers        #清除缓存目录下的 headers
yum clean oldheaders     #清除缓存目录下旧的 headers
yum clean all #清除全部缓存目录

 

 

 

国内yum源:

 

  阿里:http://mirrors.aliyun.com

 

  网易:http://mirrors.163.com

 

  中科大:http://mirrors.ustc.edu.cn/

 

查看yum源配置

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

 

 

 

 

 

 

 

 

[base]           #仓库名称
name=            #仓库描述
mirrorlist=      #仓库镜像路径
baseurl=         #仓库url路径
enabled=         #仓库是否启用,1表示启用,0表示关闭
gpgcheck=1       #密钥检测,1表示开启,0表示关闭
gpgkey=          #检查key的地址,如果上面不检查,这个可以不写

 

 

 

 

 

 

 

1、yum源配置(网络):

  1.1先备份原有的yum源:

[root@alliancehacker ~]# mkdir -p /root/back
[root@alliancehacker ~]# mv /etc/yum.repos.d/CentOS-Base.repo  /root/back/CentOS-Base.repo.back

1.2下载新的yum源(阿里):

// 因为我这是centos8,源就选择了Centos-8.repo
[root@alliancehacker ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

 

 

1.3清除原有yum缓存:

[root@localhost ~]# yum clean all

1.4生成新的缓存:

[root@localhost ~]# yum makecache

1.5添加多个网络源:

#在 /etc/yum.repo.d 中有几个文件夹,每个文件夹就是一个源的配置文件。#例如:
#(一)local.repo(本地源,名字随意取)
[local]
name=local
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
#(二)163.repo(163的源)
[163]
name=163
baseurl=http://mirrors.163.com/centos/7.5.1804/os/x86_64/
gpgcheck=0
enabled=1
#这里要注意的是,baseurl这一项,你要到http://mirrors.163.com/centos这里,去找到你对应的redhat版本的目录,然后点os、再点x86_64(一般都有),然后用你地址栏上显示的网址替换上面的baseurl就行了,保存退出。

 

1.6命令补充

希望下面的信息,可回答你的问题:
1. 查询当前repo(全部、启用的、禁用的)

yum repolist [all|enabled|disabled]

 

安装软件,并指定你不要使用的repo

yum –-disablerepo=repository-name install nagios

 

从设定为禁用(enabled=0)的repo中,安装软件

yum --enablerepo=epel install nagios

 

在某1个repo设定中,指定你要排除的软件包名称

exclude=nagios

 

如果多个repo中,某1个软件有多个版本存在, 可在安装时候,指定版本

yum install httpd-2.4.6-6

 

 

 2、yum源配置(本地):

2.1下载ISO文件

从CentOS的官网下载CentOS的完整版iso文件,并上传到Linux文件系统中,例如/opt/tools/。

2.2为ISO创建一个挂载目录

1 mkdir /mnt/vcdrom

2.3将ISO文件挂载到挂载目录

mount -o loop -t iso9660 /opt/tools/CentOS-7-x86_64-bin-DVD1.iso /mnt/vcdrom

 

2.4移除或备份原yum源Centos-Base.repo文件

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

 

2.5配置Centos-Media.repo文件

[root@localhost ~]# cat /etc/yum.repos.d/CentOS-Media.repo 
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/vcdrom/           #将baseurl修改为DVD的挂载目录
gpgcheck=0                            #关闭密钥检测
enabled=1                             #启用仓库
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

 

2.6清除原有yum缓存:

[root@localhost ~]# yum clean all

 

2.7生成新的缓存:

[root@localhost ~]# yum makecache

 

2.8编写脚本开机自动挂载镜像

[root@localhost ~]#vim /opt/shell/mymount.sh
#!/bin/bash
#
mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom

 

2.9修改脚本权限:

[root@localhost ~]#chmod 777 /opt/shell/mymount.sh

2.10修改/etc/rc.local配置文件,在文件最后一行加上 /opt/shell/mymount.sh

[root@localhost ~]#vim /etc/rc.local
/opt/shell/mymount.sh

2.11重启服务器测试:

[root@localhost ~]# reboot

 

 

实例1:使用yum安装php7

 

参考:php7.3安装@centos7

https://www.itgeeker.net/php7-3-yum-install-on-centos-7/

 

https://dl.fedoraproject.org/pub/epel/
http://rpms.remirepo.net/enterprise
自己上这个网址上找到自己的版本,然后替换就行了,可能有的源会失效的,到时自己找一下可用的吧
#添加几个源,不然会报错
#php高版本的yum源地址,有两部分,其中一部分是epel-release,另外一部分来自webtatic。如果跳过epel-release的话,安装webtatic的时候
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-8.rpm

 

 

 

 安装你想要的扩展

yum --enablerepo=remi install php73-php php73-php-pear php73-php-bcmath php73-php-pecl-jsond-devel php73-php-mysqlnd php73-php-gd php73-php-common php73-php-fpm php73-php-intl php73-php-cli php73-php php73-php-xml php73-php-opcache php73-php-pecl-apcu php73-php-pdo php73-php-gmp php73-php-process php73-php-pecl-imagick php73-php-devel php73-php-mbstring php73-php-zip php73-php-ldap php73-php-imap php73-php-pecl-mcrypt

 

 运行并查看版本, 重启命令, 添加自动启动,链接php文件

# The current PHP memory limit is below the recommended value of 512MB.
vi /etc/opt/remi/php73/php.ini
memory_limit = 512M

#如果你运行的是nginx而不是apache,修改
vi /etc/opt/remi/php73/php-fpm.d/www.conf
user = apache
group = apache
# Replace the values with
user = nginx
group = nginx

 

卸载所有php7.3

 

yum remove php73-php*