本地下载的软件包制作成本地repo源并使用apache发布

2023-10-31

背景
在前面的博客中,介绍了如何使用apt-mirror同步远程的repo源。
本文将介绍如何利用本地已经缓存的软件包制作成本地repo源,并对外提供源服务。

应用目标
在应用中,有时候会遇到类似问题:远程的软件源太慢,而如果同步远程的软件源到本地,又会消耗大量的数据存储(一个完整的软件源可能超过1T),而大部分的软件源实际上不需要用到。
如果:
只需要一个最小的软件源,这个软件包含了所需要安装的所有软件包的依赖库,那是一件多么令人欣喜的事!
这时候,就需要本地缓存的软件包。

原理
软件在安装的时候,会扫描Header并自动下载依赖的所有软件包以及运行库,并缓存到/var/cache/apt/archives中。通过dpkg-dev这工具可以将这些包打包成本地repo源。

步骤

$ sudo apt-get install dpkg-dev

等配置好后,在/下建立一个目录software作为软件包的存放地点,或者放在硬盘中任意位置。
将/var/cache/apt/archives中的所有软件包拷贝到这个文件夹里。
执行以下命令,进行软件源的制作

$ sudo dpkg-scanpackages /software /dev/null | gzip>/software/Packages.gz

等待系统扫描完所有的软件包后,会返回命令行,并且在software文件夹中生成一个名为Packages.gz的压缩文件,存有这个文件夹中的软件包信息及其依赖关系。
如此,本地repo源制作成功。

使用方法
1、仅本地使用
这种用途基本没太大的用途,可用于验证Repo源是否正常。

$ sudo gedit /etc/apt/sources.list

删除所有内容,添加

deb file:/// software/
Packages.gz文件中包含deb包的绝对路径信息
根路径 根路径到Packages的路径
保存。

打开终端,输入

$ sudo apt-get update

以更新本地的软件包列表

然后可以用apt-get命令安装本地源中含有的软件包或者执行

$ sudo apt-get dist-upgrade

命令更新系统。

2、对外提供repo源服务
原理:使用Apache对外提供服务

$ ln -s /software  /var/www/html/software
$ sudo gedit /etc/apt/sources.list

删除所有内容,添加

deb http://192.168.206.170/ software/

然后就可以进行 update 跟 upgrade ,测试这个repo源是否成功了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

本地下载的软件包制作成本地repo源并使用apache发布 的相关文章

随机推荐

  • Linux中gcc的详解用法及其可重定位目标文件

    1 gcc组成 gcc是一组编译工具的总称 包括 C编译器 C 编译器 源码预处理程序和库文件 2 gcc编译 1 生成一个程序 gcc hello c o hello 把hello c编译成一个可执行程序 如果gcc hello c 不指
  • 第五届模式识别与人工智能国际会议-PRAI 2022

    第五届模式识别与人工智能国际会议 PRAI 2022 将于2022年8月19 21日在四川成都召开 PRAI 2022 本次会议由成都理工大学主办 IEEE 上海交通大学 天津大学 电子科技大学 西安微电子技术研究所 四川轻化工大学 江苏大
  • 有什么不违法却赚钱的野路子?

    昨天音乐账号挣了561多 无需才艺不用露脸 方法分享给大家 赶紧收藏起来 只需要找到近期热度比较高的歌曲 搜集各个爆火的翻唱版本 将它们拼剪成一个视频发布到今日头条上面 只要视频有播放量 今日头条就会给你收益 一万的播放量可以获得几十块钱不
  • 指令延迟隐藏

    一 指令延迟隐藏 1 延迟和延迟隐藏 指令延迟指计算指令从调度到指令完成所需的时钟周期 如果在每个时钟周期都有就绪的线程束可以被执行 此时GPU处于满符合状态 指令延迟被GPU满负荷计算状态所掩盖的现象称为延迟隐藏 延迟隐藏对GPU编程开发
  • 安装docker报错

    安装docker报错如下 解决办法 rm f var run yum pid
  • Kubernetes -K8S安装部署及SpringCloud应用

    k set image deploy kubia nodejs luksa kubia v2 一 Kubernetes 一键安装Kubernetes集群 集群方案 使用三台物理机或VMware虚拟机来搭建集群环境 一台主控服务器 两台工作节
  • 微信报错:40001: invalid credential, access_token is invalid or not latest rid: xxx(附带存储access_token代码)

    我使用的是redis作为存储服务器 来存储access token 代码亲测没有任何问题 在做微信公众号模板推送的时候用到了access token 但是有时推送成功 有时失败 报错显示为 40001 invalid credential
  • unity中vs编辑代码时没有自动补全的解决方案之一

    点击 unity编辑器中的 Edit选项 gt preferences gt External Tools 把选项改成这个就ok
  • Lambda 实战-集合分组统计

    package com lingoace edu util import lombok Data import java util ArrayList import java util List import java util LongS
  • ◆考试题目◆◇NOIP模拟赛◇turtle(乌龟)

    NOIP模拟赛 turtle Description 一只乌龟由于智商低下 它只会向左或向右走 不过它会遵循主人小h的指令 F 向前走一步 T 掉头 现在小h给出一串指令 由于小h有高超的计算能力 他可以马上知道乌龟最后走到哪里 为了难倒小
  • bitlocker 恢复密钥

    开机出现问题 需要bitlocker 恢复密钥 登录Microsoft官网自己的账号 我的Microsoft账户 有问题电脑的详细信息 登录 找到对应密钥填入
  • STANet基于时空自注意力的神经网络--变化检测模型

    STANet基于时空自注意力的神经网络检测模型 A spatial temporal attention based method and a new dataset for remote sensing image change dete
  • C#----使用继承选择器创建继承窗体

    欢迎大家提出意见 一起讨论 转载请标明是引用于 http blog csdn net chenyujing1234 代码 VS2008 http www rayfile com zh cn files 68b23066 9aab 11e1
  • mos管驱动电路设计

    对于开关电源来说 驱动电路作为控制电路和功率电路的接口 其作用至关重要 本文就将详细探讨开关电源的驱动电路的参数设计以及驱动芯片的选型 常用的mos管驱动电路结构如图1所示 驱动信号经过图腾柱放大后 经过一个驱动电阻Rg给mos管驱动 其中
  • 集合nim(C++)

    题目 给定 n 堆石子以及一个由 k 个不同正整数构成的数字集合 S 现在有两位玩家轮流操作 每次操作可以从任意一堆石子中拿取石子 每次拿取的石子数量必须包含于集合 S 最后无法进行操作的人视为失败 问如果两人都采用最优策略 先手是否必胜
  • RFID标签打印机在加工制造业中的应用

    1 行业背景 在物联网家电制造 机械制造 电子元器件 电器等产品加工制造行业中 通常都需要打印标签直接贴到产品上 如 铭牌标签 条码序列号标签 合格证标签 电路图标签 RFID标签等等 传统的部分企业的这些标签是印刷后粘贴到产品上 但是随着
  • 从小白到专家的五个阶段,你处在哪里?

    专家和新手的区别在哪里 每一个程序员都有一个梦想 成为领域内的专家 专家和新手有什么不同 1970年代左右 德雷福斯兄弟通过对飞行员 国际著名象棋大师的技能习得进行研究 他们发现专家和新手在技能调用上有很大的不同 并提出了德雷福斯模型 Dr
  • OpenStack中glance对接swift

    OpenStack中glance对接swift 一 环境介绍 二 查看数据库中glance相关信息 1 查询数据库glance用户密码 2 登录数据库 3 查询glance相关数据库 4 查询glance数据库表 5 查询image loc
  • HikariCP MBean (JMX) Monitoring and Management

    The JMX MBean for HikariCP exposes Idle Connection count Active Connections in use Total Connections The number of threa
  • 本地下载的软件包制作成本地repo源并使用apache发布

    背景 在前面的博客中 介绍了如何使用apt mirror同步远程的repo源 本文将介绍如何利用本地已经缓存的软件包制作成本地repo源 并对外提供源服务 应用目标 在应用中 有时候会遇到类似问题 远程的软件源太慢 而如果同步远程的软件源到