You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 22.04离线软件包仓库搭建、客户端配置及存储空间咨询

Ubuntu 22.04离线软件包仓库搭建、客户端配置及存储空间咨询

没问题,我来一步步帮你搞定Ubuntu 22.04离线仓库的搭建、客户端配置,还有存储空间的估算——都是实战过的方案,放心用!

一、搭建离线软件包仓库服务器

1. 安装必备工具

先在仓库服务器上安装所需的软件,用来下载包、生成索引和提供web服务:

sudo apt update && sudo apt install apache2 dpkg-dev apt-mirror -y

2. 配置apt-mirror下载源

编辑apt-mirror的配置文件,指定要下载的Ubuntu 22.04(代号jammy)源和存储路径:

sudo nano /etc/apt/mirror.list

把文件里默认的内容注释掉,替换成以下配置(按需调整要下载的组件,比如universemultiverse如果不需要可以去掉):

# 设置下载包的存储根目录
set base_path /var/www/html/ubuntu

# 要同步的Ubuntu 22.04源
deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse

# 配置清理规则(可选)
set clean http://archive.ubuntu.com/ubuntu
set clean http://security.ubuntu.com/ubuntu

3. 开始批量下载软件包

运行apt-mirror开始同步,这个过程耗时取决于你的网络带宽,耐心等待就行:

sudo apt-mirror

4. 生成仓库索引文件

下载完成后,需要生成apt能识别的索引文件,否则客户端无法找到包。进入对应目录执行命令(以amd64架构为例,如果你用其他架构替换binary-amd64即可):

# 处理主仓库索引
cd /var/www/html/ubuntu/dists/jammy
sudo dpkg-scanpackages main/binary-amd64 /dev/null | gzip -9c > main/binary-amd64/Packages.gz
sudo dpkg-scanpackages restricted/binary-amd64 /dev/null | gzip -9c > restricted/binary-amd64/Packages.gz
sudo dpkg-scanpackages universe/binary-amd64 /dev/null | gzip -9c > universe/binary-amd64/Packages.gz
sudo dpkg-scanpackages multiverse/binary-amd64 /dev/null | gzip -9c > multiverse/binary-amd64/Packages.gz

# 处理更新、安全、backports仓库的索引(重复上面的逻辑,替换目录即可)
cd /var/www/html/ubuntu/dists/jammy-updates
sudo dpkg-scanpackages main/binary-amd64 /dev/null | gzip -9c > main/binary-amd64/Packages.gz
# 其他组件和仓库同理,依次执行

5. 启动web服务确保可访问

启动apache服务,让客户端能通过http访问仓库:

sudo systemctl start apache2
sudo systemctl enable apache2

你可以在服务器本地访问http://localhost/ubuntu,如果能看到仓库的目录结构,说明web服务正常。

二、客户端配置(5台机器通用步骤)

1. 备份原有源文件

先备份默认的源列表,防止配置出错后无法恢复:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

2. 替换为离线仓库源

编辑源文件,把所有内容替换成你的离线仓库地址(把<服务器IP>换成仓库服务器的实际IP):

sudo nano /etc/apt/sources.list

写入以下内容:

deb http://<服务器IP>/ubuntu jammy main restricted universe multiverse
deb http://<服务器IP>/ubuntu jammy-updates main restricted universe multiverse
deb http://<服务器IP>/ubuntu jammy-backports main restricted universe multiverse
deb http://<服务器IP>/ubuntu jammy-security main restricted universe multiverse

3. 测试离线仓库可用性

更新apt缓存,测试是否能正常识别离线仓库:

sudo apt update

如果没有报错,就可以正常使用apt install等命令从离线仓库安装软件包了。

三、离线仓库存储空间估算

存储空间的大小取决于你要同步的组件和更新内容:

  • 如果同步完整的jammy仓库(main+restricted+universe+multiverse)加上所有更新、安全补丁、backports,amd64架构大概需要80-100GB的空间。
  • 如果只同步mainrestricted(官方支持的免费开源包),空间需求会降到30-40GB左右。
  • 注意:随着时间推移,官方会不断推送更新包,仓库的大小会逐渐增加,建议预留150GB以上的存储空间,方便后续同步新的更新内容。

备注:内容来源于stack exchange,提问作者OmiPenguin

火山引擎 最新活动