ubuntu创建apt-mirror本地仓库

        首先创建apt-mirror的服务端,也就是存储所有apt-get下载的文件和依赖。大约需要300G,预留400G左右空间就可以开始了。

        安装ubuntu省略,用的是ubuntu202204

        ubuntu挂载硬盘(不需要的可以跳过):

#下载挂载工具
sudo apt-get install nfs-3g

#查看空间大小,比照大小找到你的加的400G以上的硬盘
#df -lh

#创建一个挂载目录
mkdir /data1

#挂载
mount -t ntfs-3g /"df -lh命令找到的磁盘目录" /data1

#然后cd 到 / 目录,你就可以看到你新加的硬盘/data1了 

正式开始

一、服务端

1、安装插件

        apt-mirror用于下载源并保存;nginx用于开启服务,让apt后续配置sources.list文件的地址可以找到。

sudo apt-get install apt-mirror
sudo apt-get install nginx

2、创建apt-miror存储目录

在刚刚挂载的硬盘中创建源存储目录:

#如果你是按照上述把新硬盘挂载在了/data1,那就进入/data1创建这个文件夹,后续所有涉及目录的地方也要加上/data1,后面出现的地方我会提示
mkdir /linoxide

3、修改apt-mirror配置文件

第一个配置是修改下载目录和下载的源

vi /etc/apt/mirror.list
############# config ##################
#
#数据基目录,此处看你的环境是否需要改为/data1/linoxide
set base_path    /linoxide
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
#设置下载线程数
set nthreads     20
set _tilde 0
#
############# end config ##############
deb https://mirror.sjtu.edu.cn/ubuntu jammy main restricted universe multiverse
deb https://mirror.sjtu.edu.cn/ubuntu jammy-security main restricted universe multiverse
deb https://mirror.sjtu.edu.cn/ubuntu jammy-updates main restricted universe multiverse
deb https://mirror.sjtu.edu.cn/ubuntu jammy-proposed main restricted universe multiverse
deb https://mirror.sjtu.edu.cn/ubuntu jammy-backports main restricted universe multiverse
deb-src https://mirror.sjtu.edu.cn/ubuntu jammy main restricted universe multiverse
deb-src https://mirror.sjtu.edu.cn/ubuntu jammy-security main restricted universe multiverse
deb-src https://mirror.sjtu.edu.cn/ubuntu jammy-updates main restricted universe multiverse
deb-src https://mirror.sjtu.edu.cn/ubuntu jammy-proposed main restricted universe multiverse
deb-src https://mirror.sjtu.edu.cn/ubuntu jammy-backports main restricted universe multiverse
#这个脚本会清除上游服务器废弃的包的
clean https://mirror.sjtu.edu.cn/ubuntu

记得保存 

        第二个配置是让apt-mirror识别到cnf文件并下载同步(其实下载完成后不只是缺cnf,但是只加上cnf就可以了。后续追求完美看看apt update的时候缺什么可以加一下)

vi /usr/bin/apt-mirror
add_url_to_download( $url . $_ . "/binary-" . $arch . "/Packages.bz2" );
add_url_to_download( $url . $_ . "/binary-" . $arch . "/Packages.xz" );
#差不多在450行左右加入下面这一句
add_url_to_download( $url . $_ . "/cnf/Commands-" . $arch . ".xz" );
add_url_to_download( $url . $_ . "/i18n/Index" );

 记得保存

【vi不好用可以用nano编辑】

4、开始下载

直接运行指令:

sudo apt-mirror

可能需要很长时间,等待下载就可以了,下载完成差不多是这个样子

下载完的目录内容是三个文件

mirror文件就是主要内容了

5、替换文件

        将/mirror/mirror.sjtu.edu.cn/ubuntu目录下的的dists文件替换为/skel/mirror.sjtu.edu.cn/ubuntu目录下的dists文件

        否则配置sources.list后每次apt-install都会显示无法找到下载文件。

6、固定IP

固定服务端也就是下载好apt-mirror的电脑IP

apt-get install net-tools
ifconfig

#ubuntu202204是这个,老版本好像不太一样
cd /etc/netplan
vi 01-network-manager-all.yaml
network:
  ethernets:
    #换成你ifconfig看到的决定ip的网口,我这里是叫enp2s0
    enp2s0:
      dhcp4: false
      #保证端口号别被占用
      addresses: [192.168.1.166/24]
      gateway4: 192.168.1.1
      optional: true
      nameservers:
        addresses: [144.144.144.144, 8.8.8.8]
  version: 2

 记得保存,然后生效一下

sudo netplan apply

然后再ifconfig看看ip是否生效,再打开ubuntu自动安装的火狐看看有没有网络

7、挂载源文件

纯粹为了方便管理

#看你的磁盘情况是/data1/linoxide还是/linoxide
sudo ln -s /linoxide /packages/apt-mirror

8、开放apt-mirror文件服务

这里要用到第一步中下载的nginx

sudo vi /etc/nginx/sites-available/default

server {
    #保证80别被占用,占用了用别的端口号也行,但是后面客户端源端口要改
	listen 80 default_server;
	listen [::]:80 default_server;
	root /var/www/html;
	index index.html index.htm index.nginx-debian.html
	server_name loaclhost;
        autoindex on;
	location / {
                index index.html index.htm;
                #当然你也可以绑定的深一点,然后apt配置文件直接加/ubuntu
                root /packages;
		try_files $uri $uri/ =404;
	}
}

记得保存,然后生效一下

sudo service nginx restart

 然后打开网站就可以看到:

 进入我们的关键目录看一看

        服务端配置完成,服务端就可以不需要网络了。

        如果是有网络环境可以定时执行sudo apt-mirror更新源,也可以写一个脚本定时更新。

二、客户端

        客户端要和服务端同一网段,我上面服务端是192.168.1.166,客户端也要在192.168.1下。客户端也随便固定个ip就可以了。

1、更改apt源

sudo vi /etc/apt/sources.list

         模拟环境是客户端没有网络,所以其他源也请求不到了,只能请求到新的服务端的源,所以文件内之前的内容全部注释或者删掉都可以。

        文件内写入下面几行:

#下面的192.168.1.166换成你设置的服务端IP
#地址也是,nginx可以绑定更深层,这里也就可以少写了
deb [arch=amd64] http://192.168.1.166/apt-mirror/mirror/mirror.sjtu.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb [arch=amd64] http://192.168.1.166/apt-mirror/mirror/mirror.sjtu.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb [arch=amd64] http://192.168.1.166/apt-mirror/mirror/mirror.sjtu.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse 
deb [arch=amd64] http://192.168.1.166/apt-mirror/mirror/mirror.sjtu.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
deb [arch=amd64] http://192.168.1.166/apt-mirror/mirror/mirror.sjtu.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse    

 记得保存,然后生效一下

sudo apt-get update

等待执行完成

2、验证

sudo apt-get install apache2

        如果下载成功,看一下下载的源是什么地方,如果是刚才配置的服务器,那就是成功了。

sudo apt-get install apache2

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

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

相关文章

数据库——存储过程及游标

智能2112杨阳 一、目的与要求&#xff1a; 1、掌握存储过程的工作原理、定义及操作方法 2、掌握函数的工作原理、定义及操作方法 3、掌握游标的工作原理、定义及操作方法 二、内容&#xff1a; 1. 创建存储过程&#xff0c;用来自动统计给定订单号的订单总金额 源码&…

SpringBoot - 事件机制使用详解(ApplicationEvent、ApplicationListener)

SpringBoot - 事件机制使用详解&#xff08;ApplicationEvent、ApplicationListener&#xff09; Spring 事件机制使用观察者模式来传递事件和消息。我们可以使用 ApplicationEvent 类来发布事件&#xff0c;然后使用 ApplicationListener 接口来监听事件。当事件发生时&#…

使用ThreadLocal.withIniti避免初始化为null问题

问题描述 我们在使用threadLocal的时&#xff0c;使用ThreadLocal.withInitial去初始化而不是使用new ThradLocal去初始化&#xff0c;这是为什么呢&#xff1f; 问题例子 比如说&#xff0c;假设我们想要在每个线程中维护一个独立的计数器 import java.util.concurrent.at…

Node.js创建一个简单的WebSocket接口,实现通信交互

Node.js创建一个简单的WebSocket接口&#xff0c;实现通信交互 一、为什么使用WebSocket&#xff1f; WebSocket&#xff0c;最大特点就是&#xff0c;服务器可以主动向客户端推送信息&#xff0c;客户端也可以主动向服务器发送信息&#xff0c;是真正的双向平等对话&#xf…

C++从bing采集各行业的企业官网信息

作为一名合格的销售&#xff0c;除了自己的人脉&#xff0c;还应该有新鲜的客户加入并发掘。不管哪行哪业&#xff0c;知彼知己&#xff0c;方才能做到百战百胜。今天我就用我们的专业技能&#xff0c;让销售获取更多同行业的公开企业信息&#xff0c;让业绩顺风顺水。 通常在C…

【代码随想录算法训练营-第六天】【哈希表】242,349,202,1

242.有效的字母异位词 第一遍 思考 比较简单&#xff0c;用数组就能实现了 class Solution {public boolean isAnagram(String s, String t) {int[] checkListi new int[256];int[] checkListj new int[256];for (int i 0; i < s.length(); i) {char checkChar s.ch…

修改Docker0和容器的地址

修改Docker0和容器的地址 1. 需求 默认服务器安装完Docker-ce后会给docker0分配172.17.0.1/16地址. 公司新接入一个网段正好与172.17.0.1/16冲突,此时访问这台服务器的容器时就会发生网络不可达. 2. 解决方法 修改/etc/docker/daemon.json 加入一个自定义网段 vim /etc/d…

基于单片机的智能小车 (论文+源码)

1. 系统设计 此次可编程智能小车系统的设计系统&#xff0c;结合STM32单片机&#xff0c;蓝牙模块&#xff0c;循迹模块&#xff0c;电机驱动模块来共同完成本次设计&#xff0c;实现小车的循迹避障功能和手机遥控功能&#xff0c;其整体框架如图2.1所示。其中&#xff0c;采用…

剧本杀小程序成为创业者新选择,剧本杀小程序开发

剧本杀作为现下年轻人最喜欢的新兴行业&#xff0c;发展前景非常乐观&#xff0c;即使剧本杀目前处于创新发展阶段&#xff0c;但剧本杀行业依然在快速发展中。 根据业内数据&#xff0c;预计2025年剧本杀市场规模能达到四百多亿元。市场规模的扩大自然也吸引来了不少的创业者…

利用机器学习实现客户细分的实战

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 今天来学习一下机器学习实战中的案例&#xff1a;创建客户细分&#xff0c;在此过程中也会补充很多重要的知识点&#xff0c;欢迎大家一起前来探讨学习~ 一、导入数据 在此项目中&#xff0c;我们使用 UCI 机器学习代码库…

1+X大数据平台运维职业技能等级证书中级

该部分是选择题部分&#xff0c;实操题在主页的另一篇文章 考试名称&#xff1a;“1X”大数据平台运维职业技能等级证书&#xff08;中级&#xff09; 1X 大数据平台运维中级测试题一、单选题 以下哪种情况容易引发 HDFS 负载不均问题&#xff1f;&#xff08; C&#xff09…

定制软件开发的 5 个挑战

对于大公司来说&#xff0c;定制软件开发就像是眼中钉。无论您是要创建内部使用的工具、自动化手动流程还是推出新产品&#xff0c;从头开始构建它历来都是昂贵且危险的。花钱购买领先的现成解决方案之一&#xff0c;却不得不花费更多的时间和金钱对其进行定制来完成工作&#…

绿萝送温暖,扫雪助出行

今冬的大雪如约而至&#xff0c;给居民的出行带来诸多不便&#xff0c;为保障居民安全出行&#xff0c;绿萝志愿服务队第一时间召集志愿者参与扫雪铲冰工作。2023年12月13日&#xff0c;志愿者在房山城关街道青年北路园林所门口、星城生活区等地进行了志愿扫雪活动。 大雪把街道…

SQL自学通之函数 :对数据的进一步处理

目录 一、目标 二、汇总函数 COUNT SUM AVG MAX MIN VARIANCE STDDEV 三、日期/时间函数 ADD_MONTHS LAST_DAY MONTHS_BETWEEN NEW_TIME NEXT_DAY SYSDATE 四、数学函数 ABS CEIL 和FLOOR COS、 COSH 、SIN 、SINH、 TAN、 TANH EXP LN and LOG MOD POW…

为pixhawk4添加外置adis16470传感器

编译驱动 make px4_fmu-v5_default boardconfig在MavLink控制台 adis16470 start -S可以看到IMU3

图像特征提取-角点

角点特征 大多数人都玩过拼图游戏。首先拿到完整图像的碎片&#xff0c;然后把这些碎片以正确的方式排列起来从而重建这幅图像。如果把拼图游戏的原理写成计算机程序&#xff0c;那计算机就也会玩拼图游戏了。 在拼图时&#xff0c;我们要寻找一些唯一的特征&#xff0c;这些…

MCU平台下一种简单的文件系统设计构想

本文介绍MCU平台下一种简单的文件系统设计构想。 在使用MCU的项目中&#xff0c;经常会涉及到一些数据的存储&#xff0c;受限于硬件&#xff0c;又不太可能直接上文件系统&#xff08;如FAT文件系统&#xff09;&#xff0c;直接指定存储地址&#xff0c;数据长度对数据进行读…

HDPE硅芯管强度高,抗压抗张和抗冲击强,外层不需其它套管

HDPE硅芯管是一种高性能的管道材料&#xff0c;具有强度高、抗压抗张和抗冲击强的特点。这种管道材料采用高密度聚乙烯&#xff08;HDPE&#xff09;作为基础材料&#xff0c;并添加了硅质增强剂&#xff0c;使得管道具有优异的力学性能和耐久性。 HDPE硅芯管的强度高&#xf…

大数据CloudSim应用实践

CloudSimExampleA.java 1准备 1.1操作系统 本实验在Windows 7 或Windows 10系统运行均可。 1.2软件 cloudsim-3.0.3.zip&#xff1b; commons-math3-3.2-bin.zip&#xff1b; jdk-8u152-windows-x64.exe&#xff1b; eclipse-jee-neon-3-win32-x86_64 所需资料链接&#xff1…

现代雷达车载应用——第2章 汽车雷达系统原理 2.3节 信号模型

经典著作&#xff0c;值得一读&#xff0c;英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 2.3 信号模型 雷达的发射机通常发出精心设计和定义明确的信号。然而&#xff0c;接收到的返回信号是多个分量的叠加&#xff0c;包括目标的反射、杂波…