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。

相关推荐
小此方7 分钟前
Linux网络(二十二):深入解析IP协议:从地址寻址、头部结构到内核机制与TTL环路控制
linux·网络·tcp/ip
Ruiery8 分钟前
Linux 6.6内核内存管理深度解析(四):大页(HugeTLB / THP)— 为什么一个页表项要管 2MB
linux·运维·服务器
Lsetea11 分钟前
OpenSSL报certificate rejected:error 28与CA辅助信任属性排查
linux·https·ssl证书·openssl·证书链
沫璃染墨13 分钟前
从零入门计算机网络系列(五):UDP套接字编程实战——从核心API到客户端与服务器通信
linux·网络·c++·vscode·网络协议·udp
Margrop1 Margrop16 分钟前
别再挨个试清华、中科大、阿里源了!国家队下场的“CERNET 镜像聚合站”,凭什么让你的下载直接起飞?
linux·开源镜像·cernet
一条破秋裤24 分钟前
05_设备树自定义属性_写入读取验证
linux·网络·数据库
此生决int36 分钟前
Linux系统(07)——进程概念(下)
linux·运维·服务器
迷途之人不知返1 小时前
【基础IO】-3-系统级别的文件操作
linux
下辈子不要当码农1 小时前
Linux驱动(2)
linux·运维·单片机
m0_587383001 小时前
碰碰好评卡功能落地实战 从需求梳理到上线部署全流程实操指南
java·linux·服务器·前端·javascript·vue.js·人工智能