搭建本地仓库源

news/2024/4/28 13:08:24/文章来源:https://blog.csdn.net/IT8343/article/details/130579759

 一、如何搭建仓库源

         之前讲了定制ISO的方法:使用chroot定制系统,但有时候我们想自定义的安装包不在上游的仓库源中,在我们本地应该怎么办呢?如果我们将deb包拷贝到iso目录再安装有点过于麻烦了,而且还可能需要手动处理一些依赖问题,因此我们可以考虑搭建一个本地或者说内网的仓库源,便于定制系统应用,以下是我创建的例子:

        创建文件夹,当作仓库源的根目录,然后在里面创建子目录或者直接放置deb也行,我这里下载了d-feet的deb安装包,解压之后修改了control文件中的版本和依赖,将版本号加1并新加了qdbus-qt5的依赖:

         然后重新生成了deb包:

dpkg -b d-feet_0.3.16-4_all/

        然后进入到deb目录下生成Packages文件:

sudo apt-ftparchive packages . > Packages

        最后生成Release文件:

sudo apt-ftparchive release . > Release

        这样一个简单的本地仓库源就搭建好了。

        注意:每次更新了仓库中的包之后都要更新这两个文件。

        我们试一下将它添加到本地的list文件中去(可能需要使用root用户):

echo "deb [trusted=yes] file:/home/feng/test/deb ./" >> /etc/apt/sources.list.d/test.list

        注意如果不加[trusted=yes]可能会提示没有数字签名。

        然后更新列表并查看:

feng@feng:~/test/deb$ sudo apt update
[sudo] feng 的密码:
获取:1 file:/home/feng/test/deb ./ InRelease
忽略:1 file:/home/feng/test/deb ./ InRelease
获取:2 file:/home/feng/test/deb ./ Release [816 B]
获取:2 file:/home/feng/test/deb ./ Release [816 B]     
获取:3 file:/home/feng/test/deb ./ Release.gpg                                                                                                                                                             
忽略:3 file:/home/feng/test/deb ./ Release.gpg                                                                                                                                                             
命中:4 http://archive.build.openkylin.top/openkylin yangtze InRelease                                                                                                                                      
命中:5 http://archive.build.openkylin.top/openkylin yangtze-security InRelease                                                                                                                             
命中:6 http://packages.microsoft.com/repos/code stable InRelease                                                                                       
命中:7 http://archive.build.openkylin.top/openkylin yangtze-updates InRelease                                                                          
命中:8 http://software.openkylin.top/openkylin/yangtze default InRelease                                                                               
获取:9 http://cz.archive.ubuntu.com/ubuntu jammy InRelease [270 kB]                                                               
忽略:10 https://www.scootersoftware.com bcompare4 InRelease                             
命中:11 https://www.scootersoftware.com bcompare4 Release
已下载 270 kB,耗时 3秒 (95.7 kB/s)                     
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有 749 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。feng@feng:~/test/deb$ sudo apt search d-feet
正在排序... 完成
全文搜索... 完成  
d-feet/未知 0.3.16-4 all [可从该版本升级:0.3.16-3]D-Bus object browser, viewer and debugger

        可以看到我自己源中的版本。

        然后看是否能正常安装,在安装之前先强制卸载qdbus-qt5:

sudo dpkg --force-all -P qdbus-qt5 

        安装:

         如图,将会自动安装依赖qdbus-qt5。

二、如何共享仓库源

        搭建仓库源怎么分享给其它人呢?其实方法有很多,可以通过http,ftp,ssh等,这里就介绍通过apach搭建http服务器的用法,也仅限局域网内使用。要在公网上使用分享给别人,应该还需要数字签名等认证才行,这里不做介绍。

        前置条件:假如我们已经在服务器上面搭建好了仓库:/home/lz/deb/

        安装apach2:

sudo apt-get update
sudo apt-get install apache2

        配置http:

        deb.conf名字可变

sudo vim /etc/apache2/sites-available/deb.conf

        写入以下内容保存退出:

<VirtualHost *:80>ServerAdmin webmaster@localhostDocumentRoot /var/www/html<Directory /var/www/html/deb-repo>Options Indexes FollowSymLinks MultiViewsAllowOverride NoneOrder allow,denyallow from all</Directory>ErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

        将仓库复制到html目录下并修改权限:

sudo cp -a /home/lz/deb/ /var/www/html/
sudo chmod -R +rx /var/www/html/deb/

        然后在客户端机器上添加源到list中即可访问该仓库源:


echo "deb [trusted=yes] http:192.168.2.114:/deb ./" >> /etc/apt/sources.list.d/test.list

这样,在制作镜像的时候,就可以很方便的安装自己的包以及其依赖包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_298122.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

113.【Vue-细刷-04】

Vue-03 (二十四)、浏览器存储(WebStorage)1.本地缓存(LocalStorage)(1). 模仿本地缓存-未用JSON转字符串(2).模拟本地缓存-使用JSON转字符串 2.会话缓存(Session Storage)(1).模拟会话缓存(2).会话缓存和本地缓存的区别(3).JSON转换与JSON解析 3.todos案列_本地缓存版(1).mount…

flink集群安装部署

1.下载 官网下载&#xff1a;Downloads | Apache Flink 阿里网盘下载&#xff08;包含依赖包&#xff09;&#xff1a;阿里云盘分享 提取码&#xff1a;9bl2 2.解压 tar -zxvf flink-1.12.7-bin-scala_2.11.tgz -C ../opt/module 3.修改配置文件 cd flink-1.12.7/conf/ …

【Java】javafx | 打包成jar包

一、说明 1、javafx项目 2、maven管理 二、解决方案 1&#xff09;加入maven插件 <build><resources><resource><!-- 这里是放在 src/main/java--><directory>src/main/java</directory><includes><include>**/*.properties&…

深度学习 - 46.DIN 深度兴趣网络

目录 一.引言 二.摘要 ABSTRACT 三.介绍 INTRODUCTION 1.CTR 在广告系统的作用 2.传统 MLP 存在的问题 3.DIN 的改进 四.近期工作 RELATEDWORK 1.传统推荐算法 2.用户行为抽取 五.背景 BACKGROUD 六.深度兴趣网络 DEEP INTEREST NETWORK 1.特征表示 Feature Repres…

【操作系统】从操作系统底层出发,成为更好的程序员

冯老爷子的模型 首先&#xff0c;我们从一个问题开始(&#xffe3;∇&#xffe3;)/ 为什么需要程序员&#xff1f; 早期的计算机程序是硬件化的&#xff0c;即使用各种门电路组装出一个固定的电路板&#xff0c;这个电路板只能用于执行某个特定的程序&#xff0c;如果需要修…

Java并发编程实践学习笔记(三)——共享对象之可见性

目录 1 过期数据 2 非原子的64位操作 3 锁和可见性 4 Volatile变量&#xff08;Volatile Variables&#xff09; 在单线程环境中&#xff0c;如果向某个变量写入值&#xff0c;在没有其他写入操作的情况下读取这个变量&#xff0c;那么总能得到相同的值。然而&…

ALOHA 开源机械臂(Viper 300 Widow X 250 6DOF机械臂组成)第一部分

软件简介&#xff1a; ALOHA 即 A Low-cost Open-source Hardware System for Bimanual Teleoperation&#xff0c;是一个低成本的开源双手遥控操作硬件系统&#xff0c;即开源机械臂。其算法 Action Chunking with Transformers (ACT) 采用了神经网络模型 Transformers&#…

C#学习笔记--实现一个可以重复权重并且能够自动排序的容器--MultiplySortedSet

目录 前言SortedSetC#自带类型自定义类SortedSet权值重复 需求自定义容器 -- MultiplySortedSet核心实现思路 MultiplySortedSet 使用C#自带类型自定义类 前言 最近需要在C#中实现一个功能 有一个容器&#xff0c;该容器能自动对里面的元素进行排序&#xff0c;类似C的优先队列…

FS5175AE降压型1-4节锂电池充电芯片

FS5175AE是一款工作于5V到24V的多串锂电池同步开关降压充电管理芯片。内置MOS管集成了低导通阻抗的NMOS&#xff0c;FS5175AE采用1MHz同步开关架构&#xff0c;实现高 效率充电并简化外围器件&#xff0c;降低BOM成本。通过调节检测电阻&#xff0c;可实现**2A充电电流&#xf…

SpringCloud(22):Sentinel对Feign的支持

Sentinel 适配了 Feign组件。如果想使用&#xff0c;除了引入 spring-cloud-starter-alibaba-sentinel 的依赖外还需要 2个步骤&#xff1a; 配置文件打开 Sentinel 对 Feign 的支持&#xff1a;feign.sentinel.enabledtrue加入 spring-cloud-starter-openfeign 依赖使 Sentin…

基于Linux系统在线安装RabbitMQ

一、前言 二、Erlang下载安装 三、RabbitMQ下载安装 三、RabbitMQ Web界面管理 一、前言 本次安装使用的操作系统是Linux centOS7。 二、Erlang下载安装 在确定了RabbitMQ版本号后&#xff0c;先下载安装Erlang环境。下面演示操作过程&#xff1a; Erlang下载链接&#…

[工具]Pytorch-lightning的使用

Pytorch-lightning的使用 Pytorch-lightning介绍Pytorch-lightning与Pytorch的区别Pytorch-lightning框架的优势Pytorch-lightning框架 重要资源 Pytorch-lightning介绍 这里介绍Pytorch_lighting框架. Pytorch-lightning与Pytorch的区别 Pytorch-lightning可以简单的看作是…

强化学习p3-策略学习

Policy Network (策略网络) 我们无法知道策略函数 π \pi π所以要做函数近似&#xff0c;求一个近似的策略函数 使用策略网络 π ( a ∣ s ; θ ) \pi(a|s;\theta) π(a∣s;θ) 去近似策略函数 π ( a ∣ s ) \pi(a|s) π(a∣s) ∑ a ∈ A π ( a ∣ s ; θ ) 1 \sum_{a\in …

《狂飙》原著来了,邀你重新见证

2023年的开篇十分精彩且丰富&#xff0c;经历过生活的不幸&#xff0c;新的一年万物复兴&#xff0c;每个人心底那颗躁动的心又重新释放&#xff0c;希望新的开始不负所望&#xff0c;年末复盘时所得皆所愿&#xff01; 开篇 开年影视第一炮&#xff0c;炸出了所有人被压抑的内…

告别PPT手残党!这6款AI神器,让你秒变PPT王者!

如果你是一个PPT手残党&#xff0c;每每制作PPT总是让你焦头烂额&#xff0c;那么你一定需要这篇幽默拉风的推广文案&#xff01; 我向你保证&#xff0c;这篇文案将帮助你发现6款AI自动生成PPT的神器&#xff0c;让你告别PPT手残党的身份&#xff0c;成为一名PPT王者。 无论…

计算机图形学 | 实验六:旋转立方体

计算机图形学 | 实验六&#xff1a;旋转立方体 计算机图形学 | 实验六&#xff1a;旋转立方体Z-缓冲GLM函数库PVM矩阵PVM矩阵的使用 华中科技大学《计算机图形学》课程 MOOC地址&#xff1a;计算机图形学&#xff08;HUST&#xff09; 计算机图形学 | 实验六&#xff1a;旋转…

单词词义、词性、例句查询python代码

单词发音、词义、词性、例句查询、输出结果更简洁&#xff0c;一次可查多个单词 运行该代码&#xff0c;命令窗口输入单词&#xff0c;单词用“/”分开&#xff0c;例如&#xff1a;noisy/problem/community/neighbor 可以更多。先安装两个python包requests、 beautifulsoup4&…

卖一辆亏5.8万美元!福特的困扰

随着电动化进入关键的「抢量」周期&#xff0c;加上年初掀起的降价潮&#xff0c;对于还无法适应转型节奏的传统汽车制造商来说&#xff0c;现在是一个艰难的时刻。 本月初&#xff0c;福特首席执行官Jim Farley表示&#xff0c;电动汽车市场的降价是"令人担忧的趋势"…

2023/5/8总结

JAVA基础知识&#xff08;2&#xff09; 1.方法 1、方法定义 格式&#xff1a;public static void 方法名&#xff08;&#xff09;{ //方法体 } 2、方法调用 格式&#xff1a;方法名&#xff08;&#xff09;&#xff1b; 3、方法的通用格式 public static 返回值类型方法名&…

车载测试-can报文解析规则实例

报文解析 报文组成 一般报文主要有以下几个参数&#xff08;比较全的情况下&#xff09; 例 解析报文时主要用到的是帧ID和帧数据 帧ID 接收到的帧ID是十六进制的形式&#xff0c;由29位标识符转换的&#xff0c;目前大多数的通信协议中都直接给出了相应的帧ID&#xff0c…