<p dir="ltr"><br>
22 авг. 2014 г. 22:33 пользователь &quot;Денис Смирнов&quot; &lt;<a href="mailto:mithraen@freesource.info">mithraen@freesource.info</a>&gt; написал:<br>
&gt;<br>
&gt; On Fri, Aug 22, 2014 at 11:17:01PM +0400, Alexey Shabalin wrote:<br>
&gt;<br>
&gt; &gt; Да, потерпите недельку, я в отпуске, доступа ни к чему нет.<br>
&gt; &gt; Вы уже все грабли разобрали.<br>
&gt; &gt; Надо чинить юнит network.service в etcnet.<br>
&gt; &gt; Мы обсуждали с sem@ этот юнит, и согласились, что его правильнее причислить<br>
&gt; &gt; к network-online.target, т.к. все же после запуска сети через etcnet у нас<br>
&gt; &gt; сеть не просто стартовала, а и стартанули dhcpcd, vpn и т.п. и адреса<br>
&gt; &gt; получены. А вот в секцию Install все равно лучше выставить<br>
&gt; &gt; multi-user.target.<br>
&gt;<br>
&gt; Собственно в systemd-networkd так и сделано.<br>
&gt;<br>
Да, но у systemd-network есть ещё и отдельный специальный online target, а etcnet это два в одном, точнее он только приравнен к online target.</p>
<p dir="ltr">&gt; &gt; Или network-online.target засунуть внутрь multi-user.target (я почему-то думал, что так и есть)<br>
&gt;<br>
&gt; А вот это некорректно:<br>
&gt;<br>
&gt;        network-online.target<br>
&gt;            Units that strictly require a configured network connection should pull in network-online.target (via a Wants=<br>
&gt;            type dependency) and order themselves after it. This target unit is intended to pull in a service that delays<br>
&gt;            further execution until the network is sufficiently set up. What precisely this requires is left to the<br>
&gt;            implementation of the network managing service.<br>
&gt;<br>
&gt;            Note the distinction between this unit and network.target. This unit is an active unit (i.e. pulled in by the<br>
&gt;            consumer rather than the provider of this functionality) and pulls in a service which possibly adds substantial<br>
&gt;            delays to further execution. In contrast, network.target is a passive unit (i.e. pulled in by the provider of<br>
&gt;            the functionality, rather than the consumer) that usually does not delay execution much. Usually,<br>
&gt;            network.target is part of the boot of most systems, while network-online.target is not, except when at least<br>
&gt;            one unit requires it. Also see Running Services After the Network is up[1] for more information.<br>
&gt;<br>
&gt;            All mount units for remote network file systems automatically pull in this unit, and order themselves after it.<br>
&gt;            Note that networking daemons that simply provide functionality to other hosts generally do not need to pull<br>
&gt;            this in.<br>
&gt;<br>
&gt; Т.е. network.service должен быть Before=network-online.target, но не должен его втягивать.<br>
&gt; А вот network.target он втягивать должен, как и втягиваться multi-user.target.<br>
&gt;<br>
&gt; &gt; И ещё, уже не раз видел ранее предложения в секцию Install указывать<br>
&gt; &gt; default.target. Так вот, мне кажется этого делать нельзя, цель должна быть<br>
&gt; &gt; чётко указана, local-fs, sysinit, basic,multi-user,graphical. Т.к. default<br>
&gt; &gt; может быть любым из 3 последних, и если мне нужен только<br>
&gt; &gt; basic.target(компьютер без сети), то хотелось бы что бы сеть нигде случайно<br>
&gt; &gt; не зацепилась.<br>
&gt;<br>
&gt; Спасибо, у меня как раз был вопрос как правильно.<br>
&gt;<br>
&gt; Т.е. большинство сервисов надо отправлять в multi-user.target, то что связано с<br>
&gt; графикой в graphical.target. А что надо помещать в basic.target?<br>
&gt;<br>
&gt; И правильно ли я понимаю, что если цель указана basic.target, но в юните не<br>
&gt; указано Before=basic.target, то цель basic.target может считаться достигнутой<br>
&gt; до того как соответствующий сервис стартовал?<br>
&gt;</p>
<p dir="ltr">Лучше ещё раз пересчитать man&#39;ы про Before и т.п. <br>
Точно помню, что какой-то параметр может сразу перевести таргет в достигнутый при запуске одного сервиса. After и Before, вроде должны во всех сервисах отработать, что бы таргет был достигнут. Т.е. &quot;мягкие&quot; и &quot;жёсткие&quot; зависимости.<br>

</p>