当前位置:   article > 正文

CentOS 7中软件安装与创建私有yum源仓库

/dev/sr0 4.3g 4.3g 0 100% /run/media/root/centos 7 x86_64

创建yum私有库

简述

​ 在Linux系统中安装软件的方法有三种,分别是rpm软件包安装、yum源安装与源代码编译安装,在用rpm软件包安装软件时会经常出现依赖性问题,导致安装繁琐,用源代码编译安装就更不用说了,相信很多小伙伴也都感受过源代码编译安装的各种花样报错,导致精神崩溃,因此我们在Linux操作系统中安装软件的首先方法就是利用yum源安装软件。

​ yum是一个基于rpm的软件包管理器,它包含一些命令:查找、安装、删除----软件包。使用yum安装软件包它可以自动查找软件包,包括软件安装需要依赖的软件也会一并查找,一并安装,这样我们在Linux操作系统中安装软件时就会十分便捷,节省时间,提高工作效率。

yum安装软件命令

  • yum命令格式

    yum 选项... 软件名...

    yum常用命令

    命令选项功能
    yuminstall安装软件
    yumlist查看yum仓库
    yumremcve删除软件
    yumclean all清除yum缓存
  1. [root@localhost ~]# yum install httpd -y //安装httpd软件
  2. 已加载插件:fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. * base: mirrors.163.com
  5. * extras: mirror.bit.edu.cn //安装程序
  6. * updates: mirrors.163.com
  7. 正在解决依赖关系
  8. --> 正在检查事务
  9. ---> 软件包 httpd.x86_64.0.2.4.6-89.el7.centos.1 将被 安装
  10. --> 解决依赖关系完成
  11. ...//省略部分内容
  1. [root@localhost ~]# yum remove httpd -y //删除软件httpd
  2. 已加载插件:fastestmirror, langpacks
  3. 正在解决依赖关系 //删除程序
  4. --> 正在检查事务
  5. ---> 软件包 httpd.x86_64.0.2.4.6-89.el7.centos.1 将被 删除
  6. --> 解决依赖关系完成
  7. 依赖关系解决
  8. ======================================================================================
  9. Package 架构 版本 源 大小
  10. ======================================================================================
  11. 正在删除:
  12. httpd x86_64 2.4.6-89.el7.centos.1 @updates 9.4 M
  13. ...//省略部分内容

yum安装缺点

​ 我们利用yum安装软件时,是从yum源中查找软件并安装的,而yum源的获取是通过网络获取到的,当我们我发连接网络时就无法获取yum源,同样也就无法利用yum安装软件。

​ 这里我们就来创建私有yum源,在没有网络的情况下利用这个私有yum源来安装软件。

私有yum源的创建

环境准备

创建私有yum源

  • 首先将VMware 15中将Linux操作系统选为仅主机模式,使Linux系统断开网络连接。
  • 配置Linux系统静态IP地址,使虚拟机Linux与宿主机互联互通
    1. [root@localhost ~]# ifconfig //查看IP地址
    2. ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    3. ether 00:0c:29:7f:a1:d7 txqueuelen 1000 (Ethernet)
    4. RX packets 15974 bytes 4142830 (3.9 MiB)
    5. RX errors 0 dropped 0 overruns 0 frame 0 //选择仅主机模式后IP地址消失
    6. TX packets 9256 bytes 4506567 (4.2 MiB)
    7. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  //进入编辑网卡信息
  1. TYPE="Ethernet"
  2. PROXY_METHOD="none"
  3. BROWSER_ONLY="no"
  4. BOOTPROTO="static" //更改DHCP(自动获取IP地址)为static(静态地址)
  5. DEFROUTE="yes"
  6. IPV4_FAILURE_FATAL="no"
  7. IPV6INIT="yes"
  8. IPV6_AUTOCONF="yes"
  9. IPV6_DEFROUTE="yes"
  10. IPV6_FAILURE_FATAL="no"
  11. IPV6_ADDR_GEN_MODE="stable-privacy"
  12. NAME="ens33"
  13. UUID="773ac053-aac5-45f7-a4f6-f303909c59b9"
  14. DEVICE="ens33"
  15. ONBOOT="yes"
  16. IPADDR="192.168.100.100" //输入配置IP地址
  17. NETMASK="255.255.255.0" //输入配置子网掩码
  18. GATEWAY="192.168.100.1" //输入配置默认网关
  19. ~
  20. ~
  21. ~
  22. ~
  23. ~
  24. :wq //输入:wq保存退出
  1. [root@localhost ~]# service network restart //重启网络服务
  2. Restarting network (via systemctl): [ 确定 ]
  3. [root@localhost ~]# ifconfig //查看网卡配置信息,看是否是我们配置的IP地址
  4. ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  5. inet 192.168.100.100 netmask 255.255.255.0 broadcast 192.168.100.255
  6. inet6 fe80::c3bf:8b4e:14be:5e89 prefixlen 64 scopeid 0x20<link>
  7. ether 00:0c:29:7f:a1:d7 txqueuelen 1000 (Ethernet)
  8. RX packets 15974 bytes 4142830 (3.9 MiB)
  9. RX errors 0 dropped 0 overruns 0 frame 0
  10. TX packets 9443 bytes 4538764 (4.3 MiB)
  11. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  • 这个时候我们在查看yum源的时候就会出现提示,找不到yum源(如果能加载出来软件包就是缓存没有清除,可以用yum clean all命令清除缓存在查看)。
  1. [root@localhost ~]# yum list //查看yum源
  2. 已加载插件:fastestmirror, langpacks
  3. Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
  4. 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
  5. One of the configured repositories failed (未知), //出现错误提示
  6. ...//省略部分内容...
  • 下面就来创建私有yum源仓库,通过Centos 7.4映像文件挂载到Linux系统中,使用映像文件中的软件包来创建私有yum源仓库
  • 在虚拟机光驱中添加映像文件路径,使Linux操作系统可以读取到映像文件。

CentOS 7中软件安装与创建私有yum源仓库

  • 在Linux操作中查看映像文件是否挂载。
  1. [root@localhost ~]# df -h //查看目前文件系统的空间使用情况
  2. 文件系统 容量 已用 可用 已用% 挂载点
  3. /dev/sda2 20G 4.3G 16G 22% /
  4. devtmpfs 1.9G 0 1.9G 0% /dev
  5. tmpfs 1.9G 0 1.9G 0% /dev/shm
  6. tmpfs 1.9G 9.0M 1.9G 1% /run
  7. tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
  8. /dev/sda5 10G 50M 10G 1% /home
  9. /dev/sda1 2.0G 174M 1.9G 9% /boot
  10. tmpfs 378M 4.0K 378M 1% /run/user/42
  11. tmpfs 378M 28K 378M 1% /run/user/0
  12. /dev/sr0 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64 //Centos 7.4映像文件挂载在光盘中
  • 这个时候Centos 7.4映像文件我们是无法直接使用的,我们需要把Centos 7.4映像文件挂载到Linux操作系统目录下才能正常使用,我们可以找一个空目录,把Centos 7.4映像文件挂载到目录。
  1. [root@localhost dev]# ls /mnt //查看mnt目录下是否有文件
  2. [root@localhost dev]#
  • 我们来把光驱挂载到mnt目录中,这样光驱中的Centos 7.4映像文件我们才能使用。
  1. [root@localhost dev]# mount /dev/sr0 /mnt ///dev/sr0挂载到目录mnt
  2. mount: /dev/sr0 写保护,将以只读方式挂载 //挂载成功
  1. [root@localhost dev]# df -h //查看目前文件系统的空间使用情况
  2. 文件系统 容量 已用 可用 已用% 挂载点
  3. /dev/sda2 20G 4.3G 16G 22% /
  4. devtmpfs 1.9G 0 1.9G 0% /dev
  5. tmpfs 1.9G 0 1.9G 0% /dev/shm
  6. tmpfs 1.9G 9.0M 1.9G 1% /run
  7. tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
  8. /dev/sda5 10G 50M 10G 1% /home
  9. /dev/sda1 2.0G 174M 1.9G 9% /boot
  10. tmpfs 378M 4.0K 378M 1% /run/user/42
  11. tmpfs 378M 28K 378M 1% /run/user/0
  12. /dev/sr0 4.3G 4.3G 0 100% /mnt //成功添加挂点
  • 这个时候再次查看mnt目录下面是否有文件
  1. [root@localhost dev]# ls /mnt //查看mnt目录
  2. CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
  3. EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
  4. EULA isolinux repodata TRANS.TBL //显示镜像文件内容
  • 查看Packages目录内容,看是否有我们需要的软件包。
  1. [root@localhost dev]# cd /mnt/Packages/ //进入Packages目录
  2. [root@localhost Packages]# ls //查看目录内容
  3. 389-ds-base-1.3.6.1-16.el7.x86_64.rpm
  4. 389-ds-base-libs-1.3.6.1-16.el7.x86_64.rpm
  5. abattis-cantarell-fonts-0.0.25-1.el7.noarch.rpm
  6. abrt-2.1.11-48.el7.centos.x86_64.rpm
  7. abrt-addon-ccpp-2.1.11-48.el7.centos.x86_64.rpm
  8. abrt-addon-kerneloops-2.1.11-48.el7.centos.x86_64.rpm
  9. abrt-addon-pstoreoops-2.1.11-48.el7.centos.x86_64.rpm
  10. abrt-addon-python-2.1.11-48.el7.centos.x86_64.rpm //显示目录内软件包
  11. abrt-addon-vmcore-2.1.11-48.el7.centos.x86_64.rpm
  12. abrt-addon-xorg-2.1.11-48.el7.centos.x86_64.rpm
  13. abrt-cli-2.1.11-48.el7.centos.x86_64.rpm
  14. ...//省略部分内容
  • 在Packages中有我们需要安装软件时的软件包,下面我们就来吧packages创建为yum源,这样我们才能通过yum完成软件的安装。我们先将yum源配置目录中信息移动到新建的目录中(yum源配置目录中的信息这个时候是没用的,这些信息是连接网络后可以用的 配置信息,我们现在没有连接网络,这些配置信息就没有作用,但不要删掉它们,创建新目录放起来就可以了,注意:系统默认的配置文件都不要删除。)
  1. [root@localhost Packages]# cd /etc/yum.repos.d/ //进入yum.repos.d目录
  2. [root@localhost yum.repos.d]# ls //查看目录内容
  3. CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
  4. CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
  5. [root@localhost yum.repos.d]# mkdir aaa //创建aaa目录
  6. [root@localhost yum.repos.d]# mv CentOS* aaa //将yum.repos.d中所有CentOS文件移动到aaa目录
  7. [root@localhost yum.repos.d]# cd aaa //进入aaa目录
  8. [root@localhost aaa]# ls //查看信息
  9. CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
  10. CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
  • 下面来创建yum私有仓库
  1. [root@localhost yum.repos.d]# vim abc.repo //创建以.repo为结尾的新文件,并编辑文件内容
  2. [abc] //输入中括号,在中括号内输入文件名,就是我们创建的文件的名称
  3. name=tast //输入name=tast描述性信息,我这边就填写的tast(测试),可自行填写
  4. baseurl=file:///mnt //输入源的站点信息(如果不是放在mnt中的可自行更改目录)
  5. enabled=1 //输入信息,数字1代表开启yum源,0代表关闭
  6. gpgcheck=0 //输入是否检测公匙钥(官方密钥),0代表关闭,1代表开启
  7. ~
  8. ~
  9. ~
  10. :wq //保存并退出
  • 这个时候我们再来查看yum仓库列表就会看到yum源信息,这样我们就可以正常是同yum源来安装软件了。
  1. [root@localhost yum.repos.d]# yum list
  2. 已加载插件:fastestmirror, langpacks
  3. abc | 3.6 kB 00:00:00
  4. (1/2): abc/group_gz | 156 kB 00:00:00
  5. (2/2): abc/primary_db | 3.1 MB 00:00:00
  6. Loading mirror speeds from cached hostfile
  7. 已安装的软件包
  8. GConf2.x86_64 3.2.6-8.el7 @anaconda
  9. GeoIP.x86_64 1.5.0-11.el7 @anaconda
  10. ModemManager.x86_64 1.6.0-2.el7 @anaconda
  11. ModemManager-glib.x86_64 1.6.0-2.el7 @anaconda
  12. ...//省略部分内容
  • 我们来用创建的yum源来安装软件,看是否成功。
  1. [root@localhost yum.repos.d]# yum install httpd -y //用yum源安装httpd程序
  2. 已加载插件:fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. 正在解决依赖关系 //成功安装程序
  5. --> 正在检查事务
  6. ---> 软件包 httpd.x86_64.0.2.4.6-67.el7.centos 将被 安装
  7. --> 正在处理依赖关系 httpd-tools = 2.4.6-67.el7.centos,它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
  8. --> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
  9. ...//省略部分内容
  10. [root@localhost ~]# rpm -q httpd //查看已安装httpd软件信息
  11. httpd-2.4.6-67.el7.centos.x86_64 //显示已安装的httpd软件信息
  • 刚刚我们用yum源安装的httpd就是apache服务器,下面我们用宿主机访问Linux IP地址看是否能访问网站,先来配置宿主机vmnat1网卡信息,使宿主机与虚拟机Linux操作系统相互通信。

CentOS 7中软件安装与创建私有yum源仓库

  • 在虚拟机Linux操作系统中开启httpd服务器,并关闭防火墙。
  1. [root@localhost ~]# systemctl start httpd //开启httpd服务
  2. [root@localhost ~]# systemctl stop firewalld.service //关闭防火墙
  • 在宿主机中打开浏览器,并输入虚拟机Linux操作系统IP地址,访问网页。

CentOS 7中软件安装与创建私有yum源仓库

成功访问网页。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号