Error updating Pacman 4: solution

The developers of Arch Linux have officially announced the inclusion of Pac-man 4 fully in the distribution and in its base repository, the so-called core, something that stands out especially for the signed package support that offer users many more guarantees about their origin and their real validity (apart from security aspects).

However, many of us had problems for to update our system after this change. Here are the solutions ...


When running the command to update the system:

pacman -Syu

It has the following:

:: The following packages must be updated first:
pacman
:: Do you want to cancel the current operation
:: and update these packages now? [Y / n]

Upon accepting, something similar to this appears:

solving dependencies ...
checking conflicts ...
error: error preparing transaction (could not satisfy dependencies)
:: package-query: need pacman <3.6

The error occurs due to a dependency problem for a package (in this case package-query). The solution is to remove the conflicting package and all its dependencies from the system.

pacman -Rsc package-query

Which depends on the following packages:

checking dependencies ...
(3) will be removed: yaourt-0.10.2-1 [0,22 MB] package-query-0.9-1 [0,07 MB] yajl-2.0.4-1 [0,22 MB] Total size removed: 0,52 , XNUMX MB
Do you want to remove these packages? [Y / n]

Then update pacman:

pacman -S pacman

Hey! Where did Yaourt end up?

Change the Pacman configuration file

When installing Pacman 4, it alerts us to the creation of a new configuration file in pacman.conf.pacnew.

All you have to do is replace the configuration file currently in use with this new one. To do this, first back up the old one with:

mv /etc/pacman.conf /etc/pacman.conf.old

Then, rename the new file:

mv /etc/pacman.conf.pac new /etc/pacman.conf

Finally, I opened the file:

nano /etc/pacman.conf

…Y add unofficial repositories that you had in the old pacman.conf (like the one in yaourt, for example). The easiest way is pasting the following at the end of the file:

[archlinuxfr] Server = http://repo.archlinux.fr/$arch

This is the time to reinstall the packages we removed in the previous section (yaourt, package-query, etc.).

pacman -S yaourt package-query

Enable PGP keys

Pacman 4 has the novelty of being able to require signed files (PGP). After installing it, it reminds you with the following warning: «>>> Run` pacman-key –init` to set up your pacman keyring. »

I opened the new configuration file /etc/pacman.conf:

nano /etc/pacman.conf

Find the line "SigLevel = Optional TrustedOnly" and uncomment it. Then comment on the line "SigLevel = Never".

It should look like this:

# PGP signature checking
# NOTE: None of this will work without running `pacman-key --init` first.
# The compiled in default is equivalent to the following line. This requires
# you to locally sign and trust packager keys using `pacman-key` for them to be
# consideredvalid.
SigLevel = OptionalTrustedOnly
# If you wish to check signatures but avoid local sign and trust issues, use
# the following line. This will treat any key imported into pacman's keyring as
#trusted.
#SigLevel = Optional TrustAll
# For now, off by default unless you read the above.
#SigLevel = Never

Don't forget to uncomment the SigLevel lines in the repositories. It should look like this:

[core] SigLevel = PackageRequired
include = /etc/pacman.d/mirrorlist
[extra] SigLevel = PackageOptional
include = /etc/pacman.d/mirrorlist
[community] SigLevel = PackageOptional
include = /etc/pacman.d/mirrorlist

Save the changes and close the file.

Now, start the PGP keys with:

pacman-key --init

As recommended in the Arch wiki, a recommended step is to modify the configuration file of the PGP keys to avoid problems when importing them:

nano /etc/pacman.d/gnupg/gpg.conf

Replace the line "keyserver hkp: //keys.gnupg.net" with "keyserver hkp: //pgp.mit.edu" (without quotes).

Finally, you only need to download the keys. To avoid downloading them 1 by 1 on the wiki, they recommend the following script to download the master keys:

for key in FFF979E7 CDFD6BB0 4C7EA887 6AC6A4C2 824B18E8; do
pacman-key --recv-keys $ key
pacman-key --lsign-key $ key
printf 'trustn3nquitn' | gpg --homedir /etc/pacman.d/gnupg/
--no-permission-warning --command-fd 0 --edit-key $ key
done

save it as a bash script (I put master-keys.sh on it) give it permissions (sudo chmod + x master-keys.sh) and run it from terminal (./master-keys.sh).

Finally, update the system:

sudo pacman -Syu

If when updating you receive the following error: "filesystem: / etc / mtab exists in the file system", it is simply necessary to force the installation of the new version of the package, which is currently filesystem-2011.12-2:

pacman -S filesystem --force
You are already warned: it is very likely that when the updates are installed, a lot of signs will appear saying that "the key for package X is unknown, do you want to import it?" Just hit "S" several times until those messages are over.

Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   kik1n said

    Uhhh I made it.
    Only now it asked me how to install everything again. (Download only)

    or: gmtk: key "A91764759326B440" is unknown
    :: Import PGP key 9326B440, «Lukas Fleischer«, created 2011-10-12? [Y / n] Y
    error: inetutils: key "FCF2CB179205AC90" is unknown

    That's fine???

  2.   kik1n said

    That
    or: gmtk: key "A91764759326B440" is unknown
    :: Import PGP key 9326B440, «Lukas Fleischer«, created 2011-10-12? [Y / n] Y
    error: inetutils: key "FCF2CB179205AC90" is unknown

    It's good??? or did something go wrong ???

  3.   Let's use Linux said

    That good! I'm glad. 🙂

  4.   dmazed said

    Well I did that and the whole pacman.conf got damaged, it won't let me update or install, it throws me this message ...

    root @ dmaziado-3m3r dmaziado3m3r] # pacman -Syy
    error: configuration file /etc/pacman.conf, line 1: All directives must belong to a section.

    I think the error was that by installing yaourt I returned firewood to my pacman.conf, what do I do ???

  5.   Charly said

    What happens to the developers ran out of ritalin?
    They are doing shit all over!