Instalowanie, usuwanie i aktualizowanie pakietów jest typową czynnością w systemie Linux. Większość dystrybucji Linuksa dostarcza pewnego rodzaju narzędzia do zarządzania pakietami. Na przykład, apt-get, dpkg, rpm, yum, etc.
Na niektórych dystrybucjach Linuksa, yum jest domyślnym menedżerem pakietów.
Yum jest skrótem od Yellowdog Updater Modified.
Ten artykuł wyjaśnia 15 najczęściej używanych poleceń yum z przykładami.
Instalacja pakietu za pomocą yum install
Aby zainstalować pakiet, wykonaj 'yum install packagename'. To również automatycznie zidentyfikuje zależności i zainstaluje je.
Poniższy przykład instaluje pakiet postgresql.
# yum install postgresql.x86_64Resolving DependenciesInstall 2 Package(s)Is this ok : yPackage(s) data still to download: 3.0 M(1/2): postgresql-9.0.4-5.fc15.x86_64.rpm | 2.8 MB 00:11(2/2): postgresql-libs-9.0.4-5.fc15.x86_64.rpm | 203 kB 00:00------------------------------------------------------------------Total 241 kB/s | 3.0 MB 00:12 Running Transaction Installing : postgresql-libs-9.0.4-5.fc15.x86_64 1/2 Installing : postgresql-9.0.4-5.fc15.x86_64 2/2 Complete!
Domyślnie 'yum install', poprosi cię o zaakceptowanie lub odrzucenie przed zainstalowaniem pakietów. Jeśli chcesz, aby yum instalował automatycznie bez monitów, użyj opcji -y, jak pokazano poniżej.
# yum -y install postgresql.x86_64
Odinstaluj pakiet używając yum remove
Aby usunąć pakiet (wraz z wszystkimi jego zależnościami), użyj 'yum remove package' jak pokazano poniżej.
# yum remove postgresql.x86_64Resolving Dependencies---> Package postgresql.x86_64 0:9.0.4-5.fc15 will be erasedIs this ok : yRunning Transaction Erasing : postgresql-9.0.4-5.fc15.x86_64 1/1 Removed: postgresql.x86_64 0:9.0.4-5.fc15Complete!
Uaktualnij istniejący pakiet używając yum update
Jeśli masz starszą wersję pakietu, użyj 'yum update package' aby uaktualnić go do najnowszej wersji. To również zidentyfikuje i zainstaluje wszystkie wymagane zależności.
# yum update postgresql.x86_64
Szukanie pakietu do zainstalowania przy użyciu yum search
Jeśli nie znasz dokładnej nazwy pakietu do zainstalowania, użyj 'yum search keyword', który przeszuka wszystkie pakiety pasujące do 'słowa kluczowego' i wyświetli je.
Następujący przykład przeszukuje repozytorium yum dla wszystkich pakietów pasujących do słowa kluczowego 'firefox' i wyświetla listę dostępnych pakietów.
# yum search firefoxLoaded plugins: langpacks, presto, refresh-packagekit============== N/S Matched: firefox ======================firefox.x86_64 : Mozilla Firefox Web browsergnome-do-plugins-firefox.x86_64 : gnome-do-plugins for firefoxmozilla-firetray-firefox.x86_64 : System tray extension for firefoxmozilla-adblockplus.noarch : Adblocking extension for Mozilla Firefoxmozilla-noscript.noarch : JavaScript white list extension for Mozilla FirefoxName and summary matches only, use "search all" for everything.
Wyświetl dodatkowe informacje o pakiecie używając yum info
Po wyszukaniu pakietu używając yum search, możesz użyć 'yum info package' aby wyświetlić dodatkowe informacje o pakiecie.
Następujące przykłady wyświetlają dodatkowe informacje o pakiecie samba-common.
# yum info samba-common.i686Loaded plugins: langpacks, presto, refresh-packagekitAvailable PackagesName : samba-commonArch : i686Epoch : 1Version : 3.5.11Release : 71.fc15.1Size : 9.9 MRepo : updatesSummary : Files used by both Samba servers and clientsURL : http://www.samba.org/License : GPLv3+ and LGPLv3+Description : Samba-common provides files necessary for both the server and client : packages of Samba.
Wyświetl wszystkie dostępne pakiety używając yum list
Następujące polecenie wyświetli listę wszystkich pakietów dostępnych w bazie danych yum.
# yum list | less
Wyświetl tylko zainstalowane pakiety używając yum list installed
Aby zobaczyć wszystkie pakiety, które są zainstalowane w systemie, wykonaj następujące polecenie yum.
# yum list installed | less
Do którego pakietu należy plik? – Użyj yum provides
Użyj 'yum provides' jeśli chcesz wiedzieć do jakiego pakietu należy dany plik. Na przykład, jeśli chcesz znać nazwę pakietu, który ma plik /etc/sysconfig/nfs, wykonaj następujące czynności.
# yum provides /etc/sysconfig/nfsLoaded plugins: langpacks, presto, refresh-packagekit1:nfs-utils-1.2.3-10.fc15.x86_64 : NFS utilities and supporting clients and : daemons for the kernel NFS serverRepo : fedoraMatched from:Filename : /etc/sysconfig/nfs1:nfs-utils-1.2.4-1.fc15.x86_64 : NFS utilities and supporting clients and : daemons for the kernel NFS serverRepo : updatesMatched from:Filename : /etc/sysconfig/nfs1:nfs-utils-1.2.4-1.fc15.x86_64 : NFS utilities and supporting clients and : daemons for the kernel NFS serverRepo : installedMatched from:Other : Provides-match: /etc/sysconfig/nfs
Lista dostępnych grup oprogramowania za pomocą yum grouplist
W yum, kilka powiązanych pakietów jest zgrupowanych razem w określonej grupie. Zamiast wyszukiwać i instalować wszystkie pojedyncze pakiety należące do określonej funkcji, możesz po prostu zainstalować grupę, która zainstaluje wszystkie pakiety należące do grupy.
Aby zobaczyć wszystkie dostępne grupy oprogramowania wykonaj 'yum grouplist' jak pokazano poniżej. Wyjście jest wymienione w trzech grupach – Zainstalowane grupy, Zainstalowane grupy językowe i Dostępne grupy.
# yum grouplistInstalled Groups: Administration Tools Base Design Suite ....Installed Language Groups: Arabic Support Armenian Support Bengali Support ....Available Groups: Authoring and Publishing Books and Guides Clustering DNS Name Server Development Libraries Development Tools Directory Server Dogtag Certificate System ...
Instalacja określonej grupy oprogramowania za pomocą yum groupinstall
Aby zainstalować określoną grupę oprogramowania, użyj opcji groupinstall, jak pokazano poniżej. W poniższym przykładzie, grupa 'DNS Name Server' zawiera bind i bind-chroot.
# yum groupinstall 'DNS Name Server'Dependencies ResolvedInstall 2 Package(s)Is this ok : yPackage(s) data still to download: 3.6 M(1/2): bind-9.8.0-9.P4.fc15.x86_64.rpm | 3.6 MB 00:15(2/2): bind-chroot-9.8.0-9.P4.fc15.x86_64.rpm | 69 kB 00:00-----------------------------------------------------------------Total 235 kB/s | 3.6 MB 00:15Installed: bind-chroot.x86_64 32:9.8.0-9.P4.fc15Dependency Installed: bind.x86_64 32:9.8.0-9.P4.fc15Complete!
Uwaga: Możesz również zainstalować bazę danych MySQL używając yum groupinstall, jak omówiliśmy wcześniej.
Uaktualnienie istniejącej grupy oprogramowania za pomocą groupupdate
Jeśli już zainstalowałeś grupę oprogramowania za pomocą yum groupinstall i chciałbyś ją uaktualnić do najnowszej wersji, użyj 'yum groupupdate' jak pokazano poniżej.
# yum groupupdate 'Graphical Internet'Dependencies ResolvedUpgrade 5 Package(s)Is this ok : y Running Transaction Updating : evolution-data-server-3.0.2-1.fc15.x86_64 1/10 Updating : evolution-3.0.2-3.fc15.x86_64 2/10 Updating : evolution-NetworkManager-3.0.2-3.fc15.x86_64 3/10 Updating : evolution-help-3.0.2-3.fc15.noarch 4/10 Updating : empathy-3.0.2-3.fc15.x86_64 5/10 Cleanup : evolution-NetworkManager-3.0.1-1.fc15.x86_64 6/10 Cleanup : evolution-help-3.0.1-1.fc15.noarch 7/10 Cleanup : evolution-3.0.1-1.fc15.x86_64 8/10 Cleanup : empathy-3.0.1-3.fc15.x86_64 9/10 Cleanup : evolution-data-server-3.0.1-1.fc15.x86_64 10/10 Complete!
Odinstaluj grupę oprogramowania używając yum groupremove
Aby usunąć istniejącą grupę oprogramowania użyj 'yum groupremove' jak pokazano poniżej.
# yum groupremove 'DNS Name Server'Dependencies ResolvedRemove 2 Package(s)Is this ok : yRunning Transaction Erasing : 32:bind-chroot-9.8.0-9.P4.fc15.x86_64 1/2 Erasing : 32:bind-9.8.0-9.P4.fc15.x86_64 2/2 Complete!
Wyświetl swoje aktualne repozytoria yum
Wszystkie polecenia yum odnoszą się do jednego lub więcej repozytoriów yum. Aby wyświetlić wszystkie repozytoria yum, które są skonfigurowane w systemie, wykonaj polecenie 'yum repolist', jak pokazano poniżej.
Następujące polecenie wyświetli tylko włączone repozytoria.
# yum repolistrepo id repo name statusfedora Fedora 15 - x86_64 24,085updates Fedora 15 - x86_64 - Updates 5,612
Aby wyświetlić wszystkie repozytoria (zarówno włączone jak i wyłączone), użyj polecenia 'yum repolist all'.
# yum repolist allrepo id repo name statusfedora Fedora 15 - x86_64 enabled: 24,085fedora-debuginfo Fedora 15 - x86_64 - Debug disabledfedora-source Fedora 15 - Source disabledrawhide-debuginfo Fedora - Rawhide - Debug disabledrawhide-source Fedora - Rawhide - Source disabledupdates Fedora 15 - x86_64 - Updates enabled: 5,612updates-debuginfo Fedora 15 - x86_64 - Updates - Debug disabledupdates-source Fedora 15 - Updates Source disabledupdates-testing Fedora 15 - x86_64 - Test Updates disabledupdates-testing-debuginfo Fedora 15 - x86_64 - Test Updates Debug disabledupdates-testing-source Fedora 15 - Test Updates Source disabled
Aby wyświetlić tylko wyłączone repozytoria, użyj 'yum repositories disabled'.
Instalacja z wyłączonych repozytoriów za pomocą yum -enablerepo
Domyślnie yum instaluje tylko z włączonych repozytoriów. Z jakiegoś powodu, jeśli chcesz zainstalować pakiet z wyłączonych repozytoriów, użyj opcji -enablerepo w 'yum install' jak pokazano poniżej.
# yum --enablerepo=fedora-source install vim-X11.x86_64Dependencies ResolvedInstall 1 Package(s)Is this ok : yRunning Transaction Installing : 2:vim-X11-7.3.138-1.fc15.x86_64 1/1 Complete!
Wykonywanie poleceń yum interaktywnie za pomocą powłoki Yum
Yum udostępnia interaktywną powłokę do uruchamiania wielu poleceń, jak pokazano poniżej.
# yum shellSetting up Yum Shell> info samba.x86_64Available PackagesName : sambaArch : x86_64Epoch : 1Version : 3.5.11Release : 71.fc15.1Size : 4.6 MRepo : updatesSummary : Server and Client software to interoperate with Windows machinesURL : http://www.samba.org/License : GPLv3+ and LGPLv3+Description : : Samba is the suite of programs by which a lot of PC-related : machines share files, printers, and other information (such as : lists of available files and printers). The Windows NT, OS/2, and : Linux operating systems support this natively, and add-on packages : can enable the same thing for DOS, Windows, VMS, UNIX of all : kinds, MVS, and more. This package provides an SMB/CIFS server : that can be used to provide network services to SMB/CIFS clients. : Samba uses NetBIOS over TCP/IP (NetBT) protocols and does NOT : need the NetBEUI (Microsoft Raw NetBIOS frame) protocol.>
Yum może również odczytywać polecenia z pliku tekstowego i wykonywać je jedno po drugim. Jest to bardzo pomocne, gdy masz wiele systemów. Zamiast wykonywać to samo polecenie na wszystkich systemach, utwórz plik tekstowy z tymi poleceniami i użyj 'yum shell' do wykonania tych poleceń, jak pokazano poniżej.
# cat yum_cmd.txtrepolistinfo nfs-utils-lib.x86_64# yum shell yum_cmd.txt repo id repo name statusfedora Fedora 15 - x86_64 24,085updates Fedora 15 - x86_64 - Updates 5,612Available PackagesName : nfs-utils-libArch : x86_64Version : 1.1.5Release : 5.fc15Size : 61 kRepo : fedoraSummary : Network File System Support LibraryURL : http://www.citi.umich.edu/projects/nfsv4/linux/License : BSDDescription : Support libraries that are needed by the commands and : daemons the nfs-utils rpm.Leaving Shell