You are not logged in.
I'm not sure this is the right section... For a while now, using wget as downloading agent gives me
--2014-08-25 21:05:45-- http://mirror.gnomus.de/core/os/x86_64/core.db.sig
Resolving mirror.gnomus.de (mirror.gnomus.de)... 144.76.110.228
Connecting to mirror.gnomus.de (mirror.gnomus.de)|144.76.110.228|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2014-08-25 21:05:45 ERROR 404: Not Found.
This happens for every repository. Switching back to default (= commenting wget out again) does not show any error messages. I am able to download/update stuff even with the error message, so I wasn't that bothered by it, but I'd like to know how to fix that.
My 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/
HoldPkg = pacman glibc
#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
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg = tigervnc
#IgnoreGroup =
NoUpgrade = usr/share/config/kdm/Xsetup
#NoExtract =
# Misc options
#UseSyslog
#Color
#TotalDownload
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 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
[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
[repo-ck]
Server = http://repo-ck.com/$arch
Do tell me if you need any more info.
Last edited by Soukyuu (2014-08-27 11:53:13)
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
The official repositories contain signed packages but not signed databases. Your global SigLevel setting ("SigLevel = Required DatabaseOptional") tells Pacman to try to download signatures for all databases (which is a good), but missing signatures necessarily generate 404 errors.
For each official repo (and any other that provides signed packages but not signed databases), use "PackageRequired" as in the following example for [core]:
[core]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Doesn't seem to fix it. Any reason why using the default download agent does not generate 404s?
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
Repo-specific SigLevel settings modify the global setting, not override it completely. If you don't want pacman to look for a database signature at all you need to use DatabaseNever. Pacman defaults to downloading the file itself and doesn't bother giving an error about a missing optional signature that it doesn't actually need.
Offline
Makes sense. Was the default SigLevel changed in the last... months? I remember merging a .pacnew file, but don't remember if SigLevel changed. I'm pretty sure I wasn't having those 404s before though.
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
No - has not been changed in over a year.
Online
The output of wget is a bit cluttered, curl has a clean shorthand output that omits the display of errors.
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
Well, that's confusing:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 41000 100 41000 0 0 55365 0 --:--:-- --:--:-- --:--:-- 55405
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (22) The requested URL returned error: 404 Not Found
:x
I'm using the default pre-defined pacman.conf entries for curl/wget.
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
I'm using the default pre-defined pacman.conf entries for curl/wget.
The option -# makes the output a cleaner, but the error is still displayed. Somehow that wasn't the case in my first quick test, but I don't remember what I did different. The default output used by pacman is a special format though. An empty XferCommand means that the download is performed with libcurl and pacman writes the whole output in the format it likes.
Last edited by progandy (2014-08-26 10:19:10)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
The only reason I'm using wget is that it can resume the download should it get interrupted (this is mostly for the linux-ck repo)...
I tried setting a per-repository XferCommand, but it seems it's not supported:
warning: config file /etc/pacman.conf, line 101: directive 'XferCommand' in section 'repo-ck' not recognized.
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
The internal pacman download resumes files just fine...
Online
It does, however it does not retry if connection drops:
:: Retrieving packages ...
error: failed retrieving file 'linux-ck-bobcat-3.16.1-2-x86_64.pkg.tar.xz' from repo-ck.com : transfer closed with 14166424 bytes remaining to read
warning: failed to retrieve some files
error: failed to commit transaction (download library error)
Errors occurred, no packages were upgraded.
This means that if one package transfer gets interrupted, you have to manually restart the whole thing to resume. Is there a way to tell pacman to retry automatically without changing the download agent?
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
There resume if you have more server uncommented in /etc/pacman.d/mirrorlist whatever
Well, I suppose that this is somekind of signature, no?
Offline
I don't have connection interrupts with the official repos, and yes, it would jump to the next one in the mirrorlist file.
I have connection interrupts with user repositories that do not have mirrors, so I have to restart pacman every time that happens.
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
I don't have connection interrupts with the official repos, and yes, it would jump to the next one in the mirrorlist file.
I have connection interrupts with user repositories that do not have mirrors, so I have to restart pacman every time that happens.
It should work if you repeat the server line multiple times.
pacman.conf:
[test]
Server = http://example.com/repo
Server = http://example.com/repo
Server = http://example.com/repo
# pacman -Sy
...
error: failed retrieving file 'test.db' from example.com : The requested URL returned error: 404 Not Found
error: failed retrieving file 'test.db' from example.com : The requested URL returned error: 404 Not Found
error: failed retrieving file 'test.db' from example.com : The requested URL returned error: 404 Not Found
error: failed to update test (download library error)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
That seems to work, thanks. Now I can have clean pacman output again!
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
Hi
Can you post your file pacman.conf because I'm not sure how.
Tthank you
Offline
You mean my repo-ck entry? This is what I have it as now and it work fine.
[repo-ck]
Server = http://repo-ck.com/$arch
Server = http://repo-ck.com/$arch
Server = http://repo-ck.com/$arch
Server = http://repo-ck.com/$arch
Server = http://repo-ck.com/$arch
[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]
Offline
thank you very much
Offline