保存 yum 下载的软件包并制作成本地 yum 源

实验对象

  • CentOS 7
  • yum 安装 nginx (nginx必须使用第三源才能安装;redhat8版本的则不需要,官网源自带nginx软件包)

一、配置第三方源

  1. 使用centos7自带的官方源查看是否有nginx安装包
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo
[root@localhost ~]# yum list nginx
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.ustc.edu.cn
* updates: mirrors.ustc.edu.cn
Error: No matching Packages to list #没有这个包
  1. 移除本地仓库
[root@localhost ~]# mv /etc/yum.repos.d/* /mnt/
[root@localhost ~]# ls /etc/yum.repos.d/
[root@localhost ~]#
  1. 配置第三方源
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
[root@localhost ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo epel.repo
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache

二、安装 nginx

  1. 查看是否有 nginx 安装包
[root@localhost ~]# yum list nginx
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Available Packages
nginx.x86_64 1:1.16.1-3.el7 epel
  1. 开启 yum 缓存
[root@localhost ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1 #修改为1 1表示开启缓存,执行 yum 安装会把软件包下载到本地,路径在 /var/cache/yum目录下。
debuglevel=2
logfile=/var/log/yum.log
......
保存退出
  1. 查找以 rpm 结尾的安装包,有就清除缓存,确保等会安装 nginx 完成后只有 nginx 以及相关的依赖包
[root@localhost ~]# find /var/cache/yum -name *.rpm
[root@localhost ~]#
  1. 安装 nginx
[root@localhost ~]# yum install -y nginx

三、制作本地 yum 源

  1. 安装完成后,查找以rpm结尾的软件包
[root@localhost ~]# find /var/cache/yum -name *.rpm
/var/cache/yum/x86_64/7/base/packages/centos-indexhtml-7-9.el7.centos.noarch.rpm
/var/cache/yum/x86_64/7/base/packages/dejavu-fonts-common-2.33-6.el7.noarch.rpm
/var/cache/yum/x86_64/7/base/packages/dejavu-sans-fonts-2.33-6.el7.noarch.rpm
/var/cache/yum/x86_64/7/base/packages/fontconfig-2.13.0-4.3.el7.x86_64.rpm
/var/cache/yum/x86_64/7/base/packages/fontpackages-filesystem-1.44-8.el7.noarch.rpm
/var/cache/yum/x86_64/7/base/packages/gperftools-libs-2.6.1-1.el7.x86_64.rpm
/var/cache/yum/x86_64/7/base/packages/libXau-1.0.8-2.1.el7.x86_64.rpm
/var/cache/yum/x86_64/7/base/packages/libXpm-3.5.12-1.el7.x86_64.rpm
/var/cache/yum/x86_64/7/base/packages/libjpeg-turbo-1.2.90-8.el7.x86_64.rpm
/var/cache/yum/x86_64/7/base/packages/libpng-1.5.13-8.el7.x86_64.rpm
/var/cache/yum/x86_64/7/base/packages/libxcb-1.13-1.el7.x86_64.rpm
/var/cache/yum/x86_64/7/updates/packages/freetype-2.8-14.el7_9.1.x86_64.rpm
/var/cache/yum/x86_64/7/updates/packages/gd-2.0.35-27.el7_9.x86_64.rpm
/var/cache/yum/x86_64/7/updates/packages/libX11-1.6.7-3.el7_9.x86_64.rpm
/var/cache/yum/x86_64/7/updates/packages/libX11-common-1.6.7-3.el7_9.noarch.rpm
/var/cache/yum/x86_64/7/epel/packages/nginx-1.16.1-3.el7.x86_64.rpm
/var/cache/yum/x86_64/7/epel/packages/nginx-all-modules-1.16.1-3.el7.noarch.rpm
/var/cache/yum/x86_64/7/epel/packages/nginx-filesystem-1.16.1-3.el7.noarch.rpm
/var/cache/yum/x86_64/7/epel/packages/nginx-mod-http-image-filter-1.16.1-3.el7.x86_64.rpm
/var/cache/yum/x86_64/7/epel/packages/nginx-mod-http-perl-1.16.1-3.el7.x86_64.rpm
/var/cache/yum/x86_64/7/epel/packages/nginx-mod-http-xslt-filter-1.16.1-3.el7.x86_64.rpm
/var/cache/yum/x86_64/7/epel/packages/nginx-mod-mail-1.16.1-3.el7.x86_64.rpm
/var/cache/yum/x86_64/7/epel/packages/nginx-mod-stream-1.16.1-3.el7.x86_64.rpm
/var/cache/yum/x86_64/7/epel/packages/openssl11-libs-1.1.1g-2.el7.x86_64.rpm
  • 以上这些包就是刚刚安装 nginx 以及相关的依赖包
  1. 将这些包复制到其他的空文件夹中
[root@localhost ~]# mkdir /opt/nginx
[root@localhost ~]# find /var/cache/yum -name *.rpm -exec cp -a {} /opt/nginx \;
[root@localhost ~]# ls /opt/nginx/
centos-indexhtml-7-9.el7.centos.noarch.rpm gd-2.0.35-27.el7_9.x86_64.rpm libXau-1.0.8-2.1.el7.x86_64.rpm nginx-mod-http-image-filter-1.16.1-3.el7.x86_64.rpm
dejavu-fonts-common-2.33-6.el7.noarch.rpm gperftools-libs-2.6.1-1.el7.x86_64.rpm libxcb-1.13-1.el7.x86_64.rpm nginx-mod-http-perl-1.16.1-3.el7.x86_64.rpm
dejavu-sans-fonts-2.33-6.el7.noarch.rpm libjpeg-turbo-1.2.90-8.el7.x86_64.rpm libXpm-3.5.12-1.el7.x86_64.rpm nginx-mod-http-xslt-filter-1.16.1-3.el7.x86_64.rpm
fontconfig-2.13.0-4.3.el7.x86_64.rpm libpng-1.5.13-8.el7.x86_64.rpm nginx-1.16.1-3.el7.x86_64.rpm nginx-mod-mail-1.16.1-3.el7.x86_64.rpm
fontpackages-filesystem-1.44-8.el7.noarch.rpm libX11-1.6.7-3.el7_9.x86_64.rpm nginx-all-modules-1.16.1-3.el7.noarch.rpm nginx-mod-stream-1.16.1-3.el7.x86_64.rpm
freetype-2.8-14.el7_9.1.x86_64.rpm libX11-common-1.6.7-3.el7_9.noarch.rpm nginx-filesystem-1.16.1-3.el7.noarch.rpm openssl11-libs-1.1.1g-2.el7.x86_64.rpm
  1. 使用 createrepo 命令制作本地yum源
[root@localhost ~]# yum install -y createrepo
[root@localhost ~]# cd /opt/nginx/
[root@localhost nginx]# createrepo ./
Spawning worker 0 with 12 pkgs
Spawning worker 1 with 12 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
  1. 打包
[root@localhost ~]# tar -zcf nginx.tar.gz /opt/nginx
[root@localhost ~]# ls
anaconda-ks.cfg nginx.tar.gz
  1. 将刚刚打包好的下载到本地,过程略

四、配置本地 nginx 源

  1. 测试是有 nignx 软件包
[root@localhost ~]# yum list nginx
Loaded plugins: fastestmirror
Error: No matching Packages to list
  1. 上传刚刚压缩的 nginx 压缩包,然后解压
[root@localhost ~]# ls
anaconda-ks.cfg nginx.tar.gz
[root@localhost ~]# tar -zxf nginx.tar.gz -C /opt/
[root@localhost ~]# ls /opt/
nginx
  1. 创建 yum 仓库
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim nginx.repo
[nginx]
name=nginx repo
baseurl=file:///opt/nginx
gpgcheck=0
enabled=1
保存退出
  1. 安装 nginx
[root@localhost ~]# yum list nginx
Loaded plugins: fastestmirror
nginx | 2.9 kB 00:00:00
nginx/primary_db | 19 kB 00:00:00
Determining fastest mirrors
Available Packages
nginx.x86_64 1:1.16.1-3.el7 nginx [root@localhost ~]# yum install -y nginx
[root@localhost ~]# rpm -qa nginx
nginx-1.16.1-3.el7.x86_64
  • 安装成功

保存 yum 下载的软件包并制作成本地 yum 源的更多相关文章

  1. 将CentOS配置成本地yum

    默认的yum是以网络来安装的,在没有网络或者网速不佳的情况下,通过yum来安装软件是意见非常痛苦的事情.其实对于CentOS DVD来说,里面提供的软件就足以满足我们的需要了,而且DVD里的软件版本都 ...

  2. CentOS 手动配置本地yum源(参考CentOS7 制作 CentOS6本地yum源)

    将原有/etc/yum.repos.d/目录下的文件名全部改为(*.bak),如(红色标记) [root@localhost ~]# cd /etc/yum.repos.d/ [root@localh ...

  3. CentOS 6.5 网络服务器功能的实现②:运用光盘(镜像)制作一个本地yum源

    在用Linux安装软件时(rpm安装方式),有时会出现“包依赖”的现象.因此,我们可以用yum工具来实现一次性安装所有rpm工具包的功能. 实例:在此服务器上用yum的方式安装DHCP服务和TFTP服 ...

  4. [开源类库/项目] android保存崩溃时的错误信息log至本地【源码+jar包+使用说...

    不知大家是否经常遇到这种情况:自己的项目有时会在没有连接到电脑时发生崩溃,好不容易发现的bug结果连接到电脑时又复现不出来了:又或者自己写的一个功能在开机启动时产生小bug导致崩溃,而刚启动的机器想让 ...

  5. 自己动手制作一个本地的yum仓库

    制作本地yum源有两种方式,第一种是使用光盘镜像,然后在本地进行安装.第二种是我们自己创建一个本地yum仓库,然后使用file的形式来向本地提供yum repo(也可以使用http的方式向外部提供,我 ...

  6. 利用yum下载rpm包并批量安装

    一.下载rpm包 方法一:downloadonly 1.yum自动下载RPM包及其所有依赖的包至/root/rpm目录: yum install yum-plugin-downloadonly yum ...

  7. linux软件管理之yum管理操作软件包

    什么是rpm 1.1`RPM` 全称 `RedHat Package Manager` 缩写,由红帽开发用于软件包的安装.升级.卸载与查询. 1.2rpm包名组成部分 `RPM` 包命名以-将软件分成 ...

  8. 配置本地 yum 仓库

    配置本地 yum 仓库 # yum 官网 http://yum.baseurl.org/ # yum 手册页 man yum man yum.conf SEE ALSO pkcon (1) yum.c ...

  9. 本地YUM仓库搭建实战

    YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软 ...

随机推荐

  1. [BFS]最优乘车

    最优乘车 题目描述 HH 城是一个旅游胜地,每年都有成千上万的人前来观光.为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴上线路.每条单程巴士线路从某个巴士站出发,依 ...

  2. M3D - 一个想突破又还有很多包袱的新生三维数据格式杂谈

    目录 1 门派 2 几个术语简析 3 结构简析 3.1 空间剖分方式 3.2 空间范围表示方式 4 M3DDataInfo.mcj 类定义 5 NodeInfo.json 类定义 6 *.m3d 文件 ...

  3. 谈谈SSRF漏洞挖掘

    最近看了很多ssrf漏洞挖掘技巧和自己以往挖掘ssrf漏洞的一些技巧和经验,简单的总结下: 之前自己总结的: ssrf=服务器端请求伪造 基于服务器攻击 url链接 -->内网漫游/内网服务探测 ...

  4. 反调试——Windows异常-SEH

    反调试--Windows异常-SEH 概念: SEH:Structured Exception Handling SEH是Windows默认的异常处理机制 如何使用 在代码中使用 __try​​__e ...

  5. 织梦seo

    建站-->采集文章-->sitemap-->robots->百度提交链接(主推和自动结合)-->后续优化 http://jingyan.baidu.com/article ...

  6. Python脚本扫描给定网段的MAC地址表(scapy或 python-nmap)

    目录 用scapy模块写 用 python-nmap 模块写 python3.7  windows环境 以下两个都可以扫描指定主机或者指定网段的 IP 对应的 MAC 地址,然后保存到 csv 文件中 ...

  7. 如何以最简单的方式安装 KALI 渗透测试框架系统

    0x01 第一步下载 KALI 百度搜索 KALI 官网,找到下载区,我选的是 64 位标准版,但是推荐下载 32 位(功能貌似更全) 这个为下载后的 iso 镜像文件 0x02 第二步打开虚拟机,配 ...

  8. 仁者见仁:缓冲区栈溢出之利用 Exploit 形成完整攻击链完全攻略(含有 PayLoad)

    > 前言 内存缓冲区溢出又名 Buffer OverFlow,是一种非常危险的漏洞,在各种操作系统和应用软件中广泛存在.利用缓冲区溢出进行的攻击,小则导致程序运行失败.系统宕机等后果,大则可以取 ...

  9. Python中根据库包名学习使用该库包

    目录 Python库包模块 import 语句 from-import 语句 搜索路径 PYTHONPATH 变量 命名空间和作用域 查看模块中所有变量和函数,以及查看具体函数的用法 globals( ...

  10. Redis—简单动态字符串(SDS)

    目录 Redis-简单动态字符串(SDS) SDS的定义 SDS与C字符串的区别 1. 常数复杂度获取字符串长度: 2. 杜绝缓冲区溢出: 3. 减少修改字符串时带来的内存重分配次数 4. 二进制安全 ...