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
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???
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 ???
That good! I'm glad. 🙂
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 ???
What happens to the developers ran out of ritalin?
They are doing shit all over!