<?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>LXF144:Linux Training - История изменений</title>
		<link>http://wiki2.linuxformat.ru/index.php?title=LXF144:Linux_Training&amp;action=history</link>
		<description>История изменений этой страницы в вики</description>
		<language>ru</language>
		<generator>MediaWiki 1.11.1</generator>
		<lastBuildDate>Thu, 14 May 2026 05:20:17 GMT</lastBuildDate>
		<item>
			<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF144:Linux_Training&amp;diff=14363&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;
==Майк Сон­дерс ве­дет тре­нин­ги Linux==&lt;br /&gt;
&lt;br /&gt;
{{Цикл/LinuxTraining}}&lt;br /&gt;
&lt;br /&gt;
: '''Часть 4''': На этом за­ня­тии мы по­го­во­рим о том, с чем при­хо­дит­ся иметь де­ло всем ад­ми­ни­ст­ра­то­рам: управ­ле­ние па­ке­та­ми. Чи­тай­те даль­ше, что­бы уз­нать, как управ­лять па­ке­та­ми RPM и Deb.&lt;br /&gt;
&lt;br /&gt;
Ус­та­но­вить про­грам­му в Linux – па­ра пустя­ков, вер­но? Про­сто за­пускае­те лю­би­мый гра­фи­че­­ский брау­зер, ста­ви­те га­лоч­ки на­про­тив нуж­ных при­ло­жений, и они вол­шеб­ным об­ра­зом за­гру­жа­ют­ся из Ин­тернета и уста­нав­ли­ва­ют­ся. Боль­шин­ст­ву поль­зо­ва­те­лей это­го и доста­точ­но; но тем, кто на­ме­рен когда-нибудь стать на­стоя­щим си­сад­ми­ном, нуж­но знать прие­мы управ­ления па­ке­та­ми в команд­ной стро­ке до­тош­но. (За­меть­те: под­роб­ный рас­сказ о ко­мад­ной стро­ке ждет нас поз­же, сей­час мы со­сре­до­то­чим­ся лишь на несколь­ких ути­ли­тах.)&lt;br /&gt;
&lt;br /&gt;
Ес­ли вы но­ви­чок в ми­ре Linux, сто­ит ска­зать о том, что та­кое па­кет. Во­об­ще-то это сжа­тый файл, ко­то­рый рас­па­ко­вы­ва­ет­ся в несколь­ко фай­лов и ка­та­ло­гов. Мно­гие па­ке­ты со­дер­жат про­грам­мы, неко­то­рые – ри­сун­ки и до­ку­мен­та­цию. Боль­шие про­ек­ты (ти­па KDE) раз­би­ва­ют­ся соз­да­те­ля­ми ди­ст­ри­бу­ти­вов на несколь­ко па­ке­тов, что­бы при ис­прав­лении ошиб­ки в од­ной ма­лень­кой про­грам­ме вам не при­шлось по­втор­но за­гру­жать весь ра­бо­чий стол.&lt;br /&gt;
&lt;br /&gt;
Но в це­лом па­ке­ты уст­рое­ны сложнее обыч­ных ар­хи­вов. На­при­мер, они мо­гут за­ви­сеть друг от дру­га или со­дер­жать скрип­ты, за­пускае­мые при уста­нов­ке и уда­лении па­ке­тов. На соз­дание хо­ро­ше­го па­ке­та ухо­дит мас­са уси­лий, за­то это уп­ро­ща­ет жизнь поль­зо­ва­те­лям.&lt;br /&gt;
&lt;br /&gt;
===Раз­дел 1: Спо­соб Debian===&lt;br /&gt;
&lt;br /&gt;
Нач­нем с па­ке­тов Deb, из­на­чаль­но поя­вив­ших­ся в про­ек­те Debian и ны­не ис­поль­зуе­мых во мно­гих ди­ст­ри­бу­ти­вах на ос­но­ве Debian – на­при­мер, Ubuntu. Вот имя фай­ла обыч­но­го па­ке­та Debian: '''nano_2.2.4-1_i386.deb'''&lt;br /&gt;
&lt;br /&gt;
Оно со­сто­ит из пя­ти час­тей. Пер­вая – имя при­ло­жения, за ко­то­рым сле­ду­ет но­мер вер­сии ('''2.2.4'''). Сле­дую­щая циф­ра '''-1''' – это но­мер вер­сии мо­ди­фи­ка­ции па­ке­та внут­ри ди­ст­ри­бу­ти­ва, от­дель­ный от но­ме­ра вер­сии при­ло­жения. На­при­мер, ес­ли па­кет со­б­ран некор­рект­но или в нем от­сут­ст­ву­ет ка­кая-то до­ку­мен­та­ция, при по­втор­ной сбор­ке это чис­ло бу­дет уве­ли­че­но до 2, 3 и т. д. Да­лее идет '''i386''', ука­зы­ваю­щее ар­хи­тек­ту­ру про­цес­со­ра, для ко­то­рых пред­на­зна­чен па­кет, и, на­конец, суф­фикс '''.deb'''.&lt;br /&gt;
&lt;br /&gt;
Пусть вы ра­бо­тае­те в Debian 6 и у вас есть этот па­кет ''Nano'', ко­то­рый вы за­гру­зи­ли из Ин­тернета и по­мес­ти­ли в ка­та­лог '''home'''. От­крой­те тер­ми­нал, вы­брав пункт ме­ню '''При­ло­жения &amp;gt; Стан­дарт­ные &amp;gt; Тер­ми­нал''' ('''Applications &amp;gt; Accessories &amp;gt; Terminal'''), и вве­ди­те ''su'', что­бы пе­ре­клю­чить­ся на су­пер­поль­зо­ва­те­ля (ад­минист­ра­то­ра). Для уста­нов­ки па­ке­та вве­ди­те ко­ман­ду:&lt;br /&gt;
&lt;br /&gt;
 dpkg -i nano_2.2.4-1_i386.deb&lt;br /&gt;
&lt;br /&gt;
Ес­ли не возникнет слож­но­стей (на­при­мер, у вас уже сто­ит бо­лее но­вая вер­сия ''Nano'' или нет биб­лио­те­ки, от ко­то­рой он за­ви­сит), па­кет уста­но­вит­ся успеш­но, и вы смо­же­те за­пустить про­грам­му ко­ман­дой ''nano''. Есть удоб­ная ути­ли­та для уста­нов­ки од­но­го или более ранее за­гру­жен­ных па­ке­тов – ''Dpkg'': ес­ли нуж­но уста­но­вить несколь­ко па­ке­тов, ско­ман­дуй­те ''dpkg -i *.deb/'' (звез­доч­ка – осо­бый сим­вол: здесь она оз­на­ча­ет «все фай­лы с рас­ши­рением '''.deb'''»).&lt;br /&gt;
&lt;br /&gt;
Уда­лить па­кет мож­но дву­мя спо­со­ба­ми. Ко­ман­да:&lt;br /&gt;
&lt;br /&gt;
 dpkg -r nano&lt;br /&gt;
&lt;br /&gt;
уда­лит про­грам­му, но оста­вит нетро­ну­ты­ми все фай­лы на­строй­ки (в дан­ном слу­чае, '''/etc/nanorc'''). Это по­лез­но сис­тем­ным ад­минист­ра­то­рам, ко­то­рые ра­бо­та­ют с на­строй­кой – мож­но из­ба­вить­ся от па­ке­та, за­менив его бо­лее при­год­ной вер­си­ей, со­б­ран­ной из ис­ходников, но со­хранив файл на­строй­ки. Ес­ли вы хо­ти­те уда­лить все, вы­полните ко­ман­ду ''dpkg --purge nano''.&lt;br /&gt;
&lt;br /&gt;
Пред­ва­ри­тель­но за­гру­жен­ные па­ке­ты – боль­шое удоб­ст­во, но бо­лее гиб­кая аль­тер­на­ти­ва – ''apt-get''. ''APT'' – Advanced Package Tool [про­дви­ну­тая ути­ли­та управ­ления па­ке­та­ми], и ее воз­мож­но­сти вы­хо­дят за рам­ки про­стой уста­нов­ки и уда­ления па­ке­тов. Ин­те­реснее все­го то, что ''apt-get'' мо­жет за­гру­жать па­ке­ты (и их за­ви­си­мо­сти) из Ин­тернета. Ска­жем, вам ну­жен ре­дак­тор ''Vim'', но под ру­кой нет со­от­вет­ст­вую­щих па­ке­тов Deb. Вве­ди­те&lt;br /&gt;
&lt;br /&gt;
 apt-get install vim&lt;br /&gt;
&lt;br /&gt;
''APT'' до­бу­дет в Ин­тер­не­те долж­ные па­ке­ты для те­ку­щей вер­сии ди­ст­ри­бу­ти­ва и ус­та­но­вит их. Пе­ред на­ча­лом за­груз­ки да­ет­ся шанс под­твер­дить опе­ра­цию:&lt;br /&gt;
&lt;br /&gt;
 Требуется получить 7,005 kB архивов.&lt;br /&gt;
 Эта опе­ра­ция тре­бу­ет 27.6 MB дис­ко­во­го про­стран­ст­ва.&lt;br /&gt;
 Хо­ти­те про­дол­жать [Y/N]?&lt;br /&gt;
&lt;br /&gt;
Со­об­щение го­во­рит о по­след­ст­ви­ях этой опе­ра­ции для про­стран­ст­ва на же­ст­ком дис­ке (ука­зан раз­мер за­гру­жае­мо­го па­ке­та и раз­мер рас­па­ко­ван­ных фай­лов и ка­та­ло­гов). Для про­дол­жения вве­ди­те '''Y'''.&lt;br /&gt;
&lt;br /&gt;
От­ку­да ''APT'' зна­ет, где ис­кать па­ке­ты? Это мо­жет по­ка­зать­ся ка­кой-то чер­ной ма­ги­ей, но в осно­ве тут ле­жит чет­кая схе­ма – ре­по­зи­то­рии. Ре­по­зи­то­рий, по су­ти, пред­став­ля­ет со­бой раз­ме­щен­ный в се­ти струк­ту­ри­ро­ван­ный на­бор па­ке­тов для кон­крет­ной вер­сии ди­ст­ри­бу­ти­ва Linux. Ра­бо­та этих па­ке­тов в дан­ной вер­сии ди­ст­ри­бу­ти­ва бы­ла про­ве­ре­на, и все необ­хо­ди­мые за­ви­си­мо­сти вклю­че­ны. Ре­по­зи­то­рии мо­гут пред­став­лять со­бой ог­ром­ные ар­хи­вы с ты­ся­ча­ми па­ке­тов – как ре­по­зи­то­рий Debian – или неболь­шие ча­ст­ные на­бо­ры па­ке­тов, скры­тые в за­во­дях Ин­тернета.&lt;br /&gt;
&lt;br /&gt;
Так как ре­по­зи­то­рии на­хо­дят­ся в Ин­тернете, для них мож­но за­дать URL-ад­ре­са. За­гляните в файл '''/etc/apt/sources.list''' – вы уви­ди­те там стро­ки на­по­до­бие та­кой:&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Заголовок=Скорая помощь|Содержание=По­сле ус­та­нов­ки про­грамм ко­ман­дой ''apt-get install'' за­гру­жен­ные па­ке­ты со­хра­ня­ют­ся для по­втор­но­го ис­поль­зо­ва­ния в кэ­ше в ка­та­ло­ге '''/var/cache/apt/archives'''. При ус­та­нов­ке боль­ших па­ке­тов вро­де KDE он мо­жет из­ряд­но раз­бух­нуть; для его очи­ст­ки ско­ман­дуй­те ''apt-get clean''.|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
 deb http://ftp.uk.debian.org/debian/ squeeze main&lt;br /&gt;
&lt;br /&gt;
Здесь deb со­об­ща­ет ''APT'', что при­ве­ден­ный ад­рес яв­ля­ет­ся ис­точником Deb-па­ке­тов; да­лее сле­ду­ет сам ад­рес, а за ним – иден­ти­фи­ка­тор вер­сии ди­ст­ри­бу­ти­ва, в дан­ном слу­чае '''squeeze''', что оз­на­ча­ет Debian 6. За­вер­ша­ет­ся стро­ка ка­те­го­ри­ей па­ке­тов, к ко­то­рым вы хо­ти­те по­лу­чить доступ. На­при­мер, в Debian пре­ду­смот­ре­ны основ­ная ка­те­го­рия ('''main''') – для па­ке­тов, от­ве­чаю­щих при­ня­тым в ди­ст­ри­бу­ти­ве кри­те­ри­ям сво­бо­ды ПО, и ка­те­го­рия «несво­бод­ные па­ке­ты» (non-free) для менее от­кры­тых про­грамм. Это основ­ной ис­точник про­грамм, ко­то­рые мо­гут вам по­на­до­бить­ся, но есть и дру­гой ре­по­зи­то­рий – для об­нов­лений с ис­прав­ления­ми оши­бок и улуч­шения­ми безо­пас­но­сти. Его мож­но най­ти здесь:&lt;br /&gt;
&lt;br /&gt;
 deb http://security.debian.org/ squeeze/updates main&lt;br /&gt;
&lt;br /&gt;
Все боль­ше про­из­во­ди­те­лей ПО для Linux об­за­во­дят­ся соб­ст­вен­ны­ми ре­по­зи­то­рия­ми на­ря­ду с офи­ци­аль­ны­ми. Ес­ли пе­ред уста­нов­кой па­ке­та у вас поя­ви­лась стро­ка, по­хо­жая на при­ве­ден­ную вы­ше, вставь­те ее в файл '''/etc/apt/sources.list''' и со­храните из­менения. ''APT'' кэ­ши­ру­ет ин­фор­ма­цию о па­ке­тах для бы­ст­ро­го по­ис­ка, по­это­му не смо­жет по­лу­чить ин­фор­ма­цию о но­вых па­ке­тах, по­ка вы не ве­ли­те об­но­вить кэш:&lt;br /&gt;
&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF144_61_1.jpg|300px]] Не сто­ит от­вер­гать хо­ро­ший ме­нед­жер па­ке­тов толь­ко по­то­му, что вы в ко­манд­ной стро­ке: по­мо­жет ''Aptitude''.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
По­сле это­го вы смо­же­те уста­но­вить са­мые по­следние вер­сии па­ке­тов. (Что­бы уста­но­вить все об­нов­лен­ные вер­сии па­ке­тов сра­зу, восполь­зуй­тесь ко­ман­дой ''apt-get upgrade''.) По локаль­но­му кэ­шу мож­но осу­ще­ст­в­лять по­иск с по­мо­щью ко­ман­ды ''apt-cache'' с под­хо­дя­щим ар­гу­мен­том. На­при­мер:&lt;br /&gt;
&lt;br /&gt;
 apt-cache search chess&lt;br /&gt;
&lt;br /&gt;
Эта ко­ман­да вы­ве­дет спи­сок всех доступ­ных (при­сут­ст­вую­щих в ре­по­зи­то­ри­ях) па­ке­тов со сло­вом chess в на­звании или опи­сании.&lt;br /&gt;
&lt;br /&gt;
''APT'' – неве­ро­ят­но мощ­ная сис­те­ма, и ее функ­цио­нал рас­пре­де­лен сре­ди несколь­ких ути­лит (вве­дя '''apt''' и на­жав '''Tab''', вы уви­ди­те воз­мож­ные ва­ри­ан­ты). Боль­шая часть ее функ­цио­на­ла со­сре­до­то­че­на в ''aptitude'' – это про­грам­ма на ба­зе ''Ncurses'', ко­то­рая пред­ла­га­ет воз­мож­но­сти гра­фи­че­­ско­­го ин­тер­фей­са, та­кие как ме­ню, диа­ло­го­вые ок­на и т. д., в тек­сто­вом ре­жи­ме. В ней да­же есть встро­ен­ный клон ''Minesweeper''!&lt;br /&gt;
&lt;br /&gt;
Спи­сок па­ке­тов мож­но про­смот­реть с по­мо­щью кла­виш управ­ления кур­со­ром и '''Enter''', и доступ­ные со­че­тания кла­виш при­ве­де­ны ввер­ху. Для по­яв­ления ме­ню на­жми­те '''Ctrl+T'''. ''Aptitude'' от­лич­но по­мо­жет, ес­ли вы за­шли на уда­лен­ный ком­пь­ю­тер по ''SSH'' и хо­тите вы­полнить некие дей­ст­вия, но не помните ко­ман­ды в точ­но­сти: про­сто най­ди­те ее в ме­ню.&lt;br /&gt;
&lt;br /&gt;
Не­на­дол­го вернем­ся к ''Dpkg''. Кро­ме уста­нов­ки и уда­ления па­ке­тов, ''Dpkg'' уме­ет де­лать за­про­сы к ба­зе дан­ных уста­нов­лен­ных па­ке­тов. На­при­мер, так вы­во­дит­ся спи­сок фай­лов, вхо­дя­щих в па­кет ''nano'':&lt;br /&gt;
&lt;br /&gt;
 dpkg -L nano&lt;br /&gt;
&lt;br /&gt;
У па­ке­тов Debian есть ста­тус, от­ра­жаю­щий сте­пень их ин­те­гра­ции с сис­те­мой. Это слож­ная те­ма, и она вы­хо­дит за рам­ки LPI 101, но ес­ли ко­рот­ко – па­кет мо­жет быть пол­но­стью уста­нов­лен, уста­нов­лен на­по­ло­ви­ну или ожи­дать уста­нов­ки оп­ре­де­лен­ных па­ра­мет­ров на­строй­ки. Так­же он мо­жет быть рас­па­ко­ван (фай­лы уже из­вле­че­ны, но уста­но­воч­ные скрип­ты еще не за­пу­ще­ны). Вве­ди­те ко­ман­ду ''dpkg -l nano'' (на сей раз с ма­лень­кой бу­к­вой “'''L'''”), и уви­ди­те таб­ли­цу с ин­фор­ма­ци­ей о па­ке­те и немно­го про­стой тек­сто­вой гра­фи­ки, ука­зы­ваю­щей на два столб­ца ‘'''ii'''’ в на­ча­ле. Это оз­на­ча­ет, что ад­минист­ра­тор хо­чет уста­но­вить па­кет (то есть он не бу­дет уда­лен при сле­дую­щих об­нов­лениях) и что фак­ти­че­­ски па­кет уста­нов­лен.&lt;br /&gt;
&lt;br /&gt;
Для по­лу­че­ния бо­лее под­роб­ной ин­фор­ма­ции о па­ке­те вве­ди­те ко­ман­ду&lt;br /&gt;
&lt;br /&gt;
 dpkg -s nano&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF144_62_1.jpg|300px]] Хо­ти­те пе­ре­на­стро­ить про­грам­му скрип­та­ми из ее па­ке­та? По­мож­ет ко­ман­да ''dpkg-reconfigure''.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Она пре­доста­вит все, что сле­ду­ет знать о па­ке­те: его вер­сию, раз­мер, ар­хи­тек­ту­ру, за­ви­си­мо­сти и да­же элек­трон­ный ад­рес соз­да­те­ля па­ке­та на слу­чай по­яв­ления про­блем (хо­тя за­час­тую луч­ше об­ра­тить­ся к сред­ст­вам от­сле­жи­вания оши­бок в со­ста­ве ди­ст­ри­бу­ти­ва). Здесь ин­те­рес­на стро­ка '''provides''' [пре­достав­л­ение]. ''Nano'', на­при­мер, пре­достав­ля­ет воз­мож­ность ‘editor’ [ре­дак­тор], на­ме­рен­но обоб­щен­ную: иногда ути­ли­там команд­ной стро­ки тре­бу­ется обратиться к ре­дак­то­ру – неважно, к какому, и бы­ло бы глу­по тре­бо­вать конкретное имя ре­дак­то­ра, ска­жем, ''Emacs'' или ''Vim''. Вме­сто это­го утилиты про­ве­ря­ют на­ли­чие па­ке­та ти­па «ре­дак­тор», и ''Nano'' их вы­ру­чит.&lt;br /&gt;
&lt;br /&gt;
Дру­гая по­лез­ная ко­ман­да – ''dpkg -S'' с именем фай­ла. Она ищет фай­лы с ука­зан­ным именем и го­во­рит, в ка­ком па­ке­те они на­хо­дят­ся. На­при­мер, ко­ман­да ''dpkg -S vmlinuz'' най­дет в сис­те­ме файл яд­ра '''vmlinuz''' и по­ка­жет, из ка­ко­го па­ке­та он бе­рет­ся при уста­новке.&lt;br /&gt;
&lt;br /&gt;
На­конец, па­ра слов о на­строй­ке па­ке­тов. Как вы знае­те, у мно­гих про­грамм есть тек­сто­вые фай­лы на­строй­ки в ка­та­ло­ге '''/etc''', до­пускаю­щие прав­ку вруч­ную. Все это пре­крас­но, но мно­гие па­ке­ты Deb ста­ра­ют­ся уп­ро­стить за­да­чи ад­минист­ра­то­ра, пре­достав­ляя оп­ре­де­лен­ный уро­вень ав­то­ма­ти­за­ции. На­при­мер, при уста­нов­ке че­рез ''apt-get'' поч­то­во­го сер­ве­ра ''Postfix'' по­яв­ля­ет­ся ок­но мас­те­ра, ко­то­рый про­ве­дет вас по эта­пам уста­нов­ки – и вам не при­дет­ся изу­чать фор­мат со­от­вет­ст­вую­ще­го фай­ла на­строй­ки. Ес­ли вам когда-ли­бо по­тре­бу­ет­ся из­менить на­строй­ки и вы ре­ши­те сде­лать это спо­со­бом Debian, про­сто ско­ман­дуй­те&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
===Раз­дел 2: RPM===&lt;br /&gt;
&lt;br /&gt;
Сис­те­ма, всту­пив­шая в жизнь как ''Red Hat Package Manager'' (Менед­жер па­ке­тов Red Hat), се­го­дня при­ня­ла ре­кур­сив­ную аб­бре­виа­ту­ру (''RPM Package Manager''), что­бы под­черк­нуть ней­тра­ли­тет по от­но­шению к ди­ст­ри­бу­ти­вам. RPM при­ме­ня­ет­ся ог­ром­ным ко­ли­че­­ст­вом ди­ст­ри­бу­ти­вов, и, ве­ро­ят­но, фор­мат про­су­ще­ст­ву­ет еще дол­го – осо­бен­но бу­ду­чи пред­поч­ти­тель­ным фор­ма­том па­ке­тов Ба­зы стан­дар­тов Linux [Linux Standard Base]. В этом ру­ко­во­дстве мы поль­зу­ем­ся CentOS 5, вы­со­ко­на­деж­ной под­дер­жи­вае­мой со­об­ще­ст­вом сбор­кой Red Hat Enterprise Linux.&lt;br /&gt;
&lt;br /&gt;
Для ба­зо­во­го управ­ления па­ке­та­ми в RPM ис­поль­зу­ет­ся, как вы мог­ли ожи­дать, ко­ман­да ''rpm''. Она по­зво­ля­ет ра­бо­тать с за­гру­жен­ны­ми па­ке­та­ми. На­при­мер, вы за­гру­зи­ли па­кет для ''NASM'':&lt;br /&gt;
&lt;br /&gt;
 rpm -Uvh nasm-0.98.39-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
Вы ви­ди­те, что струк­ту­ра имени фай­ла – та­кая же, как и у Deb-па­ке­тов: сна­ча­ла имя па­ке­та, за­тем вер­сия (в дан­ном слу­чае 0.98.39), а да­лее соб­ст­вен­ная вер­сия ку­ра­то­ра па­ке­тов (1). За ней сле­ду­ют ар­хи­тек­ту­ра и рас­ши­рение '''.rpm'''.&lt;br /&gt;
&lt;br /&gt;
По­смот­ри­те на флаж­ки, при­ла­гае­мые к ко­ман­де: осо­бен­но ва­жен '''-U''', то есть «об­нов­ление» [upgrade]. Для уста­нов­ки па­ке­та сго­дит­ся ко­ман­да ''rpm -i'', но она бу­дет оби­жать­ся, ес­ли уже уста­нов­ле­на бо­лее ста­рая вер­сия па­ке­та; с фла­гом ''-U'' мож­но уста­но­вить но­вый па­кет или об­но­вить су­ще­ст­вую­щий – и вы обой­де­тесь все­го од­ной ко­ман­дой.&lt;br /&gt;
&lt;br /&gt;
Ес­ли вы хо­ти­те про­ве­рить, не по­вре­ж­ден ли за­гру­жен­ный файл RPM, ско­ман­дуй­те ''rpm --checksig filename''. Уда­лить па­кет то­же не­труд­но – ко­ман­дой ''rpm -e nasm''.&lt;br /&gt;
&lt;br /&gt;
Су­ще­ст­ву­ет не­сколь­ко спо­со­бов по­лу­чить ин­фор­ма­цию о па­ке­те. Для еще не ус­та­нов­ленного RPM-фай­ла вве­ди­те коман­ду &lt;br /&gt;
&lt;br /&gt;
 rpm -qpi nasm-0.98.39-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
Для уже ус­та­нов­лен­ных па­ке­тов убе­ри­те флаг '''p''' и ис­поль­зуй­те толь­ко ос­но­ву име­ни па­ке­та. Ана­ло­гич­ная пре­ды­ду­щей ко­ман­да для ус­та­нов­лен­но­го па­ке­та ''NASM'' бу­дет вы­гля­деть так:&lt;br /&gt;
&lt;br /&gt;
 rpm -qR nasm&lt;br /&gt;
&lt;br /&gt;
По­лу­чить спи­сок фай­лов, ус­та­нов­лен­ных па­ке­том, мож­но ко­ман­дой ''rpm -ql nasm''. К ка­ко­му па­ке­ту файл при­над­ле­жит, оп­ре­де­лит ко­ман­да ''rpm -qf /path/to/file''. Ко­ман­да ''rpm'' не­ве­ро­ят­но раз­но­сто­рон­няя, как и ее ку­зи­на ''dpkg''. Что­бы ис­сле­до­вать ее воз­мож­но­сти, от­крой­те man-стра­ни­цу ко­ман­ды (''man rpm'').&lt;br /&gt;
&lt;br /&gt;
Сто­ит так­же от­ме­тить, что рас­па­ко­вать па­ке­ты RPM мож­но и без ус­та­нов­ки, пред­ва­ри­тель­но кон­вер­ти­ро­вав их в ар­хи­вы CPIO. На­при­мер:&lt;br /&gt;
&lt;br /&gt;
 rpm2cpio nasm-0.98.39-1.i386.rpm &amp;gt; data.cpio &lt;br /&gt;
 cpio -id &amp;lt; data.cpio&lt;br /&gt;
&lt;br /&gt;
Эти ко­ман­ды рас­па­ку­ют ар­хив в те­ку­щий ка­та­лог, и там мо­гут воз­ник­нуть ка­та­ло­ги '''usr, etc''' и др.&lt;br /&gt;
&lt;br /&gt;
''rpm'' удоб­на для ра­бо­ты с ло­каль­ны­ми па­ке­та­ми, но есть и ути­ли­та, ко­то­рая ав­то­ма­ти­зи­ру­ет за­груз­ку па­ке­тов и их за­ви­си­мо­стей из Ин­тер­не­та и во мно­гом на­по­ми­на­ет ''APT'' в Debian. Это ''Yum'' – ''Yellowdog Updater Modified'' [Мо­ди­фи­ци­ро­ван­ная ути­ли­та об­нов­ле­ния от Yellowdog]; ко­гда-то она де­ла­лась для дру­го­го ди­ст­ри­бу­ти­ва. На­при­мер, ес­ли вы хо­ти­те ус­та­но­вить ''Z Shell'', но у вас нет ло­каль­ных па­ке­тов, ско­ман­дуй­те&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF144_63_1.jpg|300px]] До­быть ин­фор­ма­цию о па­ке­те не­слож­но — ско­ман­дуй­те ''rpm -q''.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
 yum install zsh&lt;br /&gt;
&lt;br /&gt;
''Yum'' про­ве­рит свой кэш с ин­фор­ма­ци­ей о па­ке­тах, оп­ре­де­лит тре­буе­мые за­ви­си­мо­сти и по­про­сит вас на­жать '''Y''' для про­дол­жения ра­бо­ты, в от­вет на что за­гру­зит и уста­но­вит тре­буе­мые па­ке­ты. Спи­сок па­ке­тов, со­от­вет­ст­вую­щих клю­че­во­му сло­ву, мож­но по­лу­чить ко­ман­дой ''yum list'' с клю­че­вым сло­вом, а по­лу­чить ин­фор­ма­цию о па­ке­те пе­ред уста­нов­кой – ко­ман­дой ''yum info'' с именем па­ке­та.&lt;br /&gt;
&lt;br /&gt;
C ''Yum'' осо­бен­но удоб­но от­сле­жи­вать об­нов­ления ОС: ко­ман­да ''yum update'' по­ка­жет вам спи­сок па­ке­тов, ко­то­рые бы­ли об­нов­ле­ны с мо­мен­та ва­шей уста­нов­ки. И как она на­хо­дит эти па­ке­ты?&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Заголовок=Скорая помощь|Содержание=Спи­сок всех ус­та­нов­лен­ных па­ке­тах в сис­те­ме на ба­зе Debian вы­даст ко­ман­да ''dpkg -l''. В ди­ст­ри­бу­ти­вах на ба­зе RPM вве­ди­те ко­ман­ду ''rpm -qa''. Спи­ски очень длин­ные, и удоб­но бу­дет пе­ре­на­пра­вить вы­вод в тек­сто­вый файл – ''rpm -qa &amp;gt; list.txt''.|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
От­вет – в ка­та­ло­ге '''/etc/yum.repos.d'''. Там вы най­де­те тек­сто­вые фай­лы с рас­ши­рением '''.repo''', со­дер­жа­щие дан­ные ре­по­зи­то­ри­ев – хранилищ па­ке­тов в Ин­тернете. На­при­мер, в сис­те­ме CentOS, с ко­то­рой мы ра­бо­та­ем на этом уро­ке, есть ре­по­зи­то­рии для всех основ­ных па­ке­тов CentOS и со­от­вет­ст­вую­щих об­нов­лений.&lt;br /&gt;
&lt;br /&gt;
Сю­да мож­но до­ба­вить соб­ст­вен­ные за­пи­си, ес­ли вы най­де­те про­грам­му с ре­по­зи­то­ри­ем для ва­ше­го ди­ст­ри­бу­ти­ва, но по­том не за­будь­те вы­полнить ко­ман­ду ''yum makecache'' для об­нов­ления ло­каль­ной ин­фор­ма­ции. ''Yum'' по­тря­саю­ще гибок в на­стройк­е – ищи­те его па­ра­мет­ры в фай­ле '''/etc/yum.conf'''.&lt;br /&gt;
&lt;br /&gt;
===Пре­об­ра­зо­ва­ние па­ке­тов с ''Alien''===&lt;br /&gt;
&lt;br /&gt;
RPM и Deb – два са­мых по­пу­ляр­ных фор­ма­та па­ке­тов в ми­ре Linux, но они не очень-то дру­жат. Конеч­но, мож­но уста­но­вить ути­ли­ты ''Dpkg'' в сис­те­му с RPM (или ко­ман­ду ''rpm'' в Debian) и по­пы­тать­ся уста­но­вить па­ке­ты с их по­мо­щью, но ре­зуль­та­ты бу­дут не са­мы­ми луч­ши­ми: жди­те боль­шо­го ущер­ба сис­те­ме.&lt;br /&gt;
&lt;br /&gt;
Бо­лее ра­зум­ный ва­ри­ант – восполь­зо­вать­ся ути­ли­той ''Alien'', доступ­ной в ре­по­зи­то­ри­ях Debian. Эта удоб­ная ути­ли­та пре­об­ра­зу­ет фай­лы Deb в RPM и на­обо­рот. На­при­мер:&lt;br /&gt;
&lt;br /&gt;
 alien --to-deb nasm-2.07-1.i386.rpm&lt;br /&gt;
&lt;br /&gt;
Она соз­да­ет файл '''nasm_2.07‑2_i386.deb''', ко­то­рый мож­но уста­но­вить рас­смот­рен­ной на­ми ко­ман­дой ''dpkg -i''. Впро­чем, уста­но­вит­ся па­кет кор­рект­но или нет – это отдельная история: па­ке­ты бы­ва­ют так при­вя­за­ны к ди­ст­ри­бу­ти­вам, что ни в какую не соглашаются нор­маль­но ра­бо­тать в дру­гих мес­тах.&lt;br /&gt;
&lt;br /&gt;
''Alien'' все­го лишь из­ме­ня­ет фор­мат сжа­тия и ме­та­дан­ных для за­дан­но­го фор­ма­та па­ке­тов; это не га­ран­ти­ру­ет, что па­кет смо­жет ра­бо­тать в фай­ло­вой сис­те­ме но­во­го ди­ст­ри­бу­ти­ва или что скрип­ты, за­пускае­мые до или по­сле уста­нов­ки, от­ра­бо­та­ют кор­рект­но.&lt;br /&gt;
&lt;br /&gt;
С го­да­ми уда­лось достичь за­мет­но­го успе­ха в кон­вер­та­ции неболь­ших про­грамм с миниму­мом за­ви­си­мо­стей. Воз­мож­но, вам то­же по­ве­зет. С боль­ши­ми про­грам­ма­ми, как пра­ви­ло, ниче­го не по­лу­ча­ет­ся, а по­пыт­ка за­менить кри­ти­че­­ские сис­тем­ные фай­лы (ти­па ''glibc'') их вер­сия­ми из дру­го­го ди­ст­ри­бу­ти­ва – весь­ма неум­ное ре­шение.&lt;br /&gt;
&lt;br /&gt;
===Сбор­ка па­ке­тов из ис­ход­ных ко­дов===&lt;br /&gt;
&lt;br /&gt;
Боль­шин­ст­во дво­ич­ных па­ке­тов, с ко­то­ры­ми вы столкнетесь, бы­ли соз­да­ны из ис­ход­ных ко­дов. Про­цесс соз­дания па­ке­тов го­раз­до сложнее про­стой упа­ков­ки дво­ич­но­го фай­ла ар­хи­ва­то­ром ''gzip'', и тут тре­бу­ют­ся скрип­ты и фай­лы на­строй­ки. В ди­ст­ри­бу­ти­вах на ба­зе Debian пер­вым де­лом уста­но­ви­те не­об­хо­ди­мые ути­ли­ты:&lt;br /&gt;
&lt;br /&gt;
 apt-get install dpkg-dev build-essential fakeroot&lt;br /&gt;
&lt;br /&gt;
Те­перь ска­жи­те Debian, что хо­ти­те по­лу­чить доступ к ис­ход­но­му ко­ду, а не толь­ко к дво­ич­ным фай­лам – от­крыв '''/etc/apt/sources.list''' и за­менив '''deb''' в его стро­ках на '''deb-src'''. На­при­мер: &lt;br /&gt;
&lt;br /&gt;
 deb-src http://ftp.uk.debian.org/debian/ squeeze main&lt;br /&gt;
&lt;br /&gt;
(В за­ви­си­мо­сти от ва­шей сис­те­мы эти ути­ли­ты уже мо­гут быть уста­нов­ле­ны по умол­чанию.) За­тем за­гру­жай­те ис­ход­ные фай­лы про­грам­мы ко­ман­дой ''apt-get source '''package''''', за­менив '''package''' на­званием про­грам­мы. Ори­ги­нал ис­ход­но­го ко­да по­следней вер­сии про­грам­мы бу­дет за­гру­жен, из­вле­чен из ар­хи­ва и за­ла­тан в за­ви­си­мо­сти от ди­ст­ри­бу­ти­ва. Ко­ман­дой ''cd package-*'' вы пе­рей­де­те в ка­та­лог с рас­па­ко­ван­ны­ми фай­ла­ми. Для сбор­ки неко­то­рых па­ке­тов нуж­ны биб­лио­те­ки и до­полнитель­ные ути­ли­ты, ко­то­рые мож­но уста­но­вить ко­ман­дой ''apt-get build-dep package''.&lt;br /&gt;
&lt;br /&gt;
Вне­ся в ис­ход­ный код все требуе­мые правки или сме­нив па­ра­мет­ры оп­ти­ми­за­ции ком­пи­ля­то­ра в стро­ке '''CFLAGS''' в '''debian/rules''', со­бе­ри­те па­кет:&lt;br /&gt;
&lt;br /&gt;
 dpkg-buildpackage&lt;br /&gt;
&lt;br /&gt;
За­вер­шив сбор­ку, пе­рей­ди­те в ка­та­лог уровнем вы­ше ко­ман­дой ''cd..'' и про­смот­ри­те его со­дер­жи­мое ко­ман­дой ''ls''. Вы най­де­те один или несколь­ко све­же­со­б­ран­ных па­ке­тов Deb, ко­то­рые те­перь мож­но рас­про­странить.&lt;br /&gt;
&lt;br /&gt;
Для сис­тем с RPM мож­но уста­но­вить ути­ли­ту ''Yumdownloader'' – че­рез нее вы по­лу­чи­те па­ке­ты SRPM (па­ке­ты с ис­ход­ны­ми ко­да­ми RPM) ко­ман­дой ''yumdownloader -source '''package''''' (за­мените '''package''' на имя про­грам­мы). SRPM со­дер­жит ис­ход­ный код с ин­ст­рук­ция­ми по сбор­ке (файл '''SPEC'''), а так­же необ­хо­ди­мые на­строй­ки и за­плат­ки для кон­крет­но­го ди­ст­ри­бу­ти­ва.&lt;br /&gt;
&lt;br /&gt;
За­тем со­би­рай­те дво­ич­ные па­ке­ты ко­ман­дой ''rpmbuild --rebuild filename.src.rpm''. В за­ви­си­мо­сти от со­би­рае­мой про­грам­мы по­лу­чит­ся один или несколь­ко дво­ич­ных RPM-па­ке­тов,ко­то­рые вы смо­же­те рас­про­стра­нять или ус­та­но­вить.&lt;br /&gt;
&lt;br /&gt;
===Про­верь­те се­бя!===&lt;br /&gt;
&lt;br /&gt;
Раз вы про­чли это ру­ко­во­дство, ус­вои­ли все идеи и по­про­бо­ва­ли свои ва­ри­ан­ты при­ве­ден­ных ко­манд, не про­ве­рить ли, как вы от­ве­ти­те на во­про­сы в си­туа­ции, по­хо­жей на эк­за­мен? &lt;br /&gt;
# Ка­кая ко­ман­да уда­ля­ет Deb-па­кет вме­сте с фай­ла­ми на­строй­ки?&lt;br /&gt;
# В ка­ком фай­ле есть спи­сок всех ре­по­зи­то­ри­ев, ис­поль­зуе­мых в ди­ст­ри­бу­ти­вах на ба­зе Debian?&lt;br /&gt;
# Ка­кая ко­ман­да вы­да­ет под­роб­ную ин­фор­ма­цию о па­ке­те в Debian?&lt;br /&gt;
# Ка­кой ко­ман­дой мож­но кон­вер­ти­ро­вать файл RPM в Deb?&lt;br /&gt;
# Ка­кая ко­ман­да уда­ля­ет па­кет в сис­те­ме на ба­зе RPM?&lt;br /&gt;
# Где про­жи­ва­ют опи­са­ния ре­по­зи­то­ри­ев ''Yum''?&lt;br /&gt;
# Как об­но­вляется кэш па­ке­тов при помощи ''Yum''?&lt;br /&gt;
&lt;br /&gt;
[[LXF144:Training_answers|Ответы]]&lt;/div&gt;</description>
			<pubDate>Wed, 03 Oct 2012 10:15:19 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:LXF144:Linux_Training</comments>		</item>
	</channel>
</rss>