Tips Menggunakan Zypper Package Manager

Tentang Zypper

Zypper adalah command line package manager yang diperkenalkan sejak openSUSE 10.2, dikembangkan pada openSUSE 10.3 dan menjadi salah satu pilihan utama melakukan instalasi atau update aplikasi pada openSUSE 11.0 dan versi-versi berikutnya.

Zypper sekelas dengan perintah apt-get yang biasa ditemui pada distro Linux Debian dan turunannya (Ubuntu, Mint dll)

Perintah Umum

Perintah berikut adalah perintah yang umum dilakukan dalam menggunakan Zypper :

zypper                 # Untuk menampilkan daftar perintah dan pilihan
zypper help search     # Untuk menampilkan help untuk perintah pencarian
zypper lu              # Untuk menampilkan update patch yang diperlukan
zypper up              # Untuk melakukan update software
zypper se sqlite       # Untuk mencari paket software sqlite
zypper rm sqlite2      # Untuk menghapus paket software sqlite
zypper in sqlite3      # Untuk melakukan instalasi paket software sqlite
zypper in yast*        # Untuk melakukan instalasi semua paket yang diawali dengan nama 'yast'
zypper up -t package   # Untuk melakukan upgrade semua paket dengan versi terbaru 

Penggunaan Umum

Sintak utama zypper :

zypper [opsi global] perintah [opsi perintah] [argument] ...

Perintah dalam kurung siku tidak mutlak dan bersifat opsional, boleh digunakan boleh tidak, jadi penggunaan zypper secara mudah adalah dengan mengetik zypper diikuti perintah yang diinginkan, contoh :

zypper                 update

Contoh penggunaan dengan opsi tertentu :

zypper update --auto-agree-with-licenses

Perintah diatas digunakan untuk melakukan update tanpa perlu menjawab yes dan no untuk konfirmasi lisensi.

Kategori Perintah Zypper

Zypper menyediakan berbagai perintah yang dapat dikelompokkan kedalam beberapa kelompok perintah sebagai berikut :

  • Manajemen Repositori, untuk melakukan penanganan repository, seperti : refresh, repos, addrepo, removerepo, modifyrepo, namerepo
  • Manajemen Paket, untuk melakukan penanganan paket aplikasi seperti install, hapus dan update. Perintah : install, remove, update, dist-upgrade, source-install
  • Query Paket, untuk pencarian, seperti : search, info, what-provides, list-updates, patch-check, patches, packages, patterns, products
  • Locking, unutk melakukan penguncian aplikasi, seperti : locks, addlock, removelock
  • Utility, tambahan perintah seperti : verify, install-new-recommends, help

Menampilkan Help

Jika ingin mempelajari zypper secara langsung tanpa harus membuka artikel, silakan gunakan perintah help. Secara default, perintah help tanpa argument akan menampilkan daftar perintah zypper. Jika disertai argumen, zypper akan menampilkan help sesuai dengan argumen yang disertakan. Contoh :

# zypper help [command]

zypper -h [command] dan zypper [command] -h dapat juga digunakan jika dirasa lebih mudah digunakan

Manajemen Repository

Menampilkan daftar repository

$ zypper lr
# | Alias                 | Name                  | Enabled | Refresh
--+-----------------------+-----------------------+---------+--------
1 | packman               | Packman 11.0          | Yes     | No
2 | fate                  | fate                  | No      | No
3 | openSUSE-11.0-Updates | Updates for 11.0      | Yes     | Yes
4 | repo-oss              | openSUSE-11.0-Oss     | Yes     | No
5 | repo-non-oss          | openSUSE-11.0-Non-Oss | Yes     | No
6 | repo-debug            | openSUSE-11.0-Debug   | No      | No

Contoh lain :

zypper lr -u       # Menampilkan URL repository
zypper lr -d       # Menampilkan beberapa properti repository
zypper lr -P       # Menampilkan prioritas repository
zypper lr -e vavai    # Melakukan export semua definisi repository kedalam file dengan nama 'vavai.repo'

Menambahkan  Repository

Perintah : addrepo

Sebelum bisa melakukan instalasi paket aplikasi, kita harus mendefinisikan paling sedikit 1 repository. Repository adalah kumpulan paket aplikasi. Untuk menambahkan repository, gunakan perintah addrepo atau ar :

Contoh :

$ zypper ar http://download.videolan.org/pub/vlc/SuSE/11.0 vlc
Adding repository 'vlc' [done]
Repository 'vlc' successfully added
Enabled: Yes
Autorefresh: No
URI: http://download.videolan.org/pub/vlc/SuSE/11.0

Contoh lain :

zypper ar http://download.opensuse.org/repositories/X11:/XGL/openSUSE_11.0/X11:XGL.repo  # via file .repo
zypper ar -c ftp://some.download.site myalias   # Check repository saat ditambahkan
zypper ar my/dir/with/rpms local                # Menambah directory lokal dengan file rpm sebagai repository

Refresh Repository

Perintah : refresh

Setelah menambahkan repository atau jika repository tidak update, kita dapat memerintahkan zypper untuk melakukan update isi repository dengan perintah refresh.

$ zypper refresh
Downloading repository 'Packman 11.0' metadata [done]
Building repository 'Packman 11.0' cache [done]
Downloading repository 'Updates for 11.0' metadata [done]
Building repository 'Updates for 11.0' cache [done]
Repository 'openSUSE-11.0-Oss' is up to date.
All repositories have been refreshed.

Jika opsi autorefresh diaktifkan, zypper akan secara otomatis mengecek status update dari repository. Hanya perlu diingat, jika modus autorefresh diaktifkan, zypper akan selalu mengecek ketersediaan update yang tentu saja membutuhkan waktu tergantung kecepatan akses yang dimiliki.

Contoh refresh lain :

zypper ref packman main  # Melakukan refresh pada repository tertentu
zypper ref -f upd        # Memaksa refresh repository 'upd'

Menghapus Repositories

Perintah : removerepo

$ zypper rr vlc 1 23 foo
Repository 23 not found by alias, number or URI.
Repository foo not found by alias, number or URI.
Removing repository 'repo-debug' [done]
Repository 'repo-debug' has been removed.
Removing repository 'vlc' [done]
Repository 'vlc' has been removed.

Modifikasi Repository

Perintah : modifyrepo

Disable repository #6:

$ zypper mr -d 6
Repository 'repo-non-oss' has been sucessfully disabled.

Mengaktifkan autorefresh dan rpm files caching untuk repository ‘packman’ dan melakukan setprioritasnya ke 70 :

$ zypper mr -rk -p 70 packman
Autorefresh has been enabled for repository 'packman'.
RPM files caching has been enabled for repository 'packman'.
Repository 'packman' priority has been set to 70.

Disable RPM files caching untuk semua repository :

$ zypper mr -Ka
Nothing to change for repository 'local'.
RPM files caching has been disabled for repository 'packman'.
Nothing to change for repository 'fate'.
Nothing to change for repository 'upd'.
Nothing to change for repository 'repo-oss'.
Nothing to change for repository 'repo-non-oss'.

Mengganti Nama Repository

Perintah : namerepo

$ zypper nr 3 upd
Repository 'openSUSE-11.0-Updates' renamed to 'upd'.

Export/Import

repos -e

Kita bisa melakukan export daftar repository untuk kemudian diimport dikomputer lain

zypper lr --export backups/repos/foo.repo
zypper ar backups/repos/foo.repo

Manajemen Paket Aplikasi

Instalasi Paket

Perintah : install

Kita bisa melakukan instalasi paket aplikasi berdasarkan nama :

$ zypper install git
Reading installed packages...

The following NEW packages are going to be installed:
subversion-perl sqlite3 perl-DBD-SQLite git-svn git-cvs git

Overall download size: 1.1 M. After the operation, additional 4.6 M will be used.
Continue? [YES/no]:
Downloading package subversion-perl-1.5.0-96.1.x86_64 (1/6), 950.0 K (4.1 M unpacked)
Downloading: subversion-perl-1.5.0-96.1.x86_64.rpm [done]
Installing: subversion-perl-1.5.0-96.1 [done]
Downloading package sqlite3-3.5.7-17.1.x86_64 (2/6), 30.0 K (40.0 K unpacked)
Downloading: sqlite3-3.5.7-17.1.x86_64.rpm [done]
Installing: sqlite3-3.5.7-17.1 [done]
Downloading package perl-DBD-SQLite-1.14-41.1.x86_64 (3/6), 44.0 K (103.0 K unpacked)
Downloading: perl-DBD-SQLite-1.14-41.1.x86_64.rpm [done]
Installing: perl-DBD-SQLite-1.14-41.1 [done]
Downloading package git-svn-1.5.4.5-26.1.x86_64 (4/6), 66.0 K (195.0 K unpacked)
Downloading: git-svn-1.5.4.5-26.1.x86_64.rpm [done]
Installing: git-svn-1.5.4.5-26.1 [done]
Downloading package git-cvs-1.5.4.5-26.1.x86_64 (5/6), 63.0 K (205.0 K unpacked)
Downloading: git-cvs-1.5.4.5-26.1.x86_64.rpm [done]
Installing: git-cvs-1.5.4.5-26.1 [done]
Downloading package git-1.5.4.5-26.1.x86_64 (6/6), 10.0 K (3.0 K unpacked)
Downloading: git-1.5.4.5-26.1.x86_64.rpm [done]
Installing: git-1.5.4.5-26.1 [done]

… atau berdasarkan argument tertentu :

$ zypper in MozillaFirefox \< 3
Reading installed packages...
'MozillaFirefox' providing 'MozillaFirefox<3' is already installed.
Nothing to do.
$ zypper in MozillaFirefox \>= 3
Reading installed packages...

The following packages are going to be upgraded:
mozilla-xulrunner190-translations MozillaFirefox mozilla-xulrunner190-gnomevfs
mozilla-xulrunner190 MozillaFirefox-translations

The following package is going to be REMOVED:
mozilla-xulrunner190-lang

Overall download size: 11.0 M. After the operation, 12.9 M will be freed.
Continue? [Y/n/p/?]:
$ zypper in 'libqtiff.so()(64bit)'
<em>Reading installed packages...
'libqt4-x11' providing 'libqtiff.so()(64bit)' is already installed.
Nothing to do.</em>

Contoh lain :

zypper in yast*                     # install semua modules yast
zypper in -t pattern lamp_server    # install pattern lamp_server (apache, mysql, php dan perl)
zypper in vim -emacs                # install vim dan menghapus emacs
zypper in amarok packman:libxine1   # install libxine1 dari packman dan amarok dari repo apapun
zypper in bitchx-1.1-81.x86_64.rpm  # install bitchx rpm dari directory lokal
zypper in -f subversion             # Memaksa re-instalasi subversion

Menghapus Paket

Perintah : remove

$ zypper remove sqlite
Reading installed packages...

The following packages are going to be REMOVED:
sqlite3 perl-DBD-SQLite git-cvs git

After the operation, 351.0 K will be freed.
Continue? [YES/no]: n

Update Paket Aplikasi

update -t package
dist-upgrade

zypper dup     # Melakukan upgrade versi (misalnya dari 11.0 ke 11.1)
zypper up -t package                # update semua paket yang diinstall dengan versi terbaru
zypper up -t package libzypp zypper # update libzypp dan zypper
zypper in libzypp sqlite3           # update sqlite3 atau melakukan installnya jika belum terinstall

Pencarian

Perintah : search

$ zypper se sqlite
Reading installed packages...

S | Name                     | Summary                                                        | Type
--+--------------------------+----------------------------------------------------------------+--------
| libapr-util1-dbd-sqlite3 | DBD driver for SQLite 3                                        | package
i | libgda-3_0-sqlite        | Sqlite Provider for GNU Data Access (GDA)                      | package
| libqt4-sql-sqlite        | Qt 4 sqlite plugin                                             | package
i | libsqlite3-0             | Shared libraries for the Embeddable SQL Database Engine        | package
| libsqlite3-0-32bit       | Shared libraries for the Embeddable SQL Database Engine        | package
| mediatomb-sqlite         | UPnP AV MediaServer                                            | package
i | mono-data-sqlite         | Database connectivity for Mono                                 | package
| pdns-backend-sqlite2     | SQLite 2 backend for pdns                                      | package
| pdns-backend-sqlite3     | SQLite 3 backend for pdns                                      | package
i | perl-DBD-SQLite          | The DBD::SQLite is a self contained RDBMS in a DBI driver      | package
i | php5-sqlite              | PHP5 Extension Module                                          | package
| python-sqlite2           | Python bindings for sqlite 2                                   | package
| qt3-sqlite               | SQLite Database Plug-In for Qt                                 | package
| rekall-sqlite            | Rekall sqlite Database Backend                                 | package
| rubygem-sqlite3          | A Ruby interface for the SQLite3 database engine               | package
i | sqlite2                  | Embeddable SQL Database Engine                                 | package
| sqlite2-32bit            | Embeddable SQL Database Engine                                 | package
| sqlite2-devel            | Embeddable SQL Database Engine                                 | package
i | sqlite3                  | Embeddable SQL Database Engine                                 | package
| sqlite3-devel            | Embeddable SQL Database Engine                                 | package
| sqlite3-tcl              | Tcl binding for SQLite                                         | package
| tntdb1-sqlite            | Tntdb is a c++-class-library for easy database-access - sqlite | package
| ulogd-sqlite             | SQLite output plugin for ulogd                                 | package
$ zypper search -s --match-exact virtualbox-ose
Reading installed packages...

S | Name           | Type    | Version    | Arch   | Repository
--+----------------+---------+------------+--------+------------------------------------
v | virtualbox-ose | package | 1.6.2-2.1  | x86_64 | VirtualBox OSE (OBS, openSUSE 11.0)
i | virtualbox-ose | package | 1.5.6-33.1 | x86_64 | openSUSE-11.0-Oss
v | virtualbox-ose | package | 1.5.6-20.5 | x86_64 | VirtualBox OSE (OBS, openSUSE 11.0)
v | virtualbox-ose | package | 1.6.2-2.1  | i586   | VirtualBox OSE (OBS, openSUSE 11.0)
v | virtualbox-ose | package | 1.5.6-33.1 | i586   | openSUSE-11.0-Oss
v | virtualbox-ose | package | 1.5.6-20.3 | i586   | VirtualBox OSE (OBS, openSUSE 11.0)

Contoh lain :

zypper se 'yast*'                 # Menampilkan semua paket yang diawali dengan kata 'yast'
zypper se -r packman              # Menampilkan semua paket dari repository 'packman'
zypper se -i sqlite               # Menampilkan paket yang mengandung kata 'sqlite'
zypper se -t pattern -r repo-oss  # Menampilkan semua patterns pada repository 'repo-oss'
zypper se -t product              # Menampilkan semua produk

Referensi :

  1. Zypper, Package Manager untuk Apt-Get User
  2. openSUSE-Zypper Tips & Trick
  3. http://en.opensuse.org/Zypper/Features
  4. http://en.opensuse.org/Zypper/Usage

Tutorial

Tutorial openSUSE

Archives

Copyright Komunitas openSUSE Indonesia 2007-2012
Log in - BlogNews Theme by Gabfire themes