Detail Artikel
Kamis, 01 Oktober 2009 - 15:18:11 WIBpengenalan singkat apt-pinning
- Dibaca: 222 kali

Pengenalan singkat APT-Pinning
Tulisan ini menyuguhkan panduan penggunaan Apt-pinning di debian dan distro basis debian (seperti Ubuntu) Apt-pinning memungkinkan anda menggunakan banyak rilis (misal stable,testing,dan unstable)di sistem dan ketika menginstal sebuah package,kita dapat menentukan rilis mana yang dipakai. dengan demikian kita dapat menjalankan sistem berbasiskan rilis stable,tapi juga dapat menginstal beberapa package baru dari testing atau unstable (atau repositori third-party).
1.persyaratan penting
Kami menggunakan debian lenny (stable).penjelasan Apt-pinning menggunakan contoh package phpmyadmin yang hadir dalam 3 versi berbeda yakni di repo stable,testing,dan unstable-lihat
http://package.debian.org/search?keywords=php miyadmin&searchon=names&suite=all§ion=all:
*lenny (stable):version 4:2.11.8.1.-5
*squeeze (testing):version 4:3.1.2-2
*sid (unstable):version 4:3.1.3-1
2.sources.list
kita menambahkan repository testing dan unstable ke/etc/apt/sources.list sehingga tampak seperti ini:
vi/etc/apt/sources.list
deb http://volatile.debian.org/debian-volatile
lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile
lenny/volatile main
##lenny /stable
deb http://ftp2.de.debian.org/debian/lenny main
deb-src http://ftp2.de.debian.org/debian/lenny main
deb http://security.debian.org/lenny/updates main
deb-src http://security.debian.org/lenny/updates main
##squeeze/testing
deb http://ftp2.de.debian.org/debian/squeeze main
deb-src http://ftp2.de.debian.org/debian/squeeze main
##sid / unstable
deb http://ftp2.de.debian.org/debian/sid main
deb-src http://ftp2.de.debian.org/debian/sid main
Buka /etc/apt/apt.conf.
vi/etcapt/apt/apt.conf
dan sisipkan baris ini.
APT::cache-limit"100000000";
(jika tidak anda akan menemui error seperti dibawah ini saat menjalankan apt-get update:
E:Dynamic MMap ran out of room)
Lalu jalankan apt-get update untuk mengupdate package database.
Dengan current version,apt akan selalu mencoba menginstal package versi terkini yang biasanya datang dari
unstable atau testing-ini bisa membuat system kacau.Dengan apt-pinning,kita dapat menentukan prioritas sehingga
package akan diinstal dari unstable atau testing bila tidak ada package ini dari stable.kita dapat mengecek apt-priorities sebagai berikut.
apt-cache policy
server1:~#apt-cache policy
package filess:
100/var/ib/dpkg/status
release a=now
500 htp://volatile.debian.org lenny/volatile/main packages
release
o=volatile.debian.org,a=stable,1=debian-
volatile,c=main
origin volatile.debian.org
500 http://ftp2.de.debian.org sid/main packages
release
o=debian,a=unstable,1=debian,c=main
origin ftp2.de.debian.org
500 http://security.debian.org
squeeze/updates/main pacages
release 0=v=None,o=Debian,a=testing,1=debian
security,c=main
origin security.debian.org
500 http://ftp2.de.debian.org squeeze/main
packages
release o=debian,a=testing,1=debian,c=main
origin ftp2.de.debian.org
500 htp://security.debian.org lenny/updates/main
packages
release v=5.0,o=debian,a=stable,1=debian
security,c=main
origin security.debian.org
500 http://ftp2.de.debian.org lenny/main
packages
release
v=5.0,o=debian,a=stable,1=debian,c=main
origin ftp2.de.debian.org
pinned packages:
server1:~#
Seperti anda lihat,stable,testing,dan unstable semuanya mempunyai
priority sama (500)yang berarti package versi terkini akan diinstal.pada
kasus package phpmyadmin,versi
4:3.1.3-1 berasal dari unstable.
apt-cache policy phpmyadmin
(Baris cansdidate:menunjukan versi yang bakal diinstall):
server1:~#apt-cache policy phpmyadmin
phpmyadmin:
installed:(none)
candidate:4.3.1.3-1
version table:
4:3.1.3-1 0
500 http://ftp2.de.debian.org sid/main
packages
4:3.1.2-2 0
500 http://ftp2.de.debian.org squeeze/main
packages
4:2.11.8.1-5 0
500 http://ftp2.de.debian.org lenny/main
packages
server1:~#
Beginilah priorities ditentukan
(lihat man 5 apt_preferences):
p>1000
causes a version to be installed even if this
constitutes a downgrade of the package
990 < p <=1000
causes a version to be anstalled een it if does
not come from the target release,unless the
installed version is more recent
500 < p <=990
causes a version to be installed unless there is
a version available belonging to the target release
or the installed version is more recent
100 < p <=500
causes a version to be installed unless there is a version available
belonging to some other disribution or the installed version is more recent
0 < p <=100
causes a version to be installed only if there is
no installed version of the package
p < 0
prevents the version from being installed
3.Apt-pinning
Sekarang kita membuat ketentuan seperti berikut .kita mendahulukan
package stable daripada package testing dan mendahulukan package testing dibanding package unstable,
dan package dari testing dan unstable akan diinstal bila tidak ada package dari stable:
vi/etc/apt/preferences
package:*
pin:release a=stable
pin-priority:700
package:*
pin: release a=testing
pin-priority:650
package:*
pin:rel;release a=unstable
pin-priority:600
Pada baris Pin: release anda dapat menggunakan sembarang attribute yang anda lihat di release
line pada output apt-cache policy.
Contoh,untuk lenny,barisnya seperti ini:
release
v=5,0.o=debian,a=stabel,1=debian,c=main
Yang artinya kita dapat menggunakan pin: release o=Debian,misalnya.Namun karena testing dan unstabable juga mempunyai 0=Debian pada
baris release,kita menggunakan attribute yang membedakan satu release dari release lain-karena itu kita
kita menggunakan a=stable/testing/unstable di /etc/apt/preferences.
Bila apt-cache policy
menyuguhkan output seperti ini(ini dari server tempat kami tidak menggunakan testing dan unstabel,tapi repository third-party)yang o=
attribute berbeda.
server1:~#apt-cache policy
package files:
100/var/lib/dpkg/status
release a=now
500 http;//voolatile.Debian.org lenny/openvz
packages
release
o=volatile.Debian.org,a=stabel,1=Debian
volatile,c=main
origin .Debian.org
650 http://doenload.openvz.org lenny/openvz
packages
release 0=debian.systs.org lenny
archive,c=openvz
origin download.openvZ.org
700 http://security.debian.org lenny/updates/main
packages
release v=5.0,o=Debian,a=stable,1=Debian
security,c=main
origin security.debian.org
700 http://ftp2.de.debian.org lenny/main
packages
release
v=5.0,o=Debian,a=stable,1=Debian,c=main
origin ftp2.de.debian.org
pinned packages:
server1:~#
Kita dapat menggunakan
package:*
pin:release o=Debian
pin-priority:700
package:*
pin;release o=debian.systs.org lenny archive
pin-priority:650
Di/etc/apt/preferences,misalnya.
Update package database:apt-get update.Mari kita cek priorities
lagi dengan apt-cache policy.
server1:~# apt-cache policy
package files:
100/var/lib/dpkg/status
release a=now
70 http://volatile.debian.org lenny/volatile/main
packages
release
o=volatile.debian.org,a=stable,1=debian
volatile,c==main
origin volatile.debian.org
600 http://ftp2.de.debian.org sod main packages
release
o=Debian,a=unstable,1=Debian,c=main
origin ftp2.de.debian.org
650 http://security.debian.org
squeeze/updates/main packages
release v=None,o=Debian,a=testing,1=Debian
security,c=main
origin security.debian.org
650 http://ftp2.de.debian.org squeeze/main
packages
release0=dsebian,a=testing,1=Debian,c=main
origin ftp2.de.debian.org
700 http://security.debian.org lenny/updates/main
packages
release v=5.0,o=Debian,a=stable,1 Debian
security,c=main
origin security.debian.org
700 http;//ftp2.de.debian.org lenny/main
packages
release
v=5.0,o=Debian,a=stable,1=Debian,c=main
origin ftp2.de.debian.org
pinned packages:
server1~#
server 1:~#apt-cache policy phpmyadmin
phpmyadmin:
installed:(none)
candidate:4:2.11.8.1-5
version table
4:3.1.1- 0
600 http://ftp2.de.debian.org squeeze/main
packages
4:3.1.2-2 0
650 http://ftp2.de.debian.org squeeze/main
packages
4:2.11.8.1-5 0
700 http://ftp2.de.debian.org lenny/main
packages
server1:~#
Seperti annda lihat kini package phpyadmin dari stable akan diinstall.
4.Menahan package
Katakanlah anda menginstall package phpyadmin dari stable,dan hendak memberi tahu apt untuk mempertahankan current package di sermua kondisi
Beginilah caranya memberi tahu apt agar tidak pernah menginstall lagi package phpmyadmin:
vi/etc/apt/preferences
package:phpmyadmin
pin:version 4:2.11.8.1*
pin-priority:1001
(ini berjalan dengan atau tanpa stable,testing,dan unstable.jadi bila stable ,testing,dan unstable punya priority sama,phpmyadmin disset untuk ditahan(hold)
Seperti anda lihat kami menambahkan baris untuk package phpmyadmin dengan priority 1001.pada baris pin:version kami menggunakan arterisk (*).jika anda mengetahui dengan pasti versi package
yang hendak di-hold,tentu anda dapat menentukannya tanpa arterisk(pin:version 4:2.11.8.1-5)jalankan apt-get
update kembali dan cek plicies dengan perintah apt-cache policy
package files:
100/var/lib/dpkg/status
release a=now
700 http://volatile.debian.org lenny/volatile/main
packages
release
o=volatile.debian.org,a=stable,1=debian
volatile,c=main
origin volatile.debian.org
600 http://ftp2.de.debian.org sid/main packages
release
o=Debian,a=unastable,1Debian,c=main
origin ftp2.de.debian.org
650 http://security.debian.org
squeeze/updates/main packages
release v=None,o=Debian,a=testing,1=Debian
security,c=main
origin security.debian.org
650 http://ftp2.de.debian org squeeze/main
packages
release o=Debian,a=testing,1=Debian,c=main
origin ftp2.de.debian.org
700 http://security.debian.org lenny/main
packages
release v=5.0,o=Debian,a=stable,1=Debian
security,=main
origin security.debian.org
700 http://ftp.de.debian.org lenny/main
packages
release
v=5.0,o=Debian,a=stable,1=Debian,c=main
origin ftp2.de.debian.org
pinned packages
phpmyadmin ->4:2.11.8.1-5
server1:~#
server1:~#apt-cache policy phpmyadmin
phpmyadmin:
installed: 4:11.8.1-5
candidate: 4:2.11.8.1-5
package pin: 4:2.11.8.1-5
version table:
4:3.1.3-1 1001
600 http://ftp2.de.debian.org sid/main
packages
4:3.1.2-2 1001
650 http://ftp2.de.debian.org squeeze/main
packages
***4:2.11.8.1-5 1001
700 http://ftp2.de.debian.org lenny/main
packages
100/var/lib/dpkg/status
server:~#
Seperti anda lihat baris installed:
and candidate:keduanya menunjukan versi sama sehingga tidak ada package phpmyadmin lain yang akan diinstall.
5.Instalasi package dari rilis tertentu
Bagian ini mengasumsikan anda tidak mengeset phpmyadmin untuk di hold,seperti ditunjukan pada bagian
4.jika anda mengeset,bagian ini tidak bekerja.katakanlah anda memilih stable dari pada testing dan testing dari pada unstable
tapi tidak hanya untuk package phpmyadmin
karena versi dari dari unstable punya fitur yang mutlak diperlukan.
Berikut ini cara mengambilalih set up priorities sebelumnya dan menginstall phpmyadmin dari unstable.Ada dua cara dengan sedikit perbedaan.
apt-get install phpmyadmin/unstable
Ini akan menginstal phpmyadmin dari unstable,namun apt mencoba memenuhi semua dependensi phpmyadmin dengan package-package dari stable
apt-get unstable instal phpmyadmin
Ini akan menginstal phpmyadmin dari unstable,dan semua dependensi phpmyadmin akan diinstal dari unstable.(sumber dari komputek)
[ Kembali ke Kategori Komputer ]
0 Komentar :
Isi Komentar :


