From: Alexey Morozov <alex-altlinux@idisys.iae.nsk.su> To: "Денис Смирнов" <mithraen@altlinux.ru>, "ALT Devel discussion list" <devel@altlinux.ru> Subject: Re: [devel] На чем писать rc.sysinit? (почти не JT) Date: Sun, 3 Oct 2004 17:02:18 +0700 Message-ID: <20041003100217.GF29978@pyro.hopawar.private.net> (raw) In-Reply-To: <20040930222947.GE625@workstation> [-- Attachment #1: Type: text/plain, Size: 4839 bytes --] On Fri, Oct 01, 2004 at 02:29:47AM +0400, Денис Смирнов wrote: > AM> То есть, Вы спрашиваете, на чем нужно писать rc.sysinit? :-) > AM> Ну, натурально, на sh (даже, верятно, не на bash ;-). Но, заметьте, > AM> _там_ особой потребности даже в функциях, не говоря уже о хэшах и > AM> прочих нетривильностях до сих пор не возникало, и, надеюсь, не возникнет. > У меня есть мнение, что правильные rc.sysinit должен писаться отнюдь не на > sh. Возможно на tcl. Нет. Потому что, когда я говорю "rc.sysinit", я имею ввиду именно ту "протосистему", которая имеется на момент запуску /etc/rc.d/rc.sysinit (и о которой говорил ldv@) Понятно, что этот скрипт, и запуск сервисов - это задачи совершенно разного уровня, и совершенно разных функциональных возможностей (и потребностей). > > Потому как функциональность нынешнего устарела ой как много лет назад, и > сейчас тянет за собой кучку геморроя (я про нумерацию сервисов) и > невозможность параллельного запуска. Задачами rc.sysinit являются проверка файловых систем, там где это нужно и уместно (запуск fcsk итп), формирование всех этих raid- и прочих замороченных томов, монтирование файловых систем, и, возможно, базовое выставление системных часов. С этими задачами, вероятно (и наверняка!) нормально справится и sh, никаких велосипедов в этом месте особенно изобретать не нужно, разве что, я не вполне уверен в конфигурациях, когда /usr (или даже /) находятся на NFS'е. > А Виктор Вагнер, кажется, высказывал очень ценную мысль, что можно > попробовать его писать на make :) А вот запуск сервисов действительно может осуществляться уже практически чем угодно. В том числе, вероятно, и make'ом (нужно только понять, хватит ли в make'е функционала для организации приемлемой системы макросов для, скажем, "типического запуска сервисного демона" итп.) Но, вообще-то, под языком для системных скриптов подразумевал _еще_ более верхнеуровневую вещь. Те же альтернативы, в конце концов, или скрипты для системного, э-э-э, ухода. Поглядев на последние мэндрэйки, я понял, н-р, что функциональность Mdk'шного msec соотносится с нашей osec примерно, как 5/1 (хотя, если к osec приплюсовать еще и control с внятным _пользовательским_ описанием, как это можно использовать для _своих_ нужд, да еще пяток-другой кроновских скриптов итп, то соотношение уже заметно лучше). И таких вот "системных или около того" задачек в линуксе довольно много, вообще-то. И, собственно, основная разница в "линуксах" - это как раз и есть разница в решениях таких задач. > AM> basesystem? ;-)), то, вероятно, мне лучше сидеть и тихонько ковыряться в > AM> собственной песочнице, не слишком подавая голос :-). > Можешь сделать лучше -- все спасибо скажут :) Но гарантировано скажут Это вряд ли. Поскольку мне, в общем, не приходится городить линуксы "на 10MB'шных флэшках" (а если и придется, то, вероятно, не на ALT'е), то я вполне переживу наличие какого-нибудь python-base в _моей_ basesystem: 3Mb вместе с python-modules-logging и python-modules-xml, да, наверняка, его и еще порезать можно будет (ценой потери определенной функциональности, конечно). Ну а кому-то 3Mb под питон покажутся непомерной роскошью и бессмысленным забиванием жесткого диска, ведь "текстовый (а то и XML!) файл вполне можно и sh+awk распарсить". К тому же, насколько я понимаю, у python здесь (в ALT) есть как свои сторонники, так и активные противники. Хотя должен заметить, что выбор конкретного языка - это дело десятое. И, в конце концов, я совершенно не буду возражать, если на роль такого языка будет, *в результате согласия между заинтересованными сторонами* , выбран tcl, ruby или, скажем, perl. Главное, чтобы средство было _вменяемое_ , поощряло good programming practices, чтобы у него были разумная stdlib и самодостаточность в части, например, корректной обработки ошибочных и нештатных ситуаций (да, я согласен, что [некоторые из перечисленных альтернатив], гхм, сомнительны по данным критериям). > спасибо, если лучше по одному параметру не будет означать хуже по другому. Оно будет означать по-любому. Вопрос в приоритетах. Если приоритетом объявить, скажем, posix-compliance, то вообще-то, даже bash в такую систему пролезет с трудом... Или, н-р, см. выше про расход места. А если приоритетом будет возможность доступа к clib'ным функциям или, н-р, наличие стандартизованной системы для создания регрешшн-тестов, то, извините, sh-ed'овские скрипты отправятся на заслуженный отдых. > Если что-то можно написать _прозрачно_ на awk+sh -- оно должно быть > написано на них. Для надёжности. Вот у меня нет ощущения, что надежность от этого повышается, глядя на давешнюю поломку inger's alternatives из-за добавления лишнего ключа в sed. Написано, вроде, все было достаточно разумно, но вот поди ж ты, "ветер изменился" и опа. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2004-10-03 10:02 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2004-09-30 6:28 ` [devel] Re: [sisyphus] sh Alexey Morozov 2004-09-30 22:29 ` Денис Смирнов 2004-10-03 10:02 ` Alexey Morozov [this message] 2004-10-03 15:23 ` [devel] Re: На чем писать rc.sysinit? (почти не JT) Michael Shigorin 2004-10-04 8:03 ` Alexey Morozov 2004-10-03 16:08 ` [devel] На чем писать не rc.sysinit? Dmitry V. Levin 2004-10-04 7:59 ` Alexey Morozov 2004-10-04 9:13 ` Dmitry V. Levin 2004-10-04 10:05 ` Alexey Morozov 2004-10-05 12:58 ` [devel] [JT] " Michael Shigorin 2004-10-05 15:24 ` Alexey Morozov 2004-10-04 6:25 ` [devel] На чем писать rc.sysinit? (почти не JT) Kirill A. Shutemov 2004-10-04 7:46 ` Alexey Morozov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20041003100217.GF29978@pyro.hopawar.private.net \ --to=alex-altlinux@idisys.iae.nsk.su \ --cc=devel@altlinux.ru \ --cc=mithraen@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git