You are not logged in.

#1 2018-11-12 20:24:00

mouseman
Member
From: Outta nowhere
Registered: 2014-04-04
Posts: 298

[Solved] warning: somepkg: local (version) is newer than [repo]

I wanted to update today and got a warning:

error: failed retrieving file 'multilib.db' from mirror.fra10.de.leaseweb.net : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds
 multilib is up to date
:: Starting full system upgrade...
:: Replace zfs-utils-common-git with archzfs/zfs-utils-git? [Y/n] n
resolving dependencies...
looking for conflicting packages...
:: zfs-utils-git and zfs-utils-common-git are in conflict (zfs-utils). Remove zfs-utils-common-git? [y/N] ^C
Interrupt signal received

As you can see I have the archzfs repo enabled.

I cancelled it, updated my mirrorlist with reflector, removed mirror.fra10.de.leaseweb.net from the mirrorlist file and ran pacman -Syy and ran pacman -Syu.

Now suddenly get an enormous list of warnings that my local packages are newer than core, extra and community.

I canceled the update, all it wants to update is archzfs as shown above. But I am sure there are more updates as I haven't updated in a day or two.

What happened here, any ideas how to fix this?

Thanks!

Last edited by mouseman (2018-11-13 07:03:39)

Offline

#2 2018-11-12 20:39:57

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 20,701

Re: [Solved] warning: somepkg: local (version) is newer than [repo]

Note that, if you want, you can use pacman -Syuu to permit downgrades as well as upgrades.


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way

Offline

#3 2018-11-12 20:53:15

mpan
Member
Registered: 2012-08-01
Posts: 1,644
Website

Re: [Solved] warning: somepkg: local (version) is newer than [repo]

What happened here

Your old mirror had packages newer than your new mirror. After the change pacman sees version on the new mirror and warns you that they are older than the ones which you have installed (from the old mirror).

any ideas how to fix this?

Either:

  • Wait several days, so the new mirror surely catches up.

  • Install reflector and use it to obtain a good list of mirrors, instead of trying to pick them up randomly from the supplied mirrorlist.

Offline

#4 2018-11-12 21:44:48

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: [Solved] warning: somepkg: local (version) is newer than [repo]

Also don't use pacman -Syyu, ever. The double -yy in -Syyu is almost never needed, and in fact, I can only think of two cases:

  • when you're downgrading using the Arch Linux Archive, to a snapshot mirror recording the state of the repositories from some point in the past, and even here, you will not run -Syyu, you will run -Syyuu with a double -u as well -- in order to downgrade your packages as well as your repos

  • when your databases are completely corrupted and broken, probably because you accidentally downloaded an HTML page from some captive portal that MiTM'ed your internet connection at the same time you tried to pacman -Syu

Your problem confusion is directly caused by your following someone's *terrible* advice to use -yy "just in case". I really wish it were possible to take away the internet privileges of every fool on the internet who writes terrible blog posts which tell people to do this.

The *only* "danger" caused by having mismatched mirrors when you switch mirrors, is that the new mirror might have older databases that you therefore won't download until the mirror catches up, and as a result, some packages that are newer on your old mirror and not available yet on your new mirror, will fail with 404 errors. 404 errors are not harmful.

The very real danger when you -Syyu, is that you'll end up in a partial update situation, because you'll have packages installed that are newer than the mirror, but any packages you try to install will not match your system.

If you've accidentally run -Syyu, stop immediately, do not agree with the update, and re-run -Syuu as the double -u will ensure that you downgrade your system to match what new packages expect to see.

ewaller wrote:

Note that, if you want, you can use pacman -Syuu to permit downgrades as well as upgrades.

In this case, you *need* to run -Syuu in order to avoid having a potentially broken system.

Last edited by eschwartz (2018-11-12 21:45:55)


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#5 2018-11-13 07:03:07

mouseman
Member
From: Outta nowhere
Registered: 2014-04-04
Posts: 298

Re: [Solved] warning: somepkg: local (version) is newer than [repo]

mpan wrote:

What happened here

Your old mirror had packages newer than your new mirror. After the change pacman sees version on the new mirror and warns you that they are older than the ones which you have installed (from the old mirror).

any ideas how to fix this?

Either:

  • Wait several days, so the new mirror surely catches up.

  • Install reflector and use it to obtain a good list of mirrors, instead of trying to pick them up randomly from the supplied mirrorlist.

eschwartz wrote:

Also don't use pacman -Syyu, ever. The double -yy in -Syyu is almost never needed, and in fact, I can only think of two cases:

  • when you're downgrading using the Arch Linux Archive, to a snapshot mirror recording the state of the repositories from some point in the past, and even here, you will not run -Syyu, you will run -Syyuu with a double -u as well -- in order to downgrade your packages as well as your repos

  • when your databases are completely corrupted and broken, probably because you accidentally downloaded an HTML page from some captive portal that MiTM'ed your internet connection at the same time you tried to pacman -Syu

Your problem confusion is directly caused by your following someone's *terrible* advice to use -yy "just in case". I really wish it were possible to take away the internet privileges of every fool on the internet who writes terrible blog posts which tell people to do this.

The *only* "danger" caused by having mismatched mirrors when you switch mirrors, is that the new mirror might have older databases that you therefore won't download until the mirror catches up, and as a result, some packages that are newer on your old mirror and not available yet on your new mirror, will fail with 404 errors. 404 errors are not harmful.

The very real danger when you -Syyu, is that you'll end up in a partial update situation, because you'll have packages installed that are newer than the mirror, but any packages you try to install will not match your system.

If you've accidentally run -Syyu, stop immediately, do not agree with the update, and re-run -Syuu as the double -u will ensure that you downgrade your system to match what new packages expect to see.

To explain my reasoning, I never run -Syyu (well, except until now, that is). In this case I did -Syy because I cancelled a failed db sync and thought it was best to force syncing to prevent breaking updates/dependencies. But I shouldn't have changed the mirror, I guess that's why I got in trouble. It makes sense now but I never realized a mirror could be behind.

Thanks for explaining, good lesson. I'll update my reflector script to be more precise in picking a list.

Offline

Board footer

Powered by FluxBB