Ubuntu 离线部署的常见操作

这篇具有很好参考价值的文章主要介绍了Ubuntu 离线部署的常见操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Ubuntu 离线安装的常见操作

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

1. 下载但是不安装

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

Ubuntu 离线部署的常见操作,ubuntu,数据库,linux

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

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

2. 下载所有的依赖项

查询包的直接依赖项

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

Ubuntu 离线部署的常见操作,ubuntu,数据库,linux

查询所有的依赖项

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

Ubuntu 离线部署的常见操作,ubuntu,数据库,linux

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

如果你想在使用 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)]

Ubuntu 离线部署的常见操作,ubuntu,数据库,linux

此时查询到的输出基本上符合我们的要求,只要我们去除依赖: 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 "^ "

Ubuntu 离线部署的常见操作,ubuntu,数据库,linux

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

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这个文件去安装文件目录中找需要的安装包

继续努力,终成大器!文章来源地址https://www.toymoban.com/news/detail-620072.html

到了这里,关于Ubuntu 离线部署的常见操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu 18/20/22 安装 mysql 数据库

    安装前需要知道 root 用户的密码 假如不知道 root 用户密码, 可以使用 passwd 命令修改 root 用户密码 在 ubuntu 中, mysql 服务没有提供默认的帐号和密码, 但是 root 用户可以本地免密码登陆 切换到 root 用户 连接 mysql 创建用户,用户名 demo , 密码 123456 给 demo 用户添加权限 使用

    2024年02月04日
    浏览(70)
  • MySQL -- Linux Ubuntu 环境安装MySQL数据库

    安装 启动mysql服务 查看mysql服务 如下图所示,mysql服务正在运行 设置root密码 在第一次安装MySQL时,root用户没有密码。为了保护数据库的安全,必须设置一个root密码。使用以下命令登录到MySQL控制台 此时登录到MySQL控制台中 此时输入 暂停mysql服务 卸载 有时候忘记root账户密码

    2024年01月21日
    浏览(58)
  • 【MySQL】Navicat/SQLyog连接Ubuntu中的数据库(MySQL)

    🏡浩泽学编程 :个人主页  🔥 推荐专栏 :《深入浅出SpringBoot》《java对AI的调用开发》               《RabbitMQ》《Spring》《SpringMVC》 🛸学无止境,不骄不躁,知行合一 遇到一个Navicat/SQLyog连接Ubuntu中的数据库(MySQL)的报错:中文意思是不能在x.x.x.x(主机号)上连

    2024年02月21日
    浏览(63)
  • ubuntu中如何用docker下载华为opengauss数据库(超简单)

    openGauss 是一款全面友好开放,携手伙伴共同打造的企业级开源关系型数据库。openGauss采用木兰宽松许可证v2发行,提供面向多核架构的极致性能、全链路的业务、数据安全、基于AI的调优和高效运维的能力。openGauss深度融合华为在数据库领域多年的研发经验,结合企业级场景

    2024年02月08日
    浏览(45)
  • openGauss学习笔记-61 openGauss 数据库管理-常见主备部署方案

    61.1 单中心 图 1 单中心部署图 组网特点: 单AZ部署,可以配置一个同步备一个异步备 优势: 三个node完全等价,故障任意一个node都可以提供服务; 成本低。 劣势: 高可用能力较低,发生AZ级故障只能依赖节点恢复; 适用性: 适用于对高可用性要求较低的业务系统。 61.2 同

    2024年02月09日
    浏览(47)
  • 在ubuntu中将dict.txt导入到数据库sqlite3

     将dict.txt导入到数据库 dict文件(部分)      结果为:  一些不成熟的功能

    2024年02月11日
    浏览(43)
  • openGauss学习笔记-201 openGauss 数据库运维-常见故障定位案例-执行修改表分区操作时报错

    201.1 执行修改表分区操作时报错 201.1.1 问题现象 执行ALTER TABLE PARTITION时,报错如下。 201.1.2 原因分析 在同一条ALTER TABLE PARTITION语句中,既存在DROP PARTITION又存在ADD PARTITION时,无论它们在语句中的顺序是什么,openGauss总会先执行DROP PARTITION再执行ADD PARTITION。执行完DROP PARTITIO

    2024年01月19日
    浏览(50)
  • Centos/Ubuntu离线部署清华chatGLM(特别详细,十分钟搞定)

    引言 前段时间,清华公布了中英双语对话模型 ChatGLM-6B,具有60亿的参数,初具问答和对话功能。最!最!最重要的是它能够支持私有化部署,大部分实验室的服务器基本上都能跑起来。因为条件特殊,实验室网络不通,那么如何进行离线部署呢?经过一下午的折腾终于搞定

    2023年04月20日
    浏览(59)
  • 数据库应用:CentOS 7离线安装PostgreSQL

    目录 一、理论 1.PostgreSQL 2.PostgreSQL离线安装 3.PostgreSQL初始化 4.PostgreSQL登录操作 二、实验 1.CentOS 7离线安装PostgreSQL  2.登录PostgreSQL 3.Navicat连接PostgreSQL 三、总结         (1)简介 PostgreSQL 是一个功能强大的开源对象关系数据库管理系统(ORDBMS), 用于安全的存 储数据,允许

    2024年02月16日
    浏览(46)
  • CentOS 7 离线安装达梦数据库8.0

    确认操作系统的版本和数据库的版本是否一致 关闭防火墙和Selinux 修改文件limit 创建DM用户 创建目录存放安装的数据库: 使用用户:dmdba 使用用户:dmdba 本次安装未使用,使用手动配置 使用用户:root 使用用户:root 使用用户:root 上面配置实例如果设置好了,就不需要修改

    2024年02月05日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包