Журнал LinuxFormat - перейти на главную

LXF164: Руб­ри­ка си­сад­ми­на

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(Зна­комь­тесь: жел­тая со­ба­ка)
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
 
[[Категория:Постоянные рубрики]]   
 
[[Категория:Постоянные рубрики]]   
 
+
[[Категория:Управление пакетами]]
 
'''По рецептам доктора Брауна'''
 
'''По рецептам доктора Брауна'''
  
Строка 116: Строка 116:
 
Лад­но, до­воль­но за­про­сов. Ус­та­но­вим-ка па­кет aide. Об­ра­ти­те вни­ма­ние, что для это­го нуж­но быть ад­ми­ни­ст­ра­то­ром:
 
Лад­но, до­воль­но за­про­сов. Ус­та­но­вим-ка па­кет aide. Об­ра­ти­те вни­ма­ние, что для это­го нуж­но быть ад­ми­ни­ст­ра­то­ром:
  
# cd /media/CentOS_6.2_Final/Packages
+
# cd /media/CentOS_6.2_Final/Packages
  
# rpm -ivh aide-0.14-3.el6.i686.rpm
+
# rpm -ivh aide-0.14-3.el6.i686.rpm
  
 
Preparing... ############## [100%]
 
Preparing... ############## [100%]
Строка 128: Строка 128:
 
Ус­та­нов­ка aide про­шла до­воль­но лег­ко, но так бы­ва­ет не всегда. На­при­мер, по­про­бу­ем уста­но­вить amanda (ути­ли­ту ре­зерв­но­го ко­пи­ро­вания):
 
Ус­та­нов­ка aide про­шла до­воль­но лег­ко, но так бы­ва­ет не всегда. На­при­мер, по­про­бу­ем уста­но­вить amanda (ути­ли­ту ре­зерв­но­го ко­пи­ро­вания):
  
# rpm -i amanda-2.6.1p2-7.el6.i686.rpm
+
# rpm -i amanda-2.6.1p2-7.el6.i686.rpm
  
 
error: Failed dependencies: xinetd is needed by amanda-2.6.1p2-7.el6.i686
 
error: Failed dependencies: xinetd is needed by amanda-2.6.1p2-7.el6.i686
Строка 206: Строка 206:
 
В сто­ронних ре­по­зи­то­ри­ях мож­но най­ти мас­су про­грамм для CentOS. Ес­ли вы за­хо­ти­те их уста­но­вить, по­на­до­бит­ся до­ба­вить фай­лы .repo в /etc/yum.repos.d, что­бы yum знал, где ис­кать ре­по­зи­то­рии. В ка­че­­ст­ве при­ме­ра уста­но­вим ути­ли­ту восста­нов­ления сис­те­мы Mondo, о ко­то­рой я рас­ска­зы­вал ранее. Для на­ча­ла убе­дим­ся, что ее нет в стан­дарт­ных ре­по­зи­то­ри­ях:
 
В сто­ронних ре­по­зи­то­ри­ях мож­но най­ти мас­су про­грамм для CentOS. Ес­ли вы за­хо­ти­те их уста­но­вить, по­на­до­бит­ся до­ба­вить фай­лы .repo в /etc/yum.repos.d, что­бы yum знал, где ис­кать ре­по­зи­то­рии. В ка­че­­ст­ве при­ме­ра уста­но­вим ути­ли­ту восста­нов­ления сис­те­мы Mondo, о ко­то­рой я рас­ска­зы­вал ранее. Для на­ча­ла убе­дим­ся, что ее нет в стан­дарт­ных ре­по­зи­то­ри­ях:
  
# yum search mondo
+
# yum search mondo
  
 
... < не­сколь­ко строк вы­во­да опу­ще­но > ...
 
... < не­сколь­ко строк вы­во­да опу­ще­но > ...
Строка 232: Строка 232:
 
С ука­зан­ным фай­лом наш по­иск стал бо­лее пло­до­твор­ным:
 
С ука­зан­ным фай­лом наш по­иск стал бо­лее пло­до­твор­ным:
  
# yum search mondo
+
# yum search mondo
  
 
... < не­сколь­ко строк вы­во­да опу­ще­но > ...
 
... < не­сколь­ко строк вы­во­да опу­ще­но > ...

Текущая версия на 15:11, 29 октября 2018

По рецептам доктора Брауна

Эзо­те­ри­че­ское сис­тем­ное ад­ми­ни­ст­ри­ро­ва­ние из при­чуд­ли­вых за­во­ро­тов ки­шок сер­вер­ной

(thumbnail)
Д-р Крис Браун Доктор обучает, пишет и консультирует по Linux. Ученая степень по физике элементарных частиц ему в этом совсем не помогает.


Содержание

[править] Mondo и Mindi

Бы­ст­ро ли вы восста­но­ви­те сис­те­му при сбое же­ст­ко­го дис­ка? С Mondo это де­ла­ет­ся за несколь­ко ми­нут.

Как вы де­лае­те ре­зерв­ные ко­пии? Для до­машних сис­тем от­лич­но ра­бо­та­ют про­стые ре­шения, на­при­мер, запись tar-ар­хи­ва с важ­ны­ми фай­ла­ми на же­ст­кий диск. Для сис­тем уров­ня пред­при­ятия есть хит­ро­ум­ные цен­тра­ли­зо­ван­ные ре­шения, та­кие как Amanda, Bacula и BackupPC. Но боль­шин­ст­во из них не восста­нав­ли­ва­ют фай­лы на «го­лом же­ле­зе» – ес­ли же­ст­кий диск вый­дет из строя, то с ними сна­ча­ла при­дет­ся пе­реуста­но­вить ОС и толь­ко по­том восста­но­вить со­дер­жи­мое из ре­зерв­ной ко­пии.

Mondo Rescue (www.mondorescue.org) ре­ша­ет эти про­бле­мы, по­зво­ляя соз­дать за­гру­зоч­ный диск с вы­бран­ны­ми фай­ла­ми и ка­та­ло­га­ми для «го­лого же­ле­за». Mondo рас­про­стра­ня­ет­ся по ли­цен­зии GPL в па­ке­тах для боль­шин­ст­ва круп­ных ди­ст­ри­бу­ти­вов Linux (Fedora, RHEL, openSUSE, SLES, Mandriva, Mageia, Debian, Ubuntu и Gentoo) и мо­жет соз­да­вать ко­пии фай­ло­вых сис­тем раз­лич­ных ти­пов (ext2, ext3, etx4, reiserfs, NTFS и дру­гих с дис­ков IDE, SCSI, LVM, про­грамм­но­го и ап­па­рат­но­го RAID) на магнит­ной лен­те, дис­ках, се­те­вых дис­ках или на CD/DVD. Про­грам­му мож­но за­пус­тить в ин­те­рак­тив­ном ре­жи­ме, и она про­ве­дет вас по эта­пам соз­дания ко­пии и со­бе­рет нужную ей ин­фор­ма­цию, или с команд­ной стро­ки.


В ка­че­­ст­ве пол­но­го ру­ко­во­дства, где есть и ин­ст­рук­ции по сбор­ке соб­ст­вен­ных па­ке­тов RPM, обратите внимание на пре­крас­ную книгу Эри­ка Фосте­ра-Джон­со­на [Eric Foster-John­son] по ссыл­ке http://docs.fedoraproject.org/en-US/Fe­do­ra_Draft_ Documentation/0.1/html/RPM_Guide – она по­мо­жет вам ско­ро­тать вре­мя дол­ги­ми зимними ве­че­ра­ми.

Для соз­дания об­ра­зов на CD Mondo при­ме­ня­ет со­пут­ст­вую­щую про­грам­му – Mindi, соз­дающую об­раз по ва­шему яд­ру, мо­ду­лям яд­ра, биб­лио­текам и ути­литам, и при за­груз­ке это­го об­раза мы по­лу­чим сре­ду, по­доб­ную той, ре­зерв­ная ко­пия ко­то­рой соз­да­ва­лась. Имея CD от Mindi, мож­но вы­полнить ин­те­рак­тив­ное восста­нов­ление, т. е. восста­но­вить отдельные ком­понен­ты ар­хи­ва, или ба­зо­вое восста­нов­ление – то­гда диск бу­дет раз­бит на раз­де­лы с ну­ля и на него бу­дет восста­нов­ле­на вся фай­ло­вая сис­те­ма. Мож­но так­же клониро­вать су­ще­ст­вую­щую сис­те­му.

[править] Итак, вы хо­ти­те стать си­сад­ми­ном?

Чет­вер­тая часть се­рии, ко­то­рая пре­вра­тит вас из но­вич­ка в звез­ду сис­тем­но­го ад­ми­ни­ст­ри­ро­ва­ния. На сей раз зай­мем­ся управ­ле­ни­ем па­ке­та­ми.

Ме­сяц на­зад мы го­во­ри­ли об управ­лении же­ст­ки­ми дис­ка­ми сер­ве­ров Linux. В этом выпуске мы рас­смот­рим ос­новы управ­ления па­ке­та­ми, то есть глав­ным об­ра­зом ко­ман­ды rpm и yum.

Во всех стать­ях данной се­рии мы поль­зу­ем­ся CentOS 6.2. Ес­ли вы хо­ти­те сле­до­вать за на­ми (что я на­стоя­тель­но ре­ко­мен­дую), уста­но­ви­те CentOS (хо­тя бы в вир­ту­аль­ную ма­ши­ну) в со­от­вет­ст­вии с мо­им опи­санием в пер­вой час­ти.

У мно­гих команд из об­су­ж­дае­мых в этом ме­ся­це боль­шой объ­ем вы­ход­ных дан­ных, и на все здесь не хва­тит мес­та. Ес­ли вам нуж­ны под­роб­но­сти, то пол­ный транс­крипт мно­гих из се­го­дняшних команд есть на DVD и на на­шем сай­те, так что сме­лее об­ра­щай­тесь к это­му фай­лу в со­от­вет­ст­вую­щих мес­тах.

[править] Ве­ли­кий рас­кол ди­ст­ри­бу­ти­вов

Управ­ление па­ке­та­ми – на­вер­ное, од­на из об­лас­тей, в ко­то­рых ди­ст­ри­бу­ти­вы Linux от­ли­ча­ют­ся друг от дру­га боль­ше все­го; глав­ным об­ра­зом это от­ли­чие ме­ж­ду ди­ст­ри­бу­ти­ва­ми, в ко­то­рых ис­поль­зу­ют­ся па­ке­ты и ути­ли­ты фор­ма­та Red Hat (это Red Hat, CentOS и Fedora), и теми, в ко­то­рых ис­поль­зу­ют­ся па­ке­ты и ути­ли­ты фор­ма­та Debian (это Debian, Ubuntu, Mint и мно­же­ст­во дру­гих про­из­вод­ных). Так как на уроках я поль­зу­юсь CentOS, то со­сре­до­то­чусь толь­ко на ути­ли­тах Red Hat. И, же­лая по­зна­ко­мить­ся с ути­ли­та­ми Debian, ти­па dpkg и apt-get, вы не най­де­те ис­ко­мо­го.

[править] Начнем с на­ча­ла

Итак, что же та­кое па­кет? По су­ти, это ар­хив из фай­лов, ко­то­рые бу­дут ско­пи­ро­ва­ны в сис­те­му при уста­нов­ке па­ке­та. Обыч­но это несколь­ко дво­ич­ных фай­лов, один или несколь­ко фай­лов на­строй­ки, воз­мож­но, несколь­ко вспо­мо­га­тель­ных биб­лио­тек и, за­час­тую, несколь­ко man-страниц и дру­гая до­ку­мен­та­ция. Па­кет так­же со­дер­жит ме­та­дан­ные, в ко­то­рые вхо­дят крат­кое опи­сание па­ке­та, циф­ро­вая подпись и неко­то­рая ин­фор­ма­ция о за­ви­си­мо­стях. В сис­те­мах фор­ма­та Red Hat па­ке­ты на­хо­дят­ся в фай­лах с рас­ши­рением .rpm.

Име­на этих фай­лов чет­ко струк­ту­ри­ро­ва­ны. На­при­мер, раз­бе­рем имя фай­ла па­ке­та aide-0.14-3.el6.i686.rpm. Имя па­ке­та – aide, а вер­сия – 0.14 (но­мер вы­би­ра­ют раз­ра­бот­чи­ки па­ке­та). Вер­сия сбор­ки – 3.el6 (но­мер вы­би­ра­ют соз­да­те­ли па­ке­та), и па­кет со­б­ран для ар­хи­тек­ту­ры i686 (32-бит­ная ар­хи­тек­ту­ра Intel).

Дру­гой при­мер: па­кет yum-3.2.29-22.el6.centos.noarch.rpm не при­вя­зан к кон­крет­ной ар­хи­тек­ту­ре про­цес­со­ра (noarch). Та­кое воз­мож­но по­то­му, что дан­ный па­кет на­пи­сан на Python, а это ин­тер­пре­ти­руе­мый скрип­то­вый язык.

Пре­ж­де чем про­дол­жить, я хо­тел бы немно­го по­го­во­рить о за­ви­си­мо­стях. За­ви­си­мо­сти па­ке­та – это про­грам­мы, ко­то­рые нуж­но уста­но­вить, что­бы па­кет ра­бо­тал. Рас­про­странен­ные при­ме­ры за­ви­си­мо­стей – вспо­мо­га­тель­ные биб­лио­те­ки, ути­литы команд­ной стро­ки и ис­поль­зуе­мые па­ке­том внешние сер­ви­сы. Уст­ранение от­сут­ст­вую­щих за­ви­си­мо­стей иногда мо­жет стать серь­ез­ной про­бле­мой – под­робнее мы зай­мем­ся ими да­лее. Ути­ли­та, ис­поль­зуе­мая для про­смот­ра, уста­нов­ки и об­нов­ления па­ке­тов RPM, на­зы­ва­ет­ся так­же rpm. Из­на­чаль­но это бы­ло со­кра­щение от Red Hat Package Manager [менед­жер па­ке­тов Red Hat]. Эта ко­ман­да – мас­тер на все ру­ки, и па­ра­мет­ров у нее да­же боль­ше, чем необходимо. Что­бы про­де­мон­ст­ри­ро­вать ее ра­бо­ту, тре­бу­ет­ся ис­точник фай­лов RPM. На уста­но­воч­ном DVD CentOS (или на ISO-об­ра­зе, ес­ли сис­те­ма за­пу­ще­на на вир­ту­аль­ной ма­шине) есть ка­та­лог Packages с бо­лее чем 3000 па­ке­та­ми, по­это­му восполь­зу­ем­ся ими.

Во-пер­вых, но­мер вер­сии па­ке­та мож­но уз­нать та­ким об­ра­зом:

$ cd /media/CentOS_6.2_Final/Packages

$ rpm -qp aide-0.14-3.el6.i686.rpm

aide-0.14-3.el6.i686

Она не со­об­щи­ла нам ниче­го но­во­го, по­то­му что, как ска­за­но вы­ше, но­мер вер­сии па­ке­та есть в имени фай­ла.

Со­дер­жи­мое па­ке­та мож­но про­смот­реть ко­ман­дой

$ rpm -qip aide-0.14-3.el6.i686.rpm

Ес­ли вам бы­ло ин­те­рес­но, что же та­кое aide, вы­вод ко­ман­ды вам все рас­ска­жет. Это сред­ст­во об­на­ру­жения атак на осно­ве про­вер­ки це­ло­ст­но­сти фай­лов (пол­ный вы­вод ко­ман­ды есть в фай­ле транс­крип­та).

Спи­сок фай­лов па­ке­та вы­даст ко­ман­да

$ rpm -qlp aide-0.14-3.el6.i686.rpm

В нем вы уви­ди­те один ис­пол­няе­мый файл (/usr/sbin/aide), файл на­строй­ки (/etc/aide.conf) и немно­го до­ку­мен­та­ции, в том чис­ле несколь­ко man-страниц. Так­же есть файл /etc/logrotate.d/aide. По­мес­тив его в ка­та­лог logrotate.d, мы ав­то­ма­ти­че­­ски на­страи­ва­ем logrotate на ро­та­цию лог-фай­лов, соз­да­вае­мых aide. Кста­ти, по­сто­ян­ные чи­та­те­ли этой руб­ри­ки, воз­мож­но, пом­нят, как я жа­ло­вал­ся на яв­ление, ко­то­рое на­звал «бо­лез­нью точ­ка-d». Эта хворь по­ра­зи­ла мно­гие сис­тем­ные про­грам­мы, так что вме­сто од­но­го фай­ла на­строй­ки (на­при­мер, /etc/logrotate.conf) у них возник це­лый ка­та­лог та­ко­вых (в дан­ном слу­чае, ка­та­лог /etc/logrotate.d). Ну, а здесь мы ви­дим пре­иму­ще­ст­ва это­го под­хо­да. До­полнитель­ный файл на­строй­ки мож­но про­сто пе­ре­ки­нуть в долж­ное ме­сто, не во­зясь со скрип­та­ми, что­бы до­ба­вить запись в су­ще­ст­вую­щий файл.

[править] По­вы­ша­ем за­прос

Те­перь рас­смотрим за­прос к уже уста­нов­лен­но­му па­ке­ту. Ко­ман­да вы­гля­дит точ­но так же, не счи­тая то­го, что нуж­но опустить оп­цию p и ука­зать толь­ко осно­ву имени па­ке­та, а не все имя. Так, что­бы уз­нать но­мер на­шей вер­сии Bash, ко­ман­ду­ем:

$ rpm -q bash

bash-4.1.2-8.el6.centos.i686

Ли­бо мож­но бы­ло про­смот­реть со­дер­жи­мое па­ке­та ко­ман­дой

$ rpm -qi bash

и вы­вес­ти спи­сок фай­лов па­ке­та ко­ман­дой

$ rpm -ql bash

В до­пол­не­ние к во­про­су «ка­кие фай­лы в этом па­ке­те?» мож­но спро­сить «из ка­ко­го па­ке­та этот файл?» и по­лу­чить от­вет так:

$ rpm -qf /bin/ping

iputils-20071127-16.el6.i686

На­ко­нец, спи­сок всех ус­та­нов­лен­ных па­ке­тов вы по­лу­чи­те по ко­ман­де

$ rpm -qa

При­го­товь­тесь, он мо­жет ока­зать­ся весь­ма длин­ным!

Лад­но, до­воль­но за­про­сов. Ус­та­но­вим-ка па­кет aide. Об­ра­ти­те вни­ма­ние, что для это­го нуж­но быть ад­ми­ни­ст­ра­то­ром:

# cd /media/CentOS_6.2_Final/Packages
# rpm -ivh aide-0.14-3.el6.i686.rpm

Preparing... ############## [100%]

1:aide ############## [100%]

Про­грам­ма rpm со­хра­ня­ет ин­фор­ма­цию об уста­нов­лен­ных па­ке­тах в /var/lib/rpm.

Ус­та­нов­ка aide про­шла до­воль­но лег­ко, но так бы­ва­ет не всегда. На­при­мер, по­про­бу­ем уста­но­вить amanda (ути­ли­ту ре­зерв­но­го ко­пи­ро­вания):

# rpm -i amanda-2.6.1p2-7.el6.i686.rpm

error: Failed dependencies: xinetd is needed by amanda-2.6.1p2-7.el6.i686

[Ошиб­ка за­ви­си­мо­стей: xinetd тре­бу­ет­ся для amanda.] Здесь уста­нов­ка за­вер­ши­лась неудач­но, по­то­му что у amanda есть за­ви­си­мость (про­грам­ма xinetd), ко­то­рая не уста­нов­ле­на. В дан­ном слу­чае это до­воль­но лег­ко ис­пра­вить – про­сто уста­но­ви­те па­кет xinetd пер­вым. Но иногда спи­сок нераз­ре­шен­ных за­ви­си­мо­стей го­раз­до длиннее, и не всегда по­нят­но, ка­кие па­ке­ты нуж­но уста­но­вить для их раз­ре­шения. Здесь rpm ис­чер­пы­ва­ет свои воз­мож­но­сти.

[править] Зна­комь­тесь: жел­тая со­ба­ка

Что плав­но под­во­дит нас к yum. Это со­кра­щение от “YellowDog Updater, Modified” [Про­грам­ма об­нов­ления Жел­той со­ба­ки, мо­ди­фи­ци­ро­ван­ная], и ес­ли вы хо­ти­те по­нять, что это зна­чит, раз­ре­шаю об­ра­тить­ся к Google. Yum – сред­ст­во управ­ления па­ке­та­ми бо­лее вы­со­ко­го уров­ня, и у него есть два клю­че­вых от­ли­чия от rpm. Во-пер­вых, yum обыч­но за­гру­жа­ет па­ке­ты из ин­тернет-ре­по­зи­то­ри­ев (хо­тя с его по­мо­щью мож­но уста­нав­ли­вать па­ке­ты и с DVD CentOS). Во-вто­рых, yum раз­ре­ша­ет за­ви­си­мо­сти, ав­то­ма­ти­че­­ски уста­но­вив все необ­хо­ди­мые па­ке­ты. Пе­рей­дем пря­мо к де­лу и уста­но­вим с его по­мо­щью amanda:

# yum install amanda

Dependencies Resolved [За­ви­си­мо­сти раз­ре­ше­ны, ус­та­нов­ле­но]

Installing : 2:xinetd-2.3.14-35.el6_3.i686 1/2

Installing : amanda-2.6.1p2-7.el6.i686 2/2

Complete! [Го­то­во!]

(thumbnail)
В мире не один формат пакетов, но большинство из них соответствуют этой схеме.

Я су­ще­ст­вен­но со­кра­тил вы­вод, но оста­вил доста­точ­но, что­бы вы яс­но уви­де­ли: yum ав­то­ма­ти­че­­ски уста­но­вил xinetd для раз­ре­шения за­ви­си­мо­сти. Еще боль­ше уп­ро­стить уста­нов­ку па­ке­тов нель­зя. Од­на­ко уч­ти­те, что уста­нов­ка па­ке­та для ка­ко­го-ли­бо сер­ви­са не за­пуска­ет сам сер­вис – в этом при­ме­ре он да­же не до­бав­ля­ет­ся в файл на­строй­ки xinetd (этот под­ход от­ли­ча­ет­ся от ис­поль­зуе­мо­го в Debian, там при уста­нов­ке сер­ви­са тот обыч­но при­во­дит­ся в ба­зо­вое ра­бо­чее со­стояние).

У yum есть файл на­строй­ки – ес­те­ст­вен­но, в /etc/yum.conf. Но вас ско­рее за­ин­те­ре­су­ют фай­лы в ка­та­ло­ге /etc/yum.repos.d (опять бо­лезнь «точ­ка-d»!), где за­да­ет­ся рас­по­ло­жение ре­по­зи­то­ри­ев. По умол­чанию у вас бу­дет файл CentOS-Base.repo, с пя­тью ре­по­зи­то­рия­ми (base, updates, extras, centosplus и contrib), хо­тя два по­следние по умол­чанию от­клю­че­ны.

Рас­смот­рим один из раз­де­лов это­го фай­ла:

[base]

name=CentOS-$releasever - Base

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

  1. baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

Вме­сто кон­крет­но­го ад­ре­са ре­по­зи­то­рия мож­но ука­зать yum спи­сок ад­ре­сов для за­груз­ки в па­ра­мет­ре mirrorlist. При же­лании мож­но ука­зать кон­крет­ный URL (па­ра­мет­ром baseurl), и ад­ре­са сто­ронних ре­по­зи­то­ри­ев обыч­но за­да­ют­ся имен­но так.

Для дан­но­го ре­по­зи­то­рия на­строе­на про­вер­ка циф­ро­вых под­пи­сей па­ке­тов (и это хо­ро­шая идея), а па­ра­метр gpgkey ука­зы­ва­ет путь к клю­чу. Об­ра­ти­те внимание, что это локаль­ный файл, ко­то­рый яв­ля­ет­ся ча­стью стан­дарт­ной уста­нов­ки CentOS, что­бы CentOS по умол­чанию знал пуб­лич­ные клю­чи сво­их ре­по­зи­то­ри­ев. Ес­ли вы вклю­чи­те дру­гие ре­по­зи­то­рии (ско­ро мы это сде­ла­ем), по­на­до­бит­ся за­гру­зить до­полнитель­ные клю­чи.

У yum мож­но спро­сить об из­вест­ных ей ре­по­зи­то­ри­ях сле­дую­щей ко­ман­дой:


# yum repolist

repo id repo name status

base CentOS-6 - Base 4,776

extras CentOS-6 - Extras 4

updates CentOS-6 - Updates 374

repolist: 5,154

[править] Сто­рон­ние па­ке­ты

В сто­ронних ре­по­зи­то­ри­ях мож­но най­ти мас­су про­грамм для CentOS. Ес­ли вы за­хо­ти­те их уста­но­вить, по­на­до­бит­ся до­ба­вить фай­лы .repo в /etc/yum.repos.d, что­бы yum знал, где ис­кать ре­по­зи­то­рии. В ка­че­­ст­ве при­ме­ра уста­но­вим ути­ли­ту восста­нов­ления сис­те­мы Mondo, о ко­то­рой я рас­ска­зы­вал ранее. Для на­ча­ла убе­дим­ся, что ее нет в стан­дарт­ных ре­по­зи­то­ри­ях:

# yum search mondo

... < не­сколь­ко строк вы­во­да опу­ще­но > ...

No Matches found [Сов­па­де­ний не най­де­но]

Итак, нам при­дет­ся до­ба­вить в ка­та­лог yum.repos.d файл (mondorescue.repo) со сле­дую­щим тек­стом:

[mondorescue]

name=rhel 6 i386 - mondorescue Vanilla Packages

baseurl=ftp://ftp.mondorescue.org//rhel/6/i386

enabled=1

gpgcheck=1

gpgkey=ftp://ftp.mondorescue.org//rhel/6/i386/mondorescue.pubkey

Кста­ти, я не на­пи­сал все это сам, а про­сто за­гру­зил этот файл с сай­та mondorescue. Об­ра­ти­те внимание, что мы ве­лим yum им­пор­ти­ро­вать пуб­лич­ный ключ с сай­та mondorescue, что­бы мож­но бы­ло про­ве­рить циф­ро­вые под­пи­си па­ке­тов.

Здесь, вспомнив о безо­пас­но­сти, я долже­н пре­ду­пре­дить вас, что по су­ти мы здесь да­ем yum пра­во уста­нав­ли­вать па­ке­ты с сай­та от имени су­пер­поль­зо­ва­те­ля-root. Ес­ли вы не до­ве­ряе­те ав­то­рам ПО, не де­лай­те это­го! Ма­ло ли ка­кой ущерб мо­гут принес­ти их па­ке­ты? Во­об­ще, ес­ли вы ра­бо­тае­те в кор­по­ра­тив­ной сре­де, про­верь­те, есть ли в ва­шей ком­пании по­ли­ти­ка пол­но­го за­пре­та сто­ронних ре­по­зи­то­ри­ев.

С ука­зан­ным фай­лом наш по­иск стал бо­лее пло­до­твор­ным:

# yum search mondo

... < не­сколь­ко строк вы­во­да опу­ще­но > ...

[править] N/S Matched: mondo =

mondo.i386 : MondoRescue is a GPL Disaster Recovery and Cloning Solution

Те­перь мож­но ус­та­но­вить па­кет:

# yum install mondo

... < опу­ще­но мно­же­ст­во строк вы­во­да > ...

Installed:

mondo.i386 0:3.0.2-1.rhel6

Dependency Installed:

afio.i386 0:2.5-1.rhel6

buffer.i386 0:1.19-4.rhel6

mindi.i386 0:2.1.3-1.rhel6

mindi-busybox.i386 0:1.18.5-1.rhel6

syslinux.i686 0:4.02-7.el6

Complete!

Как ви­ди­те, здесь yum уста­но­вил пять до­полнитель­ных па­ке­тов для раз­ре­шения за­ви­си­мо­стей. У yum есть и дру­гие ко­зы­ри, на­при­мер, по­иск, и я со­ве­тую вам по­чи­тать man-страницу.

Мес­та у ме­ня оста­лось толь­ко на то, что­бы вновь вер­нуть­ся к безо­пас­но­сти и рас­ска­зать вам еще об од­ной воз­мож­но­сти rpm. При ука­зании па­ра­мет­ра --verify ко­ман­да со­об­щит о лю­бых из­менениях в фай­лах па­ке­та с мо­мен­та уста­нов­ки. На­при­мер, вы­полните ко­ман­ду:

# rpm --verify xinetd

Она не вы­ве­дет ни­че­го: па­кет с мо­мен­та ус­та­нов­ки не из­ме­нил­ся. За­то ко­ман­да:

$ rpm --verify initscripts

..5....T. c /etc/inittab

го­во­рит нам, что у фай­ла /etc/inittab из­менились раз­мер, кон­троль­ная сум­ма MD5 и вре­мен­ная от­мет­ка по сравнению с из­на­чаль­но уста­нов­лен­ным (под­роб­ную ин­фор­ма­цию о вы­во­де ко­ман­ды мож­но по­лу­чить, по­ис­кав “differs” на man-странице rpm). Из­менения в фай­лах на­строй­ки по­сле уста­нов­ки – де­ло обыч­ное, но ес­ли вы ви­ди­те из­менения, на­при­мер, в дво­ич­ных фай­лах сис­те­мы, это мо­жет быть по­во­дом для опа­сений. Таким образом, эту ко­ман­ду мож­но ис­поль­зо­вать как про­стей­шее сред­ст­во об­на­ру­жения втор­жений.

В сле­дую­щем ме­ся­це мы да­дим на­ше­му сер­ве­ру на­стоя­щий по­вод для жизни, уста­но­вив на него несколь­ко сер­ви­сов. Уви­­дим­­ся! |

Персональные инструменты
купить
подписаться
Яндекс.Метрика