2

我想在没有互联网连接的 ArchLinux 机器上安装软件包。我正在关注链接https://wiki.archlinux.org/index.php/Offline_Installation_of_Packages(“常规方法:Pacman”部分)。

命令“pacman -Sp --noconfirm xorg-server”列出了依赖项,但没有列出要下载的完整 url。任何想法如何获取带有要下载的 url 的依赖包列表。我正在使用 pacman 版本 4.0.2-libalpm v7.0.2。

4

1 回答 1

3

我通过禁用所有存储库镜像重现了您描述的行为。

$ 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.dbcommunity.db然后extra.db把它们放进去/var/lib/pacman/sync

于 2012-03-30T10:26:45.027 回答