保存 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. “知疫”疫情防控可视化平台——NABCD分析

    "知疫"疫情防控可视化平台 项目 内容 这个作业属于那个课程 2021春季学期软件工程(罗杰.任健) 这个作业的要求在哪里 初次邂逅,需求分析 1 NABCD分析 NEED 目前多 ...

  2. Buuctf刷题:部分

    get_started_3dsctf_2016 关键词:ROP链.栈溢出.mprotect()函数 可参考文章(优质): https://www.cnblogs.com/lyxf/p/12113401 ...

  3. 让你的Windows/Linux玩上Switch!

    1 前言 某天在Github上面看到了两个Switch的模拟器: yuzu Ryujinx 于是就想动手想尝试一下在Linux上面玩上Switch. 本文首先简单介绍一下两个模拟器,接着是两个模拟器的 ...

  4. Go-08-函数与指针

    Go语言的函数本身可以作为值进行传递,既支持匿名函数和闭包,又能满足接口. 函数声明 func 函数名 (参数列表)(返回参数列表){ // 函数体 } func funcName(parameter ...

  5. Day14_76_反射与静态语句块

    反射与静态语句块 * 获取class对象与静态语句块的关系 package com.shige.Reflect; import java.nio.channels.ClosedSelectorExce ...

  6. ingress controller 和ingress使用实例

    ingress controller安装 k8s集群版本:1.15+ 官方文档: https://kubernetes.github.io/ingress-nginx/ 创建基础配置 kubectl ...

  7. Android so库文件的区节section修复代码分析

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78818917 一.Android so库文件的节表secion修复方案整理 1.简 ...

  8. DVWA之Brute Force(暴力破解)

    目录 Low Medium High Impossible 暴力破解是指使用穷举法,举出所有的可能的结果,然后逐一验证是否正确! Low 源代码: <?php if( isset( $_GET[ ...

  9. POJ2669不错的最大流 竞赛问题(枚举King的个数)

    题意:       有n个人,任意两个人都比一次赛(一共比了n*(n-1)/2场),赢一场得到一分,最后的时候如果得分最高,或者是自己打败了所有比自己得分都高的人就算是King,给你每个人的最后得分, ...

  10. Python爬虫之-动态网页数据抓取

    什么是AJAX: AJAX(Asynchronouse JavaScript And XML)异步JavaScript和XML.过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意 ...