Pamac Cannot Update. Error Setting Certificate

Read the 4th post.

[Downloads]# ./pacman-static -Syu
warning: config file /etc/pacman.conf, line 20: directive 'SyncFirst' in section 'options' not recognized.
:: Synchronizing package databases...
 core.db failed to download
error: failed retrieving file 'core.db' from mirror.is.co.za : error setting certificate verify locations:  CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none
error: failed retrieving file 'core.db' from mirror.i3d.net : error setting certificate verify locations:  CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none
error: failed retrieving file 'core.db' from mirror.smith.geek.nz : Could not resolve host: mirror.smith.geek.nz
warning: too many errors from mirror.smith.geek.nz, skipping for the remainder of this transaction
error: failed retrieving file 'core.db' from archmirror1.octyl.net : The requested URL returned error: 404
error: failed to synchronize all databases (failed to retrieve some files)

Same problem because ‘-Syu’ would require accessing the internet which was the issue from the beginning if without a functional ca.certificates.crt, no?

Please post

ls -a /etc/ssl/certs/ca-certificates.crt
ls -a /etc/ca-certificates/extracted/tls-ca-bundle.pem

Also

Now get ca-certificates-mozilla the same way and retry.

for me, that would for example be:
sudo pacman-mirrors -c Germany

use it like it is for now - it is good enough even if you are in Australia or NZ or RSA :wink:
or put your own country or other options

At least it will surely be different from what you have now.

Check if they’re in your package cache:

ls /var/cache/pacman/pkg | grep ca-cert

If so, try installing them:

sudo pacman -U /var/cache/pacman/pkg/ca-certificates-mozilla-3.96.1-1-x86_64.pkg.tar.zst  /var/cache/pacman/pkg/ca-certificates-20220905-1-any.pkg.tar.zst

Otherwise:

# ls -a /etc/ssl/certs/ca-certificates.crt
ls -a /etc/ca-certificates/extracted/tls-ca-bundle.pem
/etc/ssl/certs/ca-certificates.crt
/etc/ca-certificates/extracted/tls-ca-bundle.pem
Downloads]# pacman -U ca-certificates-mozilla-3.98-1-x86_64.pkg.tar.zst
loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (1) ca-certificates-mozilla-3.98-1

Total Installed Size:  1.01 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                                                                       [###########################################################] 100%
(1/1) checking package integrity                                                                     [###########################################################] 100%
(1/1) loading package files                                                                          [###########################################################] 100%
(1/1) checking for file conflicts                                                                    [###########################################################] 100%
(1/1) checking available disk space                                                                  [###########################################################] 100%
:: Processing package changes...
(1/1) installing ca-certificates-mozilla                                                             [###########################################################] 100%
:: Running post-transaction hooks...
(1/2) Arming ConditionNeedsUpdate...
(2/2) Rebuilding certificate stores...

What do I do next?

Actually, I had already done that and additionally added some mirrors into pacman.conf file. See the contents below of pacman.conf:

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
CacheDir = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg      = pacman glibc manjaro-system
# If upgrades are available for these packages they will be asked for first
SyncFirst    = manjaro-system archlinux-keyring manjaro-keyring
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta    = 0.7
Architecture = auto

#IgnorePkg   =
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
#Color
#TotalDownload
# We cannot check disk space from within a chroot environment
CheckSpace
#VerbosePkgLists

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Manjaro Linux
# packagers with `pacman-key --populate archlinux manjaro`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

[core]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
Server = https://mirror.i3d.net/pub/archlinux/
Server = http://mirror.smith.geek.nz/archlinux/
Server = http://archmirror1.octyl.net/

[extra]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
Server = https://mirror.i3d.net/pub/archlinux/
Server = http://mirror.smith.geek.nz/archlinux/
Server = http://archmirror1.octyl.net/

[community]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
Server = https://mirror.i3d.net/pub/archlinux/
Server = http://mirror.smith.geek.nz/archlinux/
Server = http://archmirror1.octyl.net/

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
Server = https://mirror.i3d.net/pub/archlinux/
Server = http://mirror.smith.geek.nz/archlinux/
Server = http://archmirror1.octyl.net/

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

Thats all sorts of broken.

You shouldnt have those extra Server lines for any of the repos

Probably especially not pointing at ‘archlinux’ repos

The [community] repo has been defunct for quite some time now

And that probably also means you have other unmanaged pacnews in general.

(print them all with pacdiff -o)

2 Likes

Install ca-certificates--20220905-1 as in post #15. And learn how things work. Otherwise Manjaro isn’t for you.

… and those are exactly the servers for which you keep getting errors, for which everything keeps failing.
Remove the community repo and all of the “Server” lines from that file like @cscs said.
You shot yourself in the foot with this one and it took until now to find out.

1 Like

Frankly, the errors were all there before I added any extra servers. Nothing different after adding those servers. [Your assumption is not correct}

I have searched on the internet and tried a number of different things for a long time now but have not found the solution to the issues. I am learning bit by bit but still far from understanding how to work it out.

Appreciate your patience.

These aren’t even manjaro mirrors.

2 Likes

In the original file there are no such server lines at all.
and

Have it your way. I give up.
All the best!

1 Like

Huh? I know there are no ‘Server’ lines in default pacman.conf.

I cited you instead of saying it myself again.
The post was a reply to @munjaro567

OP system has not merged pacman.conf.pacnew from last July to remove community repository
Or recent pacman.conf.pacnew to remove SigLevel = PackageRequired from repository configurations

Repository configurations in pacman.conf should look like this

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

[multilib]
Include = /etc/pacman.d/mirrorlist

Thank you. The pacman.conf file was originally as you have expressed and when it did not work, someone suggested that I added additional server lines and also has not worked.

All the comments and suggestions so far I have already tried before even coming to this forum to ask. So far, nothing has worked and I don’t have any idea how to proceed from here at the moment.

Thank you all for your patience so far.

What I’d do/start with:

ls -hl /etc/pacman*

You will likely see a file:
/etc/pacman.conf.pacnew

If so - replace the current /etc/pacman.conf with this file

sudo cp -a /etc/pacman.conf /etc/pacman.conf.myoldfile
sudo cp -a /etc/pacman.conf.pacnew /etc/pacman.conf

Update mirrors:
sudo pacman-mirrors -f

try update again:
sudo pacman -Syu

See what happens.
If things don’t work out, please provide the output of all the above commands so we can see where things don’t go as they should.

# ls -hl /etc/pacman*
-rw-r--r-- 1 root root 3.5K Feb 20 11:25 /etc/pacman.conf
-rw-r--r-- 1 root root 2.6K Sep 27 10:16 /etc/pacman.conf.pacnew
-rw-r--r-- 1 root root  858 Jun 15  2021 /etc/pacman-mirrors.conf

/etc/pacman.d:
total 8.0K
drwxr-xr-x 5 root root 4.0K Feb 19 01:53 gnupg
-rw-r--r-- 1 root root  261 Feb 22 19:30 mirrorlist

# cp -a /etc/pacman.conf /etc/pacman.conf.myoldfile

# cp -a /etc/pacman.conf.pacnew /etc/pacman.conf
cp: overwrite '/etc/pacman.conf'? y

# pacman-mirrors -f
::INFO Downloading mirrors from Manjaro
::INFO => Mirror pool: https://repo.manjaro.org/mirrors.json
::INFO => Mirror status: https://repo.manjaro.org/status.json
::INFO Using custom mirror file
::INFO Querying mirrors - This may take some time
  ..... South_Africa   : http://mirror.is.co.za/mirrors/manjaro.org/

::ERROR Connection: HTTPSConnectionPool(host='mirror.dimensiondata.com', port=443): Read timed out. (read timeout=2)

::INFO Writing mirror list
::INFO Mirror list generated and saved to: /etc/pacman.d/mirrorlist

# pacman -Syu
:: Synchronizing package databases...
error: failed to synchronize all databases (no servers configured for repository)

Strange.

I’d like to see the contents of /etc/pacman.conf

cat /etc/pacman.conf

and verify that the copy worked:

ls -hl /etc/pacman*