ubuntu或类Debian获取某些包的离线版本-包括依赖(还有一些意想不到的用途,哈哈)

前言

javascript 复制代码
	偶尔能碰到很特殊的情况。网址白名单,纯内网,超多依赖及一些很难描述的场景。
比如一些少见的发行版缺少某些包。这时候可以找一台类似的系统环境来下载离线包及
其依赖包,然后转移到内网进行安装。如果是网址白名单,或者纯内网,那就找个一模
一样的来下载离线包和依赖就可以了。

1:进入apt缓存目录,确保没有其它deb包

javascript 复制代码
apt的默认缓存目录在  /var/cache/apt/archives
cd /var/cache/apt/archives
进入后确认没有其它的缓存包,有的话事先删除,预防混淆。

2:在外网机器上获取离线包

javascript 复制代码
以python3为例:
sudo apt-get update
sudo apt-get install --download-only --reinstall python3

完成后即可在目录下看到python3的离线包及依赖包。

3:将下载的deb包复制到离线的Ubuntu的机器上,或者是需要的机器

javascript 复制代码
进入到deb包的目录,然后执行命令:
sudo dpkg -i *.deb

即可完成安装

后记

javascript 复制代码
这个方法不但可以解决特殊网络环境下的问题。

我曾经用这个方法还解决了一个发行版官方没适配某个包的难题。。。
虽然比较low,但是确实是起作用了。
运气成分比较高,不建议依靠这种方法。
相关推荐
lys_8284 分钟前
【linux】解决NAT模型下使用Xshell连接虚拟机显示22端口connection failed问题
linux·运维·服务器
序属秋秋秋1 小时前
《Linux系统编程之系统导论》【冯诺依曼体系结构 + 操作系统基本概述】
linux·运维·服务器·c语言·ubuntu·操作系统·冯诺依曼体系结构
她说彩礼65万2 小时前
C# 特性详解
linux·服务器·c#
Hi202402176 小时前
消除FFmpeg库的SONAME依赖
linux·ffmpeg
gfanbei7 小时前
ARM V8 Cortex R52 上电运行在什么状态?— Deepseek 解答
linux·arm开发·嵌入式硬件
liu****8 小时前
14.日志封装和线程池封装
linux·开发语言·c++
云动雨颤8 小时前
访问宝塔面板安全入口404?SSH命令轻松解决
linux·运维·安全
NPE~8 小时前
[Linux命令分享]日志查看 — — less
linux·运维·less·常用命令·日志查看
赖small强9 小时前
Linux 系统调用在 ARM 上的实现与工作机制
linux·系统调用·内核态·用户态·上下文切换
大锦终10 小时前
【Linux】网络层与数据链路层中重点介绍
linux·运维·服务器·网络