Thursday, March 8, 2012

Kembali ke fitrah distro

Pengguna yang lapar fitur biasanya akan menambahkan banyak sekali PPA (Personal Packages Archive) untuk mendapatkan build yang lebih baru untuk rilis Ubuntunya. Hasilnya bisa jadi luar biasa kerena rilisnya menjadi sangat kaya fitur dan beberapa bug menjadi hilang. Selain hal2 yang menyenangkan tersebut adakalanya build satu dengan yang lain tidak cocok sehingga yang terjadi adalah sistem kita menjadi tidak stabil. Beberap PPA yang sangat radikal dalam mengubah sistem berdasarkan pengalaman sendiri adalah:

- Ubuntu proposed repository yang tersedia di Software Source bawaan Ubuntu
- Gnome-Shell Testing PPA : Rico Tzschichholz : ppa:ricotz/testing, yang berisikan build berdasarkan kode2 terbaru untuk gnome shell.
- GNOME3 : “GNOME3 Team” team : ppa:gnome3-team/gnome3, yang dipasang sebagai komplemen dari PPA ricotz.

Pengalaman dari Ubuntu 11.10 penggunaan repositori di atas menyebabkan tidak berfungsinya global menu. Ubuntu 12.04 versi pengembangan (belum resmi) sudah terinstal dan banyak sekali perbaikan yang dilakukan yang menjadikan saya optimis 12.04 akan menjadi versi yang bagus dan awet. Sebenarnya proses migrasi sudah komplit hanya saja beberapa software penting belum terdapat updatenya sehingga masih harus menggunakan versi 11.10. Saya putuskan untuk membersihkan 11.10 dari PPA yang menurut saya kurang stabil dan mengembalikan 11.10 ke kondisi stabil. Ternyata proses bersih2 PPA bukan pekerjaan yang mudah (paling tidak, tidak semudah menambahkannya). Terlebih dahulu harus dipahami interdependensi antar PPA seperti contoh gimp 2.7 versi Matthaeus123 yang memerlukan PPA dari ricotz dan gnome3-team.

Program yang digunakan adalah ppa-purge yang tersedia dari repositori resmi. Untuk membuang PPA perlu diperhatikan urutannya. Yang pertama perlu dibuang adalah PPA yang tidak memiliki dependant, seperti contoh di atas adalah PPA gimp :

sudo ppa-purge ppa:matthaeus123/mrw-gimp-svn #(nama PPA didapat dari situs Launchpad PPA yang bersangkutan)

yang akan membuang instalasi gimp dari PPA tersebut dan menggantikan dengan versi terbaru yang ada di repositori kita. Apabila kita tidak memiliki PPA gimp yang lain maka gimp akan diambilkan dari main server Ubuntu. Berturut2 kita membuang PPA yang lain sampai tersisa adalah repositori utama bawaan Ubuntu.

Membuang PPA pihak ketiga masih tergolong lugas. Yang agak tricky adalah membuang repositori proposed bawaan Ubuntu. Walaupun repositori ini bawaan Ubuntu sendiri tetapi adakalanya malah menyebabkan sistem tidak stabil karena repositori ini ditujukan untuk tester. Proses untuk membuangnya dinamakan repository pinning yang umum dilakukan pada distro turunan Debian.
Pertama perlu dibuat sebuah file /etc/apt/preferences yang isinya (contoh untuk Ubuntu 11.10) :

Package: *
Pin: release a=oneiric
Pin-Priority: 1001


Package: *
Pin: release a=oneiric-updates
Pin-Priority: 1001


Package: *
Pin: release a=oneiric-proposed
Pin-Priority: -10

script di atas akan menandai paket2 di bawah oneiric-proposed akan diupgrade (yang kenyataannya adalah malah didowngrade) ke oneiric atau oneiric-updates. Setelah itu prosesnya seperti biasa sudo apt-get update dan upgrade. Ada baiknya mengecek dulu efek upgrade dengan mensimulasikan menggunakan perintah sudo apt-get -s upgrade. Apabila sudah terlihat benar maka proses upgrade dapat dilakukan, tidak menutup kemungkin diperlukan proses dist-upgrade. Setelah proses upgrade(downgrade) selesai maka kita bisa menghapus file /etc/apt/preferences dan menghilangkan centang repositori proposed dari software source. Berikutnya kita mengecek apakah seluruh paket sudah kembali menggunakan repositori bawaan Ubuntu dengan apt-get update.

Beberapa paket ada yang membandel dan tetap bercokol dan biasanya membawa masalah pada stabilitas sistem. Paket2 tersebut dapat dilihat apabila kita melihat instalasi paket berdasarkan Origin pada synaptic package manager. Paket2 yang tidak memiliki repositori akan masuk kategori Local. Di sini terpaksa kita harus mengecek versi setiap paket satu persatu. Untuk melihat versi yang tersedia nama paket kita klik kanan dan pilih properties lalu pada jendela ada tab Version yang menunjukkan versi2 yang tersedia dari repositori kita. Versi yang terinstall ditandai dengan (now) sedangkan versi yang paling lama berada paling bawah. Kesulitannya adalah kita tidak dapat begitu saja menggunakan perintah Force Version atau reinstall pada synaptic untuk melakukan downgrading. Synaptic akan mengasumsikan kita melakukan uninstall dan akan ikut melakukan uninstall paket2 yang merupakan dependant dan bisa jadi hasilnya adalah malapetaka karena kernel bisa terikut diuninstall.
Langkah yang bisa ditempuh dengan mendownload paket2 yang akan digunakan untuk downgrading secara manual dari http://packages.ubuntu.com/. Paket2 yang diperlukan dikumpulkan dalam satu folder khusus.  Kemudian kita install bersamaan dengan perintah sudo dpkg -i *.deb. Paket2 ini akan menimpa paket2 yang terinstall di Ubuntu kita. Setelah proses ini kita mungkin perlu memeriksa apakah ada dependensi yang rusak sehingga perlu dilakukan perintah sudo apt-get -f install dan memenuhi dependensi antar paket yang prosesnya relatif lebih sederhana.

Seandainya masih ingin meyakinkan bahwa program2 telah terinstall semua dapat menggunakan perintah (dari http://gourgi.wordpress.com/2009/09/27/re-install-ubuntu-desktop-metapackage-and-reinstall-its-dependencies/):


sudo apt-cache depends ubuntu-desktop | awk -F ":" '{print $2}' | \
sed '/^$/d' | xargs sudo apt-get \
install --reinstall --install-recommends --yes


Akhir dari proses ini adalah instalasi Ubuntu kembali ke kondisi seperti instalasi awal tanpa perlu melakukan instal ulang termasuk seting akun dari awal.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home