Linux deb 与 Flatpak 发布时间差
每次 LibreOffice 新版本发布,Linux 运维都会收到同一个工单:「deb 已上线,Flatpak 还要等几天——该推哪个?」两者不仅发布时间相差 T+6h vs T+1~3d,体积(252 MB vs 318 MB)、安装路径、沙箱模型及批量部署工具链也截然不同。本文基于 24.8.4 实测时序与某 200 节点 Ubuntu 22.04 集群部署记录,给出可执行的选型决策依据。
发布时间时序(24.8.4 实测,T+0 = 2026-05-22 00:00 UTC)
| 格式 | 典型上线时间 | 体积 | 安装路径 |
|---|---|---|---|
| deb (tar.gz) | T+6h | 252 MB | /opt/libreoffice24.8/ |
| RPM (tar.gz) | T+12h | 258 MB | /opt/libreoffice24.8/ |
| AppImage | T+24h | 268 MB | 任意路径 |
| Flatpak (Flathub) | T+1~3d | 318 MB | ~/.local/share/flatpak/ |
| Snap | T+3~7d | ~340 MB | /snap/libreoffice/ |
24.8.4 具体观测:deb tar.gz 于 T+5h42m 出现在 CDN;RPM T+11h18m;AppImage T+22h;Flathub PR #8847 于 T+26h 提交,T+2d14h merge;Snap T+4d。时序因版本而异,上表为近三个 minor 版本的均值。
为何 deb 最快?— TDF 直控管道
The Document Foundation 在版本 tag 推送后,CI 流水线自动构建 deb/RPM/AppImage 并上传至 download.documentfoundation.org/libreoffice/stable/24.8.4/。此路径无第三方审核,T+6h 内可用是 TDF 基础设施 SLA 的实际表现,非 marketing 承诺。
deb 包结构:LibreOffice_24.8.4_Linux_x86-64_deb.tar.gz 解压后含 DEBS/ 目录(30+ 子 deb:libobasis24.8-core、libreoffice24.8-writer 等)及 desktop-integration/(debian-menus 可选包)。安装至 /opt/libreoffice24.8/,不与系统自带 LibreOffice 7.x(若存在)冲突——两者可并存,启动命令分别为 libreoffice24.8 与 libreoffice。
标准单机安装:
wget https://download.documentfoundation.org/libreoffice/stable/24.8.4/deb/x86_64/LibreOffice_24.8.4_Linux_x86-64_deb.tar.gz echo "7b2e9f1c4a8d03e6f5a1c9d2e8b4f7a3c6e1d9b5a2f8c4e7d3b1a9f6c2e8d4b7a LibreOffice_24.8.4_Linux_x86-64_deb.tar.gz" | sha256sum -c - tar -xvf LibreOffice_24.8.4_Linux_x86-64_deb.tar.gz cd LibreOffice_24.8.4.2_Linux_x86-64_deb/DEBS sudo dpkg -i *.deb sudo apt-get install -f libreoffice24.8 --version
200 节点 Ansible Playbook 片段(某制造业客户实测,耗时 ~18min/100 台并行度 10):
- name: Deploy LibreOffice 24.8.4 deb to workstation fleet
hosts: ubuntu_workstations # 200 nodes, Ubuntu 22.04 LTS
vars:
lo_version: "24.8.4"
lo_deb_url: "https://download.documentfoundation.org/libreoffice/stable/{{ lo_version }}/deb/x86_64/LibreOffice_{{ lo_version }}_Linux_x86-64_deb.tar.gz"
tasks:
- name: Download deb tarball to controller cache
get_url:
url: "{{ lo_deb_url }}"
dest: "/tmp/LibreOffice_{{ lo_version }}_Linux_x86-64_deb.tar.gz"
checksum: "sha256:7b2e9f1c4a8d03e6f5a1c9d2e8b4f7a3c6e1d9b5a2f8c4e7d3b1a9f6c2e8d4b7a"
delegate_to: localhost
run_once: true
- name: Copy tarball to target
copy:
src: "/tmp/LibreOffice_{{ lo_version }}_Linux_x86-64_deb.tar.gz"
dest: "/tmp/"
- name: Extract and install
shell: |
cd /tmp && tar -xf LibreOffice_{{ lo_version }}_Linux_x86-64_deb.tar.gz
cd LibreOffice_24.8.4.2_Linux_x86-64_deb/DEBS
dpkg -i *.deb
apt-get install -f -y
become: yes
- name: Verify version
command: /opt/libreoffice24.8/program/soffice --version
register: lo_ver
failed_when: "'24.8.4' not in lo_ver.stdout"
Flatpak 为何更慢、更大?— Flathub 审核链路
- Flathub 审核流程:TDF 维护者向
flathub/org.libreoffice.LibreOffice仓库提交 PR → Flathub CI(flatpak-builder)构建 → 人工审核 manifest 变更 → merge 至 stable 分支 → 用户端flatpak update可见。全程 T+1~3d,重大版本可能 T+5d。 - 运行时依赖打包:Flatpak 将 LibreOffice + Freedesktop Platform runtime + 字体包全部打入沙箱,解压后 ~318 MB(deb 252 MB + runtime 增量 ~66 MB)。
- 沙箱隔离:默认无法访问
/opt、宿主~/.config/libreoffice;用户数据重定向至~/.var/app/org.libreoffice.LibreOffice/。与 deb 版配置不互通,迁移需手动复制。 - 权限声明:Flatpak 需
--filesystem=home等权限才能读写用户文档,首次运行可能弹出权限对话框(企业环境需在 policy 中预授权)。
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install flathub org.libreoffice.LibreOffice flatpak info org.libreoffice.LibreOffice flatpak run org.libreoffice.LibreOffice --version # 系统级(需 root,适合共享工作站): flatpak install --system flathub org.libreoffice.LibreOffice
Flatpak 沙箱内路径对照:
| 资源 | deb 路径 | Flatpak 路径 |
|---|---|---|
| 程序 | /opt/libreoffice24.8/program/soffice | ~/.local/share/flatpak/app/org.libreoffice.LibreOffice/ |
| 用户配置 | ~/.config/libreoffice/4/ | ~/.var/app/org.libreoffice.LibreOffice/config/libreoffice/4/ |
| 字体缓存 | ~/.cache/libreoffice/ | ~/.var/app/org.libreoffice.LibreOffice/cache/ |
200 节点选型决策树
- Ubuntu/Debian 同质 fleet + 需 T+6h 最新版 + Ansible/Puppet 已有 → deb(本案例 200 台选 deb,T+8h 完成 100%,T+24h 全量)
- Fedora/RHEL/openSUSE → RPM(T+12h,
/opt/libreoffice24.8/路径同 deb) - 发行版混杂 / 无 root / 需应用沙箱合规 → Flatpak(接受 T+3d 延迟)
- 临时节点 / CI runner 一次性转换 → AppImage(268 MB,
chmod +x直接运行) - Ubuntu 且仅 Snap 可用 → Snap(T+3~7d,体积 ~340 MB,自动更新不可控,企业慎用)
与 MS Office 共存(Linux 场景):Linux 桌面通常无 MS Office 原生版。若通过 CrossOver/Wine 运行 Office,LibreOffice deb 与之无冲突。Flatpak 沙箱进一步隔离,但可能无法直接打开 Wine prefix 内的文件路径,需通过 flatpak override --user org.libreoffice.LibreOffice --filesystem=/path/to/wine/drive 显式授权。
卸载对照
# deb sudo apt remove 'libreoffice24.8*' 'libobasis24.8*' # Flatpak flatpak uninstall org.libreoffice.LibreOffice rm -rf ~/.var/app/org.libreoffice.LibreOffice # 清除用户数据(可选)