Reflector (Решено - Pacman Hook from reflector)

Модератор: Модераторы разделов

Institut
Сообщения: 281
ОС: mint

Reflector

Сообщение Institut »

Добрый день.
Настроил службу reflector по инструкции.
Также создал reflector.timer
Насколько я понял, reflector.service и reflector.timer поддерживают mirrorlist в актуальном состоянии.
Вопрос - тогда зачем нужно создавать pacman hook?
Спасибо сказали:

Аватара пользователя
Kido
Сообщения: 949
Статус: Космический Засланец
ОС: ArchLinux x86_64 Current

Re: Reflector

Сообщение Kido »

Пакет pacman-mirrorlist при обновлении может затереть сгенирированный reflector'ом mirrorlist
Хук нужен чтобы не ждать пока снова сработает таймер.
Спасибо сказали:

Institut
Сообщения: 281
ОС: mint

Re: Reflector

Сообщение Institut »

Пакет pacman-mirrorlist при обновлении может затереть сгенирированный reflector'ом mirrorlist
Хук нужен чтобы не ждать пока снова сработает таймер.

Вот это и непонятно, при обновлении дистрибутива (pacman -Syu) не используется pacman-mirrors.
Те если не использовать pacman-mirrors, то получается, что хук не нужен?
Спасибо сказали:

Аватара пользователя
RusWolf
Сообщения: 436
ОС: Arch Linux x64 на BTRFS

Re: Reflector

Сообщение RusWolf »

Institut писал(а):
26.10.2017 10:37
Вопрос - тогда зачем нужно создавать pacman hook?

В инструкции же написано :)
Для запуска самого reflector и удаления копии файлов, с расширением .pacnew создаваемый каждый раз, когда pacman-mirrorlist получает обновление.
Спасибо сказали:

Institut
Сообщения: 281
ОС: mint

Re: Reflector

Сообщение Institut »

Я не имею большого опыта в Arch. (И у запустить reflector.service мне удалось далеко не сразу.)
Я так понимаю, при обновлении пакета pacman-mirrors он не удаляет mirrorlist.
Так как для удаления mirrorlist нужно запустить pacman-mirrors с отдельными аргументами.

Код: Выделить всё

systemctl status reflector
● reflector.service - Pacman mirrorlist update
   Loaded: loaded (/etc/systemd/system/reflector.service; enabled; vendor preset
   Active: inactive (dead)
cat /etc/pacman.d/mirrorlist
Server = https://archlinux.dynamict.se/$repo/os/$arch
Server = https://mirror.neuf.no/archlinux/$repo/os/$arch
...

pacman -S --noconfirm pacman-mirrorlist
cat /etc/pacman.d/mirrorlist
Server = https://archlinux.dynamict.se/$repo/os/$arch
Server = https://mirror.neuf.no/archlinux/$repo/os/$arch
...
Спасибо сказали:

Аватара пользователя
RusWolf
Сообщения: 436
ОС: Arch Linux x64 на BTRFS

Re: Reflector

Сообщение RusWolf »

Institut писал(а):
27.10.2017 10:47
Я так понимаю, при обновлении пакета pacman-mirrors он не удаляет mirrorlist.

Нет, не удаляет, просто создаёт новый файл mirrorlist.pacnew.
Спасибо сказали:

Institut
Сообщения: 281
ОС: mint

Re: Reflector

Сообщение Institut »

Вот сегодня

Код: Выделить всё

date +%D && pacman -Qu
10/27/17
glib-networking 2.54.0-1 -> 2.54.1-1
pacman-mirrorlist 20171017-1 -> 20171027-1
pygobject-devel 3.26.0-1 -> 3.26.1-1
python-gobject 3.26.0-1 -> 3.26.1-1

cat /etc/pacman.d/mirrorlist
Server = https://archlinux.dynamict.se/$repo/os/$arch
Server = https://mirror.neuf.no/archlinux/$repo/os/$arch
...

pacman -Syu --noconfirm
cat /etc/pacman.d/mirrorlist
Server = https://archlinux.dynamict.se/$repo/os/$arch
Server = https://mirror.neuf.no/archlinux/$repo/os/$arch
...

Нет, не удаляет, просто создаёт новый файл mirrorlist.pacnew

Вот и не понятно, зачем удалять mirrorlist.pacnew, если mirrorlist не меняется?
Спасибо сказали:

Аватара пользователя
RusWolf
Сообщения: 436
ОС: Arch Linux x64 на BTRFS

Re: Reflector

Сообщение RusWolf »

Institut писал(а):
27.10.2017 11:52
Вот и не понятно, зачем удалять mirrorlist.pacnew, если mirrorlist не меняется?

Что тут не понятного? :)
После обновления pacman-mirrorlist, каждый месяц в конце месяца, хук, автоматически запустит reflector, который обновит и отсортирует mirrorlist и заодно удалит файл mirrorlist.pacnew.
Спасибо сказали:

Institut
Сообщения: 281
ОС: mint

Re: Reflector

Сообщение Institut »

mirrorlist при запущенных службе и таймеру reflector.service и reflector.timer обновится (или останется скорее всего без изменений)
при перезагрузке системы или раз в неделю. Вои поэтому, не совсем понятно назначение pacman hook from reflector.
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8255
Статус: Маньяк
ОС: Arch, CentOS, Ubuntu

Re: Reflector

Сообщение serzh-z »

Institut писал(а):
27.10.2017 16:09
Вои поэтому, не совсем понятно назначение pacman hook from reflector.
Чистка неактуального mirrorlist.pacnew, если он есть.
Спасибо сказали:

Аватара пользователя
Kido
Сообщения: 949
Статус: Космический Засланец
ОС: ArchLinux x86_64 Current

Re: Reflector

Сообщение Kido »

Можно копнуть глубже.
mirrorlist.pacnew при обновлении пакета pacman-mirrorlist создается потому что в PKGBUILD сейчас есть строка "backup=(etc/pacman.d/mirrorlist)".
Мейнтейнер пакета pacman-mirrorlist может посчитать нужным при новом обновлении этот файл не бекапить, а заменить. Это может быть например связано с изменением синтаксиса, или просто ошибкой мейнтейнера.
Хук пакмана здесь расставляет приоритет - работа рефлектора является более приоритетной, чем пакет pacman-mirrorlist и его содержимое. Даже если при обновлении пакет заменит нам mirrorlist, хук вернет обратно то что считает нужным рефлектор. Вернет сразу, не дожидаясь отработки таймера.
Спасибо сказали: