OpenNebula Innovation Team
All operations use /srv/apt-repo/repo-manage.sh. Run with sudo.
| Command | Description |
|---|---|
create-project <name> |
Create a new project (component) |
remove-project <name> |
Remove a project and all its packages |
import <project> <distro> <path> |
Import .deb file(s) into a project |
list <project> [distro] |
List packages in a project |
remove <project> <distro> <pkg> |
Remove a single package |
list-projects |
Show all configured projects |
add-distro <codename> <desc> |
Add a new Ubuntu distribution |
list-distros |
Show all configured distributions |
sudo /srv/apt-repo/repo-manage.sh create-project myproject
This adds the project as a new component, updates the repository metadata, and automatically regenerates the landing page.
sudo /srv/apt-repo/repo-manage.sh remove-project myproject
This removes all packages from the project, cleans the database, and automatically regenerates the landing page.
sudo /srv/apt-repo/repo-manage.sh list-projects
sudo /srv/apt-repo/repo-manage.sh import cognit noble /tmp/opennebula_7.0.2-1_amd64.deb
sudo /srv/apt-repo/repo-manage.sh import cognit noble /tmp/build-output/
sudo /srv/apt-repo/repo-manage.sh import cognit noble /tmp/build/*.deb
# All distributions
sudo /srv/apt-repo/repo-manage.sh list cognit
# Specific distribution
sudo /srv/apt-repo/repo-manage.sh list cognit noble
sudo /srv/apt-repo/repo-manage.sh remove cognit noble opennebula
Distributions correspond to Ubuntu versions. The repo ships with
jammy (22.04) and noble (24.04) by default.
sudo /srv/apt-repo/repo-manage.sh add-distro focal "Ubuntu 20.04"
This adds the distribution to all existing projects and updates the landing page. You can then import packages for that distribution normally.
sudo /srv/apt-repo/repo-manage.sh list-distros
The landing page is automatically regenerated every time you:
create-project)remove-project)add-distro)You never need to edit it manually. It always reflects the current state of the repository.
| Path | Purpose |
|---|---|
/srv/apt-repo/repo-manage.sh |
Management script |
/srv/apt-repo/index.html |
Landing page (auto-generated) |
/srv/apt-repo/docs/ |
Documentation |
/srv/apt-repo/repo/ |
Repository root (reprepro) |
/srv/apt-repo/repo/conf/distributions |
reprepro config (auto-managed) |
/srv/apt-repo/repo/conf/distros.list |
Distribution list (codename|description) |
/srv/apt-repo/repo/dists/ |
APT metadata (auto-generated) |
/srv/apt-repo/repo/pool/ |
.deb files (managed by reprepro) |
/etc/nginx/sites-available/apt-repo |
Nginx configuration |