от m@rtin(1-06-2004)

рейтинг (25)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Keeping Fedora Up to Date with Yum

Преведено от: m@rtin phreedom[@] mail dot bg


Как да ползваме Yum

Yum е инструмент за автоматичен ъпдейт и управление на пакетите при rpm базирани системи. Yum автоматично изчислява зависимостите и показва какво трябва да се направи за да се инсталират пакетите. Той прави много по-лесно поддръжката на група от машини без да се налага да ъпдейтвате по отделно всяка една от тях използвайки rpm.

Yum може да се използва вместо, или като допълнение на Red Hat up2date и rpm инструментите които идват с Fedora Core 1. Моите лични предпочитания е да използвам Yum като пълен заместител на двата инструмента защото той е доказал бързината си, сигурността си, и предлага функционалност която другите инструменти не предлагат. Като:
  • Много места за ъпдейт(mirror)
  • Лесен за конфигурация config файл
  • Правилно изчисляване на зависимости
  • rpm-съставни характеристики
  • comps.xml group support, including multiple repository groups
  • Опростен интерфейс
Yum може да се използва за ъпдейт и поддръжка на вече инсталирани пакети,но може да инсталира пакетите директно, което е от полза когато не може да си намерите cd и така да ви спести време. Да, може да свалите sourceball, или да потърсите rpm в интернет, това е лесно. Yum е разработен и се развива в резултат на работата на Duke University и е на наше разположение под GNU GPL. Сега Вие вече знаете малко за Yum, нека да проверим какво той може да направи за Вас!

Нека да отбележим, че този tutorial предполага че вече имате инсталиран Yum и може да използвате текстов редактор например vi за редакция. Ако нямате инсталиран Yum може да го инсталирате от Fedora Core 1 инсталационните CD-та, или може да посетите mirrors.kernel.org и да получите необходимите rpm's от там.

Конфигурация на Yum
Преди да използвате Yum трябва да промените конфигурационния файл наречен yum.conf и да редактирате линиите които казват на Yum кой mirror server да използва. По подразбиране това е основният Fedora Core 1 download server, той работи но е страшно бавен защото много хора го ползват. Вместо него моve да настроите Yum да използва един от многото mirror сървъри указани в
The FedoraMirror Site.

Обикновено Вие слагате за основен сървър такъв който е близо географски, което да ви помогне за увеличаване на скоростта.Въпреки това скоростта може да варира . Нека да редактираме yum.conf, да укажем сървър, и да стартираме Yum. Вие трябва да бъдете root потребител за останалата част на този tutorial, така че отворете прозорец на терминала и напише следните команди:

$su
$password

Сега използвайки своя любим текстов редактор отворете /etc/yum.conf и го редактирате като замените baseurl с адреса на mirror сървъра който сте избрали. В този пример ние използваме mirrors.kernel.org, за мен той работи добре защото съм в Western US, заместете го с mirror който сте избрали.

[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://mirrors.kernel.org/fedora/core/$releasever/$basearch/os



[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://mirrors.kernel.org/fedora/core/updates/$releasever/$basearch


Не трябва да се безпокоите за [updates-testing] частта от този файл тъй като тя не се използва за основен ъпдейт и инсталиране на пакетите. След като сте направили необходимите промени, запазете файла и го затворете. Сега нека да редактираме /etc/sysconfig/rhn/sources като следва, като отново заместим с mirror-а който сме избрали.

yum fedora-core-1 http://mirrors.kernel.org/fedora/core/1/i386/os yum updates-released http://mirrors.kernel.org/fedora/core/updates/1/i386

Страхотно, с тази промяна се застраховаме че Red Hat инструмента ще работи добре. Това е, запазете файла, затворете го и да продължим.

Използване на Yum
Първото нещо което трябва да направим с Yum е да ъпдейтнем неговия rpm headers списък, всяко rpm има header която съдържа пълен списък на файловете, описание на пакета, описание на възможностите и / или библиотеките които доставя, списък с неговите изисквания и списък с кое може да влезе в конфликт. Yum използва тази информация за да взема решения как да прави ъпдейт и да инсталира пакетите. Като root напишете следните команди:

#yum check-update

Yum ще направи пълен списък на текущите rpm headers от mirror сървъра който сте записали в yum.conf файла. Това обикновено продължава няколко минути и изглежда по този начин:

Gathering header information file(s) from server(s)
Server: Fedora Core 1 - i386 - Base
Server: Fedora Core 1 - i386 - Released Updates

Finding updated packages
Downloading needed headers


Когато Yum завърши даунлоуда на header файловете той е готов за работа. Да кажем, че искате да сте сигурни в това, че всички инсталирани пакети на вашата система са "up to date" с последната версия, просто напишете следната команда:

#yum update

Yum ще започне да сравнява всички пакети инсталирани на вашата система и тези намиращи се на mirror сървъра. Когато завърши, той ще ви предостави информация за детайлите и за това какво възнамерява да направи. Ще ви пита за потвърждение, както примера:

Gathering header information file(s) from server(s)
Server: Fedora Core 1 - i386 - Base
Server: Fedora Core 1 - i386 - Released Updates
Finding updated packages
Downloading needed headers
getting /var/cache/yum/updates-released/headers/rdesktop-0-1.3.0-2.i386.hdr
rdesktop-0-1.3.0-2.i386.h 100% |=========================| 3.1 kB 00:00
Resolving dependencies
Dependencies resolved
I will do the following:

[install: rdesktop-0-1.3.0-2.i386]
Is this ok [y/N]: y


В този случай Yum показва че е налице ъпдейт за RDesktop, всичко което трябва да направя е да отговоря с да(yes) и пакета е ъпдейтнат. Готино, а? Да кажем, че може би искате да направите ъпдейт на специфичен пакет.Само променете командата която използвахте по горе като добавите името на пакета :

#yum update nmap

Ще видите нещо такова:

Gathering header information file(s) from server(s)
Server: Fedora Core 1 - i386 - Base
Server: Fedora Core 1 - i386 - Released Updates
Finding updated packages
Downloading needed headers
No Packages Available for Update
No actions to take


В този случай Yum показва че тази версия на nmap инсталирана на системата е последна, следователно няма да продължи с ъпдейта. Nice eh ? Нека да кажем, че искате да инсталирате пакет който до сега се нямали инсталиран, като XChat IRC клиент, просто напишете следното:

#yum install xchat

Ще видите нещо такова:

Gathering header information file(s) from server(s)

Server: Fedora Core 1 - i386 - Base
Server: Fedora Core 1 - i386 - Released Updates
Finding updated packages

Downloading needed headers
getting /var/cache/yum/base/headers/xchat-1-2.0.4-4.i386.hdr
xchat-1-2.0.4-4.i386.hdr 100% |=========================| 6.8 kB 00:00

Resolving dependencies
Dependencies resolved
I will do the following:
[install: xchat 1:2.0.4-4.i386]
Is this ok [y/N]:


Просто отговорете с да(yes) на въпроса на Yum и като по чудо този пакет е инсталиран. Добре, да кажем че имате инсталиран nmap, и искате графичен интерфейс за него, но нямате идея как може да се казва пакетът, напишете следното:

#yum search nmap gui

Това е което може да видите:

Gathering header information file(s) from server(s)
Server: Fedora Core 1 - i386 - Base
Server: Fedora Core 1 - i386 - Released Updates
Finding updated packages

Downloading needed headers
Looking in available packages for a providing package
Available package: nmap-frontend.i386 2:3.48-1 from base matches with
Gtk+ frontend for nmap.
Available package: nmap-frontend.i386 2:3.48-1 from base matches with
nmap-frontend


Само изберете пакета който ви трябва и го инсталирайте като използвате командите които научихте по-рано в този tutorial. Търсенето може да става и с шаблони за търсене в случаите когато трябва да ги ползвате. Колко още по-добро може да бъде, бихте попитали? Какво ще кажете за следващия случай, да кажем че се нуждаете от някоя библиотека която не е самостоятелен пакет, както libc6.1-1.so.2, какво ще направите за да си я набавите ? Напишете следното:

#yum provides libc6.1-1.so.2

Ще видите нещо такова:

Gathering header information file(s) from server(s)
Server: Fedora Core 1 - i386 - Base
Server: Fedora Core 1 - i386 - Released Updates
Finding updated packages
Downloading needed headers

Looking in available packages for a providing package
Available package: compat-libstdc++.i386 0:7.3-2.96.118 from base matches with
libstdc++-libc6.1-1.so.2
Available package: compat-libstdc++.i386 0:7.3-2.96.118 from base matches with
libstdc++-libc6.1-1.so.2(GCC.INTERNAL)
2 results returned
Looking in installed packages for a providing package
No packages found


Yum показва, че пакета compat-libstdc++ съдържа библиотеката която търсите (libc6.1-1.so.2), а също така, че тя не е инсталирана на вашата система. Напишете команда yum install compat-libstdc++ и вече имате библиотеката. Сега нека да кажем, че сте болни от сканирането на портове на неподозиращи потребители (шегувам се разбира се) и сте решили да премахнете целия nmap наведнъж. Напишете следната команда:

#yum remove nmap

Това премахва избраните пакети като премахва и други пакети зависещи от тях. Едно неприятно нещо е, че когато Yum даунлоудва пакети или ъпдейти за инсталиране той не ги премахва автоматично от своя disk cache, така че се изисква периодична поддръжка.
За щастие поддръжката е толкова проста и бърза както останалото. Стартирайте следващата команда от време на време:

#yum clean all

Това изтрива всички стари кеширани пакети от вашата система, премахва също всички стари rpm headers които повече не са нужни. Обикнахте ли я, проста и бърза. Ok, още един пример. Нека да кажем, че искаме да научим всичко за пакета Xchat без да го инсталираме в действителност. Всичко което трябва да направим е:

#yum info xchat

Ще видите нещо такова:

Gathering header information file(s) from server(s)

Server: Fedora Core 1 - i386 - Base
Server: Fedora Core 1 - i386 - Released Updates
Finding updated packages
Downloading needed headers
getting /var/cache/yum/base/headers/xchat-1-2.0.4-4.i386.hdr
xchat-1-2.0.4-4.i386.hdr 100% |=========================| 6.8 kB 00:00
Looking in Available Packages:
Name : xchat
Arch : i386

Version: 2.0.4
Release: 4
Size : 2.40 MB
Group : Applications/Internet
Repo : Fedora Core 1 - i386 - Base
Summary: A GTK+ IRC (chat) client.
Description:
X-Chat is an IRC client for the X Window System and GTK+. X-Chat is
fairly easy to use and includes a nice interface.


Стигнахме до края на това ръководство, надявам се че информацията ще ви е полезна и ви е показала какъв важен и лесен за използване инструмент може да бъде Yum. Ако искате да научите повече за Yum посетете техния сайт или прочетете man страницата. Успех !

Written by Rick Nicholas
Източник: www.madpenguin.org


<< Инсталиране на Debian | Slackware ядро + ALSA >>