当前位置: 首页 > ops >正文

ubuntu 安装上传的 ffmpeg_7.1.1.orig.tar.xz并使用

在 Ubuntu 系统上离线安装 make 需要提前准备好所有依赖包。以下是详细的操作步骤:


准备工作:在有网络的机器上下载所需软件包

  1. 查找依赖关系
    在有网络的 Ubuntu 机器上(需与目标机器相同版本)执行:

    # 获取 make 及其依赖包列表
    apt-get install --reinstall -d make
    
  2. 下载所有依赖包

    # 创建下载目录
    mkdir ~/make-offline
    cd ~/make-offline# 下载 make 及其所有依赖
    apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests make | grep "^\w" | sort -u)
    
  3. 复制到离线机器
    将整个 make-offline 目录打包复制到离线 Ubuntu 机器:

    tar cvf make-offline.tar make-offline
    

离线安装步骤

  1. 解压软件包
    在离线机器上:

    tar xvf make-offline.tar
    cd make-offline
    
  2. 安装依赖包

    # 安装所有 .deb 包(按依赖顺序安装)
    sudo dpkg -i *.deb# 修复可能的依赖问题
    sudo apt-get install -f --allow-unauthenticated
    
  3. 验证安装

    make --version
    # 应输出类似: GNU Make 4.3
    

备选方案:从源码编译安装(无需 apt)

如果无法获取预编译包,可直接编译源码:

  1. 下载源码包
    在有网络的机器下载:

    wget http://ftp.gnu.org/gnu/make/make-4.4.1.tar.gz
    
  2. 复制到离线机器并解压

    tar xvf make-4.4.1.tar.gz
    cd make-4.4.1
    
  3. 编译安装

    # 配置
    ./configure --prefix=/usr/local# 编译
    make# 安装
    sudo make install# 创建符号链接
    sudo ln -s /usr/local/bin/make /usr/bin/make
    
  4. 验证

    make --version
    

常见问题解决

  1. 依赖缺失错误
    如果 dpkg -i 报错,检查缺失的包名,从有网机器下载对应 .deb 包补充到离线目录后重试。

  2. /usr/bin/make 已存在
    备份原文件:

    sudo mv /usr/bin/make /usr/bin/make.bak
    sudo ln -s /usr/local/bin/make /usr/bin/make
    
  3. 编译 make 时报错
    确保有基本编译工具:

    # 离线安装 gcc 和 libc-dev(需按同样方法提前准备)
    sudo dpkg -i gcc_*.deb libc-dev*.deb
    

关键提示

  1. 系统版本匹配
    下载依赖包的 Ubuntu 版本必须与离线机器完全一致(可通过 lsb_release -a 查看)

  2. 架构匹配
    确保都是 amd64 或 arm64 架构(通过 uname -m 查看)

  3. 最小化依赖
    基础系统需要以下核心包(如果连这些都没有,需优先安装):

    libc6, gcc, binutils, libgcc
    
  4. 批量下载工具
    完整下载命令(包含所有递归依赖):

    apt-get download $(apt-rdepends make | grep -v "^ " | sort -u)
    

按照这些步骤操作,即可在完全离线的 Ubuntu 系统上成功安装 make

http://www.xdnf.cn/news/9684.html

相关文章:

  • P20和P15钢材的区别
  • Python中的__init__和__new__方法解析
  • 【java】aes,salt
  • 09_降维、特征提取与流行学习
  • 国产化Word处理控件Spire.Doc教程:通过Java简单快速的将 HTML 转换为 PDF
  • SpringIOC中Bean生命周期
  • Android Studio 2022.2.1.20 汉化教程
  • OBOO鸥柏丨2025年鸿蒙生态+国产操作系统触摸屏查询一体机核心股
  • 【数据分析】Pandas
  • 手机打电话时将对方DTMF数字转为RFC2833发给局域网SIP坐席
  • Windows Server 2019--10 网络地址转换
  • 第三节 独立按键模块
  • 代码随想录打卡|Day51 图论(dijkstra(堆优化版)精讲、Bellman_ford 算法精讲)
  • 开发时如何通过Service暴露应用?ClusterIP、NodePort和LoadBalancer类型的使用场景分别是什么?
  • Python+VR:如何让虚拟世界更懂你?——用户行为分析的实践
  • 【Linux】(1)—进程概念-②Linux中的操作系统概念
  • 桂花网体育运动监测方案:开启幼儿园运动健康管理新篇章
  • 【Linux】shell脚本的变量与运算
  • Spring框架学习day2--Bean管理(IOC)
  • 【博客系统】博客系统第十一弹:部署博客系统项目到 Linux 系统
  • Elasticsearch集群管理的相关工具介绍
  • [Rust_1] 环境配置 | vs golang | 程序运行 | 包管理
  • 自定义异常小练习
  • Intellij IDEA 查找接口实现类的快捷键
  • CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
  • 数据可视化(第4、5、6次课)
  • 【Java Web】速通JavaScript
  • k8s pod启动失败问题排查
  • NanoGPT的BenchMarking.py
  • 数据治理是什么意思?数据治理平台有哪些?