Pacman error -- no servers configured to repository

Hi all,

I have been attempting to update my system, but I get the following error:

:: Synchronizing package databases...
error: failed to synchronize all databases (no servers configured for repository)
 -> error refreshing databases - exit status 1
warning: database file for 'endeavouros' does not exist (use '-Sy' to download)
warning: database file for 'core' does not exist (use '-Sy' to download)
warning: database file for 'extra' does not exist (use '-Sy' to download)
warning: database file for 'community' does not exist (use '-Sy' to download)
warning: database file for 'multilib' does not exist (use '-Sy' to download)

All the info I’ve been able to find pertains to updating or reinstalling the mirrorlist and the keyrings (which I have tried), as well as deleting the .db folder in /var/lib/pacman/ (which does not exist on my system).

Attempting to download anything produces a similar error to above (warning: database file for '...' does not exist (use '-Sy' to download))

I’m not even that new (started around 2021), I just use the system as normal and have mild freakouts when stuff breaks :sweat_smile:

Would greatly appreciate any suggestions

1 Like

That is really strange.

Can see the output from some commands before providing further advice?

cat /etc/fstab
lsblk -o name,fstype,type,size,mountpoint,uuid
cat /etc/pacman.conf
ls /etc/pacman.conf.d

Sure:

cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>                      <mount point>  <type>  <options>  <dump>  <pass>
UUID=d4834cea-0885-4f0b-a3e3-3fe4995f2a0c /              btrfs   subvol=/@,defaults,noatime,compress=zstd 0 0
UUID=d4834cea-0885-4f0b-a3e3-3fe4995f2a0c /home          btrfs   subvol=/@home,defaults,noatime,compress=zstd 0 0
UUID=d4834cea-0885-4f0b-a3e3-3fe4995f2a0c /var/cache     btrfs   subvol=/@cache,defaults,noatime,compress=zstd 0 0
UUID=d4834cea-0885-4f0b-a3e3-3fe4995f2a0c /var/log       btrfs   subvol=/@log,defaults,noatime,compress=zstd 0 0
UUID=0dff020d-ea09-46d1-82b7-892ee5032445 swap           swap    defaults   0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

UUID=16c3d286-47fc-4719-a07e-91114afe0bc7       /mnt/1tb-SSD    ext4    defaults 0 0

UUID=4d157593-dc77-4385-955f-9dccbf39ea0f       /mnt/2tb-HDD    ext4    defaults 0 0

[ip address]:/mnt/Main/NAS               /mnt/NAS   nfs     nofail,x-systemd.device-timeout=5 0     2
lsblk -o name,fstype,type,size,mountpoint,uuid
NAME        FSTYPE TYPE   SIZE MOUNTPOINT                UUID
sda                disk   1.8T                           
`-sda1      ext4   part   1.8T /mnt/2tb-HDD              4d157593-dc77-4385-955f-9dccbf39ea0f
sdb                disk 931.5G                           
`-sdb1      ext4   part 931.5G /mnt/1tb-SSD              16c3d286-47fc-4719-a07e-91114afe0bc7
nvme0n1            disk 931.5G                           
|-nvme0n1p1 btrfs  part   915G /var/log                  d4834cea-0885-4f0b-a3e3-3fe4995f2a0c
`-nvme0n1p2 swap   part  16.5G [SWAP]                    0dff020d-ea09-46d1-82b7-892ee5032445
cat /etc/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
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta    = 0.7
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
ILoveCandy
#NoProgressBar
#CheckSpace
VerbosePkgLists
DisableDownloadTimeout
ParallelDownloads = 12

# 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 Arch Linux
# packagers with `pacman-key --populate archlinux`.

#
# 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.

[endeavouros]
SigLevel = PackageRequired
Include = /etc/pacman.d/endeavouros-mirrorlist

#[testing]
#Include = /etc/pacman.d/mirrorlist

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

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

#[community-testing]
#Include = /etc/pacman.d/mirrorlist

[community]
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-testing]
#Include = /etc/pacman.d/mirrorlist

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

# 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

[rumpowered]
#Server = https://jc141x.github.io/rumpowered-packages/$arch 
ls /etc/pacman.conf.d
ls: cannot access '/etc/pacman.conf.d': No such file or directory

… I am a bit confused about that last one…

Oops, that was supposed to be ls /etc/pacman.d

Can you also share the output of findmnt --real

ls /etc/pacman.d
endeavouros-mirrorlist  endeavouros-mirrorlist.bak  gnupg  mirrorlist  mirrorlist.bak  mirrorlist.pacnew
findmnt --real
TARGET               SOURCE                            FSTYPE      OPTIONS
/                    /dev/nvme0n1p1[/@]                btrfs       rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/@
|-/var/cache         /dev/nvme0n1p1[/@cache]           btrfs       rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=258,subvol=/@cache
|-/home              /dev/nvme0n1p1[/@home]            btrfs       rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/@home
|-/run/user/1000/doc portal                            fuse.portal rw,nosuid,nodev,relatime,user_id=1000,group_id=1000
|-/var/log           /dev/nvme0n1p1[/@log]             btrfs       rw,noatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvolid=259,subvol=/@log
|-/mnt/1tb-SSD       /dev/sdb1                         ext4        rw,relatime
|-/mnt/2tb-HDD       /dev/sda1                         ext4        rw,relatime
`-/mnt/NAS      [ip address]:/mnt/Main/NAS nfs4        rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=[ip address1],local_lock=none,addr=[ip address]

Can you share the full output of sudo pacman -Sy

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

OK, can you share the contents of /etc/pacman.d/mirrorlist

:eyes:
Not the fake speed increase.

I mean, unless you are downloading massive packages and actually have high-speed internet.

But if it’s just one massive package and 100+ tiny packages, then things won’t actually be faster. The 100+ tiny packages will still download before the one massive package, which means whether it’s 5 parallel downloads or 12 won’t actually make a difference in time spent downloading.

math is fantastic :wink:

1 Like
cat /etc/pacman.d/mirrorlist
################################################################################
################# Arch Linux mirrorlist generated by Reflector #################
################################################################################
# With:       reflector --verbose -c ZA --protocol https --sort rate --latest 10 --download-timeout 5
# When:       2023-06-15 21:11:24 UTC
# From:       https://archlinux.org/mirrors/status/json/
# Retrieved:  2023-06-15 21:10:58 UTC
# Last Check: 2023-06-15 21:01:21 UTC

## South Africa
Server = https://archlinux.za.mirror.allworldit.com/archlinux/$repo/os/$arch

## Worldwide
Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch

I figured I have the processing power, so may as well use it :joy:

1 Like

Try refreshing your mirrorlist with something like:

reflector --age 3 --sort rate --number 7 --protocol https | sudo tee /etc/pacman.d/mirrorlist

Then run:

sudo pacman -Syu

Edit:

If the reflector command above takes a long time, try with something simpler:

reflector --sort rate --latest 7 --protocol https | sudo tee /etc/pacman.d/mirrorlist

I ran this now (the morning), and got the following output:

################################################################################
################# Arch Linux mirrorlist generated by Reflector #################
################################################################################

# With:       reflector --age 3 --sort rate --number 7 --protocol https
# When:       2024-06-16 08:30:33 UTC
# From:       https://archlinux.org/mirrors/status/json/
# Retrieved:  2024-06-16 08:30:33 UTC
# Last Check: 2024-06-16 08:25:44 UTC

Server = https://mirror.osbeck.com/archlinux/$repo/os/$arch
Server = https://mirrors.urbanwave.co.za/archlinux/$repo/os/$arch
Server = https://archlinux.za.mirror.allworldit.com/archlinux/$repo/os/$arch
Server = https://archlinux.mirror.liquidtelecom.com/$repo/os/$arch
Server = https://arch.kurdy.org/$repo/os/$arch
Server = https://de.mirrors.cicku.me/archlinux/$repo/os/$arch
Server = https://mirror.rznet.fr/archlinux/$repo/os/$arch

Then when i ran sudo pacman -Syy, I again got

:: Synchronizing package databases...
error: failed to synchronize all databases (no servers configured for repository)
1 Like

You commented out the rumpowered server, but you didn’t comment out the repo itself.

Do this:

#[rumpowered]

2 Likes

Great catch @Stagger_Lee, chapeau!

1 Like

I did think of that while I was out, and tried that, which did actually change something, but has given me a new error:

sudo pacman -Syyu
:: Synchronizing package databases...
 endeavouros                                                                                                        7.5 KiB  6.72 KiB/s 00:01 [---------------------------------------------------------------------------------------] 100%
 core                                                                                                             121.1 KiB   109 KiB/s 00:01 [---------------------------------------------------------------------------------------] 100%
 extra                                                                                                              7.9 MiB  2.76 MiB/s 00:03 [---------------------------------------------------------------------------------------] 100%
 community                                                                                                         45.0   B  61.0   B/s 00:01 [---------------------------------------------------------------------------------------] 100%
 multilib                                                                                                         138.4 KiB   124 KiB/s 00:01 [---------------------------------------------------------------------------------------] 100%
error: GPGME error: No data
error: failed to synchronize all databases (unexpected error)

I did refresh the mirrorlist before this, by the way

The previous bad setting corrupted the db.
Delete the database file rumpowered, if exists and retry.
If it still errors delete all dbs.

DBs

/var/lib/pacman/*.db

There aren’t any db files in that directory

pwd && ls -al
/var/lib/pacman
total 0
drwxr-xr-x 1 root root    18 Jun 16 19:40 .
drwxr-xr-x 1 root root   660 Jun 16 00:01 ..
drwxr-xr-x 1 root root 62488 Jun 10 20:17 local
drwxr-xr-x 1 root root   140 Jun 16 19:40 sync