在离线ArchLinux系统上安装软件包

时间:2012-03-23 18:37:48

标签: archlinux

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

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

1 个答案:

答案 0 :(得分: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 article中说明的另一个注释:您实际上不需要同时下载.db.tar.gz个文件。 .db文件实际上是tarball本身,并包含相同的文件和文件夹。因此,您只需下载core.dbcommunity.dbextra.db,然后将其放入/var/lib/pacman/sync