<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki2.linuxformat.ru/skins/common/feed.css?97"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>LXF142:LT2 - История изменений</title>
		<link>http://wiki2.linuxformat.ru/index.php?title=LXF142:LT2&amp;action=history</link>
		<description>История изменений этой страницы в вики</description>
		<language>ru</language>
		<generator>MediaWiki 1.11.1</generator>
		<lastBuildDate>Thu, 14 May 2026 08:49:11 GMT</lastBuildDate>
		<item>
			<title>Crazy Rebel: /* Раз­дел 2: Из­менение на­стро­ек ''Grub'' */</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF142:LT2&amp;diff=13873&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Раз­дел 2: Из­менение на­стро­ек ''Grub''&lt;/span&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 05:30, 22 мая 2012&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 37:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Раз­дел 2: Из­менение на­стро­ек ''Grub''===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Раз­дел 2: Из­менение на­стро­ек ''Grub''===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|Содержание=LXF142_77_1.jpg|300px ''Grub'' — не­ве­ро­ят­но гиб­кий за­груз­чик. На­жав кла­ви­шу '''E''', мож­но ре­дак­ти­ро­вать его па­ра­мет­ры пе­ред на­ча­лом за­груз­ки.|Ширина=300px}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Врезка|Содержание=&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Изображение:&lt;/ins&gt;LXF142_77_1.jpg|300px&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;''Grub'' — не­ве­ро­ят­но гиб­кий за­груз­чик. На­жав кла­ви­шу '''E''', мож­но ре­дак­ти­ро­вать его па­ра­мет­ры пе­ред на­ча­лом за­груз­ки.|Ширина=300px}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Те­перь поподробнее рас­смот­рим за­груз­чик. Ча­ще все­го это мощ­ный ''Grub'', спо­соб­ный за­гру­жать мно­же­ст­во ОС и ме­нять кон­фи­гу­ра­цию во вре­мя за­груз­ки. Мы по­го­во­рим о его фай­лах на­строй­ки и свя­зан­ных с ним ути­ли­тах в дру­гих стать­ях, а по­ка изучим из­менение кон­фи­гу­ра­ции во вре­мя за­груз­ки в на­шем Debian.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Те­перь поподробнее рас­смот­рим за­груз­чик. Ча­ще все­го это мощ­ный ''Grub'', спо­соб­ный за­гру­жать мно­же­ст­во ОС и ме­нять кон­фи­гу­ра­цию во вре­мя за­груз­ки. Мы по­го­во­рим о его фай­лах на­строй­ки и свя­зан­ных с ним ути­ли­тах в дру­гих стать­ях, а по­ка изучим из­менение кон­фи­гу­ра­ции во вре­мя за­груз­ки в на­шем Debian.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 22 May 2012 05:30:43 GMT</pubDate>			<dc:creator>Crazy Rebel</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF142:LT2</comments>		</item>
		<item>
			<title>Crazy Rebel в 05:26, 22 мая 2012</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF142:LT2&amp;diff=13869&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 05:26, 22 мая 2012&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;: '''Тре­нин­ги Linux''' [[Категория &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/del&gt;Учебники]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;: '''Тре­нин­ги Linux''' [[Категория&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;:&lt;/ins&gt;Учебники]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Цикл/LinuxTraining}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Цикл/LinuxTraining}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 22 May 2012 05:26:41 GMT</pubDate>			<dc:creator>Crazy Rebel</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF142:LT2</comments>		</item>
		<item>
			<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF142:LT2&amp;diff=13865&amp;oldid=prev</link>
			<description>&lt;p&gt;викификация, оформление, иллюстрация&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая статья&lt;/b&gt;&lt;/p&gt;&lt;div&gt;: '''Тре­нин­ги Linux''' [[Категория |Учебники]]&lt;br /&gt;
&lt;br /&gt;
{{Цикл/LinuxTraining}}&lt;br /&gt;
&lt;br /&gt;
==Майк Сон­дерс ве­дет Тре­нин­ги Linux==&lt;br /&gt;
&lt;br /&gt;
: '''Часть 2:''' По­сле вы­лаз­ки в мир «же­ле­за», те­перь под­роб­но рас­смот­рим про­цесс за­груз­ки. Да вы­плюнь­те же­ва­тель­ную ре­зин­ку!&lt;br /&gt;
&lt;br /&gt;
Вы на­жали кноп­ку вклю­чения ком­пь­ю­те­ра. На эк­ране мель­ка­ют со­об­щения или некая анима­ция (ес­ли у вас на­столь­ный ди­ст­ри­бу­тив), и на­конец по­яв­ля­ет­ся при­гла­шение для вхо­да в сис­те­му. Что же про­ис­хо­дит за это ко­рот­кое вре­мя? Это­му мы и по­свя­тим второй урок из цик­ла «'''Тренин­ги Linux'''». Как и пре-дыдущий урок, он по­мо­жет вам под­го­то­вить­ся к сер­ти­фи­ка­ции в LPI и пригодится тем, кто ищет ра­бо­ту в ми­ре Linux или про­сто хо­чет поболь­ше уз­нать о сво­ей операционной системе.&lt;br /&gt;
&lt;br /&gt;
В ка­че­­ст­ве осно­вы для сер­ти­фи­ка­ции ис­поль­зу­ют­ся не пе­ре­мен­чи­вые и час­то об­нов­ляе­мые ди­ст­ри­бу­ти­вы, а бо­лее ста­биль­ные плат­фор­мы, ис­поль­зуе­мые в про­мыш­лен­ных ре­шениях, та­кие как Red Hat Enterprise Linux (RHEL), CentOS и Debian. На про­шлом уро­ке мы ра­бо­та­ли с CentOS; на сей раз на­ста­ла оче­редь Debian (вер­сия 5). Хо­тя оп­ре­де­лен­ные функ­ции в раз­ных ди­ст­ри­бу­ти­вах реа­ли­зо­ва­ны по-раз­но­му, боль­шин­ст­во из ска­зан­но­го при­менимо ко всем.&lt;br /&gt;
&lt;br /&gt;
===Раз­дел 1: От вклю­че­ния ПК до ра­бо­че­го сто­ла===&lt;br /&gt;
&lt;br /&gt;
Про­цесс за­груз­ки Linux вклю­ча­ет за­мы­сло­ва­тый на­бор про­цес­сов и скрип­тов, ко­то­рые пре­вра­ща­ют ком­пь­ю­тер, до это­го быв­ший лишь мерт­вой гру­дой ме­тал­ла, в мощ­ную ра­бо­чую стан­цию или сер­вер. Да­вай­те прой­дем по основ­ным эта­пам загрузки.&lt;br /&gt;
&lt;br /&gt;
====BIOS====&lt;br /&gt;
&lt;br /&gt;
BIOS (Basic Input/Output System – ба­зо­вая сис­те­ма вво­да/вы­во­да) – ма­лень­кая про­грам­ма, про­жи­ваю­щая в мик­ро­схе­ме на ма­те­рин­ской пла­те. По на­жа­тию кноп­ки вклю­чения пи­тания ком­пь­ю­те­ра про­цес­сор на­чи­на­ет вы­пол­нять код BIOS. Вы несо­мнен­но ви­де­ли со­об­щения '''‘Hit F2 for setup’''' [На­жми­те F2 для настройки], ко­то­рые по­яв­ля­ют­ся при за­груз­ке сис­те­мы. Так мож­но вой­ти в BIOS и из­менить на­строй­ки, на­при­мер, по­ря­док за­груз­ки дис­ков. Обыч­но BIOS вы­пол­ня­ет бы­ст­рую про­вер­ку уст­ройств – на­при­мер, мик­ро­схем опе­ра­тив­ной па­мя­ти – и за­тем пы­та­ет­ся най­ти за­груз­чик. Она пробует за­гру­зить пер­вые 512 байт с дис­ке­ты или же­ст­ко­го дис­ка в па­мять, и ес­ли это уда­лось сде­лать, вы­пол­ня­ет их.&lt;br /&gt;
&lt;br /&gt;
====За­груз­чик====&lt;br /&gt;
&lt;br /&gt;
Итак, BIOS пе­ре­дал управ­ление пер­вой час­ти ОС – за­груз­чи­ку раз­ме­ром пол-ки­ло­бай­та. В вось­ми­де­ся­тых та­ко­го неболь­шо­го объ­е­ма па­мя­ти бы­ло доста­точ­но, что­бы за­гру­зить яд­ро ОС ''[На самом деле никогда не было достаточно, просто раньше выбора не было и загружалось только одно ядро которому нельзя было передать параметры до загрузки, поэтому загрузчик содержал только адрес на диске где ему брать это ядро.]''. Од­на­ко со­вре­мен­ные за­груз­чи­ки долж­ны под­дер­жи­вать мно­же­ст­во раз­лич­ных фай­ло­вых сис­тем, опе­ра­ци­он­ных сис­тем и гра­фи­че­­ских ре­жи­мов, по­это­му 512 байт для них недоста­точ­но. В слу­чае с ''Grub'', ко­то­рый ис­поль­зу­ет­ся в боль­шин­ст­ве ди­ст­ри­бу­ти­вов Linux, за­груз­чик раз­ме­ром пол-ки­ло­бай­та за­гру­жа­ет дру­гую про­грам­му ''Stage 1.5''.&lt;br /&gt;
&lt;br /&gt;
Это за­груз­чик чуть по­боль­ше, рас­по­ло­жен­ный в на­ча­ле дис­ка, что­бы его мож­но бы­ло лег­ко най­ти. За­тем он за­гру­жа­ет ''Grub Stage 2'', пол­но­цен­ный за­груз­чик, ко­то­рый пре­достав­ля­ет все при­выч­ные вам воз­мож­но­сти. ''Grub'' счи­ты­ва­ет файл на­строй­ки, за­гру­жа­ет яд­ро Linux в опе­ра­тив­ную па­мять и на­чи­на­ет его вы­пол­нять.&lt;br /&gt;
&lt;br /&gt;
====Яд­ро Linux и ''Init''====&lt;br /&gt;
&lt;br /&gt;
На­чав ис­пол­нять­ся с са­мых пер­вых бай­тов, яд­ро Linux по­хо­же на но­во­ро­ж­ден­но­го, ко­то­рый ниче­го не зна­ет о внешнем ми­ре ва­шей сис­те­мы. Сна­ча­ла оно пы­та­ет­ся по­нять, что за про­цес­сор уста­нов­лен и ка­ко­вы его воз­мож­но­сти, ка­ков объ­ем опе­ра­тив­ной па­мя­ти, и по­лу­ча­ет пол­ную кар­ти­ну сис­те­мы. За­тем раз­ме­ща­ет се­бя в безо­пас­ной об­лас­ти па­мя­ти, что­бы дру­гие про­грам­мы не мог­ли пе­ре­пи­сать его и эф­фект­но об­ру­шить сис­те­му, и на­чи­на­ет ак­ти­ви­зи­ро­вать драй­ве­ры уст­ройств, се­те­вые про­то­ко­лы и т. д.&lt;br /&gt;
&lt;br /&gt;
Сде­лав все необ­хо­ди­мое, яд­ро пе­ре­да­ет управ­ление поль­зо­ва­тель­ско­му про­стран­ст­ву – мес­ту, где вы­пол­ня­ют­ся про­грам­мы. Яд­ру неин­те­рес­но за­пускать ''Bash, Gdm'' и т. д. на­пря­мую, по­это­му оно за­пуска­ет толь­ко од­ну глав­ную про­грам­му – ''/sbin/init''. Это пер­вый на­стоя­щий про­цесс в сис­те­ме. ''Init'' от­ве­ча­ет за вызов за­гру­зоч­ных скрип­тов, за­пускаю­щих сис­те­му, но ему нуж­но знать, что за­пускать. Его основ­ной файл на­строй­ки – '''/etc/inittab''', обыч­ный тек­сто­вый файл, ко­то­рый мож­но из­ме­нять.&lt;br /&gt;
&lt;br /&gt;
В осно­ве это­го фай­ла ле­жит кон­цеп­ция уровней вы­полнения ['''runlevels'''] – раз­лич­ных со­стояний, в ко­то­рых мо­жет на­хо­дить­ся ра­бо­таю­щая сис­те­ма, та­ких как од­но- и мно­го­поль­зо­ва­тель­ский ре­жим и вы­клю­чение. О них мы по­го­во­рим поз­же, а по­ка вам нуж­но знать, что '''/etc/inittab''' ве­лит ''init'' за­пустить скрипт ''/etc/init.d/rc'' с уровнем вы­полнения в ка­че­­ст­ве па­ра­мет­ра.&lt;br /&gt;
&lt;br /&gt;
Этот скрипт вы­зы­ва­ет дру­гие, для на­строй­ки раз­лич­ных час­тей сис­те­мы – уста­нов­ки се­те­во­го со­единения, за­пуска сис­тем­ных жур­на­лов и – на на­столь­ном ком­пь­ю­те­ре – за­пуска ''X Window System'' и менед­же­ра вхо­да в сис­те­му. По­сле вво­да ло­ги­на и па­ро­ля менед­жер вхо­да в сис­те­му за­пуска­ет вы­бран­ный ра­бо­чий стол или окон­ный менед­жер, и все го­то­во к ра­бо­те. Весь этот про­цесс – от вклю­чения пи­тания до вы­бо­ра ико­нок на ра­бо­чем сто­ле – вклю­ча­ет мас­су ра­бо­ты, но в це­лом хо­ро­шо упрятан от поль­зо­ва­те­ля.&lt;br /&gt;
&lt;br /&gt;
===Раз­дел 2: Из­менение на­стро­ек ''Grub''===&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=LXF142_77_1.jpg|300px ''Grub'' — не­ве­ро­ят­но гиб­кий за­груз­чик. На­жав кла­ви­шу '''E''', мож­но ре­дак­ти­ро­вать его па­ра­мет­ры пе­ред на­ча­лом за­груз­ки.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Те­перь поподробнее рас­смот­рим за­груз­чик. Ча­ще все­го это мощ­ный ''Grub'', спо­соб­ный за­гру­жать мно­же­ст­во ОС и ме­нять кон­фи­гу­ра­цию во вре­мя за­груз­ки. Мы по­го­во­рим о его фай­лах на­строй­ки и свя­зан­ных с ним ути­ли­тах в дру­гих стать­ях, а по­ка изучим из­менение кон­фи­гу­ра­ции во вре­мя за­груз­ки в на­шем Debian.&lt;br /&gt;
&lt;br /&gt;
По­сле за­груз­ки ''Grub'' сра­зу по­сле BIOS вы ви­ди­те спи­сок воз­мож­ных ва­ри­ан­тов за­груз­ки. Для вы­бо­ра од­но­го из них мож­но на­жать '''Enter''', но мож­но и из­менить их пря­мо во вре­мя за­груз­ки: вы­бе­ри­те ва­ри­ант, ко­то­рый хо­ти­те из­ме­нить, и на­жми­те '''E'''. По­сле это­го на эк­ра­не поя­вят­ся сле­дую­щие три стро­ки:&lt;br /&gt;
&lt;br /&gt;
 root (hd0,0)&lt;br /&gt;
 kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro quiet&lt;br /&gt;
 initrd /boot/initrd.img-2.6.26-2-686&lt;br /&gt;
&lt;br /&gt;
По­смот­ри­те на вто­рую стро­ку. Она со­об­ща­ет ''Grub'', где най­ти яд­ро Linux и ка­кие па­ра­мет­ры за­груз­ки ему пе­ре­дать. В этом слу­чае мы го­во­рим яд­ру, где на­хо­дит­ся корневой раз­дел ('''/'''); '''ro''' оз­на­ча­ет, что раз­дел нуж­но смон­ти­ро­вать в ре­жи­ме толь­ко для чтения. Это нуж­но за­тем, что­бы при необ­хо­ди­мо­сти про­ве­рить фай­ло­вую сис­те­му – чуть поз­же она бу­дет пе­ре­мон­ти­ро­ва­на в ре­жи­ме чтения и за­пи­си. А '''quiet''' го­во­рит яд­ру, что оно не долж­но вы­да­вать нам слиш­ком мно­го со­об­щений, что­бы за­груз­ка бы­ла яснее и за ней бы­ло про­ще сле­дить.&lt;br /&gt;
&lt;br /&gt;
Мы мо­жем из­менить эти па­ра­мет­ры, на­жав стрел­ку вниз, что­бы вы­брать вто­рую стро­ку, и сно­ва на­жав '''E'''. Ок­но пе­рей­дет в ре­жим чис­то­го ре­дак­ти­ро­вания, в ко­то­ром вы смо­же­те до­ба­вить и уда­лить оп­ции. С по­мо­щью кла­виш управ­ления кур­со­ром его мож­но пе­ре­ме­щать по стро­ке. Да­вай­те кое-что по­про­бу­ем: по­сле '''quie'''t до­бавь­те букву '''s''' (их дол­жен раз­де­лять про­бел). Так мы за­да­ем уро­вень за­груз­ки, на ко­то­рый долж­но за­гру­зить­ся яд­ро – '''s''' оз­на­ча­ет од­но­поль­зо­ва­тель­ский ре­жим [single user].&lt;br /&gt;
&lt;br /&gt;
На­жми­те '''Enter''', что­бы вер­нуть­ся в ок­но ''Grub'', за­тем '''B''', что­бы на­чать про­цесс за­груз­ки. Так как мы за­гру­жа­ем­ся в од­но­поль­зо­ва­тель­ский ре­жим, по­сле инициа­ли­за­ции яд­ра и мон­ти­ро­вания корнево­го раз­де­ла про­цесс за­вер­шится, и у вас запросят па­роль поль­зо­ва­те­ля root. Вве­ди­те его, и вы попа­де­те в команд­ную стро­ку. Это ог­раничен­ный ре­жим ра­бо­ты, но он удо­бен для ре­шения про­блем с за­груз­кой – в нем мож­но бес­пре­пят­ст­вен­но из­ме­нять скрип­ты и ис­прав­лять ошиб­ки.&lt;br /&gt;
&lt;br /&gt;
====За­груз­ка в бу­ду­щем====&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Заголовок=Скорая помощь|Содержание=За­ме­ча­ние, ка­саю­щее­ся безо­пас­но­сти: лю­бой, у ко­го есть дос­туп к ва­ше­му ком­пь­ю­те­ру, мо­жет пе­ре­за­гру­зить его и по­рез­вить­ся с на­строй­ка­ми ''Grub'', как бы хо­ро­шо ни бы­ла за­щи­ще­на сис­те­ма. На сле­дую­щих уро­ках, ко­гда дой­дет до фай­ла на­строй­ки ''Grub'', мы по­смот­рим, как за­щи­тить за­груз­чик па­ро­лем, что­бы пре­дот­вра­тить эти дей­ст­вия.|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
За­гру­зоч­ные скрип­ты в Linux (и Unix) тра­ди­ци­он­но за­пуска­ют­ся по­сле­до­ва­тель­но, т. е. один за дру­гим. Это про­сто и га­ран­ти­ру­ет правильную очередность ак­ти­ви­за­ции оп­ре­де­лен­ных уст­ройств на оп­ре­де­лен­ных эта­пах про­цес­са за­груз­ки. Од­на­ко это неэф­фек­тив­но и при­во­дит к уве­ли­чению вре­мени за­груз­ки, осо­бен­но на ста­ром «же­ле­зе». Зна­чи­тель­ную часть вре­мени скрип­ты ждут, по­ка что-то про­изой­дет – на­при­мер, по­ка ак­ти­ви­ру­ет­ся уст­рой­ст­во или по­ка DHCP-сер­вер се­ти вы­даст раз­ре­шение.&lt;br /&gt;
&lt;br /&gt;
Но ведь бы­ло бы здо­ро­во чем-то заняться во вре­мя этих за­дер­жек? Та­ко­ва цель рас­па­рал­ле­лен­ных скрип­тов ''init''. По­ка се­те­вой скрипт ждет сиг­нал от DHCP-сер­ве­ра, дру­гой скрипт мо­жет очи­стить ка­та­лог '''/tmp''' или за­пустить ''X Window System''. Впро­чем, что­бы за­пустить несколь­ко скрип­тов па­рал­лель­но, недоста­точ­но на­пи­сать их в строч­ку че­рез ам­пер­сан­ды – неко­то­рые скрип­ты за­ви­сят от оп­ре­де­лен­ных ре­сур­сов. На­при­мер, скрипт за­груз­ки, ко­то­рый по­лу­ча­ет IP-ад­рес че­рез DHCP, пред­по­ла­га­ет, что сеть уже ак­ти­ви­ро­ва­на дру­гим скрип­том.&lt;br /&gt;
&lt;br /&gt;
''InitNG'' – па­рал­лель­ная сис­те­ма за­груз­ки, в ко­то­рой за­ви­си­мо­сти скрип­тов уст­рое­ны так, что­бы по­ря­док их за­груз­ки не иг­рал ро­ли. ''Upstart'', ис­поль­зуе­мый в Ubuntu, за­пуска­ет скрип­ты на осно­ве сис­тем­ных со­бы­тий, та­ких как об­на­ру­жение уст­рой­ст­ва. За­тем есть ''System D'' (ожи­да­ет­ся в Fedora 15) и дру­гие под­хо­ды. Ра­ди бла­га ав­то­ров до­ку­мен­тов и ад­минист­ра­то­ров бу­дем на­де­ять­ся, что мир Linux в итоге оста­но­вит­ся на чем-то од­ном, но ша­ги в этом на­прав­лении в лю­бом слу­чае зна­чи­тель­но уско­ря­ют про­цесс за­груз­ки Linux.&lt;br /&gt;
&lt;br /&gt;
===Раз­дел 3: Про­смотр фай­лов жур­на­лов===&lt;br /&gt;
&lt;br /&gt;
При упо­мя­ну­той ранее оп­ции '''quiet''' и об­щем бы­ст­ро­дей­ст­ви­и со­вре­мен­ных ком­пь­ю­те­ров вполне воз­мож­но, что фо­то­ны от со­об­щений за­груз­ки ед­ва успе­ют достиг­нуть ва­шей сет­чат­ки, как про­цесс за­груз­ки за­вер­шит­ся. К сча­стью, сообщения мож­но спо­кой­но про­честь, когда сис­те­ма пол­но­стью за­гру­зит­ся. За­гляните в файл '''/var/log/messages''' (для это­го у вас долж­ны быть пра­ва root), и уви­ди­те там все со­об­щения, сгенери­ро­ван­ные ядром с мо­мен­та его за­пуска. Од­на­ко при по­пыт­ках яд­ра оп­ре­де­лить, ка­кие уст­рой­ст­ва уста­нов­ле­ны, ре­зуль­та­ты иногда его удив­ля­ют, так что не паникуй­те, ес­ли уви­ди­те занима­тель­ные пре­ду­пре­ж­дения вро­де '''‘Warning: strange, CPU MTRRs all blank?’''' [Пре­ду­пре­ж­дение: стран­но, все диа­па­зон­ные ре­ги­ст­ры па­мя­ти про­цес­со­ра чис­ты?]&lt;br /&gt;
&lt;br /&gt;
====Сон­дерс рас­ска­зы­ва­ет о яд­ре====&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF142_78_1.jpg|300px]] Что­бы ва­ши со­об­ще­ния в лог-фай­лах вы­гля­де­ли при­вле­ка­тель­нее, по­про­буй­те gnome-system-log или Ksystemlog в KDE.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
По­ря­док ра­бо­ты яд­ра при­мер­но та­ков (хо­тя неко­то­рые эта­пы пе­ре­кры­ва­ют друг дру­га):&lt;br /&gt;
* По­лу­чение ин­фор­ма­ции об уст­рой­ст­вах из BIOS (уч­ти­те, что ей не всегда мож­но до­ве­рять).&lt;br /&gt;
* Оп­ре­де­ление ко­ли­че­­ст­ва про­цес­со­ров/ядер и изу­чение всех воз­мож­но­стей про­цес­со­ра.&lt;br /&gt;
* По­лу­чение ин­фор­ма­ции ACPI и за­прос ин­фор­ма­ции об уст­рой­ст­вах на шине PCI.&lt;br /&gt;
* Инициа­ли­за­ция се­те­во­го сте­ка TCP/IP.&lt;br /&gt;
* По­иск же­ст­ких дис­ков, дис­ко­во­дов и при­во­дов CD-ROM.&lt;br /&gt;
* Оп­ре­де­ление USB-кон­трол­ле­ров и под­клю­чен­ных к ним устройств.&lt;br /&gt;
&lt;br /&gt;
Удов­ле­тво­рив­шись со­стоянием сис­те­мы, яд­ро мон­ти­ру­ет корневую фай­ло­вую сис­те­му и за­пуска­ет ''/sbin/init'' как опи­са­но вы­ше. Хо­тя '''/var/log/messages''' — цен­ный ре­сурс для оп­ре­де­ления дей­ст­вий яд­ра по­сле за­груз­ки, он мо­жет быть за­гро­мо­ж­ден со­об­щения­ми и от дру­гих про­грамм. На­при­мер, в на­шем ди­ст­ри­бу­ти­ве во мно­гих стро­ках встре­ча­ет­ся '''debian''':, но есть и дру­гие – с '''dhcbd''' и т. д.&lt;br /&gt;
&lt;br /&gt;
Ес­ли вы хо­ти­те про­смот­реть толь­ко со­об­щения яд­ра, за­пусти­те ко­ман­ду ''dmesg''. (Для удоб­ст­ва мож­но пе­ре­на­пра­вить ее ре­зуль­та­ты в тек­сто­вый файл ко­ман­дой ''dmesg &amp;gt; listing.txt''.) Хо­тя боль­шин­ст­во со­об­щений, ко­то­рые вы там най­де­те, бу­дут от­но­сить­ся к ранним эта­пам за­груз­ки, эта ин­фор­ма­ция бу­дет об­нов­ле­на, ес­ли вы под­клю­чи­те но­вое уст­рой­ст­во. На­при­мер, вставь­те USB-флэш­ку и сно­ва вы­полните ко­ман­ду, и вы уви­ди­те но­вые со­об­щения, из ко­то­рых бу­дет яс­но, как яд­ро опо­зна­ло уст­рой­ст­во.&lt;br /&gt;
&lt;br /&gt;
===Раз­дел 4: Уровни вы­полнения и ма­гия /etc/init.d/===&lt;br /&gt;
&lt;br /&gt;
Ранее мы го­во­ри­ли об уров­нях вы­полнения, ко­то­рые иг­ра­ют неве­ро­ят­но важ­ную роль в ва­шем ди­ст­ри­бу­ти­ве, да­же ес­ли вы никогда о них не слы­ша­ли. Уро­вень вы­полнения оп­ре­де­ля­ет со­стояние сис­те­мы – в ча­ст­но­сти, ка­кие про­цес­сы за­пу­ще­ны и ка­кие ре­сур­сы доступ­ны. Это не ка­кой-то сек­рет или чер­ная ма­гия яд­ра, а ис­клю­чи­тель­но сис­те­ма, в со­от­вет­ст­вии с ко­то­рой ''/sbin/init'' за­пуска­ет скрип­ты для ак­ти­ва­ции или де­ак­ти­ва­ции оп­ре­де­лен­ных функ­ций. Су­ще­ст­ву­ет во­семь уровней вы­полнения – у се­ми из них есть но­ме­ра:&lt;br /&gt;
* '''0 Ос­та­нов сис­те­мы''' Уро­вень вы­полнения, на ко­то­рый сис­те­ма пе­ре­хо­дит при вы­клю­чении ком­пь­ю­те­ра. При пе­ре­клю­чении на этот уро­вень за­пуска­ют­ся скрип­ты, ко­то­рые за­вер­ша­ют про­цес­сы и кор­рект­но оста­нав­ли­ва­ют сис­те­му.&lt;br /&gt;
* '''1 Од­но­поль­зо­ва­тель­ский ре­жим''' Обыч­ные поль­зо­ва­те­ли не мо­гут вой­ти в сис­те­му.&lt;br /&gt;
* '''2 – 5 Мно­го­поль­зо­ва­тель­ский ре­жим''' В Debian эти уровни иден­тич­ны, и вы мо­же­те из­менить один из них, ес­ли хо­ти­те. Это обыч­ный ре­жим ра­бо­ты, при ко­то­ром в сис­те­му мо­жет вой­ти несколь­ко поль­зо­ва­те­лей и все воз­мож­но­сти сис­те­мы ак­ти­ви­ро­ва­ны.&lt;br /&gt;
* '''6 Пе­ре­за­груз­ка''' Очень по­хож на уро­вень вы­полнения '''0'''.&lt;br /&gt;
&lt;br /&gt;
В других системах, например Red Hat/Fedora распределение уровней загрузки следующее:&lt;br /&gt;
* 0 и 6 аналогично уже описанному&lt;br /&gt;
* 1 - Однопельзовательский режим без поддержки сети&lt;br /&gt;
* 2 - Однопользователский режим с поддержкой сети&lt;br /&gt;
* 3 - Многопользовательский режим с поддержкой сети&lt;br /&gt;
* 4 - Свободно, может быть использовано в личных целях&lt;br /&gt;
* 5 - Многопользователский режим с поддержкой сети и автоматическим запуском ''X''&lt;br /&gt;
&lt;br /&gt;
Так­же есть уро­вень вы­полнения '''S''', со­от­вет­ст­вую­щий од­но­поль­зо­ва­тель­ско­му ре­жи­му, ко­то­рый мы ак­ти­ви­ро­ва­ли пе­ред из­менением па­ра­мет­ров за­груз­ки ''Grub''. Он очень по­хож на уро­вень вы­полнения '''1''', но есть и неболь­шие раз­ли­чия: '''S''' – уро­вень вы­полнения, ко­то­рый ис­поль­зу­ет­ся при за­груз­ке сис­те­мы, когда вам нуж­но пе­рей­ти в безо­пас­ный ре­жим восста­нов­ления. В про­ти­во­по­лож­ность ему, уро­вень вы­полнения '''1''' ис­поль­зу­ет­ся, когда сис­те­ма уже за­пу­ще­на и вам нуж­но пе­рей­ти в од­но­поль­зо­ва­тель­ский ре­жим, что­бы про­вес­ти ка­кие-то дей­ст­вия по об­слу­жи­ванию сис­те­мы. И не вол­нуй­тесь за поль­зо­ва­те­лей, ко­то­рые уже во­шли в сис­те­му: ничто их от­ту­да не вы­бро­сит.&lt;br /&gt;
&lt;br /&gt;
Хо­тя уровни вы­полнения со 2 по 5 иден­тич­ны в Debian, в неко­то­рых дру­гих ди­ст­ри­бу­ти­вах в этом диа­па­зоне есть осо­бые уровни вы­полнения. На­при­мер, во мно­гих ди­ст­ри­бу­ти­вах уро­вень вы­полнения 3 – для мно­го­поль­зо­ва­тель­ско­го тек­сто­во­го ре­жи­ма, а уро­вень вы­полнения 5 – для вхо­да в сис­те­му в гра­фи­че­­ском ре­&lt;br /&gt;
жи­ме (та­ко­го как ''Xdm/Gdm/Kdm''). Что­бы оп­ре­де­лить, на ка­ком уровне вы сейчас на­хо­ди­тесь, вы­полните ко­ман­ду ''/sbin/runlevel''. Для пе­ре­клю­чения на дру­гой уро­вень вы­полнения восполь­зуй­тесь ко­ман­дой ''/sbin/telinit'' та­ким об­ра­зом (от име­ни root):&lt;br /&gt;
&lt;br /&gt;
 /sbin/telinit 2&lt;br /&gt;
&lt;br /&gt;
А как уз­нать, на ка­ком уров­не вы­пол­не­ния ва­ша сис­те­ма ра­бо­та­ет по умол­ча­нию? Вол­шеб­ст­во здесь со­сре­до­то­че­но в фай­ле '''/etc/inittab'''. В на­ча­ле фай­ла вы уви­ди­те та­кие стро­ки:&lt;br /&gt;
&lt;br /&gt;
 # The default runlevel.&lt;br /&gt;
 id:2:initdefault:&lt;br /&gt;
&lt;br /&gt;
Стро­ки, на­чи­наю­щие­ся с сим­во­ла ре­шет­ки – ком­мен­та­рии, а ниж­няя стро­ка со­об­ща­ет ''init'', что по умол­чанию ис­поль­зу­ет­ся уро­вень вы­полнения '''2''. Ес­ли вы соз­дае­те соб­ст­вен­ный уро­вень вы­полнения с по­мо­щью скрип­тов для уров­ня вы­полнения '''3''' и хо­ти­те за­гру­жать­ся на него по умол­чанию, мож­но про­сто от­крыть этот файл от имени root, из­менить но­мер уров­ня и пе­ре­за­гру­зить ком­пь­ю­тер.&lt;br /&gt;
&lt;br /&gt;
Чуть ни­же в фай­ле '''/etc/inittab''' вы най­де­те не­сколь­ко строк при­мер­но та­ко­го ви­да:&lt;br /&gt;
&lt;br /&gt;
 l0:0:wait:/etc/init.d/rc 0&lt;br /&gt;
 l1:1:wait:/etc/init.d/rc 1&lt;br /&gt;
 l2:2:wait:/etc/init.d/rc 2&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
Они бу­дут про­дол­жать­ся до уров­ня '''6'''. Эти стро­ки со­об­ща­ют ''init'', что де­лать на ка­ж­дом уровне вы­полнения: за­пустить скрипт ''/etc/init.d/rc'' с но­ме­ром уров­ня вы­полнения в ка­че­­ст­ве па­ра­мет­ра. За­тем ''/etc/init.d/rc'' оп­ре­де­ля­ет, ка­кие скрип­ты ему нуж­но за­пустить для те­ку­ще­го уров­ня вы­полнения. Они ак­ку­рат­но раз­ло­же­ны по ка­та­ло­гам с со­от­вет­ст­вую­щи­ми но­ме­ра­ми в '''/etc'''. Там вы най­де­те ка­та­ло­ги '''/etc/rc0.d, /etc/rc1.d''' и т. д.&lt;br /&gt;
&lt;br /&gt;
====Пре­ду­пре­ж­де­ния об из­ме­не­нии уров­ней вы­пол­не­ния====&lt;br /&gt;
&lt;br /&gt;
Из­менение уровней вы­полнения на ком­пь­ю­те­ре с одним поль­зо­ва­те­лем – не про­бле­ма: вы уже го­то­вы к это­му. Но как на­счет мно­го­поль­зо­ва­тель­ской сис­те­мы? Что де­лать, ес­ли по ''SSH'' к вам под­клю­че­ны дру­гие поль­зо­ва­те­ли и они за­пусти­ли ка­кие-то про­грам­мы? Они не об­ра­ду­ют­ся, ес­ли вы­бить поч­ву у них из-под ног. К сча­стью, есть несколь­ко спо­со­бов опо­вес­тить их о гря­ду­щих из­менениях. Во-пер­вых, ес­ли вы за­шли в сис­те­му под поль­зо­ва­те­лем root, мо­же­те на­брать ''wall'', текст со­об­щения и на­жать '''Ctrl+D'''. Это со­об­щение поя­вит­ся на тер­ми­на­лах всех на­хо­дя­щих­ся в сис­те­ме поль­зо­ва­те­лей. Так мож­но, на­при­мер, от­пра­вить со­об­щение «Вы­клю­чение че­рез 10 ми­нут». Обыч­ные поль­зо­ва­те­ли то­же мо­гут за­пускать ко­ман­ду ''wall'', но они мо­гут и от­клю­чать со­об­щения от дру­гих обыч­ных поль­зо­ва­те­лей ко­ман­дой ''mesg''.&lt;br /&gt;
&lt;br /&gt;
Аль­тер­на­тив­ный спо­соб пре­ду­пре­дить поль­зо­ва­телей – на­пи­сать им пись­мо. Это мож­но сде­лать ко­ман­дой &lt;br /&gt;
&lt;br /&gt;
 echo “Пе­ре­за­груз­ка че­рез 10 ми­нут” | mail -s “Reboot notice” user@localhost&lt;br /&gt;
&lt;br /&gt;
Ес­ли у поль­зо­ва­те­лей есть ути­ли­та опо­ве­ще­ния о но­вых пись­мах, они сра­зу уви­дят со­об­ще­ние. Но на боль­шой ус­та­нов­ке с не­сколь­ки­ми сот­ня­ми поль­зо­ва­те­лей в сис­те­ме луч­ше дать им не­сколь­ко ча­сов, а не ми­нут.&lt;br /&gt;
&lt;br /&gt;
====На уровне вы­полнения====&lt;br /&gt;
&lt;br /&gt;
За­глянем в ка­та­лог '''/etc/rc2.d''' уров­ня вы­полнения по умол­чанию в Debian. Внут­ри вы най­де­те несколь­ко скрип­тов с име­на­ми вро­де '''S05loadcpufreq''' и '''S89cron'''. Ка­ж­дый из них ак­ти­ви­зи­ру­ет оп­ре­де­лен­ную воз­мож­ность в ва­шей сис­те­ме – за­гляните в ка­кой-нибудь из них, и там вы уви­ди­те ком­мен­та­рий, опи­сы­ваю­щий дей­ст­вие скрипта.&lt;br /&gt;
&lt;br /&gt;
Итак, у нас есть '''S30gdm''', ко­то­рый за­пуска­ет ''Gnome Display Manager''. Но что оз­на­ча­ют пер­вые три сим­во­ла? '''S''' оз­на­ча­ет, что этот скрипт что-то за­пуска­ет, а '''30''' за­да­ет его по­ло­жение в по­ряд­ке за­груз­ки. Вы ви­ди­те, что у ка­ж­до­го скрип­та есть но­мер, и они вы­пол­ня­ют­ся в по­ряд­ке воз­рас­тания но­ме­ров. Та­ким об­ра­зом, важ­ные скрип­ты, та­кие как '''S10rsyslog''', вы­пол­ня­ют­ся рань­ше (для вклю­чения жур­на­ли­ро­вания), а бо­лее три­ви­аль­ные воз­мож­но­сти, та­кие как ''Cron'' ('''S89cron'''), ак­ти­ви­ру­ют­ся бли­же к кон­цу уров­ня вы­полнения.&lt;br /&gt;
&lt;br /&gt;
Вгля­дев­шись в них с по­мо­щью ко­ман­ды ''ls -l'', вы уви­ди­те, что это не фай­лы, а сим­во­ли­че­­ские ссыл­ки на скрип­ты в '''/etc/init.d''' – там на­хо­дят­ся на­стоя­щие скрип­ты. Так про­ис­хо­дит по­то­му, что скрип­ты мо­гут раз­де­лять­ся ме­ж­ду уров­ня­ми вы­полнения. На­при­мер, вы мо­же­те за­хо­теть из­менить спо­соб за­пуска ''Cron'', и ва­ши из­менения в фай­ле '''/etc/init.d/cron''' рас­про­стра­нят­ся на все уровни вы­полнения, на ко­то­рых он ис­поль­зу­ет­ся. Мо­же­те за­гля­нуть в '''/etc/init.d''' и по­смот­реть, что там есть.&lt;br /&gt;
&lt;br /&gt;
Эти скрип­ты – ак­ку­рат­но на­пи­сан­ные оберт­ки про­грамм, по име­нам ко­то­рых они на­зва­ны. На­при­мер, в фай­ле '''/etc/init.d/gdm''' со­дер­жит­ся не толь­ко ко­ман­да ''gdm''; там уста­нав­ли­ва­ют­ся необ­хо­ди­мые пе­ре­мен­ные ок­ру­жения, вы­во­дят­ся со­об­щения в лог-фай­лы и т. д. В Debian боль­шин­ст­во из этих скрип­тов мож­но вы­зы­вать с па­ра­мет­ра­ми. Ска­жем, за­пус­тив ''/etc/init.d/gdm'', вы уви­ди­те &lt;br /&gt;
&lt;br /&gt;
 Usage: /etc/init.d/gdm {start|stop|restart|reload|forcereload|status}&lt;br /&gt;
&lt;br /&gt;
Та­ким об­ра­зом, ко­ман­дой ''/etc/init.d/gdm start'' мож­но за­пустить ''Gdm'', а ко­ман­дой ''/etc/init.d/gdm stop'' — оста­но­вить его. Об­ра­ти­те внимание, что '''restart''' вы­пол­ня­ет оста­нов­ку и за­пуск, а '''reload''' про­сит про­грам­му пе­ре­чи­тать ее файл на­строй­ки без пе­ре­за­пуска, ес­ли это воз­мож­но. Эти­ми скрип­та­ми мож­но сво­бод­но поль­зо­вать­ся и вне сис­те­мы уровней вы­полнения – на­при­мер, для пе­ре­за­пуска ''Exim'' или ''Apache'' по­сле внесения из­менений в их фай­лы на­строй­ки.&lt;br /&gt;
&lt;br /&gt;
На­конец, от­ме­тим еще кое-что из '''/etc/inittab''', не имею­щее от­но­шения к уров­ням вы­полнения, но тем не менее по­лез­ное. Вы когда-нибудь за­да­ва­лись во­про­сом, от­ку­да во вре­мя за­груз­ки по­яв­ля­ют­ся тек­сто­вые тер­ми­на­лы? Те, на ко­то­рые мож­но пе­ре­клю­чить­ся из ''X''-сер­ве­ра, на­жав '''Ctrl+Alt+Fx'''? Они за­да­ют­ся в нижней час­ти фай­ла '''/etc/inittab''' в та­ких стро­ках, как эта:&lt;br /&gt;
&lt;br /&gt;
 2:23:respawn:/sbin/getty 38400 tty2&lt;br /&gt;
&lt;br /&gt;
Часть '''/sbin/getty 38400 tty2''' — про­сто ко­ман­да, ко­то­рая за­пуска­ет при­гла­шение для вво­да ло­ги­на и па­ро­ля на вто­ром вир­ту­аль­ном тер­ми­на­ле. Ее мож­но за­менить чем угод­но – хоть вы­де­лить от­дель­ный тер­ми­нал под ''Tetris''! А '''respawn''' оз­на­ча­ет, что он бу­дет пе­ре­за­пускать­ся ка­ж­дый раз при за­вер­шении ра­бо­ты. С ней за­бав­но по­иг­рать, но будь­те осто­рож­ны – ес­ли нена­ро­ком за­пустить про­грам­му, ко­то­рая пе­ре­хва­тит весь ввод с кла­виа­ту­ры, вы не смо­же­те пе­ре­клю­чить­ся на дру­гой тер­ми­нал, что­бы за­вер­шить ее. Но на­кла­ды­вать в шта­ны еще ра­но – про­сто пе­ре­за­гру­зи­тесь в од­но­поль­зо­ва­тель­ский ре­жим и от­ме­ни­те свои из­ме­не­ния. &lt;br /&gt;
&lt;br /&gt;
====Вы­клю­ча­ем сис­те­му безо­пас­но====&lt;br /&gt;
&lt;br /&gt;
В на­столь­ных опе­ра­ци­он­ных сис­те­мах вось­ми­де­ся­тых спе­ци­аль­но­го про­цес­са для вы­клю­чения сис­те­мы не бы­ло – по­сле окон­чания ра­бо­ты вы про­сто на­жи­ма­ли кноп­ку вы­клю­чения пи­тания. Тогда это бы­ло нор­маль­но, но на со­вре­мен­ных ком­пь­ю­те­рах мо­жет быть весь­ма рис­ко­ван­ным по двум при­чи­нам. Во-пер­вых, в неко­то­рых опе­ра­ци­он­ных сис­те­мах, вклю­чая Linux, при со­хранении фай­ла дан­ные не за­пи­сы­ва­ют­ся на диск сра­зу. Они ждут, по­ка дру­гие про­цес­сы не за­хо­тят со­хранить дан­ные, по­том эти дан­ные свя­зы­ва­ют­ся вме­сте в од­ну боль­шую опе­ра­цию за­пи­си, что по­мо­га­ет по­вы­сить про­из­во­ди­тель­ность. Впро­чем, Linux мож­но за­ста­вить за­пи­сать на диск все дан­ные, хра­ня­щие­ся в бу­фе­рах опе­ра­тив­ной па­мя­ти, ко­ман­дой '''sync'''.&lt;br /&gt;
&lt;br /&gt;
Во-вто­рых, в Linux у скрип­тов за­пуска есть эк­ви­ва­лент­ные скрип­ты оста­но­ва, ко­то­рые га­ран­ти­ру­ют, что про­цес­сы за­вер­ша­ют­ся безо­пас­но, вре­мен­ные фай­лы уда­ля­ют­ся и т. д. Не бой­тесь, ниче­го страш­но­го не слу­чит­ся, ес­ли они не бу­дут за­пу­ще­ны, но они по­мо­га­ют со­хранить сис­те­му в чис­то­те. Боль­шин­ст­во из нас оста­нав­ли­ва­ет сис­те­му с по­мо­щью вид­же­тов на ра­бо­чем сто­ле, но ес­ли вам удобнее де­лать это с команд­ной стро­ки, взгляните на man-страницы команд ''shutdown, halt'' и ''reboot''. С ко­ман­дой ''shutdown'', на­при­мер, мож­но за­дать за­держ­ку, но са­мая рас­про­странен­ная ко­ман­да для немед­лен­но­го вы­клю­чения ком­пь­ю­те­ра – ''shutdown -h now''.&lt;/div&gt;</description>
			<pubDate>Tue, 22 May 2012 05:20:44 GMT</pubDate>			<dc:creator>Crazy Rebel</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF142:LT2</comments>		</item>
	</channel>
</rss>