修复 pacman 中的“未找到目标”(可能是 pacman.conf 的镜像列表

Posted

技术标签:

【中文标题】修复 pacman 中的“未找到目标”(可能是 pacman.conf 的镜像列表【英文标题】:Fixing "Target not found" in pacman (Maybe mirrorlist of pacman.conf 【发布时间】:2015-02-25 05:18:31 【问题描述】:

在我的新拱门系统中,我遇到了很多关于 pacman 的问题。我无法安装任何东西。

[root@life ~]# pacman -S pacaur

错误:找不到目标:pacaur

我已经尝试了所有方法,包括 pacman -Syyu、重新安装 pacman 并弄乱了 mirrorlist,这让我相信这可能是 mirrorlist 或 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   =
#IgnoreGroup =

#NoUpgrade   =
#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

正在显示 pacman.conf。

##
## Arch Linux repository mirrorlist
## Sorted by mirror score from mirror status page
## Generated on 2014-12-28
##

## Score: 0.5, United States
Server = http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch
## Score: 0.9, United States
Server = http://lug.mtu.edu/archlinux/$repo/os/$arch
## Score: 1.1, United States
Server = http://mirror.umd.edu/archlinux/$repo/os/$arch
## Score: 1.1, United States
Server = http://mirror.rit.edu/archlinux/$repo/os/$arch
## Score: 1.1, United States
Server = http://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch
## Score: 1.1, United States
Server = http://archlinux.surlyjake.com/archlinux/$repo/os/$arch
## Score: 1.2, United States
Server = http://www.gtlib.gatech.edu/pub/archlinux/$repo/os/$arch
## Score: 1.2, United States
Server = https://mirrors.kernel.org/archlinux/$repo/os/$arch
## Score: 1.3, United States
Server = http://archlinux.pallissard.net/archlinux/$repo/os/$arch
## Score: 1.4, United States
Server = http://mirrors.cecsresearch.org/archlinux/$repo/os/$arch
## Score: 1.4, United States
Server = http://mirror.cs.pitt.edu/archlinux/$repo/os/$arch
## Score: 1.5, United States
Server = http://mirrors.cat.pdx.edu/archlinux/$repo/os/$arch
## Score: 1.7, United States
Server = http://mirror.jmu.edu/pub/archlinux/$repo/os/$arch
## Score: 1.8, United States
Server = http://mirror.grig.io/archlinux/$repo/os/$arch
## Score: 1.9, United States
Server = http://mirrors.aggregate.org/archlinux/$repo/os/$arch
## Score: 1.9, United States
Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch
## Score: 2.0, United States

【问题讨论】:

【参考方案1】:

pacman 找不到目标,因为它只搜索official repositories。而pacaur,其实住在AUR。

AUR helpers,如yaourt 或packer,使搜索和安装AUR 包非常简单。如果您没有其中之一,您始终可以使用所需的PKGBUILD 手动执行操作。您需要做的就是使用makepkg 从源代码编译它,然后通过pacman 安装它。

例如:

mkdir ~/pkgs && cd ~/pkgs

wget https://aur.archlinux.org/packages/pa/pacaur/PKGBUILD

makepkg -s

sudo pacman -U pacaur-4.2.14-1-any.pkg.tar.xz

【讨论】:

啊,是的,谢谢。我以为都是包,但我只尝试下载 yaourt,然后下载 pacaur。我刚刚安装了 geany 和 tint2。这很奇怪,因为我以为我记得是这样下载 yaourt 的。

以上是关于修复 pacman 中的“未找到目标”(可能是 pacman.conf 的镜像列表的主要内容,如果未能解决你的问题,请参考以下文章

Pacman 的寻路算法

问一个问题,为啥pacman搜索不到其他版本的内核

archlinux pacman 常用选项

未找到目标文件“macos”

404未找到:原始服务器未找到目标资源的当前表示,或不愿意透露存在的资源

未找到目标 c social/social.h