[arch-general] Updating linux-lts initcpios... error: command failed to execute correctly

Ralph Corderoy ralph at inputplus.co.uk
Thu Nov 8 18:05:58 UTC 2018


Hi Eli,

> Dangerous is when you break your system by installing incompatible
> packages via a "successful" partial update.

Ah, right.  I `pacman -S foo'.  foo depends on libbar.  libbar 1.0 is
already installed because xyzzy needs it.  The earlier `pacman -Syuw'
updated the local database to know libbar 1.1 is available thus
installing foo upgrades libbar.  xyzzy remains at the old version,
incompatible with libbar 1.1.

> > Can an attempt to fetch an old, now missing, package still occur
> > even with `pacman -Sy pkgname' because the remote database has been
> > altered, and old versions removed, between the -y's refresh and
> > fetching a long list of packages?
>
> It won't be old and now missing, because you used -Sy and it will
> refresh *again*.

But isn't it multiple stages with a race condition?

     1  Update /var/lib/pacman/sync/core.db
     2  Update /var/lib/pacman/sync/extra.db
     3  Update /var/lib/pacman/sync/community.db
     4  Update /var/lib/pacman/sync/multilib.db
     5  Create /var/cache/pacman/pkg/foo-1.0.pkg.tar.xz
     6  Create /var/cache/pacman/pkg/bar-2.0.pkg.tar.xz
     7  Create /var/cache/pacman/pkg/xyzzy-3.0.pkg.tar.xz

Can the remote core.db be updated between 1 and 6 because bar 2.1 is
available?  Do bar-2.0.pkg.tar.xz and bar-2.1.pkg.tar.xz ever exist at
the same time?  Perhaps the fetch of bar-2.0.pkg.tar.xz might fail
because it's been removed by the time it's attempted.

This is nothing to do with my original question.  :-)  I guess I'm
asking how is a consistent multi-file database of indexes and `records'
presented?  It might be that the rare times this happens, the user just
runs `pacman -Sy pkgname' again.

-- 
Cheers, Ralph.
https://plus.google.com/+RalphCorderoy


More information about the arch-general mailing list