Ungoogled Chromium Binaries 离线部署实战指南
Ungoogled Chromium Binaries 离线部署实战指南
2026-07-24 0 评论 1 阅读 0 点赞

Ungoogled Chromium Binaries 离线部署实战指南

daimafengzi
2026-07-24 / 0 评论 / 1 阅读 / 正在检测是否收录...

Ungoogled Chromium Binaries 离线部署实战指南

—— 跨发行版、多架构服务器环境下的"绿色版"精准获取与使用

1. 为什么选择 Ungoogled Chromium Binaries?

在离线、多发行版(EulerOS / Kylin / Ubuntu)、多版本且混合架构(x86_64 + ARM64)的服务器环境中部署 Chrome,官方 .deb/.rpm 包因对 glibc、NSS、GTK 等系统库的严格版本锁定而完全不可用。

Ungoogled Chromium Binaries 是 ungoogled-software/ungoogled-chromium 主仓库官方推荐的预编译二进制分发页面。它专门解决了以下核心痛点:

  • 零/低系统依赖:Portable(便携)版本静态链接了大部分运行时库,不绑定特定版本的 glibc,真正实现"解压即用"。
  • 双架构全覆盖:同时提供 x86_64 和 aarch64 (ARM64) 构建,完美适配信创鲲鹏/飞腾及传统 Intel/AMD 服务器。
  • 去 Google 化:移除了所有 Google 私有服务、追踪器和 API 依赖,符合内网及信创环境的安全合规要求。
  • 免 Root 权限:无需系统级安装,普通用户即可运行,避免污染宿主系统环境。
⚠️ 安全声明
该页面的二进制由社区贡献者构建,非可重现构建(non-reproducible)。若用于高安全合规环境,建议在隔离环境中自行从源码审计构建。对于一般内网服务器自动化、渲染、截图等场景,此方案是当前兼容性最优解。

2. 读懂下载页:没有搜索框,如何找到"绿色版"?

很多用户首次打开该页面时会困惑:没有搜索框,也没有"绿色版/安装版"的中文标签。这是因为该页面遵循开源社区惯例,按 平台 + 架构 + 构建类型 分类。

你需要建立以下概念映射:

页面表格中的名称实际含义对应 Windows 概念是否推荐离线多系统环境
Portable Linux 64-bit解压后直接运行的 tar.xz 包,自带依赖库✅ 真·绿色版强烈推荐
Linux AppImage 64-bit自包含的 .AppImage 单文件✅ 绿色版推荐(仅 x86_64)
Portable Linux 64-bit (musl)针对 Alpine/Void 等轻量系统的静态构建✅ 超级绿色版老旧系统兜底
Debian/Ubuntu (unportable).deb 包,需 dpkg 安装,强依赖系统库❌ 安装版绝对不要用
Fedora/RHEL (unportable).rpm 包,需 rpm 安装,强依赖系统库❌ 安装版绝对不要用
💡 核心原则
只认准 PortableAppImage 字样。凡是带有 unportable.deb.rpm 后缀的,一律跳过。

快速定位技巧
页面为静态生成,无搜索功能。请使用浏览器 Ctrl+F 搜索以下关键词:

  • x86_64 绿色版 → 搜索 Portable Linux 64-bit
  • ARM64 绿色版 → 搜索 Portable Linux 64-bit ARMaarch64
  • 自包含单文件 → 搜索 AppImage

3. 下载与离线部署全流程

第一步:联网机下载

  1. 访问 Ungoogled Chromium Binaries
  2. 在表格中找到目标架构对应的 Portable 行,点击版本号链接(如 150.0.7871.128-1),跳转至 GitHub Release 页面。
  3. 下载对应文件:
目标架构文件名示例
x86_64ungoogled-chromium-150.0.7871.128-1-linux-portable.tar.xz
ARM64ungoogled-chromium-150.0.7871.128-1-linux-arm64-portable.tar.xz

务必同时下载中文字体(离线服务器无 CJK 字体必然乱码):

wget https://github.com/notofonts/noto-cjk/raw/main/Sans/SubsetOTF/SC/NotoSansSC-Regular.otf

第二步:离线服务器部署

将下载的文件通过 U 盘或内网传输至目标服务器后执行:

# 1. 创建目录并解压(无需 root)
mkdir -p /opt/chromium
tar -xf ungoogled-chromium-*-portable.tar.xz -C /opt/chromium --strip-components=1

# 2. 放置字体
mkdir -p /opt/chromium/fonts
cp NotoSansSC-Regular.otf /opt/chromium/fonts/

# 3. 赋予执行权限
chmod +x /opt/chromium/chrome

# 4. 验证动态链接库完整性(应全部显示 found 或 static)
ldd /opt/chromium/chrome

第三步:运行测试

/opt/chromium/chrome \
  --headless=new \
  --no-sandbox \
  --disable-gpu \
  --disable-dev-shm-usage \
  --font-path=/opt/chromium/fonts \
  --screenshot=/tmp/test.png \
  https://example.com

确认 /tmp/test.png 生成且中文渲染正常,即部署成功。

4. 多架构统一启动脚本(生产环境推荐)

在混合架构集群中,建议封装 wrapper 脚本自动适配,屏蔽底层差异:

#!/bin/bash
# /usr/local/bin/chrome-headless

ARCH=$(uname -m)
CHROME_DIR="/opt/chromium"
FONT_DIR="${CHROME_DIR}/fonts"

case "$ARCH" in
    x86_64)
        CHROME_BIN="${CHROME_DIR}/chrome-x86_64"
        ;;
    aarch64)
        CHROME_BIN="${CHROME_DIR}/chrome-aarch64"
        # ARM64 二进制缺失时回退到容器
        if [ ! -f "$CHROME_BIN" ]; then
            exec docker run --rm \
                -v "${FONT_DIR}:/usr/share/fonts/custom:ro" \
                zenika/alpine-chrome \
                --headless=new --no-sandbox --disable-gpu \
                --disable-dev-shm-usage \
                --font-path=/usr/share/fonts/custom \
                "$@"
        fi
        ;;
    *)
        echo "Unsupported architecture: $ARCH" >&2
        exit 1
        ;;
esac

exec "$CHROME_BIN" \
    --headless=new \
    --no-sandbox \
    --disable-gpu \
    --disable-dev-shm-usage \
    --font-path="$FONT_DIR" \
    "$@"

调用方式统一为:

chrome-headless --screenshot=/tmp/output.png https://example.com

5. 常见问题速查表

问题现象根因解决方案
GLIBC_2.xx not found宿主机 glibc 版本过低换用 musl Portable 构建,或使用容器方案
中文显示方块/乱码缺少 CJK 字体添加 --font-path 指向 Noto Sans SC 或文泉驿字体
Out of memory / 崩溃/dev/shm 空间不足必须加 --disable-dev-shm-usage
Running as root without --no-sandboxroot 用户运行--no-sandbox(容器内或 root 下必需)
ARM64 无可用 Portable 构建社区未覆盖该架构使用 zenika/alpine-chrome ARM64 容器镜像替代
ldd 显示大量 not foundPortable 版仍依赖少量系统库安装缺失基础库(如 libnss3),或换用完全静态构建

6. 参考链接

0

评论 (0)

取消