Автор Тема: Sisyphus-mirror (локальное зеркало)  (Прочитано 4791 раз)

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Потихоньку локальная сеть наполняется клиентскими машинами и пришло время поднять уже небольшой "центр-обновлений" в виде локального зеркала.
Основная задача:
- поднять локальное зеркало на машине с ОС Altlinux-server p8 /startkit;
- раздавать обновление внутри локальной сети клиентам с ОС AltSimplyLinux p8_x64;
Что сделано:
- Установлен starkit-server p8 c LXDE, alterator-mirror и потянувший за собой sisyphus-mirror и другие пакеты;
- каталог /var/ftp примонтировал к диску на 120GB и создал в нем каталог ALTlinux;
# ls -al /var/ftp
drwxr-xr-x 5 root root  4096 авг 18 15:11 ALTLinux
drwx------ 2 root root 16384 авг 18 13:12 lost+found

# mount
...
/dev/sdb1 on /var/ftp type ext4 (rw,nosuid,nodev,relatime,data=ordered)
...
- Конфигурационный файл sisyphus-mirror настроил следующим образом:
# cat /etc/sisyphus-mirror/sisyphus-mirror.conf | grep -v ^#
SRCROOT=rsync://rsync.altlinux.org/ALTLinux
DESTROOT=/var/ftp/ALTLinux
LIST="p8/branch/"
ARCH="noarch x86_64 x86_64-i586"
ARGS="-rltvhmH --progress --delete-delay --delete-excluded --stats"
INTERACTIVE=0
TMPDEST=.new
EXCLUDE_FILE=/etc/sisyphus-mirror/exclude
INCLUDE_FILE=/etc/sisyphus-mirror/include
RSHOME="$HOME/.sisyphus-mirror"
- Произвел запуск  в ручном режиме, так как альтератор (alterator-mirror 'Центр обновлений' или https://localhost:8080/.../mirror) по времени не отработался, решил его оставить пока в покое меня больше интересует сама утилита, а не ее оболочка;
# sisyphus-mirror -i -c /etc/sisyphus-mirror/sisyphus-mirror.conf
...
# ls -al /var/ftp/ALTLinux
 ls /var/ftp/ALTLinux -la
...
drwxr-xr-x 5 root root 4096 авг 18 15:11 .
drwxr-xr-x 4 root root 4096 авг 18 14:49 ..
drwxr-xr-x 4 root root 4096 авг 18 15:11 .new
drwxr-xr-x 3 root root 4096 авг 18 15:11 p8

# du -d 1 -h  /var/ftp/ALTLinux

4,0K    /var/ftp/ALTLinux/Sisyphus
8,0K    /var/ftp/ALTLinux/p8
1,2G    /var/ftp/ALTLinux/.new
1,2G    /var/ftp/ALTLinux

Как говориться, процесс пошел.

Вопросы:
- как публикуются обновления или что значит настройка опубликовать в альтераторе?
- если я настрою ProFtpd в сети и сделаю на чтение каталог по адресу ftp://192.168.8.67/ALTlinux/ (он же DESTROOT=/var/ftp/ALTLinux),  что и где прописать у клиентов?
- согласно моим настройкам сколько примерно может занять места на диске данный бранч без каких либо исключений  в EXCLUDE_FILE=/etc/sisyphus-mirror/exclude?
- нужны ваши советы кто уже отладил и обкатал данную технологию, желательно в примерах, чтобы пользоваться не только мне но и остальным начинающим.
Подключайтесь к диалогу и приводите свои конфигурации и рекомендации, а то как-то все обрывчато изложено по данной теме на форуме и WIKI

Небольшой мануал для настройки startkit-server p8 прикрепляю к данному сообщению.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #1 : 18.08.2017 20:59:07 »
1.  я alterator-mirror не использую, ограничиваюсь обычным rsync в cron / anacron
2. А зачем вам  sisyphus-mirror  - по названию пакета вроде зеркало для Сизифа.
3
Цитировать
- как публикуются обновления или что значит настройка опубликовать в альтераторе?
по контексту, в тот момент как вы засинхронизировали репозиторий, можно начать раздовать новую версию.
4 если я настрою ProFtpd в сети и сделаю на чтение каталог по адресу ftp://192.168.8.67/ALTlinux/ (он же DESTROOT=/var/ftp/ALTLinux),  что и где прописать у клиентов?proftp не использовал, но для примера могу привести свои строчки:
Локальные:
rpm [p8] file:/mnt/Arhiv4/Branch-p8 x86_64 classic
rpm [p8] file:/mnt/Arhiv4/Branch-p8 x86_64-i586 classic
rpm [p8] file:/mnt/Arhiv4/Branch-p8 noarch classic
Сетевые по ftp (пишу по памяти):
rpm [p8] ftp://avrora/Branch-p8 x86_64 classic
rpm [p8] ftp://avrora/Branch-p8 x86_64-i586 classic
rpm [p8] ftp://avrora/Branch-p8 noarch classic

Размер зависит от содержания.
Например src+i586+x86_64+noarch+/x86_64-i586 занимает ~ 163G из них примерно:
35G     i586
31G     noarch
57G     SRPMS
37G     x86_64
4,7G    x86_64-i586
Но в p8 ведь есть и другие архитектуры, типа arm64

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #2 : 18.08.2017 21:48:11 »
2. А зачем вам  sisyphus-mirror  - по названию пакета вроде зеркало для Сизифа.
У меня на кентавре p7 обновленного до p8 для apt - менеджера имеются такие ссылки:
# ls -R /etc/apt/sources.list.d
/etc/apt/sources.list.d:
alt.list  dcby.list  heanet.list  ipsl.list  sources.list  yandex.list

alt.list  dcby.list  heanet.list  ipsl.list  sources.list  yandex.list

# cat /etc/apt/sources.list.d/alt.list

rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p8/branch/x86_64 classic
rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p8/branch/x86_64-i586 classic
rpm [p8] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p8/branch/noarch classic
sisyphus-mirror - может закачать все пакеты по этим ссылкам, так?
Как я понимаю, параметр ARCH="noarch x86_64 x86_64-i586" отвечает за загрузку этих трех каталогов в локальное хранилище по пути DESTROOT=/var/ftp/ALTLinux. Параметр LIST="p8/branch/" синхронизирует эти каталоги отсюда http://ftp.altlinux.org/pub/distributions/ALTLinux/p8/branch/files/ через (не знаю что это)SRCROOT=rsync://rsync.altlinux.org/ALTLinux.
Я правильно предполагаю?
« Последнее редактирование: 18.08.2017 21:51:38 от rabochyITs »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #3 : 18.08.2017 21:54:58 »
В принципе да. Я повторяю, я сам не смотрел пакета alterator-mirror.

через (не знаю что это)SRCROOT=rsync://rsync.altlinux.org/ALTLinux.
$ rsync rsync://rsync.altlinux.org/ALTLinux
Welcome to ALT Linux Team public rsync archive!

drwxr-xr-x          4,096 2016/04/21 17:31:41 .
lrwxrwxrwx              9 2013/04/22 20:07:30 cert6
drwxr-xr-x             19 2003/02/14 02:02:00 2.2
drwxr-xr-x             33 2004/07/01 16:36:19 2.3
drwxr-xr-x             19 2004/11/03 12:15:06 2.4
drwxr-xr-x          4,096 2006/03/03 20:09:32 3.0
drwxr-xr-x             93 2008/09/22 23:35:50 4.0
drwxr-xr-x             64 2009/02/19 15:45:28 4.1
drwxr-xr-x             19 2008/12/23 03:04:39 5.0
drwxr-xr-x             29 2011/11/13 17:50:34 5.1
drwxrwsr-x             76 2007/05/31 12:10:24 Daedalus
dr-xr-xr-x            108 2017/08/17 21:51:12 Sisyphus
drwxr-xr-x             39 2017/08/18 02:17:22 autoimports
drwxrwsr-x             66 2008/05/12 13:57:40 backports
drwxr-xr-x             32 2016/06/22 19:18:03 c7
drwxr-xr-x             17 2008/09/22 17:55:07 old
drwxr-xr-x             29 2009/10/28 00:05:34 p5
drwxr-xr-x             29 2011/08/29 16:47:05 p6
drwxr-xr-x             32 2013/04/28 00:50:30 p7
drwxr-xr-x             32 2016/04/14 20:05:15 p8
drwxr-xr-x             19 2013/04/22 20:07:54 t6
drwxr-xr-x             19 2013/10/14 21:03:09 t7
drwxr-xr-x            113 2008/12/18 15:04:58 updates

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #4 : 18.08.2017 21:57:20 »
Цитировать
$ rsync rsync://rsync.altlinux.org/ALTLinux/p8/branch/
Welcome to ALT Linux Team public rsync archive!

dr-xr-xr-x            108 2017/08/17 23:42:07 .
drwxr-xr-x             57 2015/11/13 01:17:15 aarch64
drwxr-xr-x             57 2012/10/03 19:12:55 armh
drwxr-xr-x             36 2010/03/23 13:15:39 doc
drwxr-xr-x            126 2012/04/02 18:45:11 files
drwxr-xr-x             77 2012/06/28 02:15:33 i586
drwxr-xr-x             56 2007/12/09 17:21:02 noarch
drwxr-xr-x             36 2012/04/02 15:36:43 x86_64-i586
drwxr-xr-x             77 2012/06/28 02:15:36 x86_64

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #5 : 21.08.2017 16:02:18 »
$ rsync rsync://rsync.altlinux.org/ALTLinux
Welcome to ALT Linux Team public rsync archive!
еще вопрос: sisyphus-mirror с параметрами ARGS="-rltvhmH --progress --delete-delay --delete-excluded --stats"
Накапливает обновления в каталоге или заменяет?
Судя по названию "зеркало" должен заменять, но желаю уточнить.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #6 : 21.08.2017 17:24:04 »
man rsync
поможет вам расшифровать все опции.
Коротко - заменяет

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #7 : 21.08.2017 18:39:09 »
Накапливает обновления в каталоге или заменяет?

rsync сначала синхронизирует отсутствующее, затем создаёт симлинки, потом удалит
$ ls -l /path/Transcend2/ALTLinux/t7/branch/files/i586/RPMS/kernel-image-std-pae*| \
sed 's/\/path\/Transcend2\/ALTLinux//g'|head -n 12|awk '{$1=$2=$3=$4=$5=$7=""; print $0}'
     дек  2015 /t7/branch/files/i586/RPMS/kernel-image-std-pae-3.14.58-alt0.M70P.1.i586.rpm
     сен  2016 /t7/branch/files/i586/RPMS/kernel-image-std-pae-3.14.79-alt0.M70P.1.i586.rpm
3.14.58 ядро уже в архиве.

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #8 : 21.08.2017 21:22:44 »
man rsync
поможет вам расшифровать все опции.
Коротко - заменяет
Тогда кратко законспектирую параметры предложенные в шаблоне конфиг-файла для интерактивного использования:
ARGS="-rltvhmH --progress --delete-delay --delete-excluded --stats"
-r, --recursive
рекурсивно входить в подкаталоги
-l, --links
копировать символьные ссылки как символьные ссылки
-t, --times
сохранять время
-v, --verbose
увеличить уровень подробностей
-h, --human-readable       
   вывод цифр в читаемом виде (Кб, Мб, Гб)

-H, --hard-links
Указывает пересоздать жесткие ссылки на конечной стороне в соответствии с тем, что имеется на исходной. Без этого параметра жесткие ссылки обрабатываются как обычные файлы.
Обратите внимание, что rsync может обнаруживать жесткие ссылки, только если обе части ссылки попадают в список предназначенных к передаче файлов.
С этим параметром передача может быть довольно-таки медленной, так что пользуйтесь им только при необходимости.
--progress
Указывает выводить rsync информацию о ходе передачи. Скучающему пользователю будет на что посмотреть. Подразумевает наличие --verbose без увеличения подробностей.
--delete-excluded
также удалять те файлы, которые исключены из списка копирования
--delete-delay — отложенное удаление/найти файлы для удаления в процессе передачи, но удалить после передачи;
--stats
выдавать статистику по передаче файлов

-m, -???
кто знает, что это за параметр?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #9 : 21.08.2017 21:45:05 »
Цитировать
   -m, --prune-empty-dirs      prune empty directory chains from file-list
Обрезать "цепочки" из пустых каталогов из списка обрабатываемых файлов.
типа /a/b/c где с  - пустой каталог, а в b только с, и a с только b

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #10 : 22.08.2017 16:59:18 »
mv: невозможно перенести '/var/ftp/ALTLinux/p8/branch/' в свой собственный подкаталог, '/var/ftp/ALTLinux/p8/branch/.old'
А это что за выхлоп, кто подскажет?
В конце зеркалирования.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #11 : 22.08.2017 17:04:49 »
mv: невозможно перенести '/var/ftp/ALTLinux/p8/branch/' в свой собственный подкаталог, '/var/ftp/ALTLinux/p8/branch/.old'
А это что за выхлоп, кто подскажет?
В конце зеркалирования.

Попытка перемещения каталога в него же
$ mkdir 1
$ touch 1/0.txt
$ mv ~/1 ~/1
mv: невозможно перенести '/home/user/1' в свой собственный подкаталог, '/home/user/1/1'

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #12 : 23.08.2017 08:05:22 »
Попытка перемещения каталога в него же
Это понятно, непонятно по какому параметру скрипт отрабатывает данное действие?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #13 : 23.08.2017 09:10:17 »
Отрабатывается этот кусок скрипта (после синхронизации старый репозиторий заменяется новым и удаляется).
Цитировать
        # perform some actions after successful sync
        if [ "$OK" = 1 ]; then
                # move fresh mirror from temp dir to main place
                if [ -n "$TMPDEST" ]; then
                        if [ "$INTERACTIVE" = 1 ]; then
                                SETCOLOR_SUCCESS
                                message "Moving $mirror from temp dir to main dir."
                                SETCOLOR_NORMAL
                        fi
                        mv "$DESTROOT/$mirror" "$DESTROOT/$mirror.old"
                        mv "$DEST" "$DESTROOT/$mirror"
                        rm -rf "$DESTROOT/$mirror.old"

                fi
        else
                message "$mirror: synchronization failed."

        fi
Судя по всему у вас неправильно назначена переменная $mirror.old

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: Sisyphus-mirror (локальное зеркало)
« Ответ #14 : 23.08.2017 10:25:50 »
Судя по всему у вас неправильно назначена переменная $mirror.old
Где ее назначить?
У меня по этому пути ftp://192.168.8.67/ALTLinux/p8/branch/files/ находится зеркало
Каталог FTP /ALTLinux/p8/branch/files/ на 192.168.8.67
Чтобы просмотреть этот FTP-сайт в проводнике, нажмите клавишу ALT, щелкните Вид, а затем выберите команду Открыть FTP-сайт в проводнике.
На один уровень вверх
04/02/2012 12:00      Каталог .
08/23/2017 06:18      Каталог ..
08/21/2017 04:46      Каталог list
02/22/2005 12:00      Каталог noarch
08/22/2017 12:00             11 .timestamp
08/22/2017 12:00             11 .timestamp.uaylph
02/22/2005 12:00      Каталог x86_64
04/01/2012 12:00      Каталог x86_64-i586

И какой путь указать у клиента?
Пробовал разные, вот:
# cat /etc/apt/sources.list.d/alt.list | grep "ftp:"

rpm [p8] ftp://192.168.8.67/ALTLinux p8/branch/x86_64 classic
rpm [p8] ftp://192.168.8.67/ALTLinux p8/branch/x86_64-i586 classic
rpm [p8] ftp://192.168.8.67/ALTLinux p8/branch/noarch classic

Ответ на apt-get update:
apt-get update
Получено: 1 ftp://192.168.8.67 p8/branch/x86_64 release
Ошибка ftp://192.168.8.67 p8/branch/x86_64 release
  Unable to fetch file, server said '/ALTLinux/p8/branch/x86_64/base/release: No such file or directory  '
Получено: 2 ftp://192.168.8.67 p8/branch/x86_64-i586 release
Ошибка ftp://192.168.8.67 p8/branch/x86_64-i586 release
  Unable to fetch file, server said '/ALTLinux/p8/branch/x86_64-i586/base/release: No such file or directory  '
Получено: 3 ftp://192.168.8.67 p8/branch/noarch release
Ошибка ftp://192.168.8.67 p8/branch/noarch release
  Unable to fetch file, server said '/ALTLinux/p8/branch/noarch/base/release: No such file or directory  '
Невозможно получить ftp://192.168.8.67/ALTLinux/p8/branch/x86_64/base/release  Unable to fetch file, server said '/ALTLinux/p8/branch/x86_64/base/release: No such file or directory  '
Невозможно получить ftp://192.168.8.67/ALTLinux/p8/branch/x86_64-i586/base/release  Unable to fetch file, server said '/ALTLinux/p8/branch/x86_64-i586/base/release: No such file or directory  '
Невозможно получить ftp://192.168.8.67/ALTLinux/p8/branch/noarch/base/release  Unable to fetch file, server said '/ALTLinux/p8/branch/noarch/base/release: No such file or directory  '
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
W: Невозможно получить или проверить файлы описания некоторых репозиториев. Эти репозитории будут игнорироваться.
W: Возможно, Вам потребуется запустить `apt-get update' для исправления.
E: Некоторые индексные файлы не удалось скачать, они либо были проигнорированы, либо вместо них были использованы старые версии.
Нет у меня этого пути /base/release, а только RPMS. Что-то не докачал.
Если возможно приведите пример консольной команды rsync как это исправить?