Как я могу использовать конкретный зеркальный сервер в Fedora?

Вопрос или проблема

Я использую Fedora 23 и хочу изменить настройки по умолчанию в dnf, чтобы использовать конкретное зеркало сервера отсюда: здесь.

Существует несколько вариантов, вы можете жестко закодировать это (/etc/yum.repos.d/fedora.repo) или использовать fastmirror.

Для использования fastmirror вы сначала должны активировать его:

в /etc/dnf/dnf.conf добавьте fastestmirror=true, затем с помощью этой команды dnf config-manager --add-repo добавьте зеркало, которое вы хотите использовать, вы можете добавить несколько зеркал, и будет использовано самое быстрое.

Пример:

sudo dnf config-manager --add-repo http://ftp.byfly.by/pub/fedoraproject.org/linux/releases/23/Everything/x86_64/os/

Вы должны использовать путь /linux/releases/23/Everything/x86_64/os/ для релизов Fedora 23 и для обновлений Fedora 23 /linux/updates/23/x86_64/, иначе это не сработает.

Мне надоело, как dnf взаимодействует с моим файрволом, и я написал этот скрипт для изменения файлов. Вам, возможно, нужно будет добавить или убрать раздел в зависимости от ваших настроек.

Скрипт сначала создает резервную копию конфигурации репозитория, и вы, вероятно, захотите сделать свою собственную. Скрипт может установить новое зеркало с командной строки или добавить его в сам скрипт, если оно будет редко изменяться. Я назвал его set_fedora_mirrors.sh:

#!/usr/bin/bash -eux

# Ищем префикс /pub, многие его не имеют. Сохраняйте завершающий слеш!
DEFAULT_REPO=https://mirror.foo.net/
LOCAL_REPO=${1:-$DEFAULT_REPO}


# создаем резервные копии, идемпотентность:
BASE_DIR=/etc/yum.repos.d
sudo mkdir --parents $BASE_DIR/bak
sudo cp \
    --preserve=mode,ownership,timestamps \
    --no-clobber \
    "$BASE_DIR"/*.repo \
    "$BASE_DIR"/bak/ \
    || true  # если уже есть, это не ошибка
echo


# устанавливаем конкретное локальное зеркало
FILES=("$BASE_DIR"/fedora*.repo)
sudo \
    sed --in-place \
        -e 's ^metalink= #metalink= ' \
        -e "s ^#baseurl=http://download.example/pub/ baseurl=$LOCAL_REPO " \
        "${FILES[@]}"
echo


# не изменяем хост, но привязываемся к текущему
FILES=("$BASE_DIR"/rpmfusion*.repo)
sudo \
    sed --in-place \
        -e 's ^metalink= #metalink= ' \
        -e "s ^#baseurl= baseurl= " \
        "${FILES[@]}"

Чтобы изменить зеркало Fedora и некоторые настройки для достижения максимальной скорости, сделайте это

Отредактируйте файл конфигурации dnf

sudo nano /etc/dnf/dnf.conf

Добавьте следующие строки:

deltarpm=false
keepcache=true
ip_resolve=4

Это зависит от ваших предпочтений, нравится ли вам DeltaRPM или нет (true или false). Посмотрите в Google, чтобы узнать, что именно он делает.

В директории /etc/yum.repos.d/ находятся файлы, которые требуют небольшого редактирования. Главный файл – fedora-updates.repo

Добавьте country=us (используйте свой собственный код страны) в конец всех строк “metalink” для файлов репозитория Fedora в /etc/yum.repos.d/

Лучше использовать de, nl или любую европейскую страну с мощными, быстрыми серверами. Важна пропускная способность, а не задержка.

Ответ или решение

Как использовать конкретный сервер-зеркало в Fedora

Если вы используете Fedora 23 и хотите изменить настройки DNF (Dandified YUM) для использования конкретного сервера-зеркала, следуйте указанным ниже шагам.

1. Использование конфигурации DNF

Fedora использует dnf для управления пакетами, и вы можете легко настроить его для работы с конкретным зеркалом. Это можно сделать несколькими способами:

Изменение конфигурации репозиториев

  1. Резервное копирование файлов конфигурации:
    Перед внесением изменений рекомендуется сделать резервную копию существующих файлов. Вы можете выполнить следующие команды:

    sudo mkdir -p /etc/yum.repos.d/bak
    sudo cp --preserve=mode,ownership,timestamps /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/
  2. Редактирование файла fedora.repo:
    Откройте файл конфигурации репозитория для редактирования:

    sudo nano /etc/yum.repos.d/fedora.repo

    Найдите строки с metalink= и закомментируйте их, добавив символ # перед metalink. Затем добавьте baseurl= с URL вашего желаемого зеркала. Пример:

    #metalink=http://mirrors.fedoraproject.org/metalink?repo=fedora-23&arch=$basearch
    baseurl=http://ftp.byfly.by/pub/fedoraproject.org/linux/releases/23/Everything/x86_64/os/

    Для обновлений используйте аналогичный подход для fedora-updates.repo.

  3. Настройка конфигурации DNF:
    Для увеличения производительности и повышения скорости работы с пакетами, добавьте или измените следующие параметры в файле /etc/dnf/dnf.conf:

    deltarpm=false
    keepcache=true
    ip_resolve=4

2. Использование fastmirror

Для использования fastmirror сначала необходимо активировать его:

  1. Активируйте fastmirror:
    Добавьте следующую строку в файл dnf.conf:

    fastestmirror=true
  2. Добавьте нужное зеркало:
    Используйте команду dnf config-manager для добавления выбранного зеркала:

    sudo dnf config-manager --add-repo http://ftp.byfly.by/pub/fedoraproject.org/linux/releases/23/Everything/x86_64/os/

    Для обновлений используйте путь /linux/updates/23/x86_64/.

3. Скрипт для автоматизации

Если вы хотите автоматизировать процесс изменения зеркал, можете использовать следующий Bash-скрипт:

#!/usr/bin/bash -eux

DEFAULT_REPO=https://mirror.foo.net/
LOCAL_REPO=${1:-$DEFAULT_REPO}

BASE_DIR=/etc/yum.repos.d
sudo mkdir --parents $BASE_DIR/bak
sudo cp --preserve=mode,ownership,timestamps --no-clobber "$BASE_DIR"/*.repo "$BASE_DIR"/bak/

FILES=("$BASE_DIR"/fedora*.repo)
sudo sed --in-place -e 's ^metalink= #metalink= ' -e "s ^#baseurl=http://download.example/pub/ baseurl=$LOCAL_REPO " "${FILES[@]}"

FILES=("$BASE_DIR"/rpmfusion*.repo)
sudo sed --in-place -e 's ^metalink= #metalink= ' -e "s ^#baseurl= baseurl= " "${FILES[@]}"

Вывод

Настройка конкретного зеркала в Fedora 23 — это простой процесс, который может значительно улучшить скорость и стабильность соединения с репозиторией. Следуя вышеуказанным шагам, вы сможете изменить настройки DNF, настроить использование fastmirror и автоматизировать процесс с помощью собственного скрипта. Понимание того, как правильно управлять зеркалами, поможет обеспечить бесперебойное обновление вашего программного обеспечения и снизить время загрузки.

Оцените материал
Добавить комментарий

Капча загружается...