When I disable a timer/service like so
systemctl disable --now cachyos-rate-mirrors.timer
systemctl disable --now cachyos-rate-mirrors.service
I want it to stay disabled. But apparently, it gets re-enabled with every update?
Please stop that.
When I disable a timer/service like so
systemctl disable --now cachyos-rate-mirrors.timer
systemctl disable --now cachyos-rate-mirrors.service
I want it to stay disabled. But apparently, it gets re-enabled with every update?
Please stop that.
it will be enabled on next boot
use masked in this case
I would agree with HC that this seems contrary to Arch philosophies, in which if you change something, it should stay changed. This is somewhat like Windows and OneDrive continually being enabled. It should only be enabled on system install, not reenabled by updates.
Is that true? Just disabling the service/timer does not suffice? I have to mask it?
They only get enabled if you cachyos-rate-mirrors gets updated. You can just mask it
I tried to find the thread Me and @cscs had over this very thing but I’ll just offer again:
systemctl list-unit-files --state=masked ─╯
UNIT FILE STATE PRESET
cachyos-rate-mirrors.service masked disabled
zfs-import.service masked disabled
zfs-load-key.service masked disabled
cachyos-rate-mirrors.timer masked disabled
4 unit files listed.
Why? I thought, disabling a service removes the symlink and therefore it does not get started at boot. At least the Arch wiki is pretty clear on that: “Disable a unit to no longer start at boot: systemctl disable unit as root”
That’s what I did.
Which is, like, all the time, right?
Rolling release and all that.
Does is have to be that way? I mean, does an update of cachyos-rate-mirrors always have to enable the timer?
You are talking to an absolute Arch noob here so please don’t take this as a criticism. I’m just trying to understand what is going on.
@ptr1337 @anon15508052 @stephane so you all say, I should mask the service. If I understand the Arch Wiki article on units correct, this brings a certain danger because such a masked service can also not be started as a depencency:
Mask a unit to make it impossible to start. Both manually and as a dependency, which makes masking dangerous.
So when I mask cachyos-rate-mirrors.service and some possible future Cachy service would depend on it, that service could not work properly? Would I even notice that or would such an info just be lost in the sysctl logs?
It depends largely on the service that is masked, if it is security related.
But you can still call it manually:
sudo cachyos-rate-mirrors ─╯
[sudo] password for me:
--> Ranking mirrors for arch repository in /etc/pacman.d/mirrorlist...
# STARTED AT: 2026-04-12 10:45:19.761717421 -06:00
# VERSION: 0.28.2
# ARGS: rate-mirrors --save /tmp/tmp.wYpShLBNaA arch
# FETCHED MIRRORS: 1197
# PROTOCOL FILTER: 727 -> 301 mirrors
# MIRRORS LEFT AFTER FILTERING: 301
# JUMP #1
# EXPLORING US
# VISITED US
Just a short snip from that command.
Not said but suggested, to accomplish your desired outcome. ![]()
I understand that. I’m just a little afraid that if the Cachy team comes up with some other “quality of life” service in the future which would depend on cachyos-rate-mirrors, I might get into trouble, y’know? But maybe I’m overthinking it.
That is one of my best likes about you, Very Cautious! (That’s a good thing unless the “what ifs” pop in.) ![]()
In German you say “Ich hab’ schon Pferde vor der Apotheke kotzen sehen”. You may look up the literal translation for yourself, but it means: I’ve seen things ![]()
I guess what I want to say is: I’ve been dealing with computers way too long to just randomly change settings and expect everything to live happily ever after. To every action, there might be a similar or even stronger reaction and I am still pretty uneasy with many aspects of the deep waters I currently tread in. Arch and all that.
Not so much.
Disabling just means its not automatically started.
It does nothing to stop anything else from starting a service.
Masking is the way to go for actually blacklisting a systemd service and/or timer.
At the end of the day, as it is right now, cachyos-rate-mirrors is automated. In every way. You do not get to choose regions. Or format. Or anything else. Its made for folks who want that and can accept that. Exactly as it is.
If you want more control you are going to have to use something else.
Refremir is good enough to use at the moment but I have some fairly major changes planned so no extra thread yet. ![]()
PS.
Just to capture applied mask during upgrade;
For future reference: I disabled and masked that service now for good:
systemctl disable --now cachyos-rate-mirrors.timer
systemctl disable --now cachyos-rate-mirrors.service
sudo systemctl mask cachyos-rate-mirrors.service
sudo systemctl mask cachyos-rate-mirrors.timer