This program is intended to manage an Arch Linux custom repository hosted on a server accessible through rsync
(for example, on a VPS or a NAS with a /path/to/www
folder served over the web by a web server).
It works by synchronizing the remote repository on the local machine using rsync
, and then mainly uses repo-add
to
manage this repository to finally synchronizing back to the remote server.
It requires to run on an Arch Linux distribution, and simply behaves as a wrapper around some common programs:
Program | From package | Used for |
---|---|---|
uname | core/coreutils | Detecting the architecture of the local machine |
rsync | extra/rsync | Synchronizing the repository |
tar | core/tar | Reading inside the repository database |
GnuPG | core/gnupg | Signing the packages and the repository |
repo-add | core/pacman | Managing the packages in the repository |
Option | Short | Required | Description |
---|---|---|---|
host |
H |
yes | Specify the host on which the repository is hosted |
remote_root |
r |
yes | The path to the repository, on the remote host |
user |
u |
no | The remote user who owns the repository Defaults to the current local user |
repository |
d |
no | The name of the repository Defaults to the name of the directory |
Important
Currently, some options are required by the CLI as it is the only way to pass information to the ACRM.
List all the packages with their version in the repository.
acrm -H my_vps_or_nas -r /home/vps_user/path/to/my/repository ls
+------ repository ------+
| Package name | version |
+--------------+---------+
| acrm | 0.1.1-1 |
+--------------+---------+
Add a package to the repository.
acrm -H my_vps_or_nas -r /home/vps_user/path/to/my/repository add -k gpg@example.com acrm-0.1.1-1-x86_64.pgk.tar.zst
The -k key_identifier
option allows to specify the gpg key used to sign the package and the repository.
If omitted, gpg will automatically choose a default one.
Remove a package from the repository.
acrm -H my_vps_or_nas -r /home/vps_user/path/to/my/repository rm -k gpg@example.com acrm
Download a package from the repository.
acrm -H my_vps_or_nas -r /home/vps_user/path/to/my/repository dl acrm