Mirrors
From ArchWiki
Dansk – Deutsch – English – Español – Français – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Polski – Português – Română – Slovenský – Suomi – Svenska – Türkçe – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어
| Summary |
|---|
| Updating and managing package mirrors |
| Related |
| pacman |
| reflector |
Enabling a specific mirror
The preferred method is to uncomment the mirror in question in /etc/pacman.d/mirrorlist:
# Any # Server = ftp://mirrors.kernel.org/archlinux/$repo/os/i686 Server = http://mirrors.kernel.org/archlinux/$repo/os/i686
See #Mirror status and #List by speed for tools that help choosing mirrors.
It is also possible to specify mirrors in /etc/pacman.conf. For the [core] repository, the default setup is:
[core] Include = /etc/pacman.d/mirrorlist
To use the HostEurope mirror as a default mirror, add it before the Include line:
[core] Server = ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/core/os/i686 Include = /etc/pacman.d/mirrorlist
pacman will now try to connect to this mirror first. Proceed to do the same for [testing], [extra], and [community], if applicable.
Mirror status
Check the status of the Arch mirrors and how updated they are by visiting: Mirrorcheck and/or Mirror status.
Optionally install reflector, an utility that generates a mirrorlist using Mirrorcheck's list. reflector is available in the community repo.
# pacman -S reflector
Or manually check how up-to-date a mirror is by:
- picking a server and browsing to "extra/os/";
- accesing http://www.archlinux.org/ in another browser tab or window; and
- comparing the last-modified date of the i686 directory on the mirror to the [extra] date on the homepage, in the Package Repositories box to the right.
Sorting mirrors
If not using reflector, which has the ability to sort mirrors by both how updated they are and their speed, follow this demonstration of manual mirror sorting.
List by speed
Don't forget to take full advantage of using the local fastest mirror, which can be determined via the included python script, /usr/bin/rankmirrors. Taking this in mind, use pacman to install python if not already present:
# pacman -S python
Use cd to switch to the /etc/pacman.d directory:
# cd /etc/pacman.d
Backup the existing /etc/pacman.d/mirrorlist:
# cp mirrorlist mirrorlist.backup
Edit mirrorlist.backup and uncomment mirrors for testing with rankmirrors:
# nano mirrorlist.backup
Optionally run the following sed line to uncomment every mirror:
# sed '/^#\S/ s|#||' -i mirrorlist.backup
Finally, rank the mirrors. Operand -n 6 means only output the 6 fastest mirrors:
# rankmirrors -n 6 mirrorlist.backup > mirrorlist
Force pacman to refresh the package lists
After creating/editing /etc/pacman.d/mirrorlist, (manually or by using rankmirrors) issue the following command:
# pacman -Syy
Combined listing by speed and status
It is not a good idea to just use the fastest mirrors, since the fastest mirrors might be out of date. The preferred way would be to use #List by speed, then sorting those 6 fastest mirrors by their #Mirror status.
Simply visit either one or both #Mirror status links and sort them by the ones that are more up to date. Move the more up to date mirrors to the top of /etc/pacman.d/mirrorlist and if the mirrors are way out of date simply don't use those; repeat the process leaving out the outdated mirrors. So this ends up with a total of 6 mirrors that are sorted by speed and status, leaving out outdated mirrors.
When having mirror issues the above should be repeated. Or repeat once in a while even if not having mirror problems, to keep /etc/pacman.d/mirrorlist up to date.
Official mirrors
Attention: Do not add new mirrors to the list below. If you want your mirror to be added to official list, file a feature request and wait for approval before listing it here. In the meantime add it to the #Unofficial mirrors list at the end of this page.
Global
Australia
- ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/i686
- http://mirror.aarnet.edu.au/pub/archlinux/$repo/os/i686
- ftp://ftp.iinet.net.au/pub/archlinux/$repo/os/i686
- http://ftp.iinet.net.au/pub/archlinux/$repo/os/i686
- ftp://mirror.internode.on.net/pub/archlinux/$repo/os/i686
- http://mirror.internode.on.net/pub/archlinux/$repo/os/i686
- ftp://ftp.netspace.net.au/pub/archlinux/$repo/os/i686
- http://ftp.netspace.net.au/pub/archlinux/$repo/os/i686
- ftp://mirror.optus.net/archlinux/$repo/os/i686
- http://mirror.optus.net/archlinux/$repo/os/i686
- ftp://mirror.pacific.net.au/linux/archlinux/$repo/os/i686
- http://mirror.pacific.net.au/linux/archlinux/$repo/os/i686
Austria
- ftp://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/i686
- http://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/i686
Belgium
- ftp://ftp.belnet.be/packages/archlinux/$repo/os/i686
- http://ftp.belnet.be/mirror/archlinux.org/$repo/os/i686
- ftp://archlinux.mirror.kangaroot.net/pub/archlinux/$repo/os/i686
- http://archlinux.mirror.kangaroot.net/$repo/os/i686
Brazil
- ftp://archlinux.c3sl.ufpr.br/archlinux/$repo/os/i686
- http://archlinux.c3sl.ufpr.br/$repo/os/i686
- ftp://ftp.las.ic.unicamp.br/pub/archlinux/$repo/os/i686
- http://www.las.ic.unicamp.br/pub/archlinux/$repo/os/i686
- http://pet.inf.ufsc.br/mirrors/archlinux/$repo/os/i686
Bulgaria
Canada
- ftp://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/i686
- http://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/i686
- ftp://mirrors.portafixe.com/archlinux/$repo/os/i686
- http://mirrors.portafixe.com/archlinux/$repo/os/i686
- http://mirror.twilightlair.net/arch/$repo/os/i686
Chile
China
- http://mirrors.163.com/archlinux/$repo/os/i686
- ftp://mirror.lupaworld.com/archlinux/$repo/os/i686
- http://mirror.lupaworld.com/archlinux/$repo/os/i686
- http://mirror.bjtu.edu.cn/archlinux/$repo/os/i686
- http://mirror6.bjtu.edu.cn/archlinux/$repo/os/i686
Czech Republic
Denmark
- ftp://mirrors.dotsrc.org/archlinux/$repo/os/i686
- http://mirrors.dotsrc.org/archlinux/$repo/os/i686
- ftp://ftp.klid.dk/archlinux/$repo/os/i686
Estonia
Finland
- ftp://mirror.archlinux.fi/archlinux/$repo/os/i686
- http://mirror.archlinux.fi/archlinux/$repo/os/i686
France
- http://mir.archlinux.fr/$repo/os/i686
- http://mir1.archlinux.fr/archlinux/$repo/os/i686
- ftp://mir1.archlinux.fr/archlinux/$repo/os/i686
- ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/i686
- http://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/i686
- ftp://ftp.free.fr/mirrors/ftp.archlinux.org/$repo/os/i686
- ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/$repo/os/i686
Germany
- http://archlinux.limun.org/$repo/os/i686
- ftp://www.archlinuxppc.org/i686/$repo/os/i686
- ftp://mirror.giantix-server.de/archlinux/$repo/os/i686
- http://mirror.giantix-server.de/archlinux/$repo/os/i686
- ftp://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/i686
- http://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/i686
- ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/i686
- http://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/i686
- ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/i686
- http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/i686
- ftp://mirrors2.portafixe.com/archlinux/$repo/os/i686
- http://mirrors2.portafixe.com/archlinux/$repo/os/i686
- ftp://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/i686
- http://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/i686
- ftp://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/i686
- http://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/i686
- ftp://ftp.uni-bayreuth.de/pub/linux/archlinux/$repo/os/i686
- http://ftp.uni-bayreuth.de/linux/archlinux/$repo/os/i686
- ftp://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/i686
- http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/i686
- ftp://ftp.wh-stuttgart.net/archlinux/$repo/os/i686
Great Britain
- ftp://mirror.lividpenguin.com/pub/archlinux/$repo/os/i686
- http://mirror.lividpenguin.com/pub/archlinux/$repo/os/i686
- http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/i686
- ftp://mirrors.uk2.net/pub/archlinux/$repo/os/i686
- http://archlinux.mirrors.uk2.net/$repo/os/i686
Greece
- ftp://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/i686
- http://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/i686
- ftp://ftp.ntua.gr/pub/linux/archlinux/$repo/os/i686
- http://ftp.ntua.gr/pub/linux/archlinux/$repo/os/i686
- ftp://ftp.otenet.gr/pub/linux/archlinux/$repo/os/i686
- http://ftp.otenet.gr/linux/archlinux/$repo/os/i686
Hungary
India
- ftp://mirror.cse.iitk.ac.in/archlinux/$repo/os/i686
- http://mirror.cse.iitk.ac.in/archlinux/$repo/os/i686
Indonesia
- ftp://archlinux.cbn.net.id/pub/archlinux/$repo/os/i686
- http://archlinux.cbn.net.id/$repo/os/i686
- ftp://mirror.unej.ac.id/archlinux/$repo/os/i686
- http://mirror.unej.ac.id/archlinux/$repo/os/i686
Ireland
- ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/i686
- http://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/i686
Israel
Italy
- ftp://mi.mirror.garr.it/mirrors/archlinux/$repo/os/i686
- http://mi.mirror.garr.it/mirrors/archlinux/$repo/os/i686
Japan
- ftp://ftp.yz.yamagata-u.ac.jp/pub/linux/archlinux/$repo/os/i686
- http://ftp.yz.yamagata-u.ac.jp/pub/linux/archlinux/$repo/os/i686
Kazakhstan
Latvia
Lithuania
Netherlands
- ftp://mirror.leaseweb.com/archlinux/$repo/os/i686
- http://mirror.leaseweb.com/archlinux/$repo/os/i686
- ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/i686
- http://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/i686
- ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/i686
- http://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/i686
New Caledonia
- ftp://archlinux.nautile.nc/archlinux/$repo/os/i686
- http://archlinux.nautile.nc/archlinux/$repo/os/i686
Norway
Poland
- ftp://mirror.icis.pcz.pl/archlinux/$repo/os/i686
- ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/i686
- http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/i686
- ftp://ftp.pwsz.elblag.pl/pub/linux/distributions/archlinux/$repo/os/i686
- http://ftp.pwsz.elblag.pl/pub/linux/distributions/archlinux/$repo/os/i686
- ftp://ftp.tpnet.pl/pub/linux/archlinux/$repo/os/i686
- http://unix.net.pl/archlinux.org/$repo/os/i686
Portugal
- ftp://cesium.di.uminho.pt/pub/archlinux/$repo/os/i686
- http://cesium.di.uminho.pt/pub/archlinux/$repo/os/i686
- http://darkstar.ist.utl.pt/archlinux/$repo/os/i686
- ftp://ftp.nux.ipb.pt/pub/dists/archlinux/$repo/os/i686
- http://ftp.nux.ipb.pt/pub/dists/archlinux/$repo/os/i686
- ftp://ftp.rnl.ist.utl.pt/pub/archlinux/$repo/os/i686
- http://ftp.rnl.ist.utl.pt/pub/archlinux/$repo/os/i686
Romania
- http://mirror.archlinux.ro/archlinux/$repo/os/i686
- ftp://ftp.roedu.net/mirrors/archlinux.org/$repo/os/i686
- http://ftp.roedu.net/mirrors/archlinux.org/$repo/os/i686
Russia
- http://archlinux.freeside.ru/$repo/os/i686
- ftp://mirror.svk.su/archlinux/$repo/os/i686
- http://mirror.svk.su/archlinux/$repo/os/i686
- ftp://mirror.yandex.ru/archlinux/$repo/os/i686
- http://mirror.yandex.ru/archlinux/$repo/os/i686
Spain
- ftp://ftp.rediris.es/mirror/archlinux/$repo/os/i686
- http://sunsite.rediris.es/mirror/archlinux/$repo/os/i686
Sweden
- ftp://ftp.df.lth.se/pub/archlinux/$repo/os/i686
- http://ftp.df.lth.se/pub/archlinux/$repo/os/i686
- ftp://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/i686
- http://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/i686
- ftp://ftp.gigabit.nu/$repo/os/i686
- http://ftp.gigabit.nu/$repo/os/i686
- ftp://ftp.port80.se/archlinux/$repo/os/i686
- http://ftp.port80.se/archlinux/$repo/os/i686
Switzerland
Taiwan
- ftp://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/i686
- http://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/i686
- ftp://ftp.mirror.tw/pub/ArchLinux/$repo/os/i686
- http://ftp.mirror.tw/pub/ArchLinux/$repo/os/i686
Turkey
Ukraine
- ftp://archlinux.hell.org.ua/archlinux/$repo/os/i686
- http://archlinux.hell.org.ua/archlinux/$repo/os/i686
- ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/i686
- http://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/i686
United States
- ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/i686
- http://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/i686
- ftp://mirrors.easynews.com/linux/archlinux/$repo/os/i686
- http://mirrors.easynews.com/linux/archlinux/$repo/os/i686
- ftp://ftp.archlinux.org/$repo/os/i686
- http://mirrors.gigenet.com/archlinux/$repo/os/i686
- ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/i686
- http://www.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/i686
- ftp://mirrors.hosef.org/archlinux/$repo/os/i686
- http://mirrors.hosef.org/archlinux/$repo/os/i686
- ftp://ibiblio.org/pub/linux/distributions/archlinux/$repo/os/i686
- http://distro.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/i686
- http://archlinux.linuxfreedom.com/$repo/os/i686
- ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/i686
- http://lug.mtu.edu/archlinux/ftpfull/$repo/os/i686
- ftp://mirrors.xmission.com/archlinux/$repo/os/i686
- http://mirrors.xmission.com/archlinux/$repo/os/i686
- ftp://mirror.rit.edu/archlinux/$repo/os/i686
- http://mirror.rit.edu/archlinux/$repo/os/i686
- http://schlunix.org/archlinux/$repo/os/i686
- http://archlinux.umflint.edu/$repo/os/i686
- http://mirror.umoss.org/archlinux/$repo/os/i686
Vietnam
- ftp://202.78.230.5/archlinux/$repo/os/i686
- ftp://ftp.indochinalinux.com/archlinux/$repo/os/i686
- ftp://mirror-fpt-telecom.fpt.net/archlinux/$repo/os/i686
- http://mirror-fpt-telecom.fpt.net/archlinux/$repo/os/i686
Unofficial mirrors
These mirrors are not listed in /etc/pacman.d/mirrorlist.
Global
- http://prdownloads.sourceforge.net/archlinux/ - Doesn't have recent ISO releases. Use it only if for getting older ISOs.
Belarus
- ftp://mirror.datacenter.by/pub/archlinux/ http rsync://mirror.datacenter.by/arch/
- ftp://ftp.byfly.by/pub/archlinux/ http rsync://ftp.byfly.by/ftp/pub/archlinux/
- http://linux.solo.by/archlinux/
Bulgaria
- http://archlinux.igor.onlinedirect.bg/ - http
- ftp://archlinux.igor.onlinedirect.bg/linux/archlinux/ - http
China
- http://mirrors.lcuc.org.cn/archlinux/
- http://mirror.lupaworld.com/archlinux/
- http://public.gooth.cn/archlinux/ - Only includes i686
- http://mirrors.163.com/archlinux/
- http://mirror.bjtu.edu.cn/archlinux/
- http://mirrors.sohu.com/archlinux/
Germany
Great Britain
Malaysia
New Zealand
Norway
Poland
- ftp://ftp.icm.edu.pl/pub/Linux/sunsite/distributions/archlinux/ - http - Up-to-date, but no [core] repository
Russia
- http://hatred.homelinux.net/archlinux/ - Vladivostok, without iso, with 3SPY project repos
South Africa
- http://archlinux.mirror.ac.za/ - TENET Mirror
- ftp://archlinux.mirror.ac.za/
- http://ftp.sun.ac.za/ftp/pub/mirrors/archlinux/ - Stellenbosch University
- ftp://ftp.sun.ac.za/pub/mirrors/archlinux/
- http://ftp.leg.uct.ac.za/pub/linux/arch/ - University of Cape Town
- ftp://ftp.leg.uct.ac.za/pub/linux/arch/
Spain
- ftp://ftp.udc.es/mirror/archlinux/ - http rsync://ftp.udc.es/mirror/archlinux/
United States
- http://archlinux.linuxfreedom.com - Contains all of the ISO images
- ftp://mirrors.acm.jhu.edu/arch/ - http rsync://mirrors.acm.jhu.edu/arch/
- ftp://ftp.osuosl.org/pub/archlinux/ - http
IPv6-ready mirrors
- http://power.klette.us/mirror/ (Norway)
- http://arch.iskrembilen.com/ (Norway, rsync available)
- niue.belnet.be (Belgium)
- ftp.estpak.ee (Estonia)
- patroklos.noc.ntua.gr (Greece)
- ftp.heanet.ie (Ireland)
- ftp.nluug.nl (Netherlands)
- ftp.surfnet.nl (Netherlands)
- ftp.sixnix.net/ftp6.sixnix.net (Finland) - dead
- http://mirror6.bjtu.edu.cn/archlinux (China)
Troubleshooting
Out-of-sync mirrors: corrupted packages/file not found
Issues regarding out-of-sync mirrors pointed out in this news post may have already been sorted out for most users, but in the event that problems of this nature present themselves again, simply try to see if the packages are present in the [testing] repository.
After having synced with pacman -Sy, use this command:
# pacman -Ud $(pacman -Sup | tail -n +2 | sed -e 's,/\(core\|extra\)/,/testing/,' \
-e 's,/\(community\)/,/\1-testing/,')
Doing so could help in any occasion were packages in the mirror haven't been synced to [core/extra], and are still residing in [testing]. It is perfectly safe to install from [testing] in this case since the packages are being matched by version and release numbers.
In any event, it is best to switch mirrors and sync with pacman -Syy than resorting to an alternate repository. However, all or some of the mirrors may at times be out-of-sync to some degree.
Using all mirrors
To emulate pacman -Su's behavior of going through the entire mirror list, use this script:
#!/bin/bash
# Pacman will not exit on the first error. Comment the line below to
# try from [testing] directly.
pacman -Su "$@" && exit
while read -r pkg; do
if pacman -Ud "$pkg"; then
continue
else
while read -r mirror; do
pacman -Ud $(sed "s,.*\(/\(community-\)*testing/os/\(i686\|x86_64\)/\),$mirror\1," <<<"$pkg") &&
break
done < <(sed -ne 's,^ *Server *= *\|/$repo/os/\(i686\|x86_64\).*,,gp' \
</etc/pacman.d/mirrorlist | tail -n +2 )
fi
done < <(pacman -Sup | tail -n +2 | sed -e 's,/\(core\|extra\)/,/testing/,' \
-e 's,/\(community\)/,/\1-testing/,')