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

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.lryc.cn/news/2393115.html

相关文章:

  • Web3怎么开发类似MetaMask的钱包
  • Linux多线程(六)之线程控制4【线程ID及进程地址空间布局】
  • 1.什么是node.js、npm、vue
  • Xamarin入门笔记(Xamarin已经被MAUI取代)
  • 排查Oracle文件打开数过多
  • 应用层协议http(无代码版)
  • 8.5 Q1|广州医科大学CHARLS发文 甘油三酯葡萄糖指数累积变化与 0-3期心血管-肾脏-代谢综合征人群中风发生率的相关性
  • 交叉编译tcpdump工具
  • 【Python-Day 20】揭秘Python变量作用域:LEGB规则与global/nonlocal关键字详解
  • golang 柯里化(Currying)
  • 无人机停机坪运行技术分析!
  • comfyui 工作流中 视频长度和哪些参数有关? 生成15秒的视频,再加上RTX4060 8G显卡,尝试一下
  • 【Java Web】速通HTML
  • 在线制作幼教早教行业自适应网站教程
  • WSL 开发环境搭建指南:Java 11 + 中间件全家桶安装实战
  • matlab天线阵列及GUI框架,可用于相控阵,圆形阵,矩形阵
  • 在 Ubuntu 终端中配置网络代理:优化 npm、apt等的下载速度
  • Apptrace:APP安全加速解决方案
  • Dockerfile 构建优化的方法
  • Web攻防-SQL注入增删改查HTTP头UAXFFRefererCookie无回显报错
  • Python中openpyxl库的基础解析与代码实例
  • GoldenDB管理节点zk部署
  • mac mini m4命令行管理员密码设置
  • 计算机网络之差错控制中的 CRC(循环冗余校验码)
  • 红客 Linux 系统性全解析
  • 【深度学习】7. 深度卷积神经网络架构:从 ILSVRC、LeNet 到 AlexNet、ZFNet、VGGNet,含pytorch代码结构
  • 基于cornerstone3D的dicom影像浏览器 第二十七章 设置vr相机,复位视图
  • 2025年渗透测试面试题总结-匿名[校招]高级安全工程师(代码审计安全评估)(题目+回答)
  • Jenkins实践(7):Publish over SSH功能
  • SQLite 中文写入失败问题总结