LINUX.ORG.RU
ФорумTalks

[вещества] обновление системы от соседних компьютеров

 


0

0

допустим, есть некая система, собирающая информацию о всех патчах для программ, и о всех установленных пакетах(для rpm- или deb-based дистрибутивов). к примеру, если на машине ядро .29.0, то база будет пуста, а при обновлении ядра до .29.1 система вытащит из changelog`а все критические обновления, и запишет их к себе в базу. так же с пакетами - собирать все changelog`и и записывать их.
при подключении к данной машине другой линукс-машины, эта система автоматически сверяет свою базу с базой этой системы на другой машине, и выдает юзеру список патчей для ядра(если на второй машине ядро новее), и обновленных версий пакетов(если на машинах одинаковые дистрибутивы). также можно заставить систему просканировать всю локальную сеть для поиска собратьев и спросить у них обновления.
при наличии критических патчей для ядра, система предложит юзеру обновить ядро при перезагрузке или перед выключением компьютера (т.е сама пересоберет ядро с этими патчами, добавит новые пункты в загрузчик, перезагрузит/выключит компьютер).
при наличии обновлений/патчей пакетов, система выдаст список обновлений, и юзер выберет, что ему нужно обновить, а что нет.

нужна ли такая система? реально ли ее сделать? не изобрел ли я велосипед? :)

У меня сломался бредогенератор, потому я тебя нихрена не понял. Но ты можешь сделать сервер(никогда не думал почему существуют серверы? ;) обновлений, и я него тянуть пакеты.

Ось какая?

wyldrodney
()
Ответ на: комментарий от wyldrodney

соль в том, что каждый компьютер будет "сервером обновлений", и подключенные друг к другу компьютеры смогут обновляться от соседей, без необходимости юзерам вручную создавать репозит?рии, итд

opensuse
() автор топика

Это весьма небезопасно, централизованное хранилище все же проще и более надежно, чем пакеты от дяди Васи с локалочки.

Valeg ★★★
()
Ответ на: комментарий от opensuse

* Нужно чтобы они тянули пакеты по очереди? Это задержка.

* Что делать если соседний комп упал?

* Как определять наличие обновлений? Вешать демона, который будет слушать: не пришло ли там обновление?

* Ручками забивать очерёдность машин?

Я могу понять желание тянуть с нескольких машин сразу. А-ля торрент. Тут может помочь распределённая ФС(нафига с такой "нагрузкой"?) или же сами торренты. В первом случае нужен будет контроллер(сервер, так что отпадает), во втором - можно и обойись, емнип.

wyldrodney
()
Ответ на: комментарий от Valeg

юзер может выбрать, ставить такие-то патчи или обновления, или нет. при желании, можно просмотреть текст патчей.

дядя Вася и юзер Петя живут в селе Мусохранск, дядя Вася потратил много денег на жопорез, обновив все пакеты и ведро, а юзер Петя не хочет тратить много денег на жопорез. юзер Петя берет у дяди Вити поллитру его первача, и идет к дяде Васе обновлять свою систему на ноутбуке. все довольны, все смеются (с)

opensuse
() автор топика

Это одинаковые аппаратные и программные конфигурации должны быть или где?И скаких пор в пакетных дистрибутивах "само пересобирает ядро и накладывает патчи"?

Это не велосипед , а какая-то невнятная хрень.Выражайте яснее свои мысли.

nitz ★★
()
Ответ на: комментарий от wyldrodney

> * Нужно чтобы они тянули пакеты по очереди? Это задержка.

да, тут надо думать. к примеру, первой тянет машина, у которой не установлены критические патчи

> * Что делать если соседний комп упал?

поднять, вестимо. он же соседний :)

> * Как определять наличие обновлений? Вешать демона, который будет слушать: не пришло ли там обновление?


можно и так. к примеру, повесить демона на порт 54321, и можно будет удобно сканировать локалку на наличие линуксовых машин

> * Ручками забивать очерёдность машин?

хз, надо думать.

тянуть обновления с той машины, у которой они наиболее актуальны. типа, если в локалке есть машины с ядрами .30.1, 30.2, .31rc1, то обновляться до .31rc1

opensuse
() автор топика
Ответ на: комментарий от nitz

а почему программа не сможет сама пересобрать ядро и наложить патч? думаю, это вполне реально сделать.

> Выражайте яснее свои мысли.


извиняй, 4.30 утра :)

opensuse
() автор топика
Ответ на: комментарий от opensuse

Мда... ясно: тебе нужен конфигурабельный пакетный менеджер. Давай пока отложим, и решим как оно должно уметь получать пакеты.

Какие цели? Размер сети?

wyldrodney
()
Ответ на: комментарий от Valeg

>Это весьма небезопасно, централизованное хранилище все же проще и более надежно, чем пакеты от дяди Васи с локалочки.
Ну эта проблема легко решается частичной децентрализацией.
Например, тянуть сами пакеты можно и с машинки дяди васи, но при этом для всех этих пакетов сливать md5 с оф.репы и сверять.

//Оппост не читал.

Ramen ★★★★
()
Ответ на: комментарий от wyldrodney

оно должно не только получать пакеты. к примеру, есть 2 компьютера - один с дебианом, второй с редхатом => пакеты не обновишь. но редхат может спросить у дебиана, какие есть патчи для ядра, и обновить его.

opensuse
() автор топика
Ответ на: комментарий от opensuse

Может-то она может, и написать банальный скрипт для осуществления такого действия не сложно.Только для сборки ядра на целевой машине потребуется держать кучу dev-библитек более ни для чего ненужных.Кому это надо?Юзеру Пете легче скачать готовый деб от Каноникал и не забивать систему ненужными сущностями.Вот в Генте только это беспроблемно.Но для Генты это да,велосипед-в ней и так всё есть-распределённая компиляция,локальные оверлеи и т.д.

nitz ★★
()
Ответ на: комментарий от wyldrodney

емнип 1 звезда - 100, 2 звезды - 200, 3 - 30, 4 - 400, 5 - 500

opensuse
() автор топика
Ответ на: комментарий от nitz

>Только для сборки ядра на целевой машине потребуется держать кучу dev-библитек более ни для чего ненужных.

Не кучу, не надо. Большая часть обычно уже стоит.

Насчёт патчей для ядра: рэдхатовские могут не наложиться поверх дебяьновских. Автоматизировать это нельзя. Но ты можешь либо обновляться, либо обновляться из бэкпортов, либо подписаться на дебьяновскую рассылку и руками накладывать патчи. Автоматизировать это будет очень сложно.

ТС, придумай цель) Я понимаю: утро, вроде интересная идея и не хочется чтобы она пропала. Но нужно придумать как это может помочь пользователю.

wyldrodney
()
Ответ на: комментарий от wyldrodney

>Зачем? Я и так дерьмо на вентилятор умею набрасывать.
А по-моему ты банально забрызгиваешь всё, что только можешь, жиром. Даже без помощи вентилятора.

Ramen ★★★★
()
Ответ на: комментарий от wyldrodney

бредовая идея.
отведав марочку, мне явилось светлое будущее - два ноутбука с люнипсом при соединении обмениваются обновлениями программ, в то время как два ноутбука с вендой обмениваются лишь вирусами и троянами :)

opensuse
() автор топика
Ответ на: комментарий от opensuse

Чтобы не писать свой демон, полистай документацию на Avahi. Если два одинаковых дистра, то да, можно и так. Ещё погугли установку и перенос пакетов в бубунте/Дебьяне на опеннете - что-то подобное уже было.

wyldrodney
()
Ответ на: комментарий от opensuse

> дядя Вася и юзер Петя живут в селе Мусохранск, дядя Вася потратил много денег на жопорез, обновив все пакеты и ведро, а юзер Петя не хочет тратить много денег на жопорез. юзер Петя берет у дяди Вити поллитру его первача, и идет к дяде Васе обновлять свою систему на ноутбуке. все довольны, все смеются (с)

Это ты здесь про apt-proxy рассказал?

sin_a ★★★★★
()
Ответ на: комментарий от wyldrodney

где найти гуй к авахи?

> zypper search avahi
Repository 'local' is out-of-date. You can run 'zypper refresh' as root to update it.
Loading repository data...                                                           
Reading installed packages...                                                        

S | Name                             | Summary                                   | Type      
--+----------------------------------+-------------------------------------------+-----------
i | avahi                            | D-BUS Service for Zeroconf and Bonjour    | package
  | avahi                            | D-BUS Service for Zeroconf and Bonjour    | srcpackage
  | avahi-compat-howl-devel          | howl Compatibility Package for D-BUS Se-> | package
  | avahi-compat-mDNSResponder-devel | mDNSResponder Compatibility Package for-> | package
  | avahi-debuginfo                  | Debug information for package avahi       | package
  | avahi-debugsource                | Debug sources for package avahi           | package
  | avahi-glib2                      | D-BUS Service for Zeroconf and Bonjour    | srcpackage
  | avahi-glib2-debugsource          | Debug sources for package avahi-glib2     | package
i | avahi-lang                       | Languages for package avahi               | package
i | avahi-mono                       | Mono Bindings for avahi, the D-BUS Serv-> | package
  | avahi-mono                       | Mono Bindings for avahi, the D-BUS Serv-> | srcpackage
  | avahi-qt4                        | Qt4 Bindings for avahi, the D-BUS Servi-> | srcpackage
  | avahi-qt4-debugsource            | Debug sources for package avahi-qt4       | package
i | avahi-utils                      | Command Line Utilities for D-BUS Servic-> | package
  | avahi-utils-debuginfo            | Debug information for package avahi-utils | package
i | avahi-utils-gtk                  | GTK+ Utilities for D-BUS Service for Ze-> | package
  | avahi-utils-gtk-debuginfo        | Debug information for package avahi-uti-> | package
i | libavahi-client3                 | D-BUS Service for Zeroconf and Bonjour    | package
  | libavahi-client3-debuginfo       | Debug information for package libavahi--> | package
i | libavahi-common3                 | D-BUS Service for Zeroconf and Bonjour    | package
  | libavahi-common3-debuginfo       | Debug information for package libavahi--> | package
i | libavahi-core5                   | D-BUS Service for Zeroconf and Bonjour    | package
i | libavahi-core6                   | D-BUS Service for Zeroconf and Bonjour    | package
  | libavahi-core6-debuginfo         | Debug information for package libavahi--> | package
  | libavahi-devel                   | Include Files and Libraries Mandatory f-> | package
  | libavahi-glib-devel              | Include Files and Libraries Mandatory f-> | package
i | libavahi-glib1                   | Glib Bindings for avahi, the D-BUS Serv-> | package
  | libavahi-glib1-debuginfo         | Debug information for package libavahi--> | package
  | libavahi-gobject-devel           | D-BUS Service for Zeroconf and Bonjour    | package
i | libavahi-gobject0                | D-BUS Service for Zeroconf and Bonjour    | package
  | libavahi-gobject0-debuginfo      | Debug information for package libavahi--> | package
i | libavahi-qt4-1                   | Qt4 Bindings for avahi, the D-BUS Servi-> | package
  | libavahi-qt4-1-debuginfo         | Debug information for package libavahi--> | package
  | libavahi-qt4-devel               | Include Files and Libraries Mandatory f-> | package
i | libavahi-ui0                     | D-BUS Service for Zeroconf and Bonjour    | package
  | libavahi-ui0-debuginfo           | Debug information for package libavahi--> | package
  | mono-zeroconf-provider-avahi     | A cross platform Zero Configuration Net-> | package
  | python-avahi                     | A set of Avahi utilities written in Pyt-> | package
  | python-avahi-gtk                 | A set of Avahi utilities written in Pyt-> | package
> avahi-
avahi-browse               avahi-publish-address      avahi-resolve-host-name
avahi-browse-domains       avahi-publish-service      avahi-set-host-name
avahi-discover-standalone  avahi-resolve
avahi-publish              avahi-resolve-address

полгугла изгуглил, нифига не нашел.

opensuse
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.