创建yum私有库
简述
 在Linux系统中安装软件的方法有三种,分别是rpm软件包安装、yum源安装与源代码编译安装,在用rpm软件包安装软件时会经常出现依赖性问题,导致安装繁琐,用源代码编译安装就更不用说了,相信很多小伙伴也都感受过源代码编译安装的各种花样报错,导致精神崩溃,因此我们在Linux操作系统中安装软件的首先方法就是利用yum源安装软件。
 yum是一个基于rpm的软件包管理器,它包含一些命令:查找、安装、删除----软件包。使用yum安装软件包它可以自动查找软件包,包括软件安装需要依赖的软件也会一并查找,一并安装,这样我们在Linux操作系统中安装软件时就会十分便捷,节省时间,提高工作效率。
yum安装软件命令
- yum命令格式 - yum 选项... 软件名...
yum常用命令
| 命令 | 选项 | 功能 | 
|---|---|---|
| yum | install | 安装软件 | 
| yum | list | 查看yum仓库 | 
| yum | remcve | 删除软件 | 
| yum | clean all | 清除yum缓存 | 
[root@localhost ~]# yum install httpd -y                //安装httpd软件
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirror.bit.edu.cn                           //安装程序
 * updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-89.el7.centos.1 将被 安装
--> 解决依赖关系完成
...//省略部分内容
[root@localhost ~]# yum remove httpd -y                  //删除软件httpd
已加载插件:fastestmirror, langpacks
正在解决依赖关系                                            //删除程序
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-89.el7.centos.1 将被 删除
--> 解决依赖关系完成
依赖关系解决
==============================================================================================
 Package         架构             版本                               源                  大小
==============================================================================================
正在删除:
 httpd           x86_64           2.4.6-89.el7.centos.1              @updates           9.4 M
...//省略部分内容
yum安装缺点
 我们利用yum安装软件时,是从yum源中查找软件并安装的,而yum源的获取是通过网络获取到的,当我们我发连接网络时就无法获取yum源,同样也就无法利用yum安装软件。
 这里我们就来创建私有yum源,在没有网络的情况下利用这个私有yum源来安装软件。
私有yum源的创建
环境准备
- 计算中安装VMware15
- VMware 15中安装Centos 7.4操作系统Centos 7.4映像文件
- Centos 7.4操作系统安装方法 VMware中安装Linux
创建私有yum源
- 首先将VMware 15中将Linux操作系统选为仅主机模式,使Linux系统断开网络连接。
- 配置Linux系统静态IP地址,使虚拟机Linux与宿主机互联互通
[root@localhost ~]# ifconfig                                  //查看IP地址
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:7f:a1:d7  txqueuelen 1000  (Ethernet)
        RX packets 15974  bytes 4142830 (3.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0          //选择仅主机模式后IP地址消失
        TX packets 9256  bytes 4506567 (4.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  //进入编辑网卡信息
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"                            //更改DHCP(自动获取IP地址)为static(静态地址)
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="773ac053-aac5-45f7-a4f6-f303909c59b9"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.100.100"                      //输入配置IP地址
NETMASK="255.255.255.0"                       //输入配置子网掩码
GATEWAY="192.168.100.1"                       //输入配置默认网关
~
~
~
~
~
:wq                                           //输入:wq保存退出
[root@localhost ~]# service network restart        //重启网络服务
Restarting network (via systemctl):                        [  确定  ]
[root@localhost ~]# ifconfig                       //查看网卡配置信息,看是否是我们配置的IP地址
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.100  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::c3bf:8b4e:14be:5e89  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:7f:a1:d7  txqueuelen 1000  (Ethernet)
        RX packets 15974  bytes 4142830 (3.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9443  bytes 4538764 (4.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
- 这个时候我们在查看yum源的时候就会出现提示,找不到yum源(如果能加载出来软件包就是缓存没有清除,可以用yum clean all命令清除缓存在查看)。
[root@localhost ~]# yum list                   //查看yum源
已加载插件:fastestmirror, langpacks
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
 One of the configured repositories failed (未知),       //出现错误提示
...//省略部分内容...
- 下面就来创建私有yum源仓库,通过Centos 7.4映像文件挂载到Linux系统中,使用映像文件中的软件包来创建私有yum源仓库
- 在虚拟机光驱中添加映像文件路径,使Linux操作系统可以读取到映像文件。

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

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

成功访问网页。
创建yum私有库的更多相关文章
- iOS 创建本地私有库 保存功能代码
		创建本地私有库 >>> cd /Users/cxx/Desktop/Mange_JJH/Lib >>> pod lib create TZTools >> ... 
- 从零开始创建CocoaPods私有库
		为什么要创建CocoaPods私有库? 避免重复的造轮子 节约时间,方便管理自己的代码 精益求精 创建CocoaPods私有库 1.创建私有仓库工程 执行命令pod lib create SmartB ... 
- iOS:最详细的创建CocoaPods私有库教程
		一.感慨 说实话,创建这个CocoaPods私有库,我愣是搞了两个星期,创建的过程中,自己的感情波动是这样的:激情四射---->有点困惑----->极度困惑----->有点失望--- ... 
- 创建Pods私有库
		Pods私有库创建步骤 创建私有 Spec Repo 创建Pod项目工程文件 创建podspec文件 本地测试podsspec文件 向Spec Repo提交podspec Pod库使用 更新维护pos ... 
- 创建Cocoapods私有库
		本文以自己在公司做的一个手势密码私有库GesturePasswordKit为例说明. 1.在gitlab(或者github,我这里使用的例子是在gitlab上)上创建git仓库 (确保授权正确,避免后 ... 
- 系统基础优化( 创建yum私有仓库最详细操作及解释 )
		目录 系统基础优化 一.Linux中安装软件的方式 安装方式 三种安装方式的区别 二.RPM安装☆ 1.安装及其他命令 2.手动下载软件包,可将其拖入shell中自动传入 1).手动网页下载软件包 2 ... 
- iOS组件化开发入门 —— 提交自己的私有库
		前言:本人也是初次接触组件化开发,感觉现有的资料太繁杂,就简单整理了一下,在此跟大家分享一些入手的经验,主要就是描述cocoapods的私有库封装和提交.组件化开发是个大的议题,涉及到架构思路.设计模 ... 
- 制作CocoaPods公有库和私有库
		认识公有库和私有库 公有库:开源自己封装的库供别人使用,且往cocoaPods的官方Repo仓库(即CocoaPods Master Repo)中新增自己库的索引,该库索引是以*.podspec.js ... 
- 工具第二天  cocoaPods 私有库的创建
		之前介绍了cocoaPods的安装与使用,今天简单谈一下 自己的私有库运用cocoaPods依赖. cd到需要做库的工程目录下 创建一个podspec文件 创建:pod spec create 名称 ... 
随机推荐
- AD 常用策略-修改本地管理员密码,禁用非administrator帐户,删除非administrator帐户
			这个是用启动脚本实现的. 我放在计算机策略下了. 另存为VBS格式即可 修改第三行“123qwe!@#”,引号中的就是你的新密码. 一:禁用非administrator帐户 strComputer = ... 
- Github克隆代码慢问题解决办法
			参考:https://blog.csdn.net/stone8761/article/details/79072148 https://blog.csdn.net/github_37847975/ar ... 
- AWS 数据传输加速(八)
			AWS CloudFront 概述 一个CDN服务,加快网页和其它下载全球分布式网络缓存服务器 CloudFront通过全球性的边缘站点将内容缓存到世界各地实现CDN 在更邻近的位置提供更低的延迟,更 ... 
- mysql left join 右表数据不唯一的情况解决方法
			mysql left join 右表数据不唯一的情况解决方法 <pre>member 表id username1 fdipzone2 terry member_login_log 表id ... 
- 2019.12.12 Java的多线程&匿名类
			Java基础(深入了解概念为主) 匿名类 定义 Java匿名类很像局部或内联系,只是没有明细.我们可以利用匿名类,同时定义并实例化一个类.只有局部类仅被使用一次时才应该这么做. 匿名类不能有显式定义的 ... 
- Ordered Neurons: Integrating Tree Structures Into Recurrent Neural Networks
			这是一篇发表在ICLR2019上的论文,并且还是ICLR2019的Best paper之一.该论文提出了能够学习树结构信息的ON-LSTM模型,这篇论文的开源代码可以在GitHub找到. 自然语言都是 ... 
- 如何使用C++实现单链表
			线性表--链表 为什么假期也在发文章 //TODO NullGirlfrindException 请忽略以上两行无聊的事实...... 如何弥补顺序表的不足之处? 第一次学习线性表一定会马上接触到一种 ... 
- [SourceTree] - 使用内置 Git 克隆项目出现 templates not found 问题之解决
			背景 使用 SourceTree 克隆 Asp.Net Core 项目失败. 错误 warning: templates not found C:\Program Files\Git\share\gi ... 
- JUC之原子类
			在分析原子类之前,先来了解CAS操作 CAS CAS,compare and swap的缩写,中文翻译成比较并交换. CAS 操作包含三个操作数 —— 内存位置(V).预期原值(A)和新值(B).如果 ... 
- UVALive-8201-BBP Formula
			8201-BBP Formula Time limit: 3.000 seconds In 1995, Simon Plouffe discovered a special summation sty ... 
