Mirror status

mirrors.oiv.ae is a public package mirror hosted in the UAE, serving the GCC region over HTTPS for package managers and over rsync for downstream mirrors. Updates come from a server in the region instead of Europe or the US, so downloads start sooner and finish faster.

Below is the synchronisation status of every mirrored repository, reported by the mirror node itself. Times are shown in your local time zone. The page refreshes every minute.

In sync–
Syncing now–rsync running
Out of date–past freshness limit
Mirrored data–
Disk used–

What the states mean

In sync
Last successful sync is within the repository's freshness limit.
Syncing
A sync with the upstream is running right now; the published files switch over atomically at its end.
Warning
Still fresh, but the most recent attempt did not complete (it is retried on the next run).
Out of date
No successful sync within the freshness limit. Package managers verify signatures, but you may get older packages.
Pending
Newly added; the first full download has not finished yet.

Use the mirror

Every project has its own host name and keeps the upstream folder layout and architecture names. To switch a system to the mirror, change only the host name in its repository address; the path stays exactly as it is upstream. HTTPS and plain HTTP both work.

ProjectMirror addressrsync (downstream mirrors)
debianDebian archive and security updates https://debian.mirrors.oiv.ae/ rsync://debian.mirrors.oiv.ae/debian/
opensuseopenSUSE Leap / Tumbleweed repositories https://opensuse.mirrors.oiv.ae/ rsync://opensuse.mirrors.oiv.ae/opensuse/
opnsenseOPNsense firewall packages and installer images https://opnsense.mirrors.oiv.ae/ rsync://opnsense.mirrors.oiv.ae/opnsense/
proxmoxProxmox VE packages and ISOs https://proxmox.mirrors.oiv.ae/ rsync://proxmox.mirrors.oiv.ae/proxmox/

Only the repositories listed above are mirrored; other paths return “not found”. In scripts and configuration management, keep the host name in one variable and the upstream path unchanged.

openSUSE (zypper)

Add the mirror with a higher priority (a lower number) than the defaults; zypper then downloads from here and keeps the original repositories as a fallback. $releasever keeps the repository on your Leap version after an upgrade; keep the single quotes.

sudo zypper ar -f -p 90 'https://opensuse.mirrors.oiv.ae/distribution/leap/$releasever/repo/oss/' oiv-leap-oss
sudo zypper ar -f -p 90 'https://opensuse.mirrors.oiv.ae/distribution/leap/$releasever/repo/non-oss/' oiv-leap-non-oss
sudo zypper ref

On Leap 16, updates and security fixes are published into repo/oss and repo/non-oss; there is no separate update repository.

Check and undo

The oiv- repositories should be listed with priority 90. To undo, remove them.

zypper lr -uP
sudo zypper rr oiv-leap-oss oiv-leap-non-oss
OPNsense (firmware and packages)
  1. Sign in to the OPNsense web interface.
  2. Go to System ▸ Firmware ▸ Settings.
  3. In Mirror, choose (custom) and enter the mirror address, without a path (OPNsense adds the ABI and release itself):
    https://opnsense.mirrors.oiv.ae
  4. Select Save, then go to Status and select Check for updates.

To undo, set Mirror back to (default) and save.

Debian

Installation images, same layout as cdimage.debian.org (current release; see the list above for the image sets): https://debian.mirrors.oiv.ae/debian-cd/

Proxmox VE

Installation images, same layout as download.proxmox.com: https://proxmox.mirrors.oiv.ae/iso/

Release signing keys: https://proxmox.mirrors.oiv.ae/debian/ (e.g. proxmox-release-trixie.gpg); verify fingerprints against the Proxmox documentation.

Run a downstream mirror with rsync

Copy a project to your own server, for a campus, office or ISP network. Use the project's host name; the rsync module is the project name.

rsync -avH --delete --delay-updates \
  rsync://opensuse.mirrors.oiv.ae/opensuse/ /srv/mirror/opensuse/
  • -H keeps hard links, which the openSUSE tree uses heavily.
  • --delete removes files that were removed upstream.
  • --delay-updates puts updated files in place at the end, so clients never see a half-synced repository.

Schedule it with a systemd timer. Sync at most every 4 hours, never in our business hours (Mon–Fri 07:45–18:30 Asia/Dubai), preferably at night (23:00–05:00), and add a random delay. Check your disk space against the size of the tree first, and tell us your mirror's address so we can plan capacity.

# /etc/systemd/system/mirror-downstream.timer
[Timer]
OnCalendar=*-*-* 22,02:17:00 Asia/Dubai
RandomizedDelaySec=15m
Persistent=true

[Install]
WantedBy=timers.target

Acceptable use

The mirror is free and open to everyone. A few rules keep it fast for all users.

Get involved

Which projects come next is decided with the people who use them. To suggest one, send the project name, its upstream rsync source, its approximate size, who uses it and whether you can help maintain it to mirror-admin@oiv.ae. Offers of bandwidth, storage or a hosting node in a GCC country are welcome too.