Disclaimer :
Dokumen ini sudah usang dan tidak diperbarui lagi.
|
[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
2. Flag USE
Daftar Isi:
2.a. Apakah Flag USE itu?
Ide dibalik flag USE
Ketika anda menginstal Gentoo (atau distribusi yang lain, atau bahkan sistem
operasi yang lain), anda membuat pilihan berdasarkan lingkungan tempat anda
bekerja. Pengaturan suatu server berbeda dari pengaturan workstation.
Workstation untuk game juga berbeda dari workstation untuk render 3D.
Hal ini tidak hanya berlaku untuk memilih paket apa saja yang akan anda instal,
tetapi juga fitur apa yang harus didukung oleh paket-paket tertentu. Jika anda
tidak membutuhkan OpenGL, mengapa anda harus repot-repot menginstal OpenGL dan
mengaktifkan dukungan OpenGL pada hampir semua paket anda? Jika anda tidak
ingin menggunakan KDE, mengapa anda harus melakukan kompilasi paket dengan
dukungan untuk KDE jika paket tersebut bisa berjalan lancar tanpa dukungan itu?
Untuk membantu pengguna dalam menentukan apa saja yang akan diinstal/diaktifkan
dan yang tidak, kami menginginkan pengguna menentukan lingkungannya sendiri
dengan cara yang mudah. Hal ini akan memaksa pengguna untuk menentukan apa saja
yang benar-benar diinginkannya dan memudahkan proses Portage, sistem pengaturan
paket kami, untuk mengambil keputusan yang tepat.
Definisi suatu flag USE
Perhatikan flag USE. Flag tersebut adalah suatu kata kunci yang mengaktifkan
dukungan dan informasi dependensi untuk suatu konsep tertentu. Jika anda
mendefinisikan suatu flag USE, Portage tahu bahwa anda akan membutuhkan
dukungan untuk beberapa kata kunci pilihan. Tentu saja hal ini akan mengubah
informasi dependensi untuk sebuah paket.
Marilah kita melihat sebuah contoh khusus: kata kunci kde. Jika anda
tidak memiliki kata kunci ini pada variabel USE anda, semua paket yang
memiliki opsi dukungan KDE akan dikompilasi tanpa dukungan KDE.
Semua paket yang memiliki dependensi opsi KDE akan diinstal tanpa
instalasi pustaka KDE (sebagai ketergantungannya). Jika anda menggunakan kata
kunci kde, maka paket tersebut akan dikompilasi dengan dukungan
KDE, dan pustaka KDE akan diinstal sebagai dependensinya.
Dengan mendefinisikan kata-kata kunci secara benar, anda akan mendapatkan
sistem yang sesuai dengan kebutuhan snda.
Apa saja flag USE yang tersedia?
Terdapat dua jenis flag USE : flag USE global dan lokal.
-
Sebuah flag USE global digunakan oleh beberapa paket, untuk
keseluruhan sistem. Flag ini yang paling sering ditemui orang
sebagai flag-flag USE.
-
Sebuah flag USE lokal digunakan oleh suatu paket tunggal untuk
membuat keputusan yang berkaitan dengan paket tertentu.
Daftar flag USE global yang tersedia dapat diperoleh
online atau secara lokal di file
/usr/portage/profiles/use.desc.
Daftar flag-flag USE lokal yang tersedia dapat ditemukan di
/usr/portage/profiles/use.local.desc.
2.b. Menggunakan flag USE
Deklarasi flag USE secara permanen
Dengan harapan anda dapat diyakinkan akan pentingnya flag USE, kami akan
menginformasikan bagaimana cara mendeklarasikan flag USE.
Seperti yang telah disebutkan sebelumnya, semua flag USE dideklarasikan di
dalam variabel USE. Untuk memudahkan user mencari dan memilih flag USE,
kami telah memberikan sebuah pengaturan USE default. Pengaturan ini
adalah kumpulan dari flag USE yang kami rasa sering digunakan oleh user Gentoo.
Setting default ini dideklarasikan pada file make.defaults, yang
merupakan bagian dari profil anda.
Profil yang digunakan oleh sistem anda ditunjukkan oleh simlink
make.profile. Setiap profil bekerja di atas profil lain yang
lebih luas, hasil akhirnya adalah rangkuman dari seluruh profil. Profil
teratas adalah profil base
(/usr/portage/profiles/base).
Mari kita lihat pengaturan USE default untuk profil 2004.3:
Daftar Kode 2.1: Variabel USE make.defaults untuk profil 2004.3 |
USE="x86 oss apm arts avi berkdb bitmap-fonts crypt cups encode fortran f77
foomaticdb gdbm gif gpm gtk imlib jpeg kde gnome libg++ libwww mad
mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt
quicktime readline sdl spell ssl svga tcpd truetype X xml2 xmms xv zlib"
|
Seperti yang anda lihat, variabel ini sudah memiliki cukup banyak kata kunci.
Jangan mengubah file /etc/make.profile/make.defaults untuk
menyesuaikan variabel USE dengan kebutuhan anda: perubahan ini akan
dibatalkan ketika anda memperbarui Portage!
Untuk mengubah pengaturan default ini, anda perlu menambahkan atau mengubah
kata kunci pada variabel USE. Hal ini dilakukan secara global dengan
mendefinisikan variabel USE pada /etc/make.conf. Dalam
variabel ini, Anda menambahkan flag USE tambahan yang Anda butuhkan, atau
membuang flag USE yang tidak anda butuhkan. Yang kedua ini dapat dilakukan
dengan menambahkan kata kunci dengan tanda minus ("-").
Sebagai contoh, untuk membuang dukungan untuk KDE dan QT tetapi menambahkan
dukungan untuk ldap, variabel USE berikut dapat didefinisikan pada
/etc/make.conf:
Daftar Kode 2.2: Contoh pengaturan USE di /etc/make.conf |
USE="-kde -qt3 -qt4 ldap"
|
Deklarasi flag-flag USE untuk paket-paket individual
Kadang-kadang anda ingin menggunakan sebuah flag USE khusus untuk satu (atau
beberapa) aplikasi tetapi bukan untuk seluruh sistem. Untuk melakukannya,
anda perlu menciptakan direktori /etc/portage (jika belum ada)
lalu edit /etc/portage/package.use. Biasanya
package.use merupakan sebuah file biasa, tetapi juga bisa berupa
direktori; bacalah man portage untuk mendapatkan informasi lebih
lengkap. Contoh berikut ini menganggap package.use sebagai sebuah file.
Sebagai contoh, jika anda tidak ingin dukungan berkdb secara global
tetapi anda menginginkannya untuk mysql, anda harus menambahkan:
Daftar Kode 2.3: Contoh /etc/portage/package.use |
dev-db/mysql berkdb
|
Tentu saja anda dapat juga secara eksplisit menonaktifkan flag-flag USE
untuk sebuah aplikasi tertentu. Sebagai contoh, jika anda tidak ingin dukungan
java di PHP:
Daftar Kode 2.4: Contoh lain /etc/portage/package.use |
dev-php/php -java
|
Deklarasi flag USE sementara
Kadang-kadang anda ingin mendefinisikan pengaturan pada USE tertentu untuk
penggunaan sekali saja. Daripada mengubah file /etc/make.conf
dua kali (melakukan dan membatalkan perubahan USE), anda dapat mendeklarasikan
variabel USE sebagai variabel lingkungan. Perlu diingat, ketika anda menginstal
ulang atau memperbarui aplikasi ini (secara eksplisit atau sebagai bagian dari
update sistem), perubahan-perubahan anda akan hilang!
Sebagai contoh, kita akan menonaktifkan java untuk sementara dari pengaturan USE
selama instalasi seamonkey.
Daftar Kode 2.5: Menggunakan USE sebagai variabel lingkungan |
# USE="-java" emerge seamonkey
|
Urutan-urutan
Tentu saja terdapat urutan-urutan pengaturan yang memiliki prioritas terhadap
pengaturan USE. Anda tentu saja tidak ingin menggunakan USE="-java"
hanya untuk melihat bahwa java ternyata telah digunakan. Urutan untuk
pengaturan USE adalah, diurutkan berdasarkan prioritas (yang pertama mempunyai
prioritas terendah):
-
Pengaturan USE default yang ditentukan di file make.defaults
sebagai bagian dari profil anda
-
Pengaturan USE yang didefinisikan ditentukan di /etc/make.conf
-
Pengaturan USE yang ditentukan oleh pengguna di
/etc/portage/package.use
-
Pengaturan USE yang ditentukan oleh pengguna sebagai variabel lingkungan
Untuk melihat pengaturan USE akhir yang akan digunakan oleh Portage,
jalankan emerge --info. Perintah ini akan memberikan daftar yang berisi
semua variabel yang relevan (termasuk variabel USE) yang digunakan oleh
Portage.
Daftar Kode 2.6: Menjalankan emerge --info |
# emerge --info
|
Mengadaptasikan seluruh sistem ke pengaturan flag USE baru
Jika anda telah mengubah flag-flag USE anda dan ingin memperbarui seluruh
sistem anda agar menggunakan flag-flag USE baru tersebut, gunakan opsi
--newuse pada perintah emerge:
Daftar Kode 2.7: Memperbarui seluruh sistem |
# emerge --update --deep --newuse world
|
Selanjutnya, jalankan depclean Portage untuk menghapus semua dependensi
kondisional yang ter-emerge pada sistem "lama" anda, tetapi tidak lagi
digunakan karena flag-flag USE baru.
Peringatan:
emerge --depclean adalah langkah yang berbahaya dan sebaiknya digunakan
dengan sangat hati-hati. Periksa kembali daftar paket-paket "usang" yang
ditampilkan untuk memastikan agar Portage tidak menghapus paket-paket yang anda
perlukan. Pada contoh berikut ini, kami menambahkan opsi -p agar depclean
hanya menampilkan daftar paket-paket tanpa menghapusnya.
|
Daftar Kode 2.8: Menghapus paket-paket usang |
# emerge -p --depclean
|
Setelah depclean selesai, jalankan revdep-rebuild untuk membangun ulang
aplikasi yang terkait secara dinamis dengan objek-objek yang disediakan oleh
paket-paket yang telah dibuang. revdep-rebuild merupakan bagian dari
paket gentoolkit; jangan lupa untuk menginstalnya:
Daftar Kode 2.9: Menjalankan revdep-rebuild |
# revdep-rebuild
|
Setelah semuanya selesai, sistem anda sekarang menggunakan setting flag-flag
USE yang baru.
2.c. Flag USE dari paket tertentu
Melihat flag USE yang tersedia
Mari kit gunakan seamonkey sebagai contoh: flag USE saja yang digunakan?
Untuk mengetahuinya, kita menggunakan emerge dengan opsi
--pretend dan --verbose:
Daftar Kode 3.1: Melihat flag USE yang digunakan |
# emerge --pretend --verbose seamonkey
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] www-client/seamonkey-1.0.7 USE="crypt gnome java -debug -ipv6
-ldap -mozcalendar -mozdevelop -moznocompose -moznoirc -moznomail -moznopango
-moznoroaming -postgres -xinerama -xprint" 0 kB
|
emerge bukanlah satu-satunya alat untuk pekerjaan ini. Sebenarnya kami
memiliki suatu utilitas yang didedikasikan untuk melihat informasi paket yang
bernama equery, yang merupakan bagian dari paket gentoolkit.
Pertama, instal gentoolkit:
Daftar Kode 3.2: Instalasi gentoolkit |
# emerge gentoolkit
|
Sekarang jalankan equery dengan argumen uses untuk melihat
flag USE dari suatu paket. Sebagai contoh, untuk paket gnumeric:
Daftar Kode 3.3: Menggunakan equery untuk melihat flag USE yang digunakan |
# equery uses =gnumeric-1.6.3 -a
[ Searching for packages matching =gnumeric-1.6.3... ]
[ Colour Code : unset ]
[ Legend : Left column (U) - USE flags from make.conf ]
[ : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for app-office/gnumeric-1.6.3 ]
U I
- - debug : Enable extra debug codepaths, like asserts and extra output.
If you want to get meaningful backtraces see
http://www.gentoo.org/proj/en/qa/backtraces.xml.
- - gnome : Adds GNOME support
+ + : Adds support/bindings for the Python language
- - static : !!do not set this during bootstrap!! Causes binaries to be
+ statically linked instead of dynamically
|
[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
Isi dokumen ini dilisensikan dengan lisensi Creative Commons -
Attribution / Share Alike.
|