<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>FreeSource - DmitrijMaslennikov/porting</title>
<link>http://freesource.info/wiki/DmitrijMaslennikov/porting</link>
<description>History/revisions of FreeSource/DmitrijMaslennikov/porting</description>
<language>en-us</language>
<item>
<title>2008-02-23 00:43:49</title>
<link>http://freesource.info/wiki/DmitrijMaslennikov/porting/show?time=2008-02-23+00%3A43%3A49</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a name=".dmitrijmaslennikov.porting" href="http://freesource.info/wiki/DmitrijMaslennikov/porting&amp;" class="">/Dmitrij&amp;nbsp;Maslennikov&amp;nbsp;/&amp;nbsp;porting&lt;/a> за &lt;a href="http://freesource.info/wiki/DmitrijMaslennikov/porting?time=2008-02-23+00%3A43%3A49">2008-02-23 00:43:49&lt;/a> и &lt;a href="http://freesource.info/wiki/DmitrijMaslennikov/porting">2008-02-23 00:44:54&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Сервис будет остановлен, но&amp;nbsp;initng об&amp;nbsp;этом не&amp;nbsp;узнает и&amp;nbsp;при попытке снова его&amp;nbsp;запустить скажет, что&amp;nbsp;он&amp;nbsp;уже запущен или&amp;nbsp;при выключении попытается остановить его&amp;nbsp;повторно. Можно придумать и&amp;nbsp;много других нежелательных вещей, которые произойдут при&amp;nbsp;таком прямом обращении. Я&amp;nbsp;бы не&amp;nbsp;вел об&amp;nbsp;этом речь, если бы&amp;nbsp;не было выхода. А&amp;nbsp;выход простой. Все&amp;nbsp;скрипты в&amp;nbsp;/etc/init.d написаны на&amp;nbsp;sh (bash), это&amp;nbsp;очень удобно. Как&amp;nbsp;и&amp;nbsp;при профилировании можно заменить интерпретатор на&amp;nbsp;наш.&lt;br />
Что&amp;nbsp;будет делать такой интерпретатор? При&amp;nbsp;запуске он&amp;nbsp;должен проверять тип&amp;nbsp;используемого init процесса. Если это&amp;nbsp;обычный /sbin/init, то&amp;nbsp;просто запускаем bash с&amp;nbsp;теми же&amp;nbsp;аргументами, что&amp;nbsp;и&amp;nbsp;наш скрипт. Этим мы&amp;nbsp;гарантируем совместимость со&amp;nbsp;старым типом запуска. Если же&amp;nbsp;у нас&amp;nbsp;init-ng, то&amp;nbsp;сначала мы&amp;nbsp;смотрим на&amp;nbsp;действие, которое мы&amp;nbsp;должны совершить. Если это&amp;nbsp;не&amp;nbsp;start или&amp;nbsp;stop, то&amp;nbsp;запускаем bash  с&amp;nbsp;нашими аргументами и&amp;nbsp;выполняем действие, если же&amp;nbsp;это start или&amp;nbsp;stop, то&amp;nbsp;мы должны дополнительно проверить наличие признака (переменной окружения), свидетельствующего, что&amp;nbsp;скрипт запускается не&amp;nbsp;прямым вызовом, а&amp;nbsp;с помощью init-ng, если это&amp;nbsp;так, то&amp;nbsp;мы тоже запускаем bash. Если же&amp;nbsp;признака нет, то&amp;nbsp;вместо выполнения скрипта необходимо попросить init-ng сделать это&amp;nbsp;и&amp;nbsp;он уже&amp;nbsp;запустит этот скрипт повторно сам. Скрипт для&amp;nbsp;initng теперь становится следующим:&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Сервис будет остановлен, но&amp;nbsp;initng об&amp;nbsp;этом не&amp;nbsp;узнает и&amp;nbsp;при попытке снова его&amp;nbsp;запустить скажет, что&amp;nbsp;он&amp;nbsp;уже запущен или&amp;nbsp;при выключении попытается остановить его&amp;nbsp;повторно. Можно придумать и&amp;nbsp;много других нежелательных вещей, которые произойдут при&amp;nbsp;таком прямом обращении. Я&amp;nbsp;бы не&amp;nbsp;вел об&amp;nbsp;этом речь, если бы&amp;nbsp;не было выхода. А&amp;nbsp;выход простой. Все&amp;nbsp;скрипты в&amp;nbsp;/etc/init.d написаны на&amp;nbsp;sh (bash), это&amp;nbsp;очень удобно. Как&amp;nbsp;и&amp;nbsp;при профилировании можно заменить интерпритатор на&amp;nbsp;наш.&lt;br />
Что&amp;nbsp;будет делать такой интерпретатор? При&amp;nbsp;запуске он&amp;nbsp;должен проверять тип&amp;nbsp;используемого init процесса. Если это&amp;nbsp;обычный /sbin/init, то&amp;nbsp;просто запускаем bash с&amp;nbsp;теми же&amp;nbsp;аргументами, что&amp;nbsp;и&amp;nbsp;наш скрипт. Этим мы&amp;nbsp;гарантируем совместимость со&amp;nbsp;старым типом запуска. Если же&amp;nbsp;у нас&amp;nbsp;init-ng, то&amp;nbsp;сначала мы&amp;nbsp;смотрим на&amp;nbsp;действие, которое мы&amp;nbsp;должны совершить. Если это&amp;nbsp;не&amp;nbsp;start или&amp;nbsp;stop, то&amp;nbsp;запускаем bash  с&amp;nbsp;нашими аргументами и&amp;nbsp;выполняем действие, если же&amp;nbsp;это start или&amp;nbsp;stop, то&amp;nbsp;мы должны дополнительно проверить наличие признака (переменной окружения), свидетельствующего, что&amp;nbsp;скрипт запускается не&amp;nbsp;прямым вызовом, а&amp;nbsp;с помощью init-ng, если это&amp;nbsp;так то&amp;nbsp;мы тоже запускаем bash. Если же&amp;nbsp;признака нет, то&amp;nbsp;вместо выполнения скрипта необходимо попросить init-ng сделать это&amp;nbsp;и&amp;nbsp;он уже&amp;nbsp;запустит этот скрипт повторно сам. Скрипт для&amp;nbsp;initng теперь становиться следующим:&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2008-01-29 18:40:13</title>
<link>http://freesource.info/wiki/DmitrijMaslennikov/porting/show?time=2008-01-29+18%3A40%3A13</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/DmitrijMaslennikov/porting&amp;" class="">/Dmitrij&amp;nbsp;Maslennikov&amp;nbsp;/&amp;nbsp;porting&lt;/a> за &lt;a href="http://freesource.info/wiki/DmitrijMaslennikov/porting?time=2008-01-29+18%3A40%3A13">2008-01-29 18:40:13&lt;/a> и &lt;a href="http://freesource.info/wiki/DmitrijMaslennikov/porting?time=2008-02-23+00%3A43%3A49">2008-02-23 00:43:49&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">У&amp;nbsp;init-ng аналогичные по&amp;nbsp;функциям скрипты лежат в&amp;nbsp;&lt;tt>/etc/initng&lt;/tt>. При&amp;nbsp;этом их&amp;nbsp;можно распределять под&amp;nbsp;подкаталогам, так&amp;nbsp;как init-ng ищет свои ifiles (так называются эти&amp;nbsp;скрипты) рекурсивно. Поэтому я&amp;nbsp;предлагаю все&amp;nbsp;скрипты соответствующие прежним &lt;tt>/etc/init.d/&amp;lt;service&amp;gt;&lt;/tt> помещать в&amp;nbsp;&lt;tt>/etc/initng/init/&amp;lt;service&amp;gt;&lt;/tt>, чтобы отличать их&amp;nbsp;от остальных, которые тоже понадобятся.&lt;br />
init-ng ifiles поддерживают только два&amp;nbsp;действия start и&amp;nbsp;stop (еще есть действия вроде restart &amp;mdash; комбинация stop/start, zap&amp;nbsp;&amp;mdash; сброс статуса из&amp;nbsp;запущенного на&amp;nbsp;незапущенный и&amp;nbsp;др., но&amp;nbsp;все они&amp;nbsp;не&amp;nbsp;имеют отражения в&amp;nbsp;ifiles). Дополнительные действия можно добавить плагинами на&amp;nbsp;С, но&amp;nbsp;это цель на&amp;nbsp;будущее, если сильно потребуется. Поэтому первое, что&amp;nbsp;приходит в&amp;nbsp;голову, это&amp;nbsp;написать &lt;tt>/etc/initng/init/&amp;lt;service&amp;gt;&lt;/tt> в&amp;nbsp;виде&lt;br />
Написанные таким образом скрипты уже&amp;nbsp;позволят нам&amp;nbsp;загружаться и&amp;nbsp;останавливать систему. Но&amp;nbsp;они приносят некоторые проблемы. Например, мы&amp;nbsp;захотели остановить сервис httpd, но&amp;nbsp;забыли, что&amp;nbsp;у&amp;nbsp;нас init-ng  и&amp;nbsp;выполнили по&amp;nbsp;старинке:&lt;br />
Что&amp;nbsp;будет делать такой интерпретатор? При&amp;nbsp;запуске он&amp;nbsp;должен проверять тип&amp;nbsp;используемого init процесса. Если это&amp;nbsp;обычный /sbin/init, то&amp;nbsp;просто запускаем bash с&amp;nbsp;теми же&amp;nbsp;аргументами, что&amp;nbsp;и&amp;nbsp;наш скрипт. Этим мы&amp;nbsp;гарантируем совместимость со&amp;nbsp;старым типом запуска. Если же&amp;nbsp;у нас&amp;nbsp;init-ng, то&amp;nbsp;сначала мы&amp;nbsp;смотрим на&amp;nbsp;действие, которое мы&amp;nbsp;должны совершить. Если это&amp;nbsp;не&amp;nbsp;start или&amp;nbsp;stop, то&amp;nbsp;запускаем bash  с&amp;nbsp;нашими аргументами и&amp;nbsp;выполняем действие, если же&amp;nbsp;это start или&amp;nbsp;stop, то&amp;nbsp;мы должны дополнительно проверить наличие признака (переменной окружения), свидетельствующего, что&amp;nbsp;скрипт запускается не&amp;nbsp;прямым вызовом, а&amp;nbsp;с помощью init-ng, если это&amp;nbsp;так то&amp;nbsp;мы тоже запускаем bash. Если же&amp;nbsp;признака нет, то&amp;nbsp;вместо выполнения скрипта необходимо попросить init-ng сделать это&amp;nbsp;и&amp;nbsp;он уже&amp;nbsp;запустит этот скрипт повторно сам. Скрипт для&amp;nbsp;initng теперь становиться следующим:&lt;br />
&lt;!--notypo-->{{backlinks}}&lt;!--/notypo-->&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">У&amp;nbsp;init-ng аналогичные по&amp;nbsp;функциям скрипты лежат в&amp;nbsp;&lt;tt>/etc/initng&lt;/tt>. При&amp;nbsp;этом их&amp;nbsp;можно распределять под&amp;nbsp;подкаталагам, так&amp;nbsp;как init-ng ищет свои ifiles (так называются эти&amp;nbsp;скрипты) рекурсивно. Поэтому я&amp;nbsp;предлагаю все&amp;nbsp;скрипты соответствующие прежним &lt;tt>/etc/init.d/&amp;lt;service&amp;gt;&lt;/tt> помещать в&amp;nbsp;&lt;tt>/etc/initng/init/&amp;lt;service&amp;gt;&lt;/tt>, чтобы отличать их&amp;nbsp;от остальных, которые тоже понадобяться.&lt;br />
init-ng ifiles поддерживают только два&amp;nbsp;действия start и&amp;nbsp;stop (еще есть действия вроде restart &amp;mdash; комбинация stop/start, zap&amp;nbsp;&amp;mdash; сброс статуса из&amp;nbsp;запущеного на&amp;nbsp;незапущенный и&amp;nbsp;др., но&amp;nbsp;все они&amp;nbsp;не&amp;nbsp;имеют отражения в&amp;nbsp;ifiles). Дополнительные действия можно добавить плагинами на&amp;nbsp;С, но&amp;nbsp;это цель на&amp;nbsp;будущее, если сильно потребуется. Поэтому первое, что&amp;nbsp;приходит в&amp;nbsp;голову, это&amp;nbsp;написать &lt;tt>/etc/initng/init/&amp;lt;service&amp;gt;&lt;/tt> в&amp;nbsp;виде&lt;br />
Написанные таким образом скрипты уже&amp;nbsp;позволят нам&amp;nbsp;загружаться и&amp;nbsp;останавливать систему. Но&amp;nbsp;они приносят некоторые проблемы. Например, мы&amp;nbsp;захотели остановить сервис httpd, но&amp;nbsp;забыли, что&amp;nbsp;у&amp;nbsp;нас init-ng  и&amp;nbsp;выполнили постаринке:&lt;br />
Что&amp;nbsp;будет делать такой интерпритатор? При&amp;nbsp;запуске он&amp;nbsp;должен проверять тип&amp;nbsp;используемого init процесса. Если это&amp;nbsp;обычный /sbin/init, то&amp;nbsp;просто запускаем bash с&amp;nbsp;теми же&amp;nbsp;аргументами, что&amp;nbsp;и&amp;nbsp;наш скрипт. Этим мы&amp;nbsp;гарантируем совместимость со&amp;nbsp;старым типом запуска. Если же&amp;nbsp;у нас&amp;nbsp;init-ng, то&amp;nbsp;сначала мы&amp;nbsp;смотрим на&amp;nbsp;действие, которое мы&amp;nbsp;должны совершить. Если это&amp;nbsp;не&amp;nbsp;start или&amp;nbsp;stop, то&amp;nbsp;запускаем bash  с&amp;nbsp;нашими аргументами и&amp;nbsp;выполняем действие, если же&amp;nbsp;это start или&amp;nbsp;stop, то&amp;nbsp;мы должны дополнительно проверить наличие признака (переменной окружения), свидетельствующего, что&amp;nbsp;скрипт запускается не&amp;nbsp;прямым вызовом, а&amp;nbsp;с помощью init-ng, если это&amp;nbsp;так то&amp;nbsp;мы тоже запускаем bash. Если же&amp;nbsp;признака нет, то&amp;nbsp;вместо выполнения скрипта необходимо попросить init-ng сделать это&amp;nbsp;и&amp;nbsp;он уже&amp;nbsp;запустит этот скрипт повторно сам. Скрипт для&amp;nbsp;initng теперь становиться следующим:&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2008-01-29 18:36:06</title>
<link>http://freesource.info/wiki/DmitrijMaslennikov/porting/show?time=2008-01-29+18%3A36%3A06</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/DmitrijMaslennikov/porting&amp;" class="">/Dmitrij&amp;nbsp;Maslennikov&amp;nbsp;/&amp;nbsp;porting&lt;/a> за &lt;a href="http://freesource.info/wiki/DmitrijMaslennikov/porting?time=2008-01-29+18%3A36%3A06">2008-01-29 18:36:06&lt;/a> и &lt;a href="http://freesource.info/wiki/DmitrijMaslennikov/porting?time=2008-01-29+18%3A40%3A13">2008-01-29 18:40:13&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Сейчас у&amp;nbsp;нас имеются скрипты в&amp;nbsp;директории &lt;tt>/etc/rc.d/init.d&lt;/tt> (и симлинк &lt;tt>/etc/init.d -&amp;gt; /etc/rc.d/init.d&lt;/tt>). Каждый скрипт выполняет определенную функцию при&amp;nbsp;старте системы (ну почти каждый, есть несколько вспомогательных), некоторые и&amp;nbsp;при остановке, а&amp;nbsp;некоторые, те&amp;nbsp;кто отвечают за&amp;nbsp;запуск программ-демонов, еще&amp;nbsp;позволяют заставить соответствующее приложение перечитать свою конфигурацию. Это&amp;nbsp;выполняется командами&lt;br />
У&amp;nbsp;init-ng аналогичные по&amp;nbsp;функциям скрипты лежат в&amp;nbsp;&lt;tt>/etc/initng&lt;/tt>. При&amp;nbsp;этом их&amp;nbsp;можно распределять под&amp;nbsp;подкаталагам, так&amp;nbsp;как init-ng ищет свои ifiles (так называются эти&amp;nbsp;скрипты) рекурсивно. Поэтому я&amp;nbsp;предлагаю все&amp;nbsp;скрипты соответствующие прежним &lt;tt>/etc/init.d/&amp;lt;service&amp;gt;&lt;/tt> помещать в&amp;nbsp;&lt;tt>/etc/initng/init/&amp;lt;service&amp;gt;&lt;/tt>, чтобы отличать их&amp;nbsp;от остальных, которые тоже понадобяться.&lt;br />
init-ng ifiles поддерживают только два&amp;nbsp;действия start и&amp;nbsp;stop (еще есть действия вроде restart &amp;mdash; комбинация stop/start, zap&amp;nbsp;&amp;mdash; сброс статуса из&amp;nbsp;запущеного на&amp;nbsp;незапущенный и&amp;nbsp;др., но&amp;nbsp;все они&amp;nbsp;не&amp;nbsp;имеют отражения в&amp;nbsp;ifiles). Дополнительные действия можно добавить плагинами на&amp;nbsp;С, но&amp;nbsp;это цель на&amp;nbsp;будущее, если сильно потребуется. Поэтому первое, что&amp;nbsp;приходит в&amp;nbsp;голову, это&amp;nbsp;написать &lt;tt>/etc/initng/init/&amp;lt;service&amp;gt;&lt;/tt> в&amp;nbsp;виде&lt;br />
Написанные таким образом скрипты уже&amp;nbsp;позволят нам&amp;nbsp;загружаться и&amp;nbsp;останавливать систему. Но&amp;nbsp;они приносят некоторые проблемы. Например, мы&amp;nbsp;захотели остановить сервис httpd, но&amp;nbsp;забыли, что&amp;nbsp;у&amp;nbsp;нас init-ng  и&amp;nbsp;выполнили постаринке:&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Сейчас у&amp;nbsp;нас имеются скрипты в&amp;nbsp;директории &lt;tt>/etc/rc.d/init.d&lt;/tt> (и симлинк &lt;tt>/etc/init.d -&amp;gt; /etc/rc.d/init.d&lt;/tt>). Каждый скрипт выполняет определенную функцию при&amp;nbsp;старте системы (ну почти каждый, есть несколько вспомогательных), некоторые и&amp;nbsp;при остановке, а&amp;nbsp;некоторые, те&amp;nbsp;кто отвечают за&amp;nbsp;запуск демонов, еще&amp;nbsp;позволяют заставить соответствующего демона перечитать свою конфигурацию. Это&amp;nbsp;выполняется командами&lt;br />
У&amp;nbsp;init-ng аналогичные по&amp;nbsp;функции скрипты лежат в&amp;nbsp;&lt;tt>/etc/initng&lt;/tt>. При&amp;nbsp;этом их&amp;nbsp;можно распределять под&amp;nbsp;подкаталагам, так&amp;nbsp;как init-ng ищет свои ifiles (так называются эти&amp;nbsp;скрипты) рекурсивно. Поэтому я&amp;nbsp;предлагаю все&amp;nbsp;скрипты соответствующие прежним &lt;tt>/etc/init.d/&amp;lt;service&amp;gt;&lt;/tt> помещать в&amp;nbsp;&lt;tt>/etc/initng/init/&amp;lt;service&amp;gt;&lt;/tt>, чтобы отличать их&amp;nbsp;от остальных, которые тоже понадобяться.&lt;br />
init-ng ifiles поддерживают только два&amp;nbsp;действия start и&amp;nbsp;stop (еще есть действия вроде restart &amp;mdash; комбинация stop/start, zap&amp;nbsp;&amp;mdash; сброс статуса из&amp;nbsp;запущеного на&amp;nbsp;незапущенный и&amp;nbsp;др., но&amp;nbsp;все они&amp;nbsp;не&amp;nbsp;имеют отражения в&amp;nbsp;ifiles). Дополнительные действия можно добавить плагином на&amp;nbsp;С, но&amp;nbsp;это цель на&amp;nbsp;будущее, если сильно потребуется. Поэтому первое, что&amp;nbsp;приходит в&amp;nbsp;голову, это&amp;nbsp;написать &lt;tt>/etc/initng/init/&amp;lt;service&amp;gt;&lt;/tt> в&amp;nbsp;виде&lt;br />
Такие скрипты уже&amp;nbsp;позволят нам&amp;nbsp;загружаться и&amp;nbsp;останавливать систему. Но&amp;nbsp;тут есть некоторые проблемы. Например, мы&amp;nbsp;захотели остановить сервис httpd, но&amp;nbsp;забыли, что&amp;nbsp;у&amp;nbsp;нас init-ng  и&amp;nbsp;выполнили постаринке:&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2008-01-29 18:02:30</title>
<link>http://freesource.info/wiki/DmitrijMaslennikov/porting/show?time=2008-01-29+18%3A02%3A30</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/DmitrijMaslennikov/porting&amp;" class="">/Dmitrij&amp;nbsp;Maslennikov&amp;nbsp;/&amp;nbsp;porting&lt;/a> за &lt;a href="http://freesource.info/wiki/DmitrijMaslennikov/porting?time=2008-01-29+18%3A02%3A30">2008-01-29 18:02:30&lt;/a> и &lt;a href="http://freesource.info/wiki/DmitrijMaslennikov/porting?time=2008-01-29+18%3A36%3A06">2008-01-29 18:36:06&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Сейчас у&amp;nbsp;нас имеются скрипты в&amp;nbsp;директории &lt;tt>/etc/rc.d/init.d&lt;/tt> (и симлинк &lt;tt>/etc/init.d -&amp;gt; /etc/rc.d/init.d&lt;/tt>). Каждый скрипт выполняет определенную функцию при&amp;nbsp;старте системы (ну почти каждый, есть несколько вспомогательных), некоторые и&amp;nbsp;при остановке, а&amp;nbsp;некоторые, те&amp;nbsp;кто отвечают за&amp;nbsp;запуск демонов, еще&amp;nbsp;позволяют заставить соответствующего демона перечитать свою конфигурацию. Это&amp;nbsp;выполняется командами&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Сейчас у&amp;nbsp;нас имеются скрипты в&amp;nbsp;директории &lt;tt>/etc/rc.d/init.d&lt;/tt> (и симлинк &lt;tt>/etc/init.d -&amp;gt; /etc/rc.d/init.d&lt;/tt>). Каждый скрипт (ну почти каждый, есть несколько вспомогательных) выполняет определенную функцию при&amp;nbsp;старте системы, некоторые и&amp;nbsp;приостановке, а&amp;nbsp;некоторые, те&amp;nbsp;кто отвечают за&amp;nbsp;запуск демонов еще&amp;nbsp;позволяют заставить соответствующего демона перечитать свою конфигурацию. Это&amp;nbsp;выполняется командами&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2008-01-29 17:55:23</title>
<link>http://freesource.info/wiki/DmitrijMaslennikov/porting/show?time=2008-01-29+17%3A55%3A23</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/DmitrijMaslennikov/porting&amp;" class="">/Dmitrij&amp;nbsp;Maslennikov&amp;nbsp;/&amp;nbsp;porting&lt;/a> за &lt;a href="http://freesource.info/wiki/DmitrijMaslennikov/porting?time=2008-01-29+17%3A55%3A23">2008-01-29 17:55:23&lt;/a> и &lt;a href="http://freesource.info/wiki/DmitrijMaslennikov/porting?time=2008-01-29+18%3A02%3A30">2008-01-29 18:02:30&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Сейчас у&amp;nbsp;нас имеются скрипты в&amp;nbsp;директории &lt;tt>/etc/rc.d/init.d&lt;/tt> (и симлинк &lt;tt>/etc/init.d -&amp;gt; /etc/rc.d/init.d&lt;/tt>). Каждый скрипт (ну почти каждый, есть несколько вспомогательных) выполняет определенную функцию при&amp;nbsp;старте системы, некоторые и&amp;nbsp;приостановке, а&amp;nbsp;некоторые, те&amp;nbsp;кто отвечают за&amp;nbsp;запуск демонов еще&amp;nbsp;позволяют заставить соответствующего демона перечитать свою конфигурацию. Это&amp;nbsp;выполняется командами&lt;br />
&lt;tt>/etc/init.d/&amp;lt;service&amp;gt; start&lt;/tt>&lt;br />
&lt;tt>/etc/init.d/&amp;lt;service&amp;gt; stop&lt;/tt>&lt;br />
&lt;tt>/etc/init.d/&amp;lt;service&amp;gt; reload&lt;/tt>&lt;br />
У&amp;nbsp;init-ng аналогичные по&amp;nbsp;функции скрипты лежат в&amp;nbsp;&lt;tt>/etc/initng&lt;/tt>. При&amp;nbsp;этом их&amp;nbsp;можно распределять под&amp;nbsp;подкаталагам, так&amp;nbsp;как init-ng ищет свои ifiles (так называются эти&amp;nbsp;скрипты) рекурсивно. Поэтому я&amp;nbsp;предлагаю все&amp;nbsp;скрипты соответствующие прежним &lt;tt>/etc/init.d/&amp;lt;service&amp;gt;&lt;/tt> помещать в&amp;nbsp;&lt;tt>/etc/initng/init/&amp;lt;service&amp;gt;&lt;/tt>, чтобы отличать их&amp;nbsp;от остальных, которые тоже понадобяться.&lt;br />
init-ng ifiles поддерживают только два&amp;nbsp;действия start и&amp;nbsp;stop (еще есть действия вроде restart &amp;mdash; комбинация stop/start, zap&amp;nbsp;&amp;mdash; сброс статуса из&amp;nbsp;запущеного на&amp;nbsp;незапущенный и&amp;nbsp;др., но&amp;nbsp;все они&amp;nbsp;не&amp;nbsp;имеют отражения в&amp;nbsp;ifiles). Дополнительные действия можно добавить плагином на&amp;nbsp;С, но&amp;nbsp;это цель на&amp;nbsp;будущее, если сильно потребуется. Поэтому первое, что&amp;nbsp;приходит в&amp;nbsp;голову, это&amp;nbsp;написать &lt;tt>/etc/initng/init/&amp;lt;service&amp;gt;&lt;/tt> в&amp;nbsp;виде&lt;br />
&lt;!--notypo-->&lt;textarea class="code" rows="3" readonly="readonly">service init/&amp;lt;service&amp;gt;
}&lt;/textarea>&lt;!--/notypo-->&lt;br />
&lt;tt>$/etc/init.d/httpd stop&lt;/tt>&lt;br />
&lt;!--notypo-->&lt;textarea class="code" rows="11" readonly="readonly">service init/&amp;lt;service&amp;gt;
  need = &amp;lt;...&amp;gt;;
  script start = {
    export INITNGEXEC=yes
    /etc/init.d/&amp;lt;service&amp;gt; start
  };
  script stop = {
    export INITNGEXEC=yes
    /etc/init.d/&amp;lt;service&amp;gt; stop
}&lt;/textarea>&lt;!--/notypo-->&lt;br />
То&amp;nbsp;есть добавляем признак запуска из&amp;nbsp;initng. А&amp;nbsp;бинарник-враппер так&amp;nbsp;же&amp;nbsp;достаточно тривиален, но&amp;nbsp;приводить здесь его&amp;nbsp;неудобно, а&amp;nbsp;файлы заливать как&amp;nbsp;всегда некуда. Пока все.&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Сейчас у&amp;nbsp;нас имеются скрипты в&amp;nbsp;директории /etc/rc.d/init.d (и симлинк /etc/init.d -&amp;gt; /etc/rc.d/init.d). Каждый скрипт (ну почти каждый, есть несколько вспомогательных) выполняет определенную функцию при&amp;nbsp;старте системы, некоторые и&amp;nbsp;приостановке, а&amp;nbsp;некоторые, те&amp;nbsp;кто отвечают за&amp;nbsp;запуск демонов еще&amp;nbsp;позволяют заставить соответствующего демона перечитать свою конфигурацию. Это&amp;nbsp;выполняется командами&lt;br />
/etc/init.d/&amp;lt;service&amp;gt; start&lt;br />
/etc/init.d/&amp;lt;service&amp;gt; stop&lt;br />
/etc/init.d/&amp;lt;service&amp;gt; reload&lt;br />
У&amp;nbsp;init-ng аналогичные по&amp;nbsp;функции скрипты лежат в&amp;nbsp;/etc/initng. При&amp;nbsp;этом их&amp;nbsp;можно распределять под&amp;nbsp;подкаталагам, так&amp;nbsp;как init-ng ищет свои ifiles (так называются эти&amp;nbsp;скрипты) рекурсивно. Поэтому я&amp;nbsp;предлагаю все&amp;nbsp;скрипты соответствующие прежним /etc/init.d/&amp;lt;service&amp;gt; помещать в&amp;nbsp;/etc/initng/init/&amp;lt;service&amp;gt;, чтобы отличать их&amp;nbsp;от остальных, которые тоже понадобяться.&lt;br />
init-ng ifiles поддерживают только два&amp;nbsp;действия start и&amp;nbsp;stop (еще есть действия вроде restart &amp;mdash; комбинация stop/start, zap&amp;nbsp;&amp;mdash; сброс статуса из&amp;nbsp;запущеного на&amp;nbsp;незапущенный и&amp;nbsp;др., но&amp;nbsp;все они&amp;nbsp;не&amp;nbsp;имеют отражения в&amp;nbsp;ifiles). Дополнительные действия можно добавить плагином на&amp;nbsp;С, но&amp;nbsp;это цель на&amp;nbsp;будущее, если сильно потребуется. Поэтому первое, что&amp;nbsp;приходит в&amp;nbsp;голову, это&amp;nbsp;написать /etc/initng/init/&amp;lt;service&amp;gt; в&amp;nbsp;виде&lt;br />
service init/&amp;lt;service&amp;gt;&lt;br />
}&lt;br />
$/etc/init.d/httpd stop&lt;br />
service init/&amp;lt;service&amp;gt;&lt;br />
 script start = {&lt;br />
&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">export INITNGEXEC=yes&lt;br />
/etc/init.d/&amp;lt;service&amp;gt; start&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>
 script stop = {&lt;br />
&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">&lt;div class="indent">export INITNGEXEC=yes&lt;br />
/etc/init.d/&amp;lt;service&amp;gt; stop&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>
}&lt;br />
Тоесть добавляем признак. А&amp;nbsp;бинарник-враппер так&amp;nbsp;же&amp;nbsp;достаточно тривиален, но&amp;nbsp;приводить здесь его&amp;nbsp;неудобно, а&amp;nbsp;файлы заливать как&amp;nbsp;всегда некуда. Пока все.&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
