Correct usage of mirrorlists

I wanted to understand a bit more about pacman and how to actually use the mirrors both from pacman and chaotic. I live in Brazil, so a lot of mirrors from US and EU are super slow, so I started by rebuilding the mirror lists using pacman mirrorlist generator and keeping most of chaotic-mirrorlist commented so it would only use closest mirrors and kept the geo-mirror from chaotic uncommented because it seemed important but just in the end of the file. I also used rankmirrors for both the pacman and chaotic repos, is it a correct usage too? After doing the mirror selection, should I make garuda-updates without updating the mirrorlist or should I keep updating? Could anyone explain why in some packages it is super fast, reaching almost 40mb/s and some get only 50kb/s?

Hi,

Pacman is simply short form for package manager. It manages all the Packages installed on your system, from kernel to Desktop Environment to user applications.

As you may understand that all the packages can not be built and maintained and tested by Arch Linux developers on a single server, they are split into multiple “Repository”, for example core, extra, community etc.

The main reason for having a package or binary is that you can simply download and use it, instead of compiling it every time. Compilation of package may take even hours on your CPU, and you certainly don’t want that in general.
Repository or repo is just a collection of packages.

Chaotic-AUR is a typical group of people, that builds and maintains their repository, or repo. They ( or I might say we, because I am also a part of it ) take source from AUR, Arch User Repository, and compile them, and redistribute them to users using servers.

Mirrors are just like other servers, but they serve the copy of data to user. The servers that compile the binaries may also be called builders in general.

So, in short, there are some server computers, that compile the source to binary and then serve to the user.
Mirror store the copy of these binaries, and do not compile and just redistribute binaries to end users.

Also, keep in mind that each repository can have independent servers and mirrors.

I guess, you have some clarity now over the basic concept.


Now, when you upgrade, you must download the binaries from these builders / mirrors.
Mirrors have their own load and bandwidth. Also, speed of these mirrors vary geographically a lot. ( Telling that will increase the size of post too much, so leave it )

Very true, there might be some mirrors who have excessive load at given time, or might be slow in your area, or might even be slow in general due to limited bandwidth.

Well, you don’t have to!

Chaotic have their own router, which redistribute the request to best available mirror. So, don’t comment any of the mirror from chaotic file.

Regarding pacman mirrorlist generator, it might be a good tool, but can be inaccurate sometimes too, but use it for Arch Linux official repo only, that is core, extra, community and multilib.

For Chaotic AUR, just leave the mirrors as it is for best results.

You don’t have to update mirrors each time. Just update them when you feel the download speed is too low, for Arch repos.
Updating Chaotic AUR mirrors, as I said above, will not have much effect at all, in my opinion.

As I said above, each mirror have individual speed.
Also, each binary have a source Repository, from which it is downloaded.

For example, there is a package, called a. This can be downloaded both from Chaotic AUR and Community repo. You selected community while first installation. Now, each time you update, it will be downloaded from the same Repo, but can be downloaded from different mirrors of that Repo.
It can’t be downloaded from Chaotic AUR, unless you reinstall the package again.

So, the speed mismatch is because of different mirrors for different package, most probably

6 Likes

It took my Half an hour of typing to write above post. It went too long I guess.
:sweat_smile:

If you don't want to read, simply update using

garuda-update

And sorry for unintentional errors, if any.
All readers are welcomed to correct me, if I am wrong somewhere.

3 Likes

Well, I made the post seeking knowledge, and it took you half an hour, I need to read everything you took your time to type! :smile:

I feel glad that in such a short time of using garuda I learned so many new things and the forum is really helpful.

I’ve had one package I had to compile before, it really took such a long time.

I never knew that AUR wasn’t compiled, coming from fedora, which I really liked, but arch based is feeling a lot deeper and optimized. I’ll check later if its possible for me to contribute too, I’d like to.

Wow, that’s amazing!

Ohh, that explains the difference in speed. I thought all mirrors had 100% of repos.

Thank you so much for the explanation, it sure clarified a bunch of things I hadn’t even thought about. I’ll switch back the confs for chaotic!

Edit: After reverting the chaotic-mirrorlist to default it went from 200kbps to 2mbps!

3 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.