制作本地apt源离线安装

本文详细介绍了如何在无法联网的Linux环境中,通过制作本地APT源实现软件离线安装。首先在有网计算机下载所需软件及其依赖,并生成本地源索引;然后将本地源复制到目标计算机,配置sources.list,最后更新源并成功安装软件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

制作本地apt源离线安装
1、背景及概述
1.1、背景

最近在做的一个项目,但linux工作环境无法联网,却又需要下载安装相关软件,需要把多个开源包打在一起形成一个安装包供其他人使用,这就面临一个问题,开源包依赖很多的linux依赖库,同时不能保证外部使用环境一定联网,稳妥的办法就是把所有依赖包都打到安装包中,此时便需要制作ubuntu的apt本地源。

1.2、概述

   基本思路是在有网的计算机下载某软件(以cgroup为例)依赖,把依赖deb复制到离线计算机,配置本地源,然后进行安装。

2、制作本地apt源
2.1、在联网计算机上下载某软件依赖包

sudo apt-get -d install cgroup-bin(该指令只下载该软件包及其依赖,不会安装)

sudo apt-get install cgroup-bin (该指令除了下载该软件包及其依赖,还会安装)

下载的cgroup依赖包存放在/var/cache/apt/archives目录。该文件内还有其他软件的依赖包,因为我们并不知道cgroup的依赖包有哪些,所以在后续的依赖包打包时姑且将这个文件下的所有包都给打包。

2.2、生成依赖包本地索引

以/home/debs为根目录,创建archives目录,将上一步下载的软件包和依赖包复制到/home/debs/archives目录下。在/home/debs目录,生成本地索引:

mkdir -p /home/debs/archives

cp /var/cache/apt/archives/*.deb /home/debs/archives/

cd /home/debs

dpkg-scanpackages archives /dev/null | gzip > archives/Packages.gz

cd …/

chmod 777 -R debs

其中,dpkg-scanpackages命令的作用为创建一个描述文件,描述当前文件夹中有哪些依赖包以及依赖包之间的依赖关系。现在debs文件夹中的内容为依赖包+描述文件Packages.gz。此时debs就是一个可用的本地源

3、离线安装
3.1、离线包复制

复制debs文件到目标离线计算机,如/data/debs,debs目录下是archives目录。

3.2、配置本地源

   配置本地源之前先备份配置文件。

mv /etc/apt/sources.list /etc/apt/sources.list.bak

然后在离线计算机上,在/etc/apt/sources.list文件增加离线源路径。

deb [trusted=yes] file:///data/debs /archives/

其中,本地源不含签名,增加[trusted=yes]是信任本地源。

3.3、更新源并安装

sudo apt-get update,此时apt源即指向我们的本地源

sudo apt-get install cgroup-bin,安装cgroup库,此时便可以安装成功

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值