<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki2.linuxformat.ru/skins/common/feed.css?97"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki2.linuxformat.ru/index.php?action=history&amp;feed=atom&amp;title=LXF142%3ALT1</id>
		<title>LXF142:LT1 - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki2.linuxformat.ru/index.php?action=history&amp;feed=atom&amp;title=LXF142%3ALT1"/>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF142:LT1&amp;action=history"/>
		<updated>2026-05-14T03:11:43Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.11.1</generator>

	<entry>
		<id>http://wiki2.linuxformat.ru/index.php?title=LXF142:LT1&amp;diff=13868&amp;oldid=prev</id>
		<title>Crazy Rebel в 05:25, 22 мая 2012</title>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF142:LT1&amp;diff=13868&amp;oldid=prev"/>
				<updated>2012-05-22T05:25:52Z</updated>
		
		<summary type="html">&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:25, 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: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;: '''Тре­нин­ги Linux''' [[Категория:Учебники]]&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;: '''Тре­нин­ги Linux''' [[Категория:Учебники]]&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: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Цикл/CakePHP}}&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&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;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	<entry>
		<id>http://wiki2.linuxformat.ru/index.php?title=LXF142:LT1&amp;diff=13867&amp;oldid=prev</id>
		<title>Crazy Rebel в 05:25, 22 мая 2012</title>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF142:LT1&amp;diff=13867&amp;oldid=prev"/>
				<updated>2012-05-22T05:25:32Z</updated>
		
		<summary type="html">&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:25, 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 colspan=&quot;2&quot;&gt;&amp;nbsp;&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;{{Цикл/CakePHP}}&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;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	<entry>
		<id>http://wiki2.linuxformat.ru/index.php?title=LXF142:LT1&amp;diff=13864&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
		<link rel="alternate" type="text/html" href="http://wiki2.linuxformat.ru/index.php?title=LXF142:LT1&amp;diff=13864&amp;oldid=prev"/>
				<updated>2012-05-22T05:19:16Z</updated>
		
		<summary type="html">&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;
: '''Часть 1:''' Ище­те ра­бо­ту, свя­зан­ную с Linux? Са­ди­тесь за пер­вую пар­ту и впи­ты­вай­те ин­фор­ма­цию, не­об­хо­ди­мую для по­лу­че­ния сер­ти­фи­ка­та LPI. Те­ма уро­ка – же­ле­зо.&lt;br /&gt;
&lt;br /&gt;
Как про­де­мон­ст­ри­ро­вать, что вы хо­ро­шо знае­те Linux? Дру­зей и род­ных убе­дить нетруд­но: най­ди­те ко­го-нибудь с ком­пь­ю­те­ром под Linux, вы­полните па­ру хит­ро­ум­ных дей­ст­вий в команд­ной стро­ке, и они незамедлительно ре­шат, что вы – это го­ло­ва. Но ра­бо­то­да­те­ли не столь до­вер­чи­вы. По ре­зю­ме, со­про­во­ди­тель­но­му пись­му или ин­тер­вью они не обя­за­тель­но со­чтут, что у вас в моз­гу есть по­лез­ная ин­фор­ма­ция по управ­лению па­ке­та­ми, про­цес­сом за­груз­ки Linux и т. д. Им нуж­ны вес­кие сви­де­тель­ст­ва.&lt;br /&gt;
&lt;br /&gt;
===Сер­ти­фи­ци­ро­ван = воо­ру­жен===&lt;br /&gt;
&lt;br /&gt;
К сча­стью, в ми­ре Linux для это­го есть пре­крас­ная схе­ма – сер­ти­фи­ка­ция LPI. LPI – со­кра­щение от “Linux Professional Institute (Про­фес­сио­наль­ный ин­сти­тут Linux)”; это неком­мер­че­­ская ор­ганиза­ция, ор­ганизо­вы­ваю­щая эк­за­ме­ны на ква­ли­фи­ка­цию для тех, кто ра­бо­та­ет с Linux. Су­ще­ст­ву­ет три уров­ня сер­ти­фи­ка­ции; пер­вый из них ох­ва­ты­ва­ет об­щее сис­тем­ное ад­минист­ри­ро­вание, вклю­чая на­строй­ку ап­па­рат­ной час­ти, ра­бо­ту в команд­ной стро­ке, управ­ление про­цес­са­ми и ра­бо­ту с па­ке­та­ми. &lt;br /&gt;
&lt;br /&gt;
В дан­ной се­рии уро­ков мы на­чиним вас всем необ­хо­ди­мым для сда­чи эк­за­ме­на LPI 101, ко­то­рый по­ка­жет, что вы спо­соб­ны по­за­бо­тить­ся о ком­пь­ю­те­рах Linux в бизнес-ок­ру­жении. Ес­ли вы уже ра­бо­тае­те в Linux, кое-что по­ка­жет­ся вам зна­ко­мым, но все-та­ки про­бе­ги­тесь по этой ста­тье – вы мо­же­те уз­нать нечто но­вое.&lt;br /&gt;
&lt;br /&gt;
===Век жи­ви — век учись===&lt;br /&gt;
&lt;br /&gt;
Здесь так­же сто­ит от­ме­тить, что LPI ста­ра­ет­ся фор­ми­ро­вать учеб­ные ма­те­риа­лы на осно­ве кон­сер­ва­тив­ных, су­ще­ст­вую­щих дол­гое вре­мя ди­ст­ри­бу­ти­вов, ко­то­рые не со­тря­са­ет ре­во­лю­ция ка­ж­дые шесть ме­ся­цев. Хо­ро­ший при­мер – Red Hat Enterprise Linux (RHEL), но он неде­шев, по­это­му восполь­зу­ем­ся CentOS – сво­бод­ной сбор­кой RHEL; это пре­крас­ная осно­ва для обу­чения. Еще один от­лич­ный ва­ри­ант – Debian, ко­то­рый ста­ра­ет­ся при­дер­жи­вать­ся стан­дар­тов и оста­ет­ся ста­биль­ным мно­гие го­ды. Здесь мы восполь­зу­ем­ся CentOS 5.5.&lt;br /&gt;
&lt;br /&gt;
Итак, хватить болтать – при­сту­пим! На дан­ном уро­ке мы займемся ап­па­рат­ной час­тью, и я рас­ска­жу, как уз­нать, что за устрой­ст­ва есть в сис­те­ме, как вклю­чить/от­клю­чить драй­ве­ры, и т. д.&lt;br /&gt;
&lt;br /&gt;
===Раз­дел 1: По­лу­ча­ем спи­сок уст­ройств===&lt;br /&gt;
&lt;br /&gt;
Ком­пь­ю­те­ры – да­же сей­час – уст­рой­ст­ва очень слож­ные; сна­ру­жи они ста­ра­ют­ся вы­гля­деть со­вре­мен­но, но внут­ри все еще пря­чут­ся ар­те­фак­ты из вось­ми­де­ся­тых. К сча­стью, в от­кры­тых сис­те­мах, по­доб­ных Linux, есть все необ­хо­ди­мые ин­ст­ру­мен­ты для по­лу­чения под­роб­ной ин­фор­ма­ции о внут­ренних и пе­ри­фе­рий­ных уст­рой­ст­вах. Начнем с ка­та­ло­гов '''/proc''' и '''/sys'''. Это не на­стоя­щие, «ма­те­ри­аль­ные» ка­та­ло­ги, как ваш ка­та­лог '''home''', а вир­ту­аль­ные, соз­дан­ные ядром и со­дер­жа­щие ин­фор­ма­цию о за­пу­щен­ных про­цес­сах и ап­па­рат­ных уст­рой­ст­вах. За­чем они нуж­ны? Ну, '''/proc''' пре­достав­ля­ет ин­фор­ма­цию пре­иму­ще­ст­вен­но о про­цес­сах (то есть про­грам­мах, вы­пол­няю­щих­ся в сис­те­ме), а '''/sys''' — об ап­па­рат­ных уст­рой­ст­вах. Но кое-где они пе­ре­се­ка­ют­ся.&lt;br /&gt;
&lt;br /&gt;
====Болт­ли­вый ''lscpi''====&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF142_73_1.jpg|300px]] Вы­вод ко­ман­ды ''lspci'', пе­ре­чис­ляю­щий уст­рой­ст­ва внут­ри ком­пь­ю­те­ра.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Боль­шин­ст­во внут­ренних уст­ройств ком­пь­ю­те­ра под­клю­че­но к сис­те­ме пе­ре­да­чи дан­ных, ко­то­рая на­зы­ва­ет­ся ши­ной PCI. В ста­рых ди­ст­ри­бу­ти­вах ин­фор­ма­цию об уст­рой­ст­вах мож­но по­лу­чить ко­ман­дой ''cat /proc/pci'', но в бо­лее но­вых это­т фай­л отсутствует. Вме­сто него мож­но за­гля­нуть в '''/sys/bus/pci/devices''' – впро­чем, знай­те, что эта ин­фор­ма­ция не пред­на­зна­че­на для нас, про­стых смерт­ных. Мы луч­ше об­ра­тим­ся к ко­ман­де ''/sbin/lspci''&lt;br /&gt;
&lt;br /&gt;
От­крой­те тер­ми­нал, вы­брав пункт ме­ню '''Applications &amp;gt; Accessories &amp;gt; Terminal''' ('''При­ло­жения &amp;gt; Стан­дарт­ные &amp;gt; Тер­ми­нал'''), и пе­ре­клю­чи­тесь на поль­зо­ва­те­ля root (ад­минист­ра­тор) ко­ман­дой ''su''. За­тем вы­полните при­ве­ден­ную вы­ше ко­ман­ду – и по­лу­чи­те спи­сок всех уст­ройств на шине PCI, как по­ка­за­но на ри­сун­ке спра­ва.&lt;br /&gt;
&lt;br /&gt;
Вы долж­ны уви­деть свою ви­део­кар­ту, Ethernet-адап­тер и про­чие уст­рой­ст­ва. Для по­лу­чения бо­лее под­роб­ной ин­фор­ма­ции до­бавь­те к ко­ман­де ключ '''–vv''' (де­фис v v), и вы­ве­дет­ся ин­фор­ма­ция о пре­ры­ваниях или пор­тах вво­да/вы­во­да. Для но­вич­ков в ми­ре ком­пь­ю­тер­но­го обо­ру­до­вания: пре­ры­вания – по су­ти, спо­соб, с по­мо­щью ко­то­ро­го уст­рой­ст­во про­сит про­цес­сор об­слу­жить его; на­при­мер, зву­ко­вая кар­та со­об­ща­ет сис­те­ме, что она за­вер­ши­ла некую опе­ра­цию. А пор­ты вво­да/вы­во­да пред­на­зна­че­ны для пе­ре­да­чи дан­ных к уст­рой­ст­ву и от него.&lt;br /&gt;
&lt;br /&gt;
Чис­ло пре­ры­ваний (IRQ) у ком­пь­ю­те­ра ог­раниче­но. Когда у боль­шин­ст­ва ком­пь­ю­те­ров бы­ли толь­ко монитор и кла­виа­ту­ра, пре­ры­ваний вполне хва­та­ло; се­го­дня это­го ма­ло. Сле­до­ва­тель­но, пре­ры­вания мож­но раз­де­лить ме­ж­ду уст­рой­ст­ва­ми. Вам не при­дет­ся во­зить­ся с пре­ры­вания­ми и пор­та­ми вво­да/вы­во­да – эти вре­ме­на, к сча­стью, дав­но про­шли – но вы всегда мо­же­те по­лу­чить де­таль­ный спи­сок ис­поль­зуе­мых ре­сур­сов по все ­той же ко­ман­де ''lspci -vv''. У ко­ман­ды ''lspci'' есть и дру­гие оп­ции, и о них мо­жно уз­нать бо­лее под­роб­но на man-странице ко­ман­ды (''man lspci'').&lt;br /&gt;
&lt;br /&gt;
===Раз­дел 2: Мо­ду­ли драй­ве­ров===&lt;br /&gt;
&lt;br /&gt;
А ес­ли нуж­но от­клю­чить уст­рой­ст­­во? Для на­ча­ла оп­ре­де­ли­те, что же его вклю­ча­ет: най­ди­те драй­вер уст­рой­ст­­ва. В Linux при ком­пи­ля­ции яд­ра драй­ве­ры мо­гут ак­ти­ви­ро­вать­ся дву­мя спо­со­ба­ми. Сбор­щик ди­ст­ри­бу­ти­ва мо­жет ли­бо внедрить их в са­мо яд­ро, ли­бо сде­лать от­дель­ны­ми мо­ду­ля­ми, ко­то­рые яд­ро бу­дет за­гру­жать при необ­хо­ди­мо­сти. Обыч­но ис­поль­зу­ет­ся по­следний под­ход, так как он умень­ша­ет раз­ме­ры яд­ра, уско­ря­ет за­груз­ку и де­ла­ет ОС го­раз­до бо­лее гиб­кой.&lt;br /&gt;
&lt;br /&gt;
Мо­ду­ли яд­ра на­хо­дят­ся в ка­та­ло­ге '''/lib/modules/&amp;lt;kernelversion&amp;gt;/kernel'''. Это фай­лы ''KO'', и, как вы уви­ди­те, они раз­би­ты по ка­та­ло­гам: для зву­ко­вой сис­те­мы, фай­ло­вой сис­те­мы ('''fs''') и т. д. Зай­дя в под­ка­та­лог '''Drivers''', вы уви­ди­те до­полнитель­ные ка­те­го­рии мо­ду­лей. Важ­но раз­ли­чать па­рал­лель­ные и по­сле­до­ва­тель­ные уст­рой­ст­­ва. В пе­рвых дан­ные пе­ре­сы­ла­ют­ся боль­ши­ми пор­ция­ми, как у же­ст­ких дис­­ков, тогда как вто­рые – к ним от­но­сят­ся мышь или по­сле­до­ва­тель­ные пор­ты – пе­ре­сы­ла­ют байт или око­ло то­го в единицу вре­мени.&lt;br /&gt;
&lt;br /&gt;
Яд­ро Linux – ум­ное, и оно мо­жет за­гру­жать мо­ду­ли при об­на­ру­жении оп­ре­де­лен­ных уст­ройств. На са­мом де­ле, оно мо­жет за­гру­жать мо­ду­ли по тре­бо­ванию при под­клю­чении USB-уст­ройств – но к USB мы пе­рей­дем чуть поз­же. А по­ка зай­мем­ся управ­лением мо­ду­ля­ми. Что­бы по­лу­чить спи­сок всех мо­ду­лей, за­гру­жен­ных в дан­ный мо­мент ядром, вы­полните та­кую ко­ман­ду под поль­зо­ва­те­лем root:&lt;br /&gt;
&lt;br /&gt;
 lsmod&lt;br /&gt;
&lt;br /&gt;
Уч­ти­те, что в неко­то­рых ди­ст­ри­бу­ти­вах, на­при­мер, CentOS, мо­жет возник­нуть необ­хо­ди­мость пред­ва­рить ко­ман­ду пре­фик­сом '''/sbin/''', т. е. указывать полный путь к команде '''/sbin/lsmod'''. По­ка­зан­ный спи­сок бу­дет сво­им для ка­ж­дой сис­те­мы, в за­ви­си­мо­сти от уста­нов­лен­ных уст­ройств.&lt;br /&gt;
&lt;br /&gt;
====Ты зна­ешь мое имя====&lt;br /&gt;
&lt;br /&gt;
На­звания ря­да мо­ду­лей, та­кие как '''cdrom''' и '''battery''', го­во­рят са­ми за се­бя. Для неко­то­рых мо­ду­лей в пра­вом столб­це бу­дет по­ка­зан спи­сок ис­поль­зую­щих их мо­ду­лей ('''Used By'''). Это ана­лог за­ви­си­мо­стей из ми­ра управ­ления па­ке­та­ми: он оп­ре­де­ля­ет, ка­кие мо­ду­ли необ­хо­ди­мо за­гру­зить за­ранее пе­ред вы­зо­вом дан­но­го модуля.&lt;br /&gt;
&lt;br /&gt;
А мо­ду­ли с за­га­доч­ны­ми име­на­ми? Что имен­но они де­ла­ют? Здесь на сце­ну вы­хо­дит ко­ман­да ''modinfo''. На­при­мер, чем по жизни занима­ет­ся мо­дуль '''dm_mod''' – де­ло тем­ное; но, за­пустив ко­ман­ду&lt;br /&gt;
&lt;br /&gt;
 /sbin/modinfo dm_mod&lt;br /&gt;
&lt;br /&gt;
мы по­лу­чим мас­су ин­фор­ма­ции – по боль­шей час­ти техниче­­ской, но в стро­ке «Опи­сание» ('''Description''') ко­рот­ко по­яс­ня­ет­ся, что де­ла­ет мо­дуль. К со­жа­лению, не у всех мо­ду­лей в этой стро­ке есть что-то по­лез­ное, но по­пы­тать­ся сто­ит.&lt;br /&gt;
&lt;br /&gt;
Как я уже го­во­рил, мно­гие мо­ду­ли за­гру­жа­ют­ся ядром ав­то­ма­ти­че­­ски. Мо­дуль мож­но за­гру­зить и при­ну­ди­тель­но, ко­ман­дой ''modprobe''. Эта ути­лит­ка от­ве­ча­ет и за за­груз­ку, и за вы­груз­ку мо­ду­лей из яд­ра, и это очень удоб­ный спо­соб вклю­чать или от­клю­чать тот или иной функ­цио­нал яд­ра на ле­ту. На­при­мер, в на­шем спи­ске мо­ду­лей мы ви­дим '''lp, parport''' и '''parport_pc'''. Они пред­на­зна­че­ны для прин­те­ров, под­клю­чен­ных к па­рал­лель­но­му пор­ту, ко­то­рым ныне ед­ва ли кто-то поль­зу­ет­ся – от­клю­чи­те этот функ­цио­нал, что­бы ос­во­бо­дить не­мно­го па­мя­ти, ко­ман­дой:&lt;br /&gt;
&lt;br /&gt;
 /sbin/modprobe -r lp parport_pc parport&lt;br /&gt;
&lt;br /&gt;
Но в ка­ком по­ряд­ке их пе­ре­чис­лять? Это мож­но оп­ре­де­лить по упо­мя­ну­то­му вы­ше по­лю '''Used By''', по­мес­тив мо­дуль, от ко­то­ро­го за­ви­сят пер­вые два, в конец ко­ман­ды. Ита­к, вы­грузим мо­дуль прин­те­ра '''lp''', за­тем драй­вер па­рал­лель­но­го пор­та ПК '''parport_pc''', и, на­конец, об­щий драй­вер па­рал­лель­но­го пор­та '''parport'''.&lt;br /&gt;
&lt;br /&gt;
====Ко­па­ем глуб­же====&lt;br /&gt;
&lt;br /&gt;
Точ­но так же эти мо­ду­ли мож­но вер­нуть, ко­ман­дой ''modprobe'' без па­ра­мет­ров (без фла­га '''-r'''). Бла­го­да­ря сис­те­ме за­ви­си­мо­стей нуж­но ука­зать толь­ко пер­вый мо­дуль из спи­ска, а ''modprobe'' до­ба­вит ос­таль­ное:&lt;br /&gt;
&lt;br /&gt;
 /sbin/modprobe lp&lt;br /&gt;
&lt;br /&gt;
Эта ко­ман­да так­же за­гру­зит '''parport_pc''' и '''parport''', в чем мы смо­жем убе­дить­ся, вы­полнив ко­ман­ду ''lsmod''.&lt;br /&gt;
&lt;br /&gt;
Хо­тя Linux обыч­но с боль­шим ап­лом­бом об­ра­ба­ты­ва­ет мо­ду­ли ав­то­ма­ти­че­­ски, иногда по­лез­но немно­го по­уча­ст­во­вать в про­цес­се вруч­ную. Тут нам по­мо­жет файл '''/etc/modprobe.conf'''. Пер­вые свер­ху – алиа­сы, со­кра­щения для спи­ска мо­ду­лей. На­при­мер, вы за­хо­те­ли вклю­чать и от­клю­чать зву­ко­вую кар­ту вруч­ную, но вам лень за­по­ми­нать, ка­кой мо­дуль она ис­поль­зу­ет. То­гда до­бавь­те та­кую стро­ку с алиа­сом ('''alias'''):&lt;br /&gt;
&lt;br /&gt;
 alias sound snd-ens1371&lt;br /&gt;
&lt;br /&gt;
Те­перь мож­но про­сто вве­сти ко­ман­ду ''modprobe sound'', и зву­ко­вая кар­та за­ра­бо­та­ет, не бе­ря в го­ло­ву на­звание кон­крет­но­го драй­ве­ра. По та­кой схе­ме мож­но унифи­ци­ро­вать ко­ман­ды, ис­поль­зуе­мые на раз­ных ком­пь­ю­те­рах. Так­же есть ко­ман­да '''options''', ко­то­рой мож­но пе­ре­дать па­ра­мет­ры на­стро­йки мо­ду­ля. Уз­нать, ка­кие оп­ции доступ­ны для кон­крет­но­го мо­ду­ля, поможет ко­ман­да ''modinfo'' (как в про­шлый раз): най­ди­те в ее вы­во­де раз­де­лы '''parm'''.&lt;br /&gt;
&lt;br /&gt;
На­при­мер, ско­ман­до­вав ''modinfo snd-intel8x0'', мы уви­дим на­бор раз­де­лов parm с доступ­ны­ми оп­ция­ми для мо­ду­ля этой зву­ко­вой кар­ты. Один из них – '''index'''. В фай­ле '''/etc/modprobe.conf''' в на­шей CentOS на ''VirtualBox'' он вы­гля­дит так:&lt;br /&gt;
&lt;br /&gt;
 options snd-intel8x0 index=0&lt;br /&gt;
&lt;br /&gt;
====Поль­зо­ва­тель­ские ко­ман­ды====&lt;br /&gt;
&lt;br /&gt;
На­конец, у нас есть ко­ман­ды '''install''' и '''remove'''. Они об­ла­да­ют ре­аль­ной мо­щью – с ними вы мо­же­те за­ме­нять одни ко­ман­ды дру­ги­ми. На­при­мер, в на­шей CentOS на ''VirtualBox'' мы ви­дим:&lt;br /&gt;
&lt;br /&gt;
 remove snd-intel8x0 { /usr/bin/alsactl store 0…&lt;br /&gt;
&lt;br /&gt;
Пол­но­стью стро­ка го­раз­до длиннее, но по су­ти она оз­на­ча­ет: «Когда поль­зо­ва­тель или сис­те­ма вы­пол­ня­ет ко­ман­ду ''modprobe -r snd-intel8x0'', вы­полнить вме­сто нее дру­гую ко­ман­ду, на­чи­наю­щую­ся с ''alsactl'', ути­ли­ты управ­ления гром­ко­стью». Так мож­но вы­полнять опе­ра­ции очи­ст­ки и вхо­да в сис­те­му пе­ред фак­ти­че­­ским уда­лением мо­ду­ля.&lt;br /&gt;
&lt;br /&gt;
Что­бы пол­но­стью за­пре­тить за­груз­ку мо­ду­ля, про­сто соз­дай­те для него али­ас '''off''' в '''/etc/modprobe.conf''':&lt;br /&gt;
&lt;br /&gt;
 alias parport off&lt;br /&gt;
&lt;br /&gt;
Эта ко­ман­да за­пре­тит все по­сле­дую­щие за­груз­ки мо­ду­ля и, сле­до­ва­тель­но, со­от­вет­ст­вую­ще­го ап­прат­но­го уст­рой­ст­ва.&lt;br /&gt;
&lt;br /&gt;
====Что та­кое /dev?====&lt;br /&gt;
&lt;br /&gt;
Од­на из основ­ных кон­цеп­ций Unix, а сле­до­ва­тель­но, и Linux, со­сто­ит в том, что всё на све­те – это файл. Не толь­ко до­ку­мен­ты и изо­бра­жения, но и уст­рой­ст­ва. По­на­ча­лу это оза­да­чи­ва­ет: ну как пред­ста­вить уст­рой­ст­во в ви­де фай­ла? Но на фун­да­мен­таль­ном уровне тут есть смысл. Файл – это нечто для счи­ты­вания и за­пи­си дан­ных. То же вер­но для фи­зи­че­­ско­­го уст­рой­ст­ва, та­ко­го как же­ст­кий диск: с него мож­но счи­ты­вать бай­ты дан­ных, и на него мож­но их за­пи­сы­вать. Од­на­ко су­ще­ст­ву­ют уст­рой­ст­ва (на­при­мер, генера­то­ры слу­чай­ных чи­сел), обыч­но ра­бо­таю­щие толь­ко в од­ном на­прав­лении – счи­ты­вать с них мож­но, а за­пи­сы­вать на них нель­зя.&lt;br /&gt;
&lt;br /&gt;
Ка­та­лог '''/dev''' со­дер­жит уз­лы уст­ройств [device nodes] – фай­лы, пред­став­ляю­щие уст­рой­ст­ва. На­при­мер, '''/dev/dvd''' – это ваш при­вод DVD-ROM. С дис­ком в при­во­де мож­но на­брать ''cat /dev/dvd'', и он скинет дво­ич­ные дан­ные на тер­ми­нал. Фай­лы уст­ройств соз­да­ют­ся ядром ав­то­ма­ти­че­­ски, и неко­то­рые из них рас­по­ла­га­ют­ся в под­ка­та­ло­гах, та­ких как '''snd''' (зву­ко­вые кар­ты/пла­ты), '''input''' (мышь) и т. д. Есть уст­рой­ст­во '''/dev/null''', ко­то­рое про­сто по­жи­ра­ет дан­ные и унич­то­жа­ет их – им мож­но восполь­зо­вать­ся для пе­ре­на­прав­ления вы­во­да ко­ман­ды в нику­да, что­бы он не ото­бра­жал­ся на эк­ране. Су­ще­ст­ву­ет уст­рой­ст­во '''/dev/mem''', это уст­рой­ст­во для опе­ра­тив­ной па­мя­ти ком­пь­ю­те­ра. Ко­ман­да ''strings /dev/mem | less'' – пре­крас­ный спо­соб уви­деть, чем сей­час за­би­ты мик­ро­схе­мы ва­ше­го ОЗУ.&lt;br /&gt;
&lt;br /&gt;
====Что та­кое HAL, udev, D-Bus?====&lt;br /&gt;
&lt;br /&gt;
Ок­ру­же­ние ра­бо­че­го сто­ла, та­кое как Gnome или KDE, аб­ст­ра­ги­ру­ет­ся от под­роб­но­стей управ­ле­ния уст­рой­ст­ва­ми. Ну зачем опыт­ным про­грам­ми­стам Gnome, ра­бо­таю­щим над при­ло­же­ни­ем для управ­ле­ния фо­то­гра­фия­ми, пи­сать код, ко­то­рый от­пра­вит не­сколь­ко байт по USB-ка­бе­лю в ка­ме­ру? Они желают, что­бы это дей­ст­вие об­ра­бо­та­ла ОС. В этом есть смысл, и это по­зво­ля­ет за­пус­кать Gnome в дру­гих ОС. Эта аб­ст­рак­ция рань­ше пре­дос­тав­ля­лась де­мо­ном ''HAL'' (слой ап­па­рат­ной аб­ст­рак­ции), но по­том его за­ме­нил ''udev'', фо­но­вый про­цесс, ко­то­рый соз­да­ет фай­лы уст­ройств в '''/dev''' и взаи­мо­дей­ст­ву­ет с уст­рой­ст­ва­ми.&lt;br /&gt;
&lt;br /&gt;
Как про­грам­мы взаи­мо­дей­ст­ву­ют с ''udev''? В ос­нов­ном че­рез ''D-Bus'', сис­те­му меж­про­цесс­ной ком­му­ни­ка­ции (IPC): че­рез нее про­грам­мы мо­гут от­прав­лять со­об­ще­ния друг дру­гу. На­при­мер, ра­бо­чий стол мо­жет по­про­сить ''D-Bus'' со­об­щить ему о под­клю­че­нии но­вых уст­ройств. Ко­гда поль­зо­ва­тель встав­ля­ет уст­рой­ст­во, ''D-Bus'' уз­на­ет об этом от ''udev'' и за­тем ин­фор­ми­ру­ет ра­бо­чий стол, и тот мо­жет от­крыть диа­ло­го­вое ок­но или за­пус­тить при­ло­же­ние.&lt;br /&gt;
&lt;br /&gt;
===Раз­дел 3: Пе­ри­фе­рий­ные уст­рой­ст­ва USB===&lt;br /&gt;
&lt;br /&gt;
Ес­ли бы эта ста­тья пи­са­лась в се­ре­дине де­вя­но­стых, нам бы при­шлось вклю­чать длин­ные раз­де­лы с опи­санием раз­лич­ных пор­тов на задней стен­ке сис­тем­но­го бло­ка. PS/2, AUX, по­сле­до­ва­тель­ный порт, па­рал­лель­ный порт… поч­ти для ка­ж­до­го уст­рой­ст­ва тре­бо­вал­ся соб­ст­вен­ный разъ­ем, и все бы­ло неве­ро­ят­но за­пу­та­но. К сча­стью, бла­го­да­ря USB (Universal Serial Bus – универ­саль­ная по­сле­до­ва­тель­ная ши­на) се­го­дня все го­раз­до про­ще – поч­ти на ка­ж­дом на­столь­ном ком­пь­ю­те­ре, вы­пу­щен­ном в по­следние де­сять лет, есть по крайней ме­ре один USB-порт. Спе­ци­фи­ка­ция то­же не сто­ит на мес­те: USB 2.0 и 3.0 на­ра­щи­ва­ют ско­ро­сти, что­бы кон­ку­ри­ро­вать с дру­ги­ми сис­те­ма­ми под­клю­чения – например, FireWire.&lt;br /&gt;
&lt;br /&gt;
При под­клю­чении USB-уст­рой­ст­ва яд­ро сна­ча­ла оп­ра­ши­ва­ет его, что­бы оп­ре­де­лить, к ка­ко­му клас­су оно при­над­ле­жит. Уст­рой­ст­ва USB под­раз­де­ля­ют­ся на эти клас­сы для уп­ро­щения раз­ра­бот­ки драй­ве­ров. Су­ще­ст­ву­ют клас­сы для ау­диоуст­ройств, прин­те­ров, web-ка­мер, манипу­ля­то­ров (мы­шей, кла­виа­тур, джой­сти­ков) и т. д. Есть да­же спе­ци­аль­ный класс, за­да­вае­мый про­из­во­ди­те­лем и пред­на­зна­чен­ный для осо­бых уст­ройств, ко­то­рые не по­па­да­ют ни в од­ну из обыч­ных ка­те­го­рий, и, сле­до­ва­тель­но, для их ра­бо­ты нуж­ны спе­ци­аль­ные драй­ве­ры.&lt;br /&gt;
&lt;br /&gt;
====ls + usb = ''lsusb''====&lt;br /&gt;
&lt;br /&gt;
В Linux пре­крас­ная под­держ­ка USB, и есть мно­же­ст­во ути­лит, по­мо­гаю­щих ад­минист­ра­то­ру по­нять, что тво­рит­ся «за ку­ли­са­ми». Пре­ж­де все­го, так как USB-кон­трол­лер обыч­но на­хо­дит­ся на шине USB, ин­фор­ма­цию о нем мож­но по­лу­чить с по­мо­щью на­шей вер­ной ко­ман­ды ''lspci'':&lt;br /&gt;
&lt;br /&gt;
 /sbin/lspci | grep -i usb&lt;br /&gt;
&lt;br /&gt;
Здесь мы бе­рем вы­вод ко­ман­ды ''lspci'' и пе­ре­на­прав­ля­ем его ути­ли­те ''grep'', что­бы най­ти все вхо­ж­дения сло­ва “USB” в верхнем или нижнем ре­ги­ст­ре. Не пу­гай­тесь, ес­ли вам не зна­ко­мы пе­ре­на­прав­ление и ''grep'' – мы по­го­во­рим о команд­ной стро­ке на дальней­ших уро­ках. Сей­час доста­точ­но знать, что эта ко­ман­да фильт­ру­ет вы­вод ''lspci'', вы­де­ляя толь­ко стро­ки с ин­фор­ма­ци­ей о USB.&lt;br /&gt;
&lt;br /&gt;
По­сле вы­полнения ко­ман­ды на эк­ране поя­вят­ся несколь­ко строк, со­об­щаю­щих тип и из­го­то­ви­те­ля ва­ше­го кон­трол­ле­ра USB. Это мо­жет немно­го сби­вать с тол­ку, но су­ще­ст­ву­ет два ти­па стан­дарт­ных кон­трол­ле­ров для USB 1: '''UHCI''' и '''OHCI'''. USB 2.0 со­от­вет­ст­ву­ет кон­трол­лер ти­па '''EHCI''', ко­то­рый на­хо­дит­ся над одним из пе­ре­чис­лен­ных в ие­рар­хии. Вам нече­го бес­по­ко­ить­ся об этих раз­ли­чи­ях – яд­ро об­ра­ба­ты­ва­ет их са­мо­стоя­тель­но, но знай­те, что в ми­ре USB есть неболь­шое раз­де­ление. &lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF142_75_1.jpg|300px]] Под­роб­ный вы­вод ко­ман­ды ''lsusb -v''.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Су­ще­ст­ву­ет ко­ман­да, по­доб­ная ''lspci'', ко­то­рая вы­во­дит спи­сок всех уст­ройств, под­клю­чен­ных к на­ше­му USB-кон­трол­ле­ру:&lt;br /&gt;
&lt;br /&gt;
 /sbin/lsusb&lt;br /&gt;
&lt;br /&gt;
Са­ма по се­бе эта ко­ман­да мно­го ин­фор­ма­ции не да­ет – толь­ко спи­сок но­ме­ров пор­тов и их по­ло­жение на шине USB. Вы­вод ко­ман­ды мож­но сде­лать чуть бо­лее осмыс­лен­ным, до­ба­вив ключ '''-t''', тогда спи­сок уст­ройств при­мет дре­во­вид­ный фор­мат, и вы смо­же­те уви­деть, ка­кое уст­рой­ст­во к ка­ко­му под­клю­че­но. А до­ба­вив ключ '''-v''', мы по­лу­чим го­раз­до бо­лее под­роб­ный ре­зуль­тат, как по­ка­за­но на ри­сун­ке справа.&lt;br /&gt;
&lt;br /&gt;
По­смот­ри­те на ре­зуль­тат, и вы уви­ди­те ин­фор­ма­цию и о USB-кон­трол­ле­ре, и об уст­рой­ст­вах, под­клю­чен­ных к ком­пь­ю­те­ру. Ес­ли вас тянет на при­клю­чения, зай­ди­те в ка­та­лог '''/sys/bus/usb/devices''', и уви­ди­те для ка­ж­до­го уст­рой­ст­ва ка­та­лог, в ко­то­ром на­хо­дят­ся фай­лы, со­дер­жа­щие на­име­но­вание про­из­во­ди­те­ля, ско­рость, мак­си­маль­ное энер­го­по­треб­ление и т. д.&lt;br /&gt;
&lt;br /&gt;
Как уже го­во­ри­лось, мо­ду­ли яд­ра – тра­ди­ци­он­ный спо­соб под­держ­ки уст­ройств ядром Linux. Это вер­но и для USB. На­при­мер, по­про­буй­те вы­полнить сле­дую­щую ко­ман­ду:&lt;br /&gt;
&lt;br /&gt;
 /sbin/lsmod | grep hci&lt;br /&gt;
&lt;br /&gt;
На на­шем ком­пь­ю­те­ре она по­ка­зы­ва­ет, что яд­ро за­гру­зи­ло мо­дуль для кон­трол­ле­ра OHC и мо­дуль для под­держ­ки EHCI USB 2.0.&lt;br /&gt;
&lt;br /&gt;
====''Dmesg'' со­об­ща­ет====&lt;br /&gt;
&lt;br /&gt;
Хо­ро­ший спо­соб оп­ре­де­лить, как яд­ро рас­по­зна­ет USB-уст­рой­ст­во – ко­ман­да ''dmesg''. Она вы­да­ет спи­сок со­об­щений, сгенери­ро­ван­ных ядром с на­ча­ла за­груз­ки сис­те­мы. За­пусти­те ''dmesg'', под­клю­чи­те USB-уст­рой­ст­во, по­до­ж­ди­те па­ру се­кунд, что­бы уст­рой­ст­во рас­по­зна­лось, и сно­ва за­пусти­те ''dmesg'', от­ме­тив раз­ли­чия. В кон­це вы­во­да ''dmesg'' поя­вят­ся дополнительные со­об­щения, оз­на­чаю­щие, что яд­ро (бу­дем на­де­ять­ся) рас­по­зна­ло уст­рой­ст­во и ак­ти­ви­ро­ва­ло его.&lt;br /&gt;
&lt;br /&gt;
====За­груз­ка без «же­ле­за»====&lt;br /&gt;
&lt;br /&gt;
Мы при­вык­ли уста­нав­ли­вать Linux на ком­пь­ю­те­ры со всей необ­хо­ди­мой пе­ри­фе­ри­ей: кла­виа­ту­рой, монито­ром и мы­шью. На­вер­ное, мож­но обой­тись без мы­ши, ес­ли вам зна­ко­мы нуж­ные ком­би­на­ции кла­виш для кон­крет­но­го ди­ст­ри­бу­ти­ва, но осталь­ное ка­жет­ся обя­за­тель­ным. Но так ли это? В сер­вер­ной сре­де, когда ком­пь­ю­тер мо­жет быть смон­ти­ро­ван на стой­ке, и доступ к нему по­лу­чить труд­но, мо­жет возник­нуть необ­хо­ди­мость в уста­нов­ке Linux без этих пе­ри­фе­рий­ных уст­ройств – и здесь в де­ло всту­па­ет уста­нов­ка по се­ти.&lt;br /&gt;
&lt;br /&gt;
Вол­шеб­ст­во это­го ме­то­да за­клю­ча­ет­ся в '''PXE''' (Preboot Execution Environment – сре­да вы­полнения пе­ред за­груз­кой). Это оп­ре­де­лен­ная про­шив­ка на ком­пь­ю­те­ре, ко­то­рая сканиру­ет сеть в по­ис­ках '''NBP''' (Network Bootstrap Program – про­грам­ма на­чаль­ной за­груз­ки по се­ти), ко­то­рую она за­тем за­гру­жа­ет и ис­пол­ня­ет. Для ра­бо­ты этой схе­мы в се­ти долж­ны функ­циониро­вать DHCP- и TFTP-сер­ве­ры; на TFTP-сер­ве­ре долж­ны на­хо­дить­ся под­хо­дя­щие за­гру­зоч­ные фай­лы ди­ст­ри­бу­ти­ва.&lt;br /&gt;
&lt;br /&gt;
Ес­ли в ва­шей '''BIOS''' отсутствует под­дер­жка '''PXE''', сущест­вует дру­гая воз­мож­ность – за­груз­ка че­рез USB. С USB-флэш­ки вы мож­ете за­пустить за­ча­точ­ную вер­сию Linux, ко­то­рая за­тем скачает бо­лее со­лид­ную вер­сию из Интернета. Под­роб­ное ру­ко­во­дство вы най­де­те на сай­те жур­на­ла, род­ст­вен­но­го нашему – PC Plus http://tinyurl.com/linpxeboot.&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>