https://www.x-cmd.com/rpm/— a yum / dnf / zypper repository that hosts the official x-cmd RPM package.
This repository is published verbatim under https://www.x-cmd.com/rpm/. Any
Packages/*.rpm together with the generated repodata/ is a standard RPM
repository that can be consumed directly by dnf, yum, or zypper.
The package itself is built and released upstream at
x-cmd/release; this repo only mirrors the
.rpm artifacts and maintains the repository metadata.
The package is noarch (architecture-independent), so one flat layout
serves every RPM-supported architecture.
# 1. Enable this repository
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://www.x-cmd.com/rpm/x-cmd.repo
# 2. Install x-cmd
sudo dnf install -y x-cmdOr, without dnf-plugins-core, drop the repo file manually:
sudo curl -fsSL https://www.x-cmd.com/rpm/x-cmd.repo -o /etc/yum.repos.d/x-cmd.repo
sudo dnf install -y x-cmdsudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://www.x-cmd.com/rpm/x-cmd.repo
sudo yum install -y x-cmdsudo zypper ar -f https://www.x-cmd.com/rpm/ x-cmd
sudo zypper refresh
sudo zypper in x-cmdAfter install, verify with:
x --version.
├── Packages/ # the hosted .rpm artifacts
│ └── x-cmd_0.9.9_all.rpm
├── repodata/ # repository metadata generated by createrepo_c
│ ├── repomd.xml # the entry point clients fetch first
│ ├── <sha>-primary.xml.gz
│ ├── <sha>-filelists.xml.gz
│ └── <sha>-other.xml.gz
├── x-cmd.repo # ready-to-use dnf/yum repo definition
├── README.md # English README (GitHub renders)
├── README.cn.md # Chinese README (GitHub renders)
├── SKILL.md # structural / organizational reference
├── CONTRIBUTING.md # maintainer runbook (release, signing, incidents)
└── docs/ # user-facing bilingual docs
├── 0-install.{md,cn.md,en.md,llms.md,faq.yml}
├── 1-packaging.{md,cn.md,en.md,llms.md,faq.yml}
├── 2-security.{md,cn.md,en.md,llms.md,faq.yml}
└── 3-stats.{md,cn.md,en.md,llms.md,faq.yml}
baseurl is the repository root, so the package <location href> is the
relative path Packages/x-cmd_0.9.9_all.rpm.
The package is noarch, so a single flat layout serves every
architecture — distinct from Debian's per-arch Packages indices.
-
Drop the new
.rpmintoPackages/(optionally remove superseded ones). -
Regenerate the metadata with
createrepo_c. There is nocreaterepoon macOS, so run it through a container:docker run --rm -v "$PWD:/repo" fedora:latest bash -lc ' dnf install -y createrepo_c >/dev/null && createrepo_c --general-compress-type=gz --basedir /repo /repo'
Metadata is gzip-compressed (
--general-compress-type=gz) for maximum client compatibility (classicyumon RHEL 7 cannot read zstd metadata). -
Update
docs/3-stats.{md,cn.md,en.md,llms.md,faq.yml}with the new version and size. -
Commit
Packages/*.rpm, the updatedrepodata/, the docs, and push. The site refreshes from this branch.
- Packages and metadata are currently unsigned (
gpgcheck=0,repo_gpgcheck=0). Enable GPG signing once a key is published — seeCONTRIBUTING.mdfor the procedure. - Source RPM and build provenance live in x-cmd/release.
- License of the x-cmd package: Apache-2.0.
- Companion APT repository: x-cmd/deb →
https://www.x-cmd.com/deb/. - Bilingual docs convention mirrors x-cmd/cve and the sibling x-cmd/deb.
User-facing docs live under docs/, mirroring the
x-cmd/cve convention:
| File | Purpose |
|---|---|
docs/0-install.{md,cn.md,en.md,llms.md,faq.yml} |
Install via dnf / yum / zypper |
docs/1-packaging.{md,cn.md,en.md,llms.md,faq.yml} |
Build your own .rpm and host it |
docs/2-security.{md,cn.md,en.md,llms.md,faq.yml} |
gpgcheck=0 reality + GPG signing plan |
docs/3-stats.{md,cn.md,en.md,llms.md,faq.yml} |
Snapshot of what the repo currently publishes |
Each topic has 5 file variants:
.md— root language version (English by convention).cn.md— Chinese version.en.md— explicit English (mirrors.md).llms.md— LLM-friendly structured data.faq.yml— FAQ structured data with confidence + references