# Reflector (Português)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Status de tradução: Esse artigo é uma tradução de Reflector. Data da última tradução: 2020-07-03. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Artigos relacionados

- Espelhos
- Pacman

Reflector é um script que pode recuperar a lista de espelhos mais recente da página MirrorStatus, filtrar os espelhos mais atualizados, classificá-los por velocidade e substituir o arquivo `/etc/pacman.d/mirrorlist`.

## Instalação

Instale o pacote reflector.

## Uso

Atenção:

- Nos exemplos a seguir, `/etc/pacman.d/mirrorlist` vai ser sobrescrito. Faça um backup antes de proceder.
- Certifique-se de que o `/etc/pacman.d/mirrorlist` resultante não contenha entradas que você considere não confiáveis antes de sincronizar ou atualizar com pacman.

Para ver todos os comandos disponíveis, execute o seguinte comando:

    # reflector --help

### Exemplos

Classifica e ordena de forma detalhada os cinco espelhos sincronizados mais recentemente pela velocidade do download e sobrescreve o arquivo `/etc/pacman.d/mirrorlist`:

    # reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist

Seleciona os 200 espelhos HTTP ou HTTPS sincronizado mais recentemente, ordena-os pela velocidade de download e sobrescreve o arquivo `/etc/pacman.d/mirrorlist`:

    # reflector --latest 200 --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist

Seleciona os espelhos HTTPS sincronizados dentro das últimas 12 horas e localizados na França ou Alemanha, ordena-os pela velocidade de download e sobrescreve o arquivo `/etc/pacman.d/mirrorlist`:

    # reflector --country France --country Germany --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist

## Automação

### Hook do pacman

Você pode criar um hook do pacman que executará reflector e removerá o arquivo .pacnew criado toda vez que pacman-mirrorlist recebe uma atualização.

    /etc/pacman.d/hooks/mirrorupgrade.hook

    [Trigger]
    Operation = Upgrade
    Type = Package
    Target = pacman-mirrorlist

    [Action]
    Description = Updating pacman-mirrorlist with reflector and removing pacnew...
    When = PostTransaction
    Depends = reflector
    Exec = /bin/sh -c "reflector --country 'United States' --latest 200 --age 24 --sort rate --save /etc/pacman.d/mirrorlist; rm -f /etc/pacman.d/mirrorlist.pacnew"

Certifique-se de substituir nos argumentos desejados para o refletor.

### Serviço de systemd

Este é um exemplo de uma unit de serviço que espera que a rede esteja ativa e online antes de executar o refletor:

    /etc/systemd/system/reflector.service

    [Unit]
    Description=Pacman mirrorlist update
    Wants=network-online.target
    After=network-online.target nss-lookup.target

    [Service]
    Type=oneshot
    ExecStart=/usr/bin/reflector --protocol https --latest 30 --number 20 --sort rate --save /etc/pacman.d/mirrorlist

    [Install]
    WantedBy=multi-user.target

Ao iniciar `reflector.service`, a lista de espelhos será atualizada. Para atualizar a lista de espelhos sempre que o computador inicializar, habilite o serviço.

Nota: Para obter mais informações sobre a implementação da dependência de rede, consulte systemd (Português)#Executando serviços após a rede estar ativa.

### Timer de systemd

Se você deseja executar `reflector.service` semanalmente, crie um timer associado. Por exemplo:

    /etc/systemd/system/reflector.timer

    [Unit]
    Description=Run reflector weekly

    [Timer]
    OnCalendar=Mon *-*-* 7:00:00
    RandomizedDelaySec=15h
    Persistent=true

    [Install]
    WantedBy=timers.target

E basta iniciar o `reflector.timer`.

### Pacote reflector-timer

Instale reflector-timerAUR[link quebrado: package not found] para executar o reflector semanalmente.

A configuração padrão, que pode ser editada para atender necessidades específicas de cada um, é:

    /usr/share/reflector-timer/reflector.conf

    AGE=6
    COUNTRY=Germany
    LATEST=30
    NUMBER=20
    SORT=rate
    ### remova uma entrada, se você não deseja-o como um protocolo disponível
    PROTOCOL1='-p http'
    PROTOCOL2='-p https'
    PROTOCOL3='-p ftp'

Certifique-se de habilitar o `reflector.timer`.

### Tarefa do cron

Para atualizar o mirrorlist diariamente, considere o seguinte:

    /etc/cron.daily/mirrorlist

    #!/bin/bash

    # Obtém a lista por país
    /usr/bin/reflector -c "India" -p http --sort rate > /etc/pacman.d/mirrorlist

    # Trabalha com as alternativas
    /usr/bin/reflector -p http  --latest 20 -p https -p ftp --sort rate >> /etc/pacman.d/mirrorlist

## Veja também

- Tópico sobre o Reflector no fórum do Arch Linux

Category:

- Package management (Português)

Hidden category:

- Pages with broken package links