ubuntu下载离线软件包及依赖

目录

一、前言

二、正文

1.准备环境

2.开始下载

3.后续工作

三、总结


一、前言

        由于给客户提供的设备机不允许上网,那么所有待安装的软件包及依赖库都需要提前下载好,然后通过局域网传过去再安装。

        另外,软件包可能还依赖其他的库,库还依赖其他的库...,所以需要一步步耐心的查找并下载。

二、正文

        我这边需要安装的软件是用QT编写的一个代理程序,它所依赖Boost库和UUID库,以及JSON等库。

        由于当前Ubuntu系统中已经自带了UUID和JSON库,所以下面用Boost库进行演示。

1.准备环境

  •  查看一下下载源是否设置好了

  • 到https://pkgs.org/ 网上查一下libboost都有哪些库

  • 在系统合适的路径下新建一个文件夹,用于下载软件包

2.开始下载

        先切换到root用户,方便后面输入命令,否则总得输入sudo

        然后进入到新建的文件夹中,执行apt download <库名> 下载

        ok,第一个库文件已经下载好了,然后我们再通过apt-cache depends <库名>查询一下它所依赖的库

        它依赖libboost1.71-dev和libboost-atomic1.71.0,冲突先不管,如果有建议的库也记录下来。

        那下面我就继续下载那两个依赖的库

        剩下工作就是重复执行“查询依赖”和“下载库文件”的工作了,就不在此复述。

        我将所有依赖关系列表在下面列出,供大家参考:

libboost-all-dev
  Depends: libboost-dev
	  Depends: libboost1.71-dev
	  Suggests: libboost-doc
  #Depends: libboost-tools-dev:armhf
	Depends: libboost1.71-tools-dev:armhf
  Depends: libboost-atomic-dev
	Depends: libboost-atomic1.71-dev
		Depends: libboost1.71-dev
		Depends: libboost-atomic1.71.0
  Depends: libboost-chrono-dev
	Depends: libboost-chrono1.71-dev
		Depends: libboost1.71-dev
		  Depends: libboost-chrono1.71.0
			Depends: libc6
			Depends: libgcc-s1
				Depends: gcc-10-base
				  Depends: libc6
			Depends: libstdc++6
  Depends: libboost-container-dev
	Depends: libboost-container1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-container1.71.0
			Depends: libc6
			  Depends: libgcc-s1
			  Depends: libstdc++6
  Depends: libboost-context-dev
	Depends: libboost-context1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-thread1.71-dev
			Depends: libboost1.71-dev
			Depends: libboost-atomic1.71-dev
			Depends: libboost-chrono1.71-dev
			Depends: libboost-date-time1.71-dev
			Depends: libboost-system1.71-dev
			Depends: libboost-thread1.71.0
		  Depends: libboost-context1.71.0
  Depends: libboost-coroutine-dev
	Depends: libboost-coroutine1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-context1.71-dev
		  Depends: libboost-coroutine1.71.0
			  Depends: libboost-context1.71.0
			  Depends: libboost-thread1.71.0
			  Depends: libc6
			  Depends: libgcc-s1
			  Depends: libstdc++6
  Depends: libboost-date-time-dev
	Depends: libboost-date-time1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-date-time1.71.0
		  Depends: libboost-serialization1.71-dev
			Depends: libboost1.71-dev
			Depends: libboost-serialization1.71.0
  Depends: libboost-exception-dev
	  Depends: libboost-exception1.71-dev
  Depends: libboost-fiber-dev
	Depends: libboost-fiber1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-context1.71-dev
		  Depends: libboost-filesystem1.71-dev
			  Depends: libboost1.71-dev
			  Depends: libboost-filesystem1.71.0
			  Depends: libboost-system1.71-dev
		  Depends: libboost-fiber1.71.0
  Depends: libboost-filesystem-dev
	Depends: libboost-filesystem1.71-dev
  Depends: libboost-graph-dev
	Depends: libboost-graph1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-graph1.71.0
			  Depends:libboost-regex1.71.0
			  Depends: libc6
			  Depends: libgcc-s1
			  Depends: libstdc++6
			  Suggests: graphviz
		  Depends: libboost-regex1.71-dev
		  Depends: libboost-serialization1.71-dev
		  Depends: libboost-test1.71-dev
  Depends: libboost-graph-parallel-dev
	Depends: libboost-graph-parallel1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-graph-parallel1.71.0
		  Depends: libboost-serialization1.71-dev
		  Depends: libboost-test1.71-dev
  Depends: libboost-iostreams-dev
	Depends: libboost-iostreams1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-regex1.71-dev
		  Depends: libboost-iostreams1.71.0
  Depends: libboost-locale-dev
	Depends: libboost-locale1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-thread1.71-dev
		  Depends: libboost-locale1.71.0
  Depends: libboost-log-dev
	Depends: libboost-log1.71-dev
		  Depends: libboost-log1.71.0
		  Depends: libboost1.71-dev
		  Depends: libboost-atomic1.71-dev
		  Depends: libboost-date-time1.71-dev
		  Depends: libboost-filesystem1.71-dev
		  Depends: libboost-system1.71-dev
		  Depends: libboost-regex1.71-dev
		  Depends: libboost-thread1.71-dev
  Depends: libboost-math-dev
	Depends: libboost-math1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-math1.71.0
  Depends: libboost-mpi-dev
	Depends: libboost-mpi1.71-dev
		Depends: libboost1.71-dev
		  Depends: libboost-serialization1.71-dev
		  Depends: libboost-mpi1.71.0
		  Depends: mpi-default-dev
		  Suggests: libboost-graph1.71-dev
  Depends: libboost-mpi-python-dev
	Depends: libboost-mpi-python1.71-dev
		  Depends: libboost-mpi1.71-dev
		  Depends: libboost-mpi-python1.71.0
			  Depends: libboost-mpi1.71.0
			  Depends: libboost-python1.71.0
			  Depends: libboost-python1.71.0
			  Depends: libboost-serialization1.71.0
			  Depends: libc6
			  Depends: libgcc-s1
			  Depends: libopenmpi3
			  Depends: libstdc++6
			  Depends: python3
			  Depends: python3
			  Depends: mpi-default-bin
  Depends: libboost-numpy-dev
	Depends: libboost-numpy1.71-dev
		Depends: libboost-numpy1.71.0
			  Depends: libboost-python1.71.0
			  Depends: libboost-python1.71.0
			  Depends: libc6
			  Depends: libgcc-s1
			  Depends: libstdc++6
			  Suggests: python3
		  Suggests: libboost1.71-doc
  Depends: libboost-program-options-dev
	Depends: libboost-program-options1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-program-options1.71.0
  Depends: libboost-python-dev
	Depends: libboost-python1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-python1.71.0
		  Depends: python3-dev
		  Suggests: libboost1.71-doc
		  Suggests: <gccxml>
  Depends: libboost-random-dev
	Depends: libboost-random1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-system1.71-dev
		  Depends: libboost-random1.71.0
  Depends: libboost-regex-dev
	Depends: libboost-regex1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-regex1.71.0
		  Depends: libicu-dev
  Depends: libboost-serialization-dev
	Depends: libboost-serialization1.71-dev
  Depends: libboost-stacktrace-dev
	Depends: libboost-stacktrace1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-stacktrace1.71.0
  Depends: libboost-system-dev
	Depends: libboost-system1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-system1.71.0
  Depends: libboost-test-dev
	Depends: libboost-test1.71-dev
		Depends: libboost1.71-dev
		  Depends: libboost-test1.71.0
  Depends: libboost-thread-dev
	Depends: libboost-thread1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-atomic1.71-dev
		  Depends: libboost-chrono1.71-dev
		  Depends: libboost-date-time1.71-dev
		  Depends: libboost-system1.71-dev
		  Depends: libboost-thread1.71.0
  Depends: libboost-timer-dev
	Depends: libboost-timer1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-chrono1.71-dev
		  Depends: libboost-timer1.71.0
  Depends: libboost-type-erasure-dev
	Depends: libboost-type-erasure1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-system1.71-dev
		  Depends: libboost-thread1.71-dev
		  Depends: libboost-type-erasure1.71.0
  Depends: libboost-wave-dev
	Depends: libboost-wave1.71-dev
		  Depends: libboost1.71-dev
		  Depends: libboost-serialization1.71-dev
		  Depends: libboost-wave1.71.0
		  Depends: libboost-filesystem1.71-dev

3.后续工作

        当我们下载完所有需要的库文件和依赖库之后,我们可以把前面新建的文件夹进行压缩

        然后我们将压缩包拷贝出来,或者通过局域网传递给新设备机上,然后先解压

        进入到解压后的目录下,你可以看到之前下载好的库软件包。

        下面执行sudo dpkg -i *.deb 命令即可安装此目录下所有的软件包。

        注意:如果你之前下载完全的话,应该能正确安装;如果有错误提示,那么请根据提示返回原电脑(可以联网)继续下载软件包

三、总结

        查找依赖和下载软件包的过程是比较考验耐心的,可能由于我是个初学者只能用这个“笨方法”。但为了工作需要,由不得不使用。

        当我把工作完成后才发现,确实window系统比较方便,哈哈哈~

        来日方长,继续努力吧!

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

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

相关文章

【Pytorch】【MacOS】14.m1芯片使用mps进行深度模型训练

读者要先自行安装python以及anaconda&#xff0c;并且配置pytorch环境 第一步 测试环境 import torch # 判断macOS的版本是否支持 print(torch.backends.mps.is_available()) # 判断mps是否可用 print(torch.backends.mps.is_built())如果第一个语句为False&#xff0c;说明当前…

自定义一个SpringBoot场景启动器

前言 一个刚刚看完SpringBoot自动装配原理的萌新依据自己的理解写下的文章&#xff0c;如有大神发现错误&#xff0c;敬请斧正&#xff0c;不胜感激。 分析SpringBoot自动配置原理 SpringBoot的启动从被SpringBootApplication修饰的启动类开始,SpringBootApplicaiotn注解中最…

浅谈后端boot框架整合第三方技术JUnit MyBatis Druid整体思想

整合第三方技术 不要单单学习指定技术与springboot整合的方式 学习目标的是整合整体的技术的思路 拿到任何一个第三方技术后我们在springboot中如何操作 这是真正我们应该学习的东西 以后能整合任意技术 整合JUnit JUnit 是一个流行的开源测试框架&#xff0c;用于 Java …

Redis优化笔记

Redis优化 一&#xff1a;Key&#xff1a; 1.1.Key的规范&#xff1a; 测试如下&#xff1a; 1.2.拒绝BigKey&#xff1a; 我们可以用&#xff1a; MEMORY USAGE name命令来看它的大小。 注意&#xff0c;这里的第二种之所以不使用Keys *&#xff0c;因为在实际生产时&#…

NDIS小端口驱动开发(一)

在四种NDIS相关的驱动中&#xff0c;微型端口驱动(也经常翻译为为小端口驱动)位于驱动栈的底部&#xff0c;一般将它理解为NIC设备的驱动程序&#xff1a; 有几种类型的微型端口驱动程序类型&#xff1a; 无连接微型端口驱动程序用于控制无连接网络媒体 &#xff0c;如以太网的…

SpringBoot接入Knife4j接口文档

0.介绍 1&#xff09; Knife4j是什么 Knife4j是Java MVC框架集成Swagger生成Api文档的增强解决方案&#xff0c;前身是swagger-bootstrap-ui&#xff0c;有着比Swagger更为美观的UI以及功能。 例如以下效果图&#xff1a; 2&#xff09; 官方链接 官网&#xff1a;Knife4j …

FastSAM 部署 rknn

基于yolov8(ultralytics)工程导出的FastSAM的onnx模型&#xff0c;后处理和yolov8seg是一样的。      模型和完整测试代码。 1 FastSAM 导出 onnx 导出onnx的方式有两种&#xff0c;一种使用FastSAM工程&#xff0c;一种是使用yolov8(ultralytics)工程。本篇博客使用yolov…

2024年【N1叉车司机】免费试题及N1叉车司机模拟试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 N1叉车司机免费试题考前必练&#xff01;安全生产模拟考试一点通每个月更新N1叉车司机模拟试题题目及答案&#xff01;多做几遍&#xff0c;其实通过N1叉车司机模拟考试题库很简单。 1、【多选题】《中华人民共和国特…

3款录屏录制软件,打造专业级视频内容

随着技术的不断发展&#xff0c;人们在日常工作和学习中经常会遇到记录电脑屏幕的需求&#xff0c;例如录制游戏过程、制作教程、保存会议记录等。为了解决这一需求&#xff0c;许多录屏录制软件应运而生。本文将介绍三款常见的录屏录制软件&#xff0c;通过分析它们的特点和使…

【C++】<知识点> 标准模板库STL(上)

文章目录 一、STL---string类 1. 常用构造函数 2. 常用操作 3. 字符串流处理 二、STL---容器 1. STL及基本概念 2. 顺序容器简介 3. 关联容器简介 4. 容器适配器简介 5. 常用成员函数 三、STL---迭代器 1. 普通迭代器 2. 双向、随机访问迭代器 3. 不同容器的迭代器…

SpringBoot2.0.x旧版集成Swagger UI报错Unable to infer base url...解决办法

一、问题描述 1.1项目背景 SpringBoot2.0.9的旧版项目维护开发&#xff0c;集成Swagger-ui2.9.2无法访问的问题。不用想啊&#xff0c;这种老项目是各种过滤器拦截器的配置&#xff0c;访问不到&#xff0c;肯定是它们在作妖。懂得都懂啊&#xff0c;这里交给大家一个排错的办…

医院挂号就诊系统的设计与实现

前端使用Vue.js 后端使用SpiringBoot MyBatis 数据使用MySQL 需要项目和论文加企鹅&#xff1a;2583550535 医院挂号就诊系统的设计与实现_哔哩哔哩_bilibili 随着社会的发展&#xff0c;医疗资源分布不均&#xff0c;患者就诊难、排队时间长等问题日益突出&#xff0c;传统的…

基于机器学习预测未来的二氧化碳排放量(随机森林和XGBoost)

基于机器学习预测未来的二氧化碳排放量&#xff08;随机森林和XGBoost&#xff09; 简介&#xff1a; CO2排放是当今全球关注的环境问题之一。本文将使用Python对OWID提供的CO2排放数据集进行分析&#xff0c;并尝试构建机器学习模型来预测未来的CO2排放趋势。我们将探索数据…

Xilinx(AMD) FPGA通过ICAP原语读取芯片IDCODE实现方法

1 概述 Xilinx每种型号的FPGA芯片都有一个唯一的IDCODE与之对应&#xff0c;同一型号不同封装的IDCODE是相同的。IDCODE的获取方法包括JTAG、ICAP原语、AXI_HWICAP IP核等。获取IDCODE常用于根据芯片型号改变代码的功能&#xff0c;或者对代码进行授权保护&#xff0c;只能在指…

【汽车之家注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

Android kotlin协程

说明 可代替线程整异步可控制&#xff0c;灵活 &#xff08;控制优先级&#xff0c;内存占用等&#xff09;速度快 效率高有数量上限 使用 runBlocking 一般用于测试 不建议使用GlobalScope.launch 全局的 生命周期跟随application 不建议使用CoroutineScope(job) 用 基本使…

《python编程从入门到实践》day38

# 昨日知识点回顾 定义、迁移模型Entry # 今日知识点学习 18.2.7 Django shell 每次修改模型后&#xff0c;看到重启后的效果需要重启shell&#xff0c;退出shell会话Windows系统按ctrlZ或者输入exit() 18.3 创建页面&#xff1a;学习笔记主页 创建页面三阶段&#xf…

Postgresql源码(133)优化器动态规划生成连接路径的实例分析

物理算子的生成分为两步&#xff0c;基表的扫描路径生成set_base_rel_pathlists&#xff1b;连接路径生成&#xff08;make_rel_from_joinlist动态规划&#xff09;。本篇简单分析实现。看过代码会发现&#xff0c;“基表的扫描路径生成”其实就是作为连接路径生成dp计算的第一…

【Redis】 关于 Redis 哈希类型

文章目录 &#x1f343;前言&#x1f38b;命令介绍&#x1f6a9;hset&#x1f6a9;hget&#x1f6a9;hexists&#x1f6a9;hdel&#x1f6a9;hkeys&#x1f6a9;hvals&#x1f6a9;hgetall&#x1f6a9;hmget&#x1f6a9;hlen&#x1f6a9;hsetnx&#x1f6a9;hincrby&#x1…

快速分析变量间关系(Boruta+SHAP+RCS)的 APP(streamlit)

快速分析变量间关系&#xff08;BorutaSHAPRCS&#xff09;的 APP&#xff08;streamlit&#xff09; 以下情况下&#xff0c;你需要这个快速分析的APP: 正式分析之前的预分析&#xff0c;有助于确定分析的方向和重点变量&#xff1b;收集变量过程中&#xff0c;监测收集的变量…