我通过禁用所有存储库镜像重现了您描述的行为。
$ pacman -Sp inkscape
gc-7.1-4-i686.pkg.tar.xz
gsl-1.15-2-i686.pkg.tar.xz
libsigc++-2.2.10-2-i686.pkg.tar.xz
glibmm-2.30.1-1-i686.pkg.tar.xz
cairomm-1.10.0-2-i686.pkg.tar.xz
pangomm-2.28.4-1-i686.pkg.tar.xz
atkmm-2.22.6-1-i686.pkg.tar.xz
gtkmm-2.24.2-2-i686.pkg.tar.xz
imagemagick-6.7.6.2-1-i686.pkg.tar.xz
inkscape-0.48.3.1-2-i686.pkg.tar.xz
当我修复它时,输出如下所示:
$ pacman -Sp inkscape
ftp://mirrors.kernel.org/archlinux/extra/os/i686/gc-7.1-4-i686.pkg.tar.xz
ftp://mirrors.kernel.org/archlinux/extra/os/i686/gsl-1.15-2-i686.pkg.tar.xz
ftp://mirrors.kernel.org/archlinux/extra/os/i686/libsigc++-2.2.10-2-i686.pkg.tar.xz
ftp://mirrors.kernel.org/archlinux/extra/os/i686/glibmm-2.30.1-1-i686.pkg.tar.xz
ftp://mirrors.kernel.org/archlinux/extra/os/i686/cairomm-1.10.0-2-i686.pkg.tar.xz
ftp://mirrors.kernel.org/archlinux/extra/os/i686/pangomm-2.28.4-1-i686.pkg.tar.xz
ftp://mirrors.kernel.org/archlinux/extra/os/i686/atkmm-2.22.6-1-i686.pkg.tar.xz
ftp://mirrors.kernel.org/archlinux/extra/os/i686/gtkmm-2.24.2-2-i686.pkg.tar.xz
ftp://mirrors.kernel.org/archlinux/extra/os/i686/imagemagick-6.7.6.2-1-i686.pkg.tar.xz
ftp://mirrors.kernel.org/archlinux/extra/os/i686/inkscape-0.48.3.1-2-i686.pkg.tar.xz
现在到可能需要修复的地方。
1)/etc/pacman.conf
这是我的摘录(“存储库”部分):
# 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.
#
[core]
#SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[extra]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
2) 镜像列表 ( /etc/pacman.d/mirrorlist
)
您包含的镜像列表pacman.conf
需要取消注释某些记录。
$ head /etc/pacman.d/mirrorlist
##
## Arch Linux repository mirrorlist
## Generated on 2011-08-16
##
## Any
Server = ftp://mirrors.kernel.org/archlinux/$repo/os/$arch
Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch
## Australia
等等。请注意,由pacman -Sp
实际生成的 URL 使用镜像列表中的第一个条目。
3)关于ArchWiki 文章中的说明的另一个说明:您实际上不需要同时下载.db
和.tar.gz
文件。这些.db
文件实际上是 tarball 本身,并且包含完全相同的文件和文件夹。所以你可以下载core.db
,community.db
然后extra.db
把它们放进去/var/lib/pacman/sync
。