Error When Updating System/Installing Packages in Terminal

```
System:
Kernel: 6.1.7-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=d5aae51d-ba0a-4bea-96f8-ee3641351dfd rw rootflags=subvol=@
quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
loglevel=3 ibt=off
Desktop: KDE Plasma v: 5.26.5 tk: Qt v: 5.15.8 info: latte-dock
wm: kwin_x11 vt: 1 dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Desktop Mobo: ASUSTeK model: ROG MAXIMUS X HERO (WI-FI AC) v: Rev 1.xx
serial: <superuser required> UEFI-[Legacy]: American Megatrends v: 2503
date: 09/25/2020
CPU:
Info: model: Intel Core i7-8700K bits: 64 type: MT MCP arch: Coffee Lake
gen: core 8 level: v3 note: check built: 2018 process: Intel 14nm family: 6
model-id: 0x9E (158) stepping: 0xA (10) microcode: 0xF0
Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB
L3: 12 MiB desc: 1x12 MiB
Speed (MHz): avg: 3975 high: 4803 min/max: 800/4800 scaling:
driver: intel_pstate governor: performance cores: 1: 3700 2: 3700 3: 3700
4: 3700 5: 3700 6: 4800 7: 3700 8: 3700 9: 4803 10: 4800 11: 3700 12: 3700
bogomips: 88796
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: NVIDIA GP104 [GeForce GTX 1080] vendor: ASUSTeK driver: nvidia
v: 525.85.05 alternate: nouveau,nvidia_drm non-free: 525.xx+
status: current (as of 2022-12) arch: Pascal code: GP10x
process: TSMC 16nm built: 2016-21 pcie: gen: 3 speed: 8 GT/s lanes: 16
bus-ID: 01:00.0 chip-ID: 10de:1b80 class-ID: 0300
Device-2: Microsoft LifeCam Cinema type: USB driver: snd-usb-audio
bus-ID: 1-7:4 chip-ID: 045e:075d class-ID: 0102
Display: x11 server: X.Org v: 21.1.6 with: Xwayland v: 22.1.7
compositor: kwin_x11 driver: N/A display-ID: :0 screens: 1
Screen-1: 0 s-res: 7680x2160 s-dpi: 159 s-size: 1227x352mm (48.31x13.86")
s-diag: 1276mm (50.26")
Monitor-1: DP-2 pos: right res: 3840x2160 hz: 60 dpi: 161
size: 607x345mm (23.9x13.58") diag: 698mm (27.49") modes: N/A
Monitor-2: HDMI-0 pos: primary,left res: 3840x2160 hz: 60 dpi: 160
size: 608x345mm (23.94x13.58") diag: 699mm (27.52") modes: N/A
API: OpenGL v: 4.6.0 NVIDIA 525.85.05 renderer: NVIDIA GeForce GTX
1080/PCIe/SSE2 direct render: Yes
Audio:
Device-1: Intel 200 Series PCH HD Audio vendor: ASUSTeK
driver: snd_hda_intel v: kernel bus-ID: 1-7:4 chip-ID: 045e:075d
bus-ID: 00:1f.3 class-ID: 0102 chip-ID: 8086:a2f0 class-ID: 0403
Device-2: NVIDIA GP104 High Definition Audio vendor: ASUSTeK
driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
bus-ID: 01:00.1 chip-ID: 10de:10f0 class-ID: 0403
Device-3: Microsoft LifeCam Cinema type: USB driver: snd-usb-audio
Sound API: ALSA v: k6.1.7-zen1-1-zen running: yes
Sound Server-1: PulseAudio v: 16.1 running: no
Sound Server-2: PipeWire v: 0.3.64 running: yes
Network:
Device-1: Intel Ethernet I219-V vendor: ASUSTeK driver: e1000e v: kernel
port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15b8 class-ID: 0200
IF: enp0s31f6 state: up speed: 1000 Mbps duplex: full mac: <filter>
Device-2: Realtek RTL8822BE 802.11a/b/g/n/ac WiFi adapter vendor: ASUSTeK
driver: rtw_8822be v: N/A modules: rtw88_8822be pcie: gen: 1 speed: 2.5 GT/s
lanes: 1 port: d000 bus-ID: 04:00.0 chip-ID: 10ec:b822 class-ID: 0280
IF: wlp4s0 state: down mac: <filter>
IF-ID-1: docker0 state: down mac: <filter>
Bluetooth:
Device-1: ASUSTek Bluetooth Radio type: USB driver: btusb v: 0.8
bus-ID: 1-13:6 chip-ID: 0b05:185c class-ID: e001 serial: <filter>
Report: bt-adapter ID: hci0 rfk-id: 1 state: up address: <filter>
Drives:
Local Storage: total: 9.1 TiB used: 2.38 TiB (26.1%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: SSD 980 PRO with
Heatsink 1TB size: 931.51 GiB block-size: physical: 512 B logical: 512 B
speed: 63.2 Gb/s lanes: 4 type: SSD serial: <filter> rev: 5B2QGXA7
temp: 31.9 C scheme: MBR
ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital
model: WD5000AAKS-00V1A0 size: 465.76 GiB block-size: physical: 512 B
logical: 512 B speed: 3.0 Gb/s type: N/A serial: <filter> rev: 1D05
ID-3: /dev/sdb maj-min: 8:16 vendor: Western Digital
model: WD4004FZWX-00GBGB0 size: 3.64 TiB block-size: physical: 4096 B
logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 7200 serial: <filter>
rev: 0A81 scheme: GPT
ID-4: /dev/sdc maj-min: 8:32 vendor: Samsung model: SSD 850 EVO 500GB
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 3B6Q scheme: GPT
ID-5: /dev/sdd maj-min: 8:48 type: USB vendor: Seagate
model: Backup+ Hub BK size: 3.64 TiB block-size: physical: 4096 B
logical: 512 B type: N/A serial: <filter> rev: D781 scheme: GPT
Partition:
ID-1: / raw-size: 931.51 GiB size: 931.51 GiB (100.00%)
used: 96.98 GiB (10.4%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:1
ID-2: /home raw-size: 931.51 GiB size: 931.51 GiB (100.00%)
used: 96.98 GiB (10.4%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /var/log raw-size: 931.51 GiB size: 931.51 GiB (100.00%)
used: 96.98 GiB (10.4%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:1
ID-4: /var/tmp raw-size: 931.51 GiB size: 931.51 GiB (100.00%)
used: 96.98 GiB (10.4%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 31.28 GiB used: 0 KiB (0.0%) priority: 100
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 41.0 C mobo: N/A gpu: nvidia temp: 56 C
Fan Speeds (RPM): N/A gpu: nvidia fan: 24%
Info:
Processes: 329 Uptime: 1h 17m wakeups: 0 Memory: 31.28 GiB
used: 5.49 GiB (17.6%) Init: systemd v: 252 default: graphical
tool: systemctl Compilers: gcc: 12.2.1 clang: 15.0.7 Packages: pm: pacman
pkgs: 0 tools: octopi,pamac,paru,pikaur,yaourt pm: rpm pkgs: 0 Shell: fish
v: 3.6.0 running-in: yakuake inxi: 3.3.24
error: mirror 'https://geo-mirror.chaotic.cx/$repo/$arch/' contains the '$arch' variable, but no 'Architecture' is defined.
Garuda ():
System install date:     2022-11-27
Last full system update: 2023-01-21
Is partially upgraded:   No
Relevant software:       snapper NetworkManager
Windows dual boot:       <superuser required>
Failed units:            packagekit.service
```

Not sure what happened here but all of a sudden today, garuda-update or any variant of sudo pacman -Sy, -Syy, -Syu I get this error, I've never seen before:

garuda-update
error: mirror 'https://geo-mirror.chaotic.cx/$repo/$arch/' contains the '$arch' variable, but no 'Architecture' is defined.
:: Synchronizing package databases...
chaotic-aur                                                                 2.3 MiB  2.66 MiB/s 00:01 [############################################################] 100%

--> Refreshing mirrorlists using rate-mirrors, please be patient..
error: mirror 'https://geo-mirror.chaotic.cx/$repo/$arch/' contains the '$arch' variable, but no 'Architecture' is defined.

Failed to update mirrorlist
error: mirror 'https://geo-mirror.chaotic.cx/$repo/$arch/' contains the '$arch' variable, but no 'Architecture' is defined.
:: Synchronizing package databases...
chaotic-aur downloading...

--> Applying keyring updates before starting full system update..
error: mirror 'https://geo-mirror.chaotic.cx/$repo/$arch/' contains the '$arch' variable, but no 'Architecture' is defined.

When I try to update using the Update tool, the service times out

Can we see the contents of /etc/pacman.conf

3 Likes

Good idea! Not sure where the Chrome link came from. I don't even have Chrome installed, nor would I

[garuda]
Include = /etc/pacman.d/chaotic-mirrorlist

[google-chrome]
Server = https://dl.google.com/linux/chrome/rpm/stable/x86_64

Is that your entire /etc/pacman.conf? If so, that is the problem. Most of it is missing.

3 Likes

Yeah, that's it. I've never, ever edited it. WTH??

Is there a way to restore it from a default copy?

#
# /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 garuda-system
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = x86_64 x86_64_v3

#IgnorePkg   =
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
ILoveCandy
ParallelDownloads = 30

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

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

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

#Mirrors
[garuda]
Include = /etc/pacman.d/chaotic-mirrorlist

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

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

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

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

[chaotic-aur]
Include = /etc/pacman.d/chaotic-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


# 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
#SigLevel = Never

Maybe change

4 Likes

Or try

update remote fix
4 Likes

@filo

This seems to have done the trick! I've never seen that command before! Good one to keep in the "toolbox".

Thank you!

@SGS

After the remote fix command, this is my pacman.conf now and I was able to update the system

#
# /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
Architecture = auto

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

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
ILoveCandy
ParallelDownloads = 5

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

[garuda]
Include = /etc/pacman.d/chaotic-mirrorlist

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

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

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

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

[chaotic-aur]
Include = /etc/pacman.d/chaotic-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

Thanks for the quick replies and perfect solutions.
This can be closed

1 Like

As SGS quickly noted above, you can change the default to 10, 20 or 30. The more throughput your internet connection has, the higher the number can be. This will greatly improve your download times. Try it! :smiley:

2 Likes

Awesome, thanks!

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.