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. [/code] [code language='cpp'] $ 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 :