Manjaro Mirrors
What's a Mirror?
This page is a work in progress:
In the GNU/Linux distro world (& other systems too) a mirror is a server that hosts an up to date copy of a distro's software packages, stored in repositories (repos). There exist repos that are maintained by the distro administration - official - & other's. The Arch User Repository (AUR) being a good example of a non-official user maintained repo.
There are usually multiple repos in a mirror, holding software packages in categories, such as Manjaro's - core, extra, community & multilib repos. These repos will be duplicated with package content to suit both 32bit & 64bit installations, as well as for any & all the variety of releases that a distro may support. In Manjaro's case that is quite a number when all of the different Desktop & Window Manager titled front ends are considered.
The distro has package maintainers in its administration. They manage the contents of the repos, keeping it up to date, patching packages if required. Some distros, like Manjaro, have certain packages that are unique to it only - like mhwd for example.
Why do we need more mirrors?
The more mirrors we have the faster Manjaro's users can upgrade their systems. Some parts of the world have much faster internet speeds than others. In some circumstances, having a server in your country, or better yet, in your city, can make a world of difference to your download speeds.
How does Manjaro know what mirror(s) to use?
There is a file /etc/pacman.d/mirrorlist which lists all of the available mirrors.
There is another file called /etc/pacman-mirrors.conf that by default is configured to re-write your mirrorlist in a list with the fastest at the top, descending to the slowest, when the system is given the Terminal command:
sudo pacman-mirrors -g
This is a remarkably streamlined system compared to the ways that it has been in the past for the pacman rolling release system to manage its mirrors, let alone to rank their speed.
How do we get more mirrors?
I'm glad you asked that question.
Phil wrote the following on the Manjaro forum, some time ago:
Some people still ask me how I got 5 mirrors in one week before 0.8.0 came out. It is simple. Just write 100 mails to universities and companies supporting Linux. Go to Arch linux and grab their mirrorlist. Crawl through their servers and get their contact data. Write an email and see what response you get. Here is some more info about it.
1. What is the size of the Manjaro database?
We are at 42 GB. 100 GB or higher would be better.
2. How is the mirror synchronized?
Via the following Rsync-Services:
Brasil rsync://rsync.las.ic.unicamp.br/pub/manjarolinux/
Germany rsync://repo.manjaro.org/repos (whitelisted IP needed) rsync://ftp.halifax.rwth-aachen.de/manjaro/ rsync://ftp.rz.tu-bs.de/pub/mirror/manjaro.org/repos/
Japan rsync://ftp.tsukuba.wide.ad.jp/manjaro rsync://ftp.kddilabs.jp/manjaro/
United States rsync://mirror.jmu.edu/manjaro/
To sync from our own manjaro.org server we need the IP of your server so it can be white-listed at our end. There is a recommended script for use with our server, so please contact the Manjaro administration in this regard.
3. How do you ask an organisation with servers to create a Manjaro mirror?
Write them an email like this (in your native language):
Dear Sir or Madam,
My name is <YOUR NAME>, I wish to ask you to please spare me a few minutes to read this letter & consider its contents.
I'd like to introduce you to a relative new comer to the world of Linux distributions - Manjaro Linux. Manjaro is a new user-friendly Linux distribution based on the highly regarded Arch Linux. We are currently searching for mirrors to host our packages.
Although new, we are already one of the top 10 most popular Linux Distributions in the world, as listed in the DistroWatch.com top 100.
Manjaro Linux is based on well tested snapshots of the Arch Linux repositories, and is 100% compatible with Arch itself. We manage our repositories with our own in-house tool called BoxIt, which is designed like git.
Our aim is to create a light Linux distribution which is simple, up to date, fast, user friendly and which follows the K.I.S.S (Keep It Simple, Stupid) principle. As such, Manjaro Linux provides a more user friendly installation process, utilities for managing graphic drivers, and pre-configured desktop environments.
Our repository is currently at the size of 42 GB. We have between 50 GB and 100 GB granted on other mirrors hosting our packages. Currently it is possible to sync from the following rsync services:
rsync://repo.manjaro.org/repos (white-listed IP needed) rsync://ftp.halifax.rwth-aachen.de/manjaro/ rsync://ftp.rz.tu-bs.de/pub/mirror/manjaro.org/repos/ rsync://rsync.las.ic.unicamp.br/pub/manjarolinux/ rsync://ftp.kddilabs.jp/manjaro/ rsync://ftp.tsukuba.wide.ad.jp/manjaro rsync://mirror.jmu.edu/manjaro/
To sync from our own Manjaro.org server we need the IP of the server that you wish to sync, as it needs to be white-listed at our end. Also, it is recommended to use a script which we will provide, to sync from our server.
Thank you for your time and consideration,
<YOUR NAME>
Current size of Manjaro Repository (last checked 2013-05-06 19:41 CEST)
996K ./testing/multilib/x86_64 1000K ./testing/multilib 400K ./testing/core/i686 468K ./testing/core/x86_64 872K ./testing/core 11M ./testing/extra/i686 12M ./testing/extra/x86_64 22M ./testing/extra 8.0M ./testing/community/i686 9.1M ./testing/community/x86_64 18M ./testing/community 41M ./testing 8.0K ./compatibility/empty/i686 8.0K ./compatibility/empty/x86_64 20K ./compatibility/empty 252M ./compatibility/basis/i686 4.0K ./compatibility/basis/x86_64/symdir_output 253M ./compatibility/basis/x86_64 504M ./compatibility/basis 504M ./compatibility 996K ./stable/multilib/x86_64 1000K ./stable/multilib 400K ./stable/core/i686 468K ./stable/core/x86_64 872K ./stable/core 11M ./stable/extra/i686 12M ./stable/extra/x86_64 22M ./stable/extra 8.0M ./stable/community/i686 9.1M ./stable/community/x86_64 18M ./stable/community 41M ./stable 1000K ./unstable/multilib/x86_64 1004K ./unstable/multilib 412K ./unstable/core/i686 484K ./unstable/core/x86_64 900K ./unstable/core 11M ./unstable/extra/i686 12M ./unstable/extra/x86_64 22M ./unstable/extra 8.0M ./unstable/community/i686 9.2M ./unstable/community/x86_64 18M ./unstable/community 41M ./unstable 8.2G ./pool/.~tmp~ 32G ./pool/sync 837M ./pool/overlay 41G ./pool 42G .
The above has been used very effectively thus far.