惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
罗磊的独立博客
V
Visual Studio Blog
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)
美团技术团队
Martin Fowler
Martin Fowler
月光博客
月光博客
博客园 - 【当耐特】
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - Franky
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
B
Blog RSS Feed
Last Week in AI
Last Week in AI
MyScale Blog
MyScale Blog
H
Help Net Security
爱范儿
爱范儿
V
V2EX
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
Y
Y Combinator Blog
D
DataBreaches.Net
F
Fortinet All Blogs
Jina AI
Jina AI
S
Securelist
T
Threat Research - Cisco Blogs
Engineering at Meta
Engineering at Meta
Know Your Adversary
Know Your Adversary
T
Threatpost
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
The Exploit Database - CXSecurity.com
Stack Overflow Blog
Stack Overflow Blog
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
I
InfoQ
The Hacker News
The Hacker News
C
CERT Recently Published Vulnerability Notes
博客园_首页
T
The Blog of Author Tim Ferriss
A
Arctic Wolf
P
Privacy & Cybersecurity Law Blog
Recent Announcements
Recent Announcements
Spread Privacy
Spread Privacy
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Secure Thoughts
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
SegmentFault 最新的问题
U
Unit 42

Show HN

暂无文章

Build native Linux packages and host your own repository — OmniPackage
Oleg Antonyan · 2026-06-16 · via Show HN

OmniPackage is an open-source CLI that builds native Linux packages and publishes them to your own apt, dnf, zypper, or pacman repository on S3-compatible storage or a local filesystem. It scaffolds an RPM spec file, the DEB equivalents, and a PKGBUILD, then runs rpmbuild, dpkg-buildpackage, and makepkg in containers for each supported distro. Because each container runs that distro, your software is built against the distro's own libraries and its dependencies are declared as native packages — so the system package manager resolves them automatically. Packages are signed with your GPG key and uploaded to your bucket or directory, which serves as the repository. It also generates an install page — share the link, and your users are done.

One command to build, sign, and publish your packages:

~/projects/my-awesome-project

omnipackage release ~/projects/my-awesome-project

How it works

  1. 01Scaffold

    OmniPackage scaffolds an RPM spec file and the other files RPM, DEB, and pacman packaging need.

  2. 02Release

    Add your storage details — an S3-compatible bucket or a local filesystem path — and a few config options, then run omnipackage release. Each package is built in a container running its target distro, so it links against that distro's own libraries and its dependencies resolve as native packages — guaranteed solved, with no version skew or bundled runtimes. Packages are signed with your GPG key and published to your repository.

  3. 03Share

    Share the install page generated with the packages so users can add the repository and install with their native package manager.

From your users' perspective

On the latest Ubuntu, for example, four commands add the repository and install your package:

user@ubuntu:~$

echo 'deb https://repositories.omnipackage.org/omnipackage-rs/stable/ubuntu_26.04 stable/' | sudo tee /etc/apt/sources.list.d/omnipackage_omnipackage.list
curl -fsSL https://repositories.omnipackage.org/omnipackage-rs/stable/ubuntu_26.04/stable/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/omnipackage_omnipackage.gpg > /dev/null
sudo apt-get update
sudo apt-get install omnipackage

Users do this once. After that, updates arrive through apt upgrade alongside everything else from the official Ubuntu repos — no extra steps, no separate updater. The same applies on Debian, Fedora, openSUSE, Arch, and the other supported distros, each through its native package manager.

Supported distros

Packages are built for the build host's architecture. All supported base images except Mageia are multiarch, so both x86_64 and ARM64 work.

Loading supported distros…

Fetched live from distros.yml in the OmniPackage repo.

No vendor lock-in

  • Open source and not tied to any cloud or hosting provider
  • Host repositories on your own S3 bucket — AWS S3, Cloudflare R2 (recommended for free egress), MinIO, or any S3-compatible service — or a local filesystem path
  • No subscriptions, registrations, or credit cards

What OmniPackage doesn't do

  • Build new package formats. RPM, DEB, and pacman only — Flatpak, Snap, AppImage, AUR, and Nix are different bets.
  • Host your repository. You bring the storage — an S3 bucket or a local filesystem path — and in return get no vendor lock-in, with your packages in storage you control.
  • Sandbox installed software. Packages run with the same privileges any apt install package gets — no Flatpak-style isolation unless you ship it yourself (e.g. an AppArmor / SELinux profile, or a bwrap / firejail wrapper around your binary).

Projects using OmniPackage

Frequently asked questions

Does OmniPackage require Docker?
No. Podman works too and is recommended — it is the most-tested runtime. Docker is supported as well. Either is auto-detected; you can force one with the --container-runtime flag.

Can I distribute proprietary software with OmniPackage?
Yes. Unlike official distro repositories, your own OmniPackage repository can host any binaries you want, including closed-source ones.

How is OmniPackage different from Snap, Flatpak, or AppImage?
Snap and Flatpak ship their own runtimes; AppImage bundles dependencies. OmniPackage builds native Linux packages so users install with apt, dnf, zypper, or pacman — no extra runtime, no sandbox, no separate installer. Updates arrive through the system package manager alongside everything else.

What architectures does OmniPackage support?
Packages are built for the host's architecture. All supported base images except Mageia are multiarch, so both x86_64 and ARM64 work — run OmniPackage on the architecture you want the packages to target.

Can I host the apt or yum repository on AWS, Cloudflare R2, or MinIO?
Yes. OmniPackage publishes to any S3-compatible storage or a local filesystem path. Cloudflare R2 is recommended for free egress; AWS S3 and MinIO also work, as does any other S3-compatible service. The bucket (or local directory) serves as a self-hosted apt, dnf, zypper, or pacman repository.

Is OmniPackage free?
Yes. OmniPackage is free and open-source software, licensed under GPL-3.0.