What should be run first Update Mirrors (Arch, reflector-simple) or Update Mirrors (EOS)

In the EOS welcome application, which can be run using the command eos-welcome in the terminal, there are 2 options given. First is Update Mirrors (Arch, reflector-simple) and the second is Update Mirrors (EOS). What should be the order of execution of these commands? Which should be run first? What is the difference between both of these options, i.e. Update Mirrors (Arch, reflector-simple) and Update Mirrors (EOS)?

Also in Update Mirrors (Arch, reflector-simple) there are multiple options under “Sort by”. What should be selected over here if we want the fastest/lowest latency servers to be selected? Should it be rate or score or delay or something else?
Such options are not available when Update Mirrors (EOS) is selected. Is there a way to manually force the sorting of these servers like they are done for Update Mirrors (Arch, reflector-simple)?

I always just update my Arch mirrors first then my EOS mirrors. I’m not sure there is any right formation of the commands.

I don’t think there is a need to. I think we only have a few limited mirrors opposed to Arch which has multiple mirror servers. @manuel can give a lot more information on this than I can however.

1 Like

You can run those in either order, they update different, directly unrelated files.
One is ranking the Arch mirrorlist, the other is ranking the EndeavourOS mirrorlist.

The respective terminal commands are reflector and eos-rankmirrors. Use option --help for both commands to see their options.

For example, both have option --sort, but reflector has more values for that option.
Main values are age and rate for both.

What options/values (with reflector) are best for your location and network connection requires some trial and error. Mirrors are not always as stable as we’d like them to be.

3 Likes

@manuel answered pretty thoroughly already, but I’ll share this still in case it fills in a small gap or two.

The order you do it in will not matter, so long as you do both before using pacman, yay, or eos-update. For most operations, those will reference the mirrors defined in the Arch, and EndeavourOS mirrorlist files.

The “Update Mirrors (Arch, reflector-simple)” button will rate official Arch mirrors, which house the repository for the majority of your packages.

The “Update Mirrors (EOS)” button will rate EndeavourOS specific mirrors, that hold a relatively small repository for EndeavourOS packages, like the Welcome app, for example.

3 Likes

thanks @thefrog, @manuel and @Bink. Your replies cleared up a lot.

One query of mine is still not answered. Namely what should be selected in Sort By option if we want the fastest/lowest latency Arch servers to be selected? Should it be rate or score or delay or something else?

@manuel the option to select sort for updating EOS mirrors using the command eos-rankmirrors is not presented to the users when they select the option Update Mirrors (EOS). Is there a config file or setting that be changed so that --sort rate is chosen when eos-rankmirrors is run via the Update Mirrors (EOS) option? By default eos-rankmirrors uses the sort by age.
Can a request be raised for GUI to be created for Update Mirrors (EOS) which has the --sort option just like Update Mirrors (Arch, reflector-simple) has? I know, I know EOS is a terminal based distro, but still. :smiling_cat_with_heart_eyes:

  --sort <value>
             Primary key for sorting the mirrors.
             Supported key values:
                 age     (latest first)
                 rate    (fastest first)
             Default: age.

As you noted, the default sort option for eos-rankmirrors is age. That’s actually very important, because if a mirror ceases to be maintained properly, and fails to update itself for months, it might end up at the top of your list if it’s the fastest and you’ve set sorting to prioritise rate.

In my testing, age doesn’t eliminate ranking by rate, it just prioritises age. For example, if only 10 out of the 25 mirrors are running the latest update-level, they’ll rank higher than the remaining, despite speed. Now those mirrors with the latest update-level will then be ranked according to speed (fetch-time).

So the setting represents an order of sorting, not one or the other:

  1. Sort by age (typically the age for most/all mirrors will match!).
  2. Then sort by speed.

My advice is to leave the sort settings at their defaults.

@manuel would likely be able to confirm and clarify.

1 Like

All that said, if you want rigorous mirror speed testing, my suggestion is to use rate-mirrors instead.

To install:

yay -S rate-mirrors

To rank Arch mirrors:

rate-mirrors --disable-comments-in-file --protocol=https arch --max-delay 7200 | sudo tee /etc/pacman.d/mirrorlist

To rate EndeavourOS mirrors:

rate-mirrors --disable-comments-in-file --protocol=https endeavouros  | sudo tee /etc/pacman.d/endeavouros-mirrorlist

If you weren’t aware already, you can press the up-arrow key on your keyboard in most terminals, to step through command history (keep pressing it). In this way, you can go back and find these commands again at a later date.

Alternatively, you could run this to see a list of previous commands containing the word mirrors :

history | grep mirrors
2 Likes

Thanks for the great explanation of the operation of eos-rankmirrors. :+1:

This is theoretically possible, but eos-rankmirrors drops a mirror from the list if its update-level becomes too low.

Edit:
We have quite a few mirror ranking tools, and AUR has even more. In EndeavourOS we have:

  1. For Arch mirrors
    • reflector and reflector-simple
      • traditional, both CLI and GUI versions
    • rate-mirrors
      • for both Arch and EndeavourOS mirrors
    • rami
      • new kid on the block
      • has lots of configuration options
  2. For EndeavourOS mirrors
    • eos-rankmirrors
    • rate-mirrors
2 Likes

Yes, /etc/eos-rankmirrors.conf has variable CMD_OPTIONS where option
--sort rate can be added, e.g.

CMD_OPTIONS=(
    --sort rate
    # other options
)

For more details, see command
eos-rankmirrors --help

1 Like