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

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


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

  1. 查找依赖关系

    在有网络的 Ubuntu 机器上(需与目标机器相同版本)执行:

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

    bash 复制代码
    # 创建下载目录
    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 机器:

    bash 复制代码
    tar cvf make-offline.tar make-offline

离线安装步骤

  1. 解压软件包

    在离线机器上:

    bash 复制代码
    tar xvf make-offline.tar
    cd make-offline
  2. 安装依赖包

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

    bash 复制代码
    make --version
    # 应输出类似: GNU Make 4.3

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

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

  1. 下载源码包

    在有网络的机器下载:

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

    bash 复制代码
    tar xvf make-4.4.1.tar.gz
    cd make-4.4.1
  3. 编译安装

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

    bash 复制代码
    make --version

常见问题解决

  1. 依赖缺失错误

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

  2. /usr/bin/make 已存在

    备份原文件:

    bash 复制代码
    sudo mv /usr/bin/make /usr/bin/make.bak
    sudo ln -s /usr/local/bin/make /usr/bin/make
  3. 编译 make 时报错

    确保有基本编译工具:

    bash 复制代码
    # 离线安装 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. 批量下载工具

    完整下载命令(包含所有递归依赖):

    bash 复制代码
    apt-get download $(apt-rdepends make | grep -v "^ " | sort -u)

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

相关推荐
YCY^v^1 小时前
centos 7 开启80,443端口,怎么弄?
linux·运维·centos
北南京海1 小时前
[Linux]进程地址空间
linux·运维·服务器
db_murphy3 小时前
Oracle数据块8KB、OS默认认块管理4KB,是否需调整大小为一致?
linux
mCell6 小时前
从删库到跑路?这50个Linux命令能保你职业生涯
linux·windows·macos
杰克逊的日记6 小时前
GPU运维常见问题处理
linux·运维·gpu
誰能久伴不乏7 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔7 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
mmoyula7 小时前
【RK3568 PWM 子系统(SG90)驱动开发详解】
android·linux·驱动开发
-SGlow-8 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw8 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器