GNU/Linux >> Znalost Linux >  >> Arch Linux

Získejte nejnovější seznam zrcadel pomocí reflektoru v Arch Linuxu

Udržování aktuálního seznamu zrcadel ve vašem Arch Linuxu přináší některé významné výhody. Pokud používáte aktualizovaný mirrorlist, můžete se snadno vyhnout pomalé rychlosti stahování a chybovým zprávám s vypršením časového limitu při instalaci a aktualizaci balíčků. Tento tutoriál vysvětluje, co je Reflektor a jak získat nejnovější seznam zrcadel v Arch Linuxu pomocí Reflector.

Co je reflektor?

Reflektor je jednoduchý modul a skript Pythonu 3, který kontroluje a načítá nejaktuálnější mirrorlist seřazený podle rychlosti z Stav zrcadlení stránku a uloží je do /etc/pacman.d/mirrorlist soubor ve vašem systému Arch Linux.

Obecně /etc/pacman.d/mirrorlist soubor bude obsahovat jeden zrcadlový server pro každou zemi. V každé zemi by však mělo být více než jen jeden server, ale soubor se seznamem zrcadlení bude mít obvykle pouze jeden.

Jak tedy přidáte nebo načtete nejnovější a aktuální seznam zrcadel dle vašeho výběru v Arch Linuxu? Zde je Reflektor přichází na pomoc.

Reflector načte a vyfiltruje seznam nejnovějších a nejrychlejších zrcadel Arch Linuxu na základě rychlosti, země a stáří (poslední synchronizace serveru).

Reflector je bezplatný a open source skript Python, který funguje dobře na Arch Linuxu a jeho derivátech, jako je EndeavourOS a Manjaro Linux.

1. Nainstalujte Reflector v Arch Linux, EndeavourOS, Manjaro

Chcete-li nainstalovat Reflector v Arch Linuxu a jeho variantách, jako je EndeavourOS a Manjaro, spusťte z terminálu následující příkaz:

$ sudo pacman -S reflector rsync curl

Výše uvedený příkaz nainstaluje Reflector spolu s jeho závislostmi balíčků rsync a curl.

2. Získejte nejnovější seznam zrcadel pomocí Reflector v Arch Linux

2.1. Zálohujte aktuální seznam zrcadel

Před spuštěním Reflectoru musíte zálohovat výchozí soubor se seznamem zrcadel. Protože Reflector jej přepíše a nahradí stávající seznam zrcadel novým.

Chcete-li zálohovat aktuální seznam zrcadel, spusťte:

$ sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak

2.2. Získejte nejnovější zrcadla N a seřaďte je podle rychlosti stahování

Dovolte nám načíst 20 nejnovějších zrcadel a seřadit seznam zrcadel podle jejich rychlosti stahování a uložit je do /etc/pacman.d/mirrorlist soubor pomocí příkazu:

$ sudo reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist

Upozorňujeme, že tím nahradíte stávající zrcátka novými zrcátky.

Pojďme rozebrat výše uvedený příkaz a uvidíme, co jednotlivé možnosti dělají.

  • --latest 20 - načíst naposledy synchronizované servery
  • --protocol https - načíst https povolená zrcadla
  • --sort rate - seřadit seznam zrcadel podle rychlosti stahování
  • --save /etc/pacman.d/mirrorlist -

Můžete to ověřit uvedením obsahu /etc/pacman.d/mirrorlist soubor.

$ cat /etc/pacman.d/mirrorlist

Ukázkový výstup:

 #####################################################################
 ########### Arch Linux mirrorlist generated by Reflector  ###########
 #####################################################################
 With:       reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
 When:       2021-06-10 09:51:51 UTC
 From:       https://www.archlinux.org/mirrors/status/json/
 Retrieved:  2021-06-10 09:49:34 UTC
 Last Check: 2021-06-10 09:15:02 UTC
 Server = https://mirror.osbeck.com/archlinux/$repo/os/$arch
 Server = https://asia.mirror.pkgbuild.com/$repo/os/$arch
 Server = https://archlinux.thaller.ws/$repo/os/$arch
 Server = https://arch.mirror.constant.com/$repo/os/$arch
 Server = https://mirror.f4st.host/archlinux/$repo/os/$arch
 Server = https://phinau.de/arch/$repo/os/$arch
 Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch
 Server = https://mirror.pseudoform.org/$repo/os/$arch
 Server = https://arch.mirror.square-r00t.net/$repo/os/$arch
 Server = https://mirror.pkgbuild.com/$repo/os/$arch
 Server = https://archlinux.uk.mirror.allworldit.com/archlinux/$repo/os/$arch
 Server = https://archlinux.za.mirror.allworldit.com/archlinux/$repo/os/$arch
 Server = https://mirror.telepoint.bg/archlinux/$repo/os/$arch
 Server = https://mirror.lty.me/archlinux/$repo/os/$arch
 Server = https://mirror.chaoticum.net/arch/$repo/os/$arch
 Server = https://mirror.efect.ro/archlinux/$repo/os/$arch
 Server = https://archmirror.it/repos/$repo/os/$arch
 Server = https://archlinux.mailtunnel.eu/$repo/os/$arch
 Server = https://archlinux.qontinuum.space:4443/$repo/os/$arch
 Server = https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch

Nyní můžete instalovat, aktualizovat a upgradovat balíčky z nejnovějších zrcadel.

$ sudo pacman -Syu
$ sudo pacman -S <package_name>

2.3. Získejte nejnovější zrcátka N a seřaďte je podle věku

Chcete-li načíst nejlepší zrcadla a seřadit je podle jejich stáří, tj. poslední synchronizace serveru, spusťte:

$ sudo reflector --latest 20 --protocol https --sort age --save /etc/pacman.d/mirrorlist

2.4. Načíst seznam zrcadel pro konkrétní zemi

Zrcátka můžete také omezit na vybrané země. Pokud například žijete v Indii, možná budete chtít aktualizovat mirrorlist servery pouze z Indie.

Chcete-li zobrazit seznam všech dostupných zrcadel Arch Linuxu po celém světě, spusťte:

$ reflector --list-countries

Ukázkový výstup:

Country                Code Count
---------------------- ---- -----
Australia                AU    19
Austria                  AT     6
Bangladesh               BD     1
Belarus                  BY     4
Belgium                  BE     3
Bosnia and Herzegovina   BA     2
Brazil                   BR    11
Bulgaria                 BG    11
Canada                   CA    20
Chile                    CL     8
[...]

Jak vidíte na výše uvedeném výstupu, reflektor uvádí seznam dostupných zrcadel na světě spolu s kódem země a počtem zrcadel v každé zemi.

V době psaní této příručky se nejvíce zrcadel Arch Linuxu nachází v USA (134 zrcadel), Německo (114) a Nizozemsko (51).

Chcete-li načíst zrcadlo z konkrétní země, můžete použít název země nebo kód země nebo kombinaci obojího.

Následující příkaz načte 5 nejlepších zrcadel z Indie , seřaďte je podle rychlosti stahování a uložte je do souboru mirrorlist.

$ sudo reflector --verbose --country 'India' -l 5 --sort rate --save /etc/pacman.d/mirrorlist

Následuje stručný souhrn toho, co tyto příznaky ve výše uvedeném příkazu udělají.

  • --verbose - vytiskne více informací než normálně.
  • --country India - moje preferované umístění zrcadla.
  • --l 5 - získá pět nejlepších zrcadel Indie.
  • --sort rate - seřadí podle rychlosti stahování.
  • --save - uložte stažený seznam zrcadel do /etc/pacman-d/mirrorlist .

Ověřte aktualizovaný seznam zrcadel pomocí příkazu:

$ cat /etc/pacman.d/mirrorlist

Ukázkový výstup:

################################################################################
################# Arch Linux mirrorlist generated by Reflector #########################
################################################################################

# With:       reflector --verbose --country India -l 5 --sort rate --save /etc/pacman.d/mirrorlist
# When:       2021-06-10 10:27:06 UTC
# From:       https://www.archlinux.org/mirrors/status/json/
# Retrieved:  2021-06-10 10:26:49 UTC
# Last Check: 2021-06-10 09:15:02 UTC

Server = http://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch
Server = https://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch
Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch

Bohužel jsou v Indii k dispozici pouze tři zrcadla Arch Linuxu.

2.5. Načíst seznam zrcadel z více zemí

Můžete také zadat více zemí oddělenými čárkami, jak je uvedeno níže.

$ sudo reflector --country 'United States,India' -l 10 --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist 

Tento příkaz vybere nejlepších 10 zrcadel HTTPS synchronizované během posledních 12 hodin a nachází se buď ve Spojených státech nebo Indie , seřaďte je podle rychlosti stahování a přepište soubor /etc/pacman.d/mirrorlist soubor.

2.6. Načtení seznamu zrcadel seřazených podle zemí

Chcete-li získat seznam všech zemí seřazený, spusťte následující příkaz:

$ sudo curl -o /etc/pacman.d/mirrorlist https://archlinux.org/mirrorlist/all/

Po načtení zrcadel seřazených podle zemí upravte svůj /etc/pacman.d/mirrorlist soubor:

$ sudo nano /etc/pacman.d/mirrorlist

Chcete-li ji aktivovat, odkomentujte zrcadlenou adresu URL dle vašeho výběru.

Například jsem povolil zrcadla z Indie. Odstranil jsem tedy symbol (#) před každou adresou URL.

[...]
India
Server = http://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch
Server = http://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch
Server = https://mirrors.piconets.webwerks.in/archlinux-mirror/$repo/os/$arch
[...]

Uložte a zavřete soubor. Aktualizujte seznamy úložišť pomocí příkazu:

$ sudo pacman -Syu

2.7. Vyberte nejrychlejší zrcadla

Reflector dokáže získat nejrychlejší zrcadlo pro váš Arch Linux.

Následující příkaz načte 5 nejrychlejších 10 zrcadel HTTPS se sídlem ve Spojených státech , seřadí je podle rychlosti stahování a přepíše soubor /etc/pacman.d/mirrorlist soubor.

$ sudo reflector -f 5 --country 'United States' --protocol https --sort rate --save /etc/pacman.d/mirrorlist 

2.8. Zadejte protokol

Můžete vybrat aktuální zrcadla, která podporují konkrétní typ protokolu, například https , http , ftp atd.

Tento příkaz například vybere 5 nejaktuálnější zrcadla ze Spojených států které podporují HTTP a přepsat /etc/pacman.d/mirrorlist soubor:

$ sudo reflector --latest 5 --protocol http --country 'United States' --save /etc/pacman.d/mirrorlist

Další podporované možnosti jsou --isos který vrátí pouze zrcadla, která hostují ISO, --ipv4 to vrátí pouze zrcadla, která podporují IPv4, a --ipv6 vrací pouze zrcadla, která podporují IPv6.

3. Aktualizujte seznam zrcadel Arch Linuxu automaticky při spouštění

Reflektor obsahuje systemd servisní a časové jednotky, které lze použít k automatické aktualizaci zrcadlového seznamu Pacmana.

3.1. Povolit a spustit službu reflektoru systemd

Od verze 2020.8 se Reflector dodává s reflector.service . Chcete-li automaticky aktualizovat seznam zrcadel Arch Linuxu při každém restartu, jednoduše povolte a spusťte tuto službu pomocí příkazů:

$ sudo systemctl enable reflector.service
$ sudo systemctl start reflector.service

Služba reflector.service spustí reflektor s parametry zadanými v /etc/xdg/reflector/reflector.conf soubor.

Výchozí nastavení po většinu času stačí. Zde je obsah reflector.conf soubor:

$ cat /etc/xdg/reflector/reflector.conf

Ukázkový výstup:

#
# Empty lines and lines beginning with "#" are ignored.  All other lines should
# contain valid reflector command-line arguments. The lines are parsed with
# Python's shlex modules so standard shell syntax should work. All arguments are
# collected into a single argument list.
#
# See "reflector --help" for details.

# Recommended Options

# Set the output path where the mirrorlist will be saved (--save).
--save /etc/pacman.d/mirrorlist

# Select the transfer protocol (--protocol).
--protocol https

# Select the country (--country).
# Consult the list of available countries with "reflector --list-countries" and
# select the countries nearest to you or the ones that you trust. For example:
# --country France,Germany

# Use only the  most recently synchronized mirrors (--latest).
--latest 5

# Sort the mirrors by synchronization time (--sort).
--sort age

Tento soubor můžete také upravit a změnit parametry podle svých požadavků. Tento soubor přijímá všechny argumenty příkazového řádku reflektoru.

Argumenty můžete seskupit na jeden řádek nebo rozdělit na mnoho řádků s volitelnými prázdnými řádky a řádky komentářů začínajícími # .

3.2. Povolit a spustit časovač reflektoru systemd

Reflector dodává další systémovou jednotku s názvem reflector.timer , který spustí reflector.service týdně.

Chcete-li jej povolit a spouštět automaticky při spouštění systému, spusťte jeden po druhém následující příkazy:

$ sudo systemctl enable reflector.timer
$ sudo systemctl start reflector.timer

Ve výchozím nastavení se spustí reflector.service jednou za týden. Pokud nechcete čekat na naplánovaný čas, můžete spustit službu reflector.service a okamžitě aktualizovat seznam zrcadel pacmana:

$ sudo systemctl start reflector.service

Závěr

V této příručce jsme se naučili, co je Reflector, jak získat aktuální seznam zrcadel Pacman pro váš systém Arch Linux pomocí skriptu Reflector a konečně, jak automaticky aktualizovat seznam zrcadel Arch Linuxu.


Arch Linux
  1. Připojte se k serveru pomocí SSH v systému Linux nebo Mac OS X

  2. VPN server na Arch Linuxu

  3. Je Arch Linux vhodný pro serverové prostředí?

  1. Jak nastavit SFTP server na Arch Linuxu

  2. Jak zobrazit seznam otevřených portů na serveru Linux/Unix

  3. Proveďte https požadavek pomocí socketů na linuxu

  1. Jak synchronizovat čas na serveru Linux pomocí Chrony

  2. Jak vytvořit server CS:GO na Linux VPS

  3. Jak nainstalovat a nakonfigurovat Arch Linux jako server