Здравейте всички,
Един от проектите, по които работя в свободното си време е ULTILEX (
http://ultilex.linux-bg.org) и обмислям два варианта за автоматично обновяване на системата.
1) Офлайн - потребителите теглят една или повече от вградените дистрибуции, които искат да ъпдейтнат. Пуска се скрипт, който извършва самата дейност по ъпдейта.
2) Онлайн - потребителят стартира скрипт от вече изтегленото ISO и този скрипт се занимава с това да изтегли зависимостите (дистрибуциите, които имат нужда от обновяване, допълнителни скриптова за ъпдейт, конфигурационни файлове и т.н.). Оттам нататък скриптът има грижата да "подмени" файловите структури.
Причинаат да обмислям тези варианти е защото ULTILEX включва в себе си дистрибуции, които се release-ват сравнително често и не е ефективно да пускам нова версия на ULTILEX при всяко обновяване на някоя от вградените дистрибуции. Освен това често получавам запитвания дали съществува лесен и прост начин потребителите сами да правят ъпдейти на включените в компилацията дистрибуции.
Затова искам в следващия release на ULTILEX да включа и скрипт, който да ъпдейтва включените дистрибуции като план максимум е следния (обновяване в онлайн режим):
1) Потребителят стартира скрипта.
2) Скриптът казва на потребителя кои от включените дистрибуции имат нови версии.
3) Потребителят избира кои от всички дистрибуции иска да обнови (по default са всички налични обновления).
4) Скриптът тегли ISO-тата на съответните дистрибуции.
5) Скриптът разпакетира текущо ползваното ISO на ULTILEX и извършва необходимите промени по файловата структура, ъпдейтва стартовото меню, подменя графичните изображения и т.н.
6) Скриптът пакетира наново обновената файлова структура и генерира ISO с последните ъпдейти на дистрибуциите. В случай, че инсталацията се прави от USB се стартира и скриптът за обновяване на boot сектора на USB устройството (ако е необходимообмовяване).
Друг примерен вариант, който е от тип service:
1) Потребителят тегли backbone версия на ULTILEX, която не съдържа нищо, само скриптът, който извършва обновяването.
2) Потребителят стартира скрипта и сам решава кои от възможните дистрибуции да включи в неговата лична версия на ULTILEX.
3) Изпълнението продължава така, както е описано в т.4 от горната последователност.
Тъй като това е проект, с който се занимавам в свободното си време, не разполагам с достатъчно свободно време, за да реализирам подобен скрипт в кратки срокове, затова пускам следната
О Б Я В А
Търси се млад и ентусиазиран студент, който да има желание да навлезе в света на
Linux shell scripting. Препоръчителни изисквания:
1) Работа с
bash,
wget,
windows batch files,
mkisofs,
cygwin и
SYSLINUX се считат за предимство.
2) Нито едно от горните изисквания не е задължително и може да се компенсира с огромно желание за самообучение.
3) Да има свободно време (от опит знам, че такова винаги се намира при добро желание).
Заплащане - това е Open Source проект и облагата от тази дейност е съавторството в проекта + авторските права върху update скриптовете. Отделно, авторът (или авторите) на скрипта имат пълното право да публикуват скрипта както самостоятелно, така и в някакъв модифициран вариант на ULTILEX. Това е въпрос на избор от страна на авторът/авторите. И не на последно място - подобен проект стои много добре в професионалното CV.
От своя страна аз предлагам пълна техническа подкрепа, дистанционно обучение в областите, където е необходимо такова, съдействие за самото написване на скрипта и т.н.
Този проект е доста голям challenge - кажете ми, знаете ли колко са на брой скриптовете, които позволяват подобно генериране на bootable CD / bootable USB от няколко live Linux дистрибуции?
Ако познавате някой, който би проявил желание да се включи, ще съм благодарен ако го препратете към мен!