CentOS7中yum命令详解,本地源,在线源,混合源

目录

Linux系统中常用的软件包管理工具

yum详解

yum常见的目录

yum的本地源和在线源

本地源特点

安装本地源步骤

安装本地源具体演示

http方式安装本地源实验 

​编辑ftp方式安装本地源实验

在线源特点

安装在线源

混合源:本地源和在线源混合在一起,在一个配置文件

yum命令语法和常用用法


Linux系统中常用的软件包管理工具

  1. apt-get:Debian和Ubuntu系统中常用的软件包管理工具,通过命令行进行软件包的安装、更新和卸载。

  2. yum:适用于Red Hat、CentOS等RPM包管理系统的软件包管理工具,也是通过命令行进行软件包的安装、更新和卸载。

  3. dnf:Fedora系统中的软件包管理工具,是yum的后续版本,提供更快的包管理速度和更好的依赖关系解决方案。

  4. zypper:适用于openSUSE和SUSE Linux Enterprise系统的软件包管理工具,通过命令行进行软件包的安装、更新和卸载。

  5. pacman:适用于Arch Linux系统的软件包管理工具,也是通过命令行进行软件包的安装、更新和卸载。

  6. snap:一种跨发行版的软件打包和分发系统,它可以在不同的Linux发行版上安装相同的软件包,通过命令行进行软件包的安装、更新和卸载。

  7. tar:是一种Linux系统中的归档工具,用于将多个文件或目录打包成一个单独的文件(通常是.tar文件)。tar可以压缩和解压缩文件,也可以在打包时指定压缩方法(例如gzip、bzip2等)。tar的命令格式为:tar [options] [file(s)]。

                tar常用参数说明

                        -c:创建打包文件

                        -v:显示指令执行过程

                        -f:指定文件

                        -r:向已经存在的打包文件中添加文件

                        -x:还原文件

                        -t:列出备份文件的内容

                tar常用用法

                        打包命令:tar -cvf [打包文件名] [待打包文件或目录]

                        解包命令:tar -xvf [打包文件名]

                        压缩命令:tar -czvf [压缩文件名] [待压缩文件或目录]

                        解压缩命令:tar -xzvf [压缩文件名]

                        添加文件命令:tar -rvf [打包文件名] [待添加文件或目录]

                        查看打包文件内容命令:tar -tvf [打包文件名]

        8. rpm:一种Linux系统中的软件包管理工具,用于安装、升级和删除.rpm格式的软件包。

                用rpm时需要先对rpm包所需的依赖包yum下载,需要手动下载 RPM 文件并提供给 RPM 工具进行操作。

错误示例

[root@master Packages]# rpm -ivh tomcat-lib-7.0.76-7.el7_5.noarch.rpm
error: Failed dependencies:
        apache-commons-collections is needed by tomcat-lib-0:7.0.76-7.el7_5.noarch
        apache-commons-dbcp is needed by tomcat-lib-0:7.0.76-7.el7_5.noarch
        apache-commons-pool is needed by tomcat-lib-0:7.0.76-7.el7_5.noarch
        ecj >= 1:4.2.1 is needed by tomcat-lib-0:7.0.76-7.el7_5.noarch
        tomcat-el-2.2-api = 0:7.0.76-7.el7_5 is needed by tomcat-lib-0:7.0.76-7.el7_5.noarch
        tomcat-jsp-2.2-api = 0:7.0.76-7.el7_5 is needed by tomcat-lib-0:7.0.76-7.el7_5.noarch
        tomcat-servlet-3.0-api = 0:7.0.76-7.el7_5 is needed by tomcat-lib-0:7.0.76-7.el7_5.noarch
 

                rpm可以查询软件包的信息、检查软件包的完整性和签名。

                rpm的命令格式为:rpm [options] [command] [package]

                rpm常见的参数说明

                        -i:安装软件包

                        -U:升级系统中已安装的软件包

                        -e:卸载/删除软件包

                        -q:查询软件包的信息

                                -qa:列出系统中所有已安装的软件包

                                -qf:通过指定文件路径查询与之关联的软件包

                                -qi:显示软件包的详细信息

                                -ql:列出软件包安装的文件列表

                                -qR:显示软件包的依赖关系

                        -v:验证软件包

                                -vf:验证指定文件是否属于某个软件包

                                -va:验证系统中所有已安装的软件包

                        --relocate:重新安装软件包到不同的目录

                        --nodeps:在安装或卸载软件包时忽略依赖关系检查

                        --force:强制执行操作,即使可能会导致问题

                        --test:模拟操作,而不实际执行

                        --help:获取更多详细的帮助信息

简单来说yum用于从软件仓库中下载和安装软件包,tar用于打包和压缩文件,rpm用于管理.rpm格式的软件包。

yum详解

yum是一种Linux系统中的软件包管理工具,用于从指定的软件仓库中下载、安装、升级和删除软件包。

yum可以自动处理软件包间的依赖关系,并在安装或升级软件包时自动下载并安装所需的依赖项。

相当于rpm方式的升级。

yum支持配置多个不同的软件仓库,并可以通过配置插件来扩展其功能。库的形式:本地仓库(光盘镜像)、在线仓库(第三方提供)

元数据:所有的安装包的位置以及安装之间的依赖关系,都保存在元数据当中。

yum常见的目录

yum主配置文件:/etc/yum.conf

yum日志文件:/var/log/yum.log

yum仓库配置文件目录:/etc/yum.repos.d/

yum缓存目录:/var/cache/yum/

yum的本地源和在线源

        yum安装必须要有库,库里面的包都是rpm格式的包。配置文件在 /etc/yum.repos.d/ 目录下,每个rpeo配置文件代表一个yum软件源。本地源与在线源都在这里配置

[root@xxtg ~]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo

 查看系统中可用的 yum 软件源:yum repollist 

yum repolist 会遍历 /etc/yum.repos.d/ 目录下的所有 .repo 文件,显示启用(enable)的软件源。

[root@xxtg ~]# yum repolist
Loaded plugins: fastestmirror, langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * extras: ftp.sjtu.edu.cn
 * updates: mirrors.aliyun.com
repo id                                                    repo name                                                   status
!base/7/x86_64                                             CentOS-7 - Base                                             10,072
!extras/7/x86_64                                           CentOS-7 - Extras                                              518
!updates/7/x86_64                                          CentOS-7 - Updates                                           5,527
repolist: 16,117

 其中,Base 软件源提供了 CentOS 7 的基本软件包,而 Extras 软件源和 Updates 软件源分别提供了额外的软件包和安全更新。

在上面的显示中,Base 软件源中有 10072 个软件包可用,而 Updates 软件源中则有 5527 个软件包可用,可用的软件包总数为 16117。

本地源特点

本地源是指将软件包存储在本地服务器或计算机上,供系统使用。这些软件包可以是操作系统的安装介质、更新补丁或其他软件包。

特点:本地源不需要互联网连接;安装软件包速度快;本地源可以通过验证和审查软件包的完整性和来源,提供更高的安全性保障;本地源需要手动更新软件包,可能相对更新延迟;需要足够的存储空间来存储软件包。

安装本地源步骤

1、准备一个包含 CentOS 安装光盘或 ISO 镜像的目录

2、创建一个新的 Yum 仓库配置文件。在终端中使用文本编辑器(如 vi 或 nano)打开一个新文件,命名为 "文件名.repo"

3、在该repo文件中添加以下内容:

[local]

name=Local Yum Repository

baseurl=file:///path/to/your/directory

enabled=1

gpgcheck=0

这个 /path/to/your/directory 为包含 CentOS 安装光盘或 ISO 镜像的目录的实际路径。

这个配置文件指定了一个本地仓库,它使用 file:/// 协议指向本地目录,并且禁用了 GPG 校验(此处为演示目的,实际按情况考虑是否启用 GPG 校验来确保软件包的完整性)。

4、运行以下命令以清除 Yum 缓存并重建仓库缓存:

sudo yum clean all && yum makecache

安装本地源具体演示

#将光盘驱动器的设备文件挂载到目录 /mnt 上,使得光盘中的内容在文件系统中可访问
[root@xxtg ~]# mount /dev/cdrom /mnt/

#为方便演示,将/etc/yum.repos.d/目录下的文件删除
[root@xxtg ~]# cd /etc/yum.repos.d
[root@xxtg yum.repos.d]# rm -rf *

#编写本地源
[root@xxtg yum.repos.d]# vim local.repo
[local]
#标签,必须和文件名一一对应
name=123
#描述文件信息,可以随便填
baseurl=file:///mnt
#指定镜像的目录,挂载光盘镜像的挂载点
gpgcheck=0
#不检查软件的序列号,加快寻找依赖关系和安装速度
enable=1
#开启此yum源,默认就是开启,可以不加

#清除 Yum 缓存并重建仓库缓存
[root@xxtg yum.repos.d]# yum clean all && yum makecache

#测试一下,下载安装 tree
[root@xxtg yum.repos.d]# yum -y install tree
========================================================================================
 Package      Arch           Version              Repository             Size
========================================================================================
Installing:
 tree         x86_64         1.6.0-10.el7          local                  46 k

Transaction Summary
========================================================================================
#可以看到用的是本地源

http方式安装本地源实验 

虚拟机1:172.16.80.12

虚拟机2:172.16.80. 13

虚拟机1(172.16.80.12):
[root@xxtg ~]# systemctl stop firewalld
[root@xxtg ~]# setenforce 0

#安装http,编写本地yum源
[root@xxtg ~]# yum -y install httpd
[root@xxtg ~]# systemctl start httpd.service
[root@xxtg ~]# cd /etc/yum.repos.d/
[root@xxtg yum.repos.d]# rm -rf *    #实验需要,删除其他repo
[root@xxtg yum.repos.d]# vim http.repo
[http]
name=321
baseurl=http://172.16.80.12/centos7
gpgcheck=0

#设置镜像
[root@xxtg yum.repos.d]# cd /var/www/html/
[root@xxtg html]# mkdir centos7
#如果/dev/cdrom和/mnt挂载了,解挂载:umount /dev/cdrom /mnt/
[root@xxtg html]# mount /dev/cdrom /var/www/html/centos7/
#在浏览器中访问172.16.80.12/centos7

#清除 Yum 缓存并重建仓库缓存
[root@xxtg html]# yum clean all && yum makecache

虚拟机2(172.16.80.13):
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# rm -rf *
[root@localhost yum.repos.d]# vim local.repo
[local]
name=111
baseurl=http://172.16.80.12/centos7
gpgcheck=0

[root@localhost yum.repos.d]# yum clean all && yum makecache
[root@localhost yum.repos.d]# yum -y install httpd    #测试
========================================================================================
 Package             Arch           Version                     Repository          Size
========================================================================================
Installing:
 httpd               x86_64         2.4.6-88.el7.centos         local              2.7 M
Installing for dependencies:
 apr                 x86_64         1.4.8-3.el7_4.1             local              103 k
 apr-util            x86_64         1.5.2-6.el7                 local               92 k
 httpd-tools         x86_64         2.4.6-88.el7.centos         local               90 k
 mailcap             noarch         2.1.41-2.el7                local               31 k

Transaction Summary
========================================================================================

在浏览器中访问172.16.80.12/centos7

ftp方式安装本地源实验

 虚拟机1:172.16.80.12

虚拟机2:172.16.80. 13

虚拟机1:
[root@xxtg ~]# systemctl stop firewalld
[root@xxtg ~]# setenforce 0
[root@xxtg ~]# yum -y install vsftpd
[root@xxtg ~]# cd /var/ftp/
[root@xxtg ftp]# mkdir vsftpd
[root@xxtg yum.repos.d]# mount /dev/cdrom /var/ftp/vsftpd/
[root@xxtg ftp]# cd /etc/yum.repos.d/
[root@xxtg yum.repos.d]# rm -rf *
[root@xxtg yum.repos.d]# vim vsftpd.repo
[vsftpd]
name=123
baseurl=ftp://172.16.80.12/vsftpd
gpgcheck=0

[root@xxtg yum.repos.d]# systemctl restart vsftpd

虚拟机2:
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# rm -rf *
[root@localhost yum.repos.d]# vim local.repo
[local]
name=111
baseurl=ftp://172.16.80.12/vsftpd
gpgcheck=0

[root@localhost yum.repos.d]# yum clean all && yum makecache
#测试
[root@localhost yum.repos.d]# yum -y install tree
========================================================================================
Package         Arch              Version                   Repository             Size
========================================================================================
Installing:
 tree            x86_64            1.6.0-10.el7              local                  46 k

Transaction Summary
========================================================================================

在线源特点

在线源是指通过互联网从远程服务器获取软件包。常见的例子包括官方软件库和第三方软件库。

特点:更新及时;使用方便;提供的软件包多样;依赖于互联网连接;需要注意源的可靠性和软件包的完整性,以避免下载到恶意软件或受损的软件。

安装在线源

[root@xxtg ~]# cd /etc/yum.repos.d/
[root@xxtg yum.repos.d]# ls
local.repo

#第一步骤:在 /etc/yum.repos.d/ 目录下载 aliyun yum源repo文件
[root@xxtg yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo

[root@xxtg yum.repos.d]# ls
Centos-7.repo  local.repo

#第二步骤:
[root@xxtg yum.repos.d]# yum clean all && yum makecache

混合源:本地源和在线源混合在一起,在一个配置文件

[root@xxtg ~]# systemctl stop firewalld
[root@xxtg ~]# setenforce 0
[root@xxtg ~]# mount /dev/cdrom /mnt/

[root@xxtg ~]# cd /etc/yum.repos.d/
[root@xxtg yum.repos.d]# rm -rf * 
[root@xxtg yum.repos.d]# vim fixed
[fixed]
#这个是本地的
name=123
baseurl=file:///mnt
gpgcheck=0
enabled=1
priority=1

[test]
#在线的
name=321
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
enable=1
priority=2
#priority代表的是优先级。数字越小优先级越高


[root@xxtg yum.repos.d]# yum clean all && yum makecache

yum命令语法和常用用法

yum的命令格式为:yum [options] [command] [package]

常用选项

        -y:在执行操作时自动回答 "yes",不需要用户确认。

        -q:静默模式,只显示关键信息,不输出冗长的详细日志。

        -v:显示详细的操作日志。

        -h:显示帮助信息。

常用命令

#常用命令
yum install <package_name>:安装指定的软件包。

yum update <package_name>:更新指定的软件包。

yum remove <package_name>:卸载指定的软件包。

yum info <package_name>:获取指定软件包的详细信息。

yum list <package_name>:列出所有或指定软件包的信息。

yum search <keyword>:搜索软件包名称、简介或描述中包含指定关键词的软件包。

yum groupinstall <group_name>:安装指定的软件组。

yum groupupdate <group_name>:更新指定的软件组。

yum grouplist:列出所有可用的软件组。

yum check-update:检查所有已安装软件包是否有可用更新。

yum clean all:清除yum缓存,以释放磁盘空间。

yum makecache:建立新的yum源的缓存,创建yum源的元数据。

yum history:查看yum命令执行历史记录。

yum provides <filename>:查找提供指定文件名的软件包。

yum repolist:列出yum源的列表。

yum-config-manager:配置yum源。

  • 21
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在CentOS 7下,本地yum的配置可以通过以下步骤详解: 1. 首先,确保系统已安装了yum工具。如果尚未安装,可以使用以下命令安装: ``` sudo yum install yum -y ``` 2. 接下来,需要准备要用作本地yum的软件包文件。这些软件包文件可以从官方、其他或其他机器上复制得到。将软件包文件保存在某个目录下,例如/var/www/html目录。 3. 创建一个新的yum配置文件。使用文本编辑器(如vi或nano)打开/etc/yum.repos.d/local.repo文件(如果文件不存在,则可以创建它)。在文件添加以下内容: ``` [local] name=Local Repository baseurl=file:///var/www/html enabled=1 gpgcheck=0 ``` 这里的“[local]”是一个repo标识,可以根据需要自己命名。baseurl指定了本地软件包所在的目录路径,这里通过file://指定为本地文件。gpgcheck表示是否验证软件包的签名,默认为1表示开启验证,这里设置为0表示不验证。 注意:如果你的本地yum需要访问网络下载依赖软件包,可以将baseurl改成对应的网络地址。 4. 保存并退出文件。然后使用以下命令来清除yum缓存: ``` sudo yum clean all ``` 5. 现在可以使用yum命令来从本地安装软件包了。例如,要安装一个软件包可以使用以下命令: ``` sudo yum install package-name ``` 通过以上步骤,就可以在CentOS 7下配置并使用本地yum了。这样可以提高软件包的下载速度,同时也可以减少对外部网络的依赖,特别适用于没有或者网络环境不稳定的机器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值