• Sumo

Yum (Yellowdog Update, Modifier) merupakan package manager yang digunakan oleh system berbasiskan Red Hat Package Manager (rpm), pada distro lain kita mengenal adanya apt-get atau aptitude (debian based system), pkg_add pada OpenBSD.

Yum digunakan untuk meng-query informasi dari package, men-download package dari repository, melakukan installasi package, uninstall package, meng-update system. Yum secara otomatis akan memeriksa dependencies dari package waktu melakukan process installasi, uninstall atau update dan secara otomatis juga akan menginstall, uninstall atau update package yang dibutuhkan.

Jika pernah menggunakan rpm untuk menginstall package, mungkin pernah melihat output berikut

[root@anif ~]# rpm -ivh supertuxkart-0.7-2.fc15.i686.rpm
error: Failed dependencies:
libIrrXML.so.1.7 is needed by supertuxkart-0.7-2.fc15.i686
libIrrlicht.so.1.7 is needed by supertuxkart-0.7-2.fc15.i686
opengl-games-utils is needed by supertuxkart-0.7-2.fc15.i686
supertuxkart-data = 0.7 is needed by supertuxkart-0.7-2.fc15.i686

rpm command tidak bisa secara otomatis menginstall package-package yang dibutuhkan oleh supertuxkart-0.7-2.fc15.i686.rpm, sehingga pada saat installasi akan gagal karena dependencies package tidak terpenuhi.
Hal yang berbeda jika kita menggunakan yum untuk menginstall program supertuxkart, dimana yum secara otomatis akan mendeteksi package yang dibutuhkan dan menginstallnya

[root@anif ~]# yum install supertuxkart
Loaded plugins: langpacks, presto, refresh-packagekit
adobe-linux-i386                                         |  951 B     00:00
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package supertuxkart.i686 0:0.7-2.fc15 will be installed
–> Processing Dependency: supertuxkart-data = 0.7 for package: supertuxkart-0.7-2.fc15.i686
–> Processing Dependency: opengl-games-utils for package: supertuxkart-0.7-2.fc15.i686
–> Processing Dependency: libIrrlicht.so.1.7 for package: supertuxkart-0.7-2.fc15.i686
–> Processing Dependency: libIrrXML.so.1.7 for package: supertuxkart-0.7-2.fc15.i686
–> Running transaction check
—> Package irrlicht.i686 0:1.7.2-4.fc15 will be installed
–> Processing Dependency: libaesgm.so.0 for package: irrlicht-1.7.2-4.fc15.i686
—> Package opengl-games-utils.noarch 0:0.1-10.fc15 will be installed
—> Package supertuxkart-data.noarch 0:0.7-2.fc15 will be installed
–> Running transaction check
—> Package libaesgm.i686 0:20090429-4.fc15 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package                  Arch         Version               Repository    Size
================================================================================
Installing:
supertuxkart             i686         0.7-2.fc15            fedora       829 k
Installing for dependencies:
irrlicht                 i686         1.7.2-4.fc15          fedora       1.4 M
libaesgm                 i686         20090429-4.fc15       fedora        43 k
opengl-games-utils       noarch       0.1-10.fc15           fedora       6.6 k
supertuxkart-data        noarch       0.7-2.fc15            fedora        99 M

Transaction Summary
================================================================================
Install       5 Package(s)

Total download size: 101 M
Installed size: 147 M
Is this ok [y/N]:

terlihat dari output diatas, tidak hanya package supertuxkart yang diinstall, tapi juga package lain yang dibutuhkan oleh program supertuxkart juga ikut diinstall oleh yum.

Package source yang digunakan oleh yum untuk mendownload packages yang akan diinstall dikenal dengan nama repositories. Repositories ini bisa berupa package source local (jika terdapat banyak PC menggunakan Fedora, maka bisa di configure repository local sehingga akan bisa menghemat bandwith internet), bisa juga menggunakan packages source online dari repositories resmi fedora.
Jika menggunakan repositories default setelah installasi Fedora 15 yang ada di /etc/yum.repos.d, untuk bisa melakukan install, update atau searching package harus terkoneksi dengan internet.

  • yum konfigurasi file
    konfigurasi yum terdapat pada /etc/yum.conf, sedangkan file konfigurasi untuk repositories terletak pada /etc/yum.repos.d.
    ada banyak options yang bisa digunakan pada /etc/yum.conf yang mengatur yum. Untuk melihat options yang bisa digunakan oleh yum.conf dari command line gunakan perintah

    man yum.conf

    Direktori /etc/yum.repos.d digunakan untuk menyimpan file konfigurasi repositories, disini berisikan list server yang akan digunakan oleh yum. File-file konfigurasi repositories yang terdapat /etc/yum.repos.d menggunakan .repo extension yang dikenal dengan nama .repo file. Untuk melihat daftar repositories yang ada di /etc/yum.repos.d gunakan ls command.

    [anif@anif ~]$ ls -l /etc/yum.repos.d/
    total 48
    -rw-r–r– 1 root root  179 Jul 26  2007 adobe-linux-i386.repo
    -rw-r–r– 1 root root 1144 Jun 24 21:27 fedora.repo
    -rw-r–r– 1 root root 1105 Jun 24 21:27 fedora-updates.repo
    -rw-r–r– 1 root root 1163 Jun 24 21:27 fedora-updates-testing.repo
    -rw-r–r– 1 root root 1301 May 28 14:30 rpmfusion-free-rawhide.repo
    -rw-r–r– 1 root root 1202 May 28 14:30 rpmfusion-free.repo
    -rw-r–r– 1 root root 1200 May 28 14:30 rpmfusion-free-updates.repo
    -rw-r–r– 1 root root 1260 May 17  2009 rpmfusion-free-updates-testing.repo
    -rw-r–r– 1 root root 1355 May 28 14:31 rpmfusion-nonfree-rawhide.repo
    -rw-r–r– 1 root root 1247 May 28 14:31 rpmfusion-nonfree.repo
    -rw-r–r– 1 root root 1245 May 28 14:31 rpmfusion-nonfree-updates.repo
    -rw-r–r– 1 root root 1305 May 17  2009 rpmfusion-nonfree-updates-testing.repo

Untuk melihat isi file .repo gunakan vi atau gedit text editor, bisa juga langsung menggunakan command more atau less

[anif@anif ~]$ more /etc/yum.repos.d/fedora-updates.repo

  • yum cache dan log file
    yum cache path bisa diketahui dari variable cachedir pada /etc/yum.conf, defaultnya ada di /var/cache/yum

    cachedir=/var/cache/yum/$basearch/$releasever

yum log file bisa dilihat di /var/log/yum.log. File yum.log ini me-record semua transaksi yang terjadi baik itu untuk file yang di update, di install atau di uninstall. Untuk bisa melihat isi dari yum.log harus menggunakan hak akses sebagai root.

[anif@anif ~]$ su -c ‘cat /var/log/yum.log’
Jul 04 05:44:57 Updated: libass-0.9.12-1.fc15.i686
Jul 04 05:47:18 Erased: fedora-release-rawhide
Jul 04 05:48:12 Erased: report-gtk
Jul 04 06:32:52 Installed: flash-plugin-10.3.181.34-release.i386
Jul 08 08:05:32 Updated: systemtap-sdt-devel-1.5-5.fc15.i686
Jul 08 08:05:33 Updated: python-IPy-0.75-1.fc15.noarch
Jul 08 08:05:46 Updated: glibc-common-2.14-4.i686

  • Create repo
    Untuk meng-create Fedora repositories, terlebih dahulu harus menginstall packages createrepo. Setelah package ini terinstall, copy semua file rpm yang didownload ke direktori seperti /home/local_repo/f15.
    Running command berikut untuk create file dan generate file yang dibutuhkan:

    [root@anif ~]# createrepo –database /home/local_repo/f15/
    Spawning worker 0 with 1 pkgs
    Workers Finished
    Gathering worker results

    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete

    Untuk bisa menggunakan file rpm yang ada di repo yang sudah dicreate ini, create file .repo di /etc/yum.repos.d, misalkan filenamenya adalah anif.repo,

    # vi anif.repo
    [anif]
    name=anifLocal Repo F15
    baseurl=file:/home/local_repo/f15

    sample file diatas adalah minimal value yang harus ada di file .repo