буутлоудър

Upstart - Как е по-добре или по-лошо от останалите?

Upstart - Как е по-добре или по-лошо от останалите?
Когато Upstart беше замислен за първи път от Canonical, преобладаващата система все още беше sysvinit, която стартира всичко последователно и горе-долу спря след това. Той се увери, че системата също се е затворила грациозно. Това наложи наличието на други решения за устройства с горещо включване като USB стикове и подобни. Основната идея на дизайнерите беше да го направят управляван от събития, което улесни справянето със споменатите събития с горещо включване. Upstart може също да изпълнява немодифицирани sysvinit скриптове, така че можете да мигрирате към Upstart само с инсталиране. Този проект е само в режим на поддръжка, така че използвайте тази публикация като интересна част. Може да срещнете тази система в стари актуализирани системи.

Как се различава Upstart?

Upstart има модел за стартиране на всяка налична работа, когато събитието се случи. Сравнете това със systemd, който стартира процеси, при които всички останали системи работят. Основната разлика е, че Upstart чака събития, а systemd координира зависимости. И двете системи могат да изпълняват редовни скриптове и двете се опитват да стартират паралелно. Тъй като разликите са толкова малки, скриптове Upstart обикновено могат просто да бъдат извикани със системния файл на услугата. Те също могат да изпълняват непроменени systemV файлове. Всъщност и двамата търсят стара файлова структура на systemV по подразбиране. Голямата разлика е, че Upstart търси определени събития, за да стартира каквото и да било. Така че, ако искате да добавите своя собствена услуга, трябва да разберете в кой контекст имате нужда от вашата услуга. Обикновено това е лесно, тъй като ще искате нещо, което се изпълнява, например, на вашия работен плот. Работният плот започва с ниво на изпълнение на събитие 5, така че вие ​​го задавате във вашия скрипт. За systemd, за разлика, това е графичната цел. В начален старт имате и други събития, които можете да използвате, като монтиране, монтиране и заявка на клавиатура. Те се обработват със systemd през сокети и dbus.

Как мигрирате скриптове?

Имате всички Upstart скриптове в / etc / init, имената им са име на работа с разширение 'conf'. Скриптовете не са изпълними, те просто сочат към един или повече изпълними файлове, които трябва да бъдат изпълнени. Във всички Upstart скриптове сте дефинирали на кое събитие скриптът трябва да започне и кога трябва да спре. Трябва също да имате записи преди и след спиране. Те ще подготвят околната среда и ще се почистят след екзекуцията. Примерен скрипт е по-долу

описание "Прост скрипт"
стартиране на ниво на изпълнение [2345]
спиране на нивото на бягане [06]
респаун
env SCRIPT_ENV_VAR = '/ път / към / файл.конфигуриране
chdir / път / към / скрипт /
exec bash скрипт.ш

Изявлението „exec“ казва какво ще се случи, когато го стартирате ръчно. Директивите за стартиране и спиране определят кога скриптът ще стартира автоматично. Както можете да видите, можете също да зададете директорията, в която ще се изпълнява. Има много повече аспекти на Upstart, но трябва да се научите как да мигрирате.

За да работи този скрипт в systemd, трябва да създадете файл за услуга.

Мерна единица]
Описание = Прост скрипт
[Обслужване]
Околна среда = SCRIPT_ENV_VAR = / път / към / файл.конфиг
WorkingDirectory = / път / към / скрипт
ExecStart = / usr / bin / bash скрипт.ш
Рестартиране = винаги
[Инсталирай]
WantedBy = многопотребителски.мишена

Тук можете да видите, че се случват същите неща, но с други ключови думи. Форматът е прост и точен. Вместо да имате нива на изпълнение, посочвате коя цел иска вашия скрипт. Това подчертава, че systemd е всичко свързано със зависимостта и стартирането на нещата за конкретната среда. Имайте предвид също, че ExecStart сочи към глобален път, той никога не използва локален път.

Къде се отличава?

Upstart е проектиран за паралелно поведение, но също така е проектиран да бъде малък. Ако все пак намерите това навсякъде, то ще бъде във вградени системи и ChromeOS. Да, ChromeOS го имаше. Причината е, че е построен отгоре, ако Ubuntu от самото начало, по времето, когато Ubuntu е стартирал като първоначална система по подразбиране. Оттогава ChromeOS премина към използването на Gentoo като своя база.

Заключение

Upstart е интересна тема, но предимно историческа. Може да се наложи, само ако се сблъскате със стари системи. Най-често срещаната алтернатива на Linux сега е systemd. Ако имате резервации по отношение на systemd, трябва да потърсите други минимални системи. Един интересен е безсмисленият, sinit. Той поддържа три сигнала и трябва сами да напишете всички скриптове за него или да промените скриптовете от някой друг. Това може да бъде интересно упражнение, но е полезно само ако работите по много минимална и специализирана система.

Урок за битка за Уеснот
Битката за Уеснот е една от най-популярните стратегически игри с отворен код, които можете да играете по това време. Тази игра не само се разработва о...
0 А.д. Урок
От многото стратегически игри, 0 A.д. успява да се открои като изчерпателно заглавие и много дълбока, тактическа игра, въпреки че е с отворен код. Раз...
Урок за Unity3D
Въведение в Unity 3D Unity 3D е мощен двигател за разработка на игри. Това е кръстосана платформа, която ви позволява да създавате игри за мобилни уст...