Сайт | Скачать | Видео | Wiki

Автор Тема: dist-up скрипт обновления дистрибутива  (Прочитано 6511 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33989
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Обдумываю ТЗ
1. При запуске (после установки инет соединения) проверить что у Вас последняя версия дистриба. Выдать сообщение
В какой-то модуль надо положить файл /etc/pra с инфой pra02-1408, проверить наличие http://www.puppyrus.org/~melvik/puppyrus/ftp/puppyrus/puppyrus-a/pra02/iso/1409
2. Сравнить контрольные суммы http://www.puppyrus.org/~melvik/puppyrus/ftp/puppyrus/puppyrus-a/pra02/iso/1408/089-pra-up.pfs и локального base/089-pra-up.pfs
При несовпадении - предложить загрузить, заменить и предложить перегрузиться.
Предупредить что сохраненка может перекрывать 089-pra-up.pfs

Думаю использовать wget и скрипт из pra wget-progress3. У curl не нашел аналога wget -N и как сделать wget-progress2
Принимаются пожелания, мысли и варианты реализации
« Последнее редактирование: 18 Сентябрь 2014, 13:16:22 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33989
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:dist-up скрипт обновления дистрибутива
« Ответ #2 : 03 Сентябрь 2014, 17:47:34 »
предлагаю сделать шире, скрипт должен искать обновления всех pfs имеющихся в автозагрузке системы, выкачивать, заменять и т.п.
ядро и initrd.xz обновлять комплектом т.е. если обновляется vmlinuz, то автоматически обновлется и initrd.xz
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33989
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:dist-up скрипт обновления дистрибутива
« Ответ #3 : 03 Сентябрь 2014, 18:01:13 »
Давай сначала в таком варианте откатаем. А потом...
Думал об этом. Для этого придется выкладывать iso еще и файлами (т.е. распакованными) - не проблема
Про необязательные модули - надо какой-то алгоритм их названий и нумерации выработать
Обновление ядра - надо ли? Если проблем нет - зачем менять. Есть - юзер найдет
По большому счету в пределах praXX обновляется только lf модуль

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:dist-up скрипт обновления дистрибутива
« Ответ #4 : 03 Сентябрь 2014, 20:11:52 »
Присмотритесь к rsync вместо wget.

у нас реализация обновления без ядра реализована посредством ключей параметров загрузки.
задается, что репозиторий с системой и модулями находится там-то и там-то, задается где локально они хранятся в установленной системе и задается параметром аналогично  copy2ram= маска для модулей которые необходимо синхронизировать copy2rep=.

При старте всегда осуществляется синхронизация по такой схеме. Если изменений нет, то загрузка продолжается почти без задержек (специфика алгоритмов заложенных в rsync), если есть изменения в модулях, эти изменения закачиваются в виде разницы между блоками данных (это в rsync заложено), а поскольку squashfs - блочный алгоритм, то фактически закачивается небольшая часть изменений внутри каждого модуля.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8636
  • Репутация: +187/-2
  • Старый чайник
Re:dist-up скрипт обновления дистрибутива
« Ответ #5 : 03 Сентябрь 2014, 22:30:42 »
 Что-то сомневаюсь я в необходимости автообновления. Достаточно проинформировать пользователя о наличии более новых модулей, а уж устанавливать или нет, это дело личное.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:dist-up скрипт обновления дистрибутива
« Ответ #6 : 04 Сентябрь 2014, 02:01:29 »
ну да в принципе достаточно информации о наличии нового модуля, зато все будут знать где репозитарий  и где смотреть дополнительные модули.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33989
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:dist-up скрипт обновления дистрибутива
« Ответ #7 : 04 Сентябрь 2014, 09:14:47 »
Присмотритесь к rsync вместо wget.
По замыслу дистр перевыпускается раз в месяц. Загружаемые обновления - это багфиксы. Размер - килобайты
rsync в базе PRA нет. При таких размерах надо ли заморачиваться rsync...
Я так понял у Вас обновление на стадии initrd? Впечатляет. Но это доп. усложнения. У меня создается впечатление , что porteus-initrd и так людей пугает многообразием возможностей. Надо ли еще усложнять...
В любом случае начало положено. Надо поюзать - станет понятно куда идти дальше

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:dist-up скрипт обновления дистрибутива
« Ответ #8 : 06 Сентябрь 2014, 06:14:43 »
Да. На уровне initrd.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33989
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:dist-up скрипт обновления дистрибутива
« Ответ #9 : 08 Сентябрь 2014, 09:22:12 »
В итоге, у тех кто руками скачал первый 089-pra - 2й - который сейчас на фтп лежит - загрузился?

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:dist-up скрипт обновления дистрибутива
« Ответ #10 : 08 Сентябрь 2014, 17:09:10 »
Загрузился второй, но скачалась только разница между первым и вторым.
На 1гб образе обычно это 5 часть.

Оффлайн sfs

  • Администратор
  • Ветеран
  • ****
  • Сообщений: 33989
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:dist-up скрипт обновления дистрибутива
« Ответ #11 : 08 Сентябрь 2014, 17:30:15 »
rsync я не приделывал. Если md5 совпадает - значит все ок

Оффлайн Александр Д.

  • Постоялец
  • ***
  • Сообщений: 142
  • Репутация: +16/-0
Re:dist-up скрипт обновления дистрибутива
« Ответ #12 : 16 Сентябрь 2014, 22:19:52 »
Так, это видимо проверка работы оповещения об обновлении?!

После загрузки pra02-1408fat-xfce произошла автоматическая проверка наличия обновления дистрибутива и мне было выдано сообщение: Версия дистрибутива устарела, скачайте свежую. И кнопка "ОК"
Нажал "ОК", загружается браузер и открывает страницу:
Index of /~melvik/puppyrus/ftp/puppyrus/puppyrus-a/pra02/iso/1409
    Parent Directory
    089-pra-up.pfs
    089-pra-up.pfs.md5.txt

Ну вроде бы все работает.
Правда файл в папке размером всего 4,1 Кб (md5-сумма совпадает). Я так понял, что он для проверки? Или как?

А вообще-то неплохо бы добавить кнопочку "Отложить" - это удобно когда уже в курсе об обновлении и чтобы при каждой загрузке не открывался браузер.
« Последнее редактирование: 16 Сентябрь 2014, 22:56:52 от Александр Д. »
LupuRus Bit-final - с 2012г. (xfce, nosave, grub4dos, "frugal" на HDD ext, на флешках fat32)
Wary-5.5 RU.

Оффлайн Александр Д.

  • Постоялец
  • ***
  • Сообщений: 142
  • Репутация: +16/-0
Re:dist-up скрипт обновления дистрибутива
« Ответ #13 : 17 Сентябрь 2014, 08:49:16 »
Хорошо бы сделать так, чтобы кнопка "ОК" сообщения об обновлении вела на html-страницу с информацией новичку - зачем ему это обновление (простым языком) и ссылкой, а еще лучше кнопкой "Загрузить обновление" - которая сразу скачивает нужный файл.
Технические подробности содержания обновления - версия ядра, версия WM, багфиксы или еще что-то можно убрать под кат.
Для продвинутых - сделать на странице ссылку - которая ведет на страницу скачки.
Страницу лучше разместить на сайте (ну или в папке загрузки).

В идеале, кроме кнопки "ОК" и кнопки "Отложить" (или "Напомнить позже") - надо еще иметь возможность поставить "птичку" в строке "Не проверять обновление никогда".
У человека должен быть выбор.
« Последнее редактирование: 17 Сентябрь 2014, 08:51:54 от Александр Д. »
LupuRus Bit-final - с 2012г. (xfce, nosave, grub4dos, "frugal" на HDD ext, на флешках fat32)
Wary-5.5 RU.

Оффлайн imago31

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 2835
  • Репутация: +41/-0
  • горний арол
Re:dist-up скрипт обновления дистрибутива
« Ответ #14 : 17 Сентябрь 2014, 10:22:01 »
тоже за наличие пункта отключения проверки обновлений, также сделать возможность проверки обновлений в ручную
Врач спасает человека, ветеринар - человечество
 все эксперименты на dual core 2x3.1 GHz/ram-3Gb/gt 440 1gb/WCD 80gb IDE/Samsung 80gb sata/3 флешки с зоопарком линуксов.
  Для работы и игр: Windows 10 снес, поставил 7
  Для души, для скорости и всего остального: Linux(pra, puppy, porteus, ubuntu-подобные)
 
 игровые модули
 программные модули