Ubuntu 离线部署的常见操作

news2024/9/21 22:35:25

Ubuntu 离线安装的常见操作

**说明:**很多情况下,生产环境都是离线环境,然而开发环境都是互联网的环境,因此部署的过程中需要构建离线安装包;

1. 下载但是不安装

# 例如使用 apt 下载 wireshark 安装包
sudo apt download wireshark
# 下载多条的时候直接使用 空格 分割即可
sudo apt download vim sshpass 

image-20230731102438425

会下载安装包到当前的目录下面;

问题引出:在联网的环境中通常下载的时候不仅仅会安装当前的安装包,而且还会安装对应的依赖项;

2. 下载所有的依赖项

查询包的直接依赖项

# 查询包的直接依赖
sudo apt-cache depends vim

image-20230731103345117

查询所有的依赖项

# 命令可以递归地列出软件包及其所有依赖项。这对于了解软件包的完整依赖关系非常有用。
sudo apt-cache depends --recurse
# 查看wireshark 的所有依赖
sudo apt-cache depends --recurse wireshark

image-20230731104107313

使用上述的命令会查询大量的依赖包,也包含建议安装的包,和增强的包。继续为命令添加上更多的参数,进行精准的查询;

如果你想在使用 apt-cache 命令时忽略建议、建议的依赖项、冲突、中断、替代、增强和预先依赖项,可以通过添加对应的选项来实现。

以下是对应选项的说明:

  • --no-recommends:忽略建议的依赖项。
  • --no-suggests:忽略建议的软件包。
  • --no-conflicts:忽略冲突。
  • --no-breaks:忽略中断。
  • --no-replaces:忽略替代。
  • --no-enhances:忽略增强。
  • --no-pre-depends:忽略预先依赖项。
# 查找依赖包, 并且忽略冲突等信息
sudo apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts  --no-breaks --no-replaces --no-enhances --no-pre-depends wireshark

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tSSCXdnQ-1690775935036)(assets/image-20230731105524993.png)]

image-20230731104657728

此时查询到的输出基本上符合我们的要求,只要我们去除依赖: licxxx即可,此时使用grep命令进行过滤;

grep -v "^ "  # 命令用于在文本中过滤掉以空格开头的行。这对于从结果中排除空行或空格行非常有用。

进行命令的编写

# 获取到所有的依赖包
sudo apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts  --no-breaks --no-replaces --no-enhances --no-pre-depends wireshark |grep -v "^ "

image-20230731105718055

此时将下载命令和查询依赖命令结合即可下载所有的依赖包,第一个为我们要直接下载的包;

sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts  --no-breaks --no-replaces --no-enhances --no-pre-depends 包名 |grep  -v "^ ")

# 下载过程中如果出现无法定位软件包的位置,则需要更换源,更换方法百度即可

3. 数据包的安装

# 切换到下载安装包的目录
dpkg -i *.deb
# 权限不足的时候, 加上 sudo
sudo dpkg -i *.deb

4. shell脚本的编写

将上述下载的命令,进行整合,因为安装只有一条命令,且是在生产环境中使用无需进行 shell 脚本的整合

#!/bin/bash

#$1     pkg
get_all_depends()
{
        apt-cache depends --no-pre-depends --no-suggests --no-recommends \
                --no-conflicts --no-breaks --no-enhances\
                --no-replaces --recurse $1 | awk '{print $2}'| tr -d '<>' | sort --unique
}



for pkg in $*
do
        all_depends=$(get_all_depends $pkg)
        echo -e "所有依赖共计"$(echo $all_depends | wc -w)"个"
        echo $all_depends
        i=0
        for depend in $all_depends
        do
                i=$((i+1))
                echo -e "\033[1;32m正在下载第$i个依赖:"$depend "\033[0m"
                apt-get download $depend
        done
done

脚本运行

bash 脚本名称.sh 包名

5. Python 第三方包下载但不安装

前提:已经导出了 requirement.txt

pip freeze > requirement.txt  # 导出所有的安装包,已经包含了依赖以及版本
pip download -d \home\packs -r requirement.txt
# -r requirement.txt 可以替换成为单个包名

此处下载的是一些whl文件;

将下载的文件打包后放到生产环境的服务器中,执行如下的命令;

pip install --no-index --find-links=PIPDIR -r requirements.txt
# --find-links就是存放安装文件的目录
# -r是指按照requirements.txt这个文件去安装文件目录中找需要的安装包

继续努力,终成大器!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

gitee修改代码提交操作步骤说明

一&#xff0c;简介 本文主要介绍如何从gitee仓库下载文件&#xff0c;本地修改&#xff0c;本地提交&#xff0c;然后再push到远程服务器的操作步骤。供参考&#xff0c;欢迎一起讨论交流~ 二&#xff0c;操作步骤 总的操作步骤分为以下几步 1&#xff0c;远程服务器下载文…

Seata的四种分布式事务模式

文章目录 一、XA模式1、XA模式原理2、seata的XA模式3、优缺点4、代码实现 一、XA模式 1、XA模式原理 XA 规范 是 X/Open 组织定义的分布式事务处理&#xff08;DTP&#xff0c;Distributed Transaction Processing&#xff09;标准&#xff0c;XA 规范 描述了全局的TM与局部的…

【动态规划】子序列系列

文章目录 动态规划&#xff08;子序列系列&#xff09;1. 最长递增子序列2. 摆动序列3. 最长递增子序列的个数4. 最长数对链5. 最长定差子序列6. 最长的斐波那契子序列的长度7. 最长等差数列8. 等差数列划分 || - 子序列 动态规划&#xff08;子序列系列&#xff09; 1. 最长递…

正泰电力携手图扑:VR 变电站事故追忆反演

VR(Virtual Reality&#xff0c;虚拟现实)技术作为近年来快速发展的一项新技术&#xff0c;具有广泛的应用前景&#xff0c;支持融合人工智能、机器学习、大数据等技术&#xff0c;实现更加智能化、个性化的应用。在电力能源领域&#xff0c;VR 技术在高性能计算机和专有设备支…

<C++>二、类和对象-构造函数

1.类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员函数。 默认成员函数&#xff1a;用户没有显式实现&#xff0c;编译器会生…

为Win12做准备?微软Win11 23H2将集成AI助手:GPT4免费用

微软日前确认今年4季度推出Win11 23H2&#xff0c;这是Win11第二个年度更新。 Win11 23H2具体有哪些功能升级&#xff0c;现在还不好说&#xff0c;但它会集成微软的Copilot&#xff0c;它很容易让人想到多年前的“曲别针”助手&#xff0c;但这次是AI技术加持的&#xff0c;Co…

使用Vue+CSS实现汉堡图标过渡为叉号图标,有点意思

本文给大家分享三个具有过渡效果的汉堡图标&#xff0c;当点击汉堡图标时&#xff0c;过渡为叉号图标。这种具有过渡特效的图标挺炫酷的&#xff0c;感觉一下子给网页增加一点新颖特色。早在2015年左右&#xff0c;国外挺多优秀门户网站都有使用类似的图标&#xff0c;那时不知…

Mysql之binlog日志浅析

一、binlog日志简介 Binlog是MySQL数据库中的二进制日志&#xff0c;用于记录数据库中所有修改操作&#xff0c;包括增删改等操作。binlog以二进制格式保存&#xff0c;可以通过解析binlog文件来查看数据库的操作历史记录。binlog日志可以用于数据恢复、数据备份、数据同步等场…

智慧水务和物联网智能水表在农村供水工程中的应用

摘 要&#xff1a;随着社会的进步和各项事业的飞速发展&#xff0c;人民生活水平的逐步提升&#xff0c;国家对农村饮水安全有了更高的要求&#xff0c;为了进一步提升农村供水服务的质量&#xff0c;利用现代化、信息化科学技术提升农村供水服务质量&#xff0c;提高用水管理效…

对象分割技术在图像重绘上的运用

今年早些时候&#xff0c;Meta AI 发布了他们的新开源项目: Segment Anything Model&#xff08;SAM) &#xff0c;在计算机视觉社区引起了巨大的轰动。SAM 是一种快速分割系统&#xff0c;它擅长于对不熟悉的物体和图像进行零样本泛化&#xff0c;而不需要额外的训练。 在本教…

安全测试国家标准解读——函数调用安全、异常处理安全、指针安全

下面的系列文章主要围绕《GB/T 38674—2020 信息安全技术 应用软件安全编程指南》进行讲解&#xff0c;该标准是2020年4月28日&#xff0c;由国家市场监督管理总局、国家标准化管理委员会发布&#xff0c;2020年11月01日开始实施。我们对该标准中一些常见的漏洞进行了梳理&…

DCDC下垂控制算法

在并联的DC/DC转换器系统中&#xff0c;下垂控制&#xff08;Droop Control&#xff09;是一种常见的方法&#xff0c;用以实现在不同模块之间的功率均衡。在下垂控制策略中&#xff0c;每一个转换器的输出电压会随着负载的增加而减小&#xff0c;这样能够保证所有的转换器都在…

CSS font-family 等宽字体

CSS font-family 等宽字体 font-family: "Lucida Console", Consolas, "Courier New", Courier, monospace; font-family: Courier New, Courier, Lucida Console, Consolas, monospace; font-family: Courier, Lucida Console, Consolas, Courier New,…

【数学建模】2023 深圳杯 东三省 数学建模 B题 :电子资源版权保护问题 (基于DCT的暗水印信息嵌入模型)

在文章末尾的公众号回复&#xff1a;深圳杯B题&#xff0c;获取完整内容。 本文的文本、公式、代码都是部分展示。 文章目录 一、题目二、思路 与 解答2.1 问题一2.11 LSB 方法测试2.12 LSB 方法建模 2.2 问题二2.3 问题三2.31 方法与步骤概述2.32 基于DCT的暗水印信息嵌入模型…

第八章 HL7 架构和可用工具 - 测试转换

文章目录 第八章 HL7 架构和可用工具 - 测试转换显示段地址显示字段地址批量消息 测试转换 第八章 HL7 架构和可用工具 - 测试转换 显示段地址 要显示段地址&#xff0c;请将光标悬停在阴影列中的段名称上。工具提示显示以下内容&#xff1a; 在虚拟属性路径中使用的段地址该…

CSS样式中颜色与颜色值的应用

使用CSS描绘页面样式时&#xff0c;颜色是其中不可或缺的&#xff0c;无论是对文本、背景还是边框、阴影&#xff0c;我们都写过无数代码用来增添颜色。而为了让网页的色彩表现更出色&#xff0c;我们很有必要完整梳理下CSS中的色彩。 要讲清楚CSS中的颜色&#xff0c;离不开颜…

windows下tomcat无故宕机,检测http或https服务,并自动重启Tomcat服务

一、问题描述及解决原理 把项目发布到windows服务器中&#xff0c;如tomcat工程不稳定&#xff0c;会有无故宕机的问题。如果通过程序无法解决&#xff0c;并且重启tomcat服务能够生效的话&#xff0c;可以做一个自动检测并重启的脚本。 脚本通过检测tomcat对应的工程链接&…

flink1.17.0 jdk11服务的可以启动,web端无法访问

在配置文件中增加如下配置&#xff1a; 当前linux的ip地址&#xff0c;[localhsot&#xff0c;0.0.0.0]无效 rest.bind-address: 192.168.1.21

机器学习十大经典算法

机器学习算法是计算机科学和人工智能领域的关键组成部分&#xff0c;它们用于从数据中学习模式并作出预测或做出决策。本文将为大家介绍十大经典机器学习算法&#xff0c;其中包括了线性回归、逻辑回归、支持向量机、朴素贝叶斯、决策树等算法&#xff0c;每种算法都在特定的领…

使用 Docker Compose 部署单机版 Redis:简单高效的数据缓存与存储

家人们啦&#xff01;今天我们来介绍如何使用 docker-compose 部署单机版 Redis&#xff0c;这是一个简单高效的数据缓存与存储解决方案&#xff0c;广泛应用于Web应用、移动应用以及各类数据处理场景。我们过后几篇文章了将会介绍cluster和sentinel集群的部署。通过本文的指导…