Mengakses Database MySQL Dari Oracle Dengan Heterogeneous Service

Oracle Heterogeneous Services atau biasa disingkat Oracle HS saja merupakan salah satu fitur hebat yang dimiliki server database Oracle. Mengapa saya sebut hebat? Dengan Oracle Heterogeneous Services, kita dapat mengakses berbagai database eksternal non-Oracle langsung dari Oracle. Seolah-olah kita memiliki satu database saja. Kita juga tidak perlu lagi login satu per satu setiap layanan database yang kita miliki. Oracle Heterogeneous Services sangat cocok untuk menyatukan semua server database yang beraneka ragam.

Oracle Heterogeneous Services ini ada dua, Oracle Transparent Gateways dan Generic Connectivity. Server database yang dapat diakses cukup beragam, mulai dari MySQL, Sybase, PostgreSQL, dll. Di tutorial ini kita akan mencoba mengakses database MySQL dari Oracle dengan Generic Heterogeneous Services. Untuk itu kita sudah harus punya satu server Oracle XE (Express Edition) dan satu server MySQL yang sudah running dengan baik.

Keseluruhan konfigurasi akan dilakukan di server Oracle. Kita hanya butuh informasi username, password, database, dan alamat IP dari server MySQL yang akan diakses. Di server Oracle, kita harus memasang dukungan ODBC untuk MySQL. Driver-nya dapat diunduh dari mysql.com. Setelah driver MySQL ODBC dipasang, buat konfigurasi di /etc/odbc.ini sebagai berikut.
[MY_SQL]
DRIVER = /usr/lib/libmyodbc5.so
SERVER = 10.15.5.71
UID = username
PWD = password
DATABASE = my_database
PORT = 3306
Ganti 10.15.5.71 dengan alamat IP server MySQL, username dengan nama user MySQL, password dengan password user mysql, dan my_database dengan nama database mysql yang hendak diakses dari Oracle.

Tambahkan konfigurasi heterogeneous system untuk MySQL di /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/hs/admin/initMYSQL_DB.ora.
HS_FDS_CONNECT_INFO = MY_SQL
HS_FDS_TRACE_LEVEL = OFF
HS_FDS_SHAREABLE_NAME = /usr/lib/libmyodbc5.so
Update konfigurasi listener Oracle di /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/listener.ora , dengan menambahkan entry untuk database MySQL.
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /usr/lib/oracle/xe/app/oracle/product/10.2.0/server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = MYSQL_DB)
      (ORACLE_HOME = /usr/lib/oracle/xe/app/oracle/product/10.2.0/server)
      (PROGRAM = hsodbc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )
Kemudian update konfigurasi tnsnames Oracle, dengan menambahkan untuk MySQL. Konfigurasi ini dapat ditemukan di /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/tnsnames.ora.
MYSQL_DB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SID = MYSQL_DB)
    )
    (HS = OK)
  )
Reload listener Oracle untuk memperbarui konfigurasi yang baru kita tambahkan.
lsnrctl reload
Login ke server Oracle, buat database link ke MySQL, lalu tes query ke salah satu tabel di database MySQL.
sqlplus / as sysdba
create database link mysql connect to "username" identified by "password" using 'MYSQL_DB';
select * from m_kota@mysql

Mencoba MySQL Cluster di Linux Debian

MySQL adalah salah satu poyek open source paling sukses hingga saat ini. Hampir semua aplikasi web modern menggunakan MySQL sebagai backend untuk basis datanya. MySQL bahkan menjadi salah satu komponen utama dari empat komponen dalam cerita sukses Linux menguasai pasar server. Huruf M pada LAMP merujuk ke MySQL, tiga lainnya terdiri dari Linux, Apache, dan PHP. Sebagai komponen penting, MySQL harus selalu tersedia untuk melayani berbagai request dari user.

Menjaga ketersediaan suatu layanan seperti MySQL tentu bukan suatu pekerjaan mudah, ada banyak faktor yang berpengaruh. Namun bukan pula sebuah perkara yang mustahil. Bahkan Oracle yang kini menjadi pemilik MySQL sudah menyediakan MySQL Cluster. Bagaimana MySQL Cluster menjamin layanan MySQL akan selalu tersedia? Redundancy. MySQL akan dijalankan di beberapa server, sehingga ketika salah satu server mati akan segera digantikan oleh server lainnya.

Nah, di tutorial kali ini kita akan mencoba memasang MySQL Cluster di Debian GNU/Linux. Walaupun idealnya sebuah sistem cluster dijalankan di beberapa server berbeda, dalam tutorial ini kita akan menjalankannya dalam satu server saja. Berikut step by step instalasi MySQL Cluster di Debian GNU/Linux.
  1. Unduh installer MySQL Cluster dari mysql.com. Pilih Linux-Generic, sesuaikan arsitekturnya dengan distro Linux yang digunakan.
  2. Ekstrak tarball berisi installer biner MySQL Cluster.
  3. tar -xzvf mysql-cluster-gpl-7.2.4-linux2.6-x86_64.tar.gz
    mv mysql-cluster-gpl-7.2.4-linux2.6-x86_64 mysqlc
  4. Buat direktori untuk menampung data dan konfigurasi MySQL Cluster.
  5. mkdir -p my_cluster/{conf,mysqld_data,ndb_data}
  6. Buat konfigurasi untuk mysql.
  7. vim my_cluster/conf/my.cnf
    Salin tempel pengaturan berikut ke berkas tersebut.
    [mysqld]
    ndbcluster
    datadir=~/my_cluster/mysqld_data
    basedir=~/mysqlc
    port=5000
  8. Buat konfigurasi untuk cluster yang akan dijalankan. Di contoh ini kita akan menjalankan dua node.
    vim my_cluster/conf/config.ini
    Contoh konfigurasi paling sederhana untuk satu server MySQL (mysqld), dua node data (ndbd), dan satu node manajemen (ndb_mgmd).
    [ndb_mgmd]
    hostname=localhost
    datadir=~/mysql_cluster/ndb_data
    NodeId=1

    [ndbd default]
    noofreplicas=2
    datadir=~/mysql_cluster/ndb_data

    [ndbd]
    hostname=localhost
    NodeId=3

    [ndbd]
    hostname=localhost
    NodeId=4

    [mysqld]
    NodeId=50
  9. Jalankan skrip mysql_install_db untuk mempopulasikan basis data yang dibutuhkan MySQL.
  10. ./mysqlc/scripts/mysql_install_db --no-defaults --datadir=~/mysql_cluster/mysqld_data/
  11. Jalankan node manajemen, lalu node data secara berurutan.
  12. ./mysqlc/bin/ndb_mgmd -f ~/mysql_cluster/conf/config.ini --initial --configdir=~/mysql_cluster/conf
    ./mysqlc/bin/ndbd -c localhost:1186
    ./mysqlc/bin/ndbd -c localhost:1186
    Hasilnya tampak seperti pada screen shot berikut.
  13. Cek status node data.
  14. ./mysqlc/bin/ndb_mgm -e show
    Pastikan proses start up node-node ini sudah selesai.
  15. Jalankan server MySQL (mysqld).
  16. ./mysqlc/bin/mysqld --defaults-file=~mysql_cluster/conf/my.cnf
  17. Login ke server MySQL dan cobalah untuk mebuat basis data dan tabel menggunakan storage engine ndb.
  18. ./mysqlc/bin/mysql -h 127.0.0.1 -P 5000 -u root
    create database coba_cluster;
    use coba_cluster;
    create table coba(id int not null primary key) engine=ndb;
    insert into coba values (1), (2), (3), (4), (5);
    select * from coba
MySQL Cluster selesai di-install :-)

Install Modul SAP RFC 1.4.1 Untuk PHP 5.4.0

Setelah sebelumnya sukses memasang PHP 5.4.0 dari source code, kali ini kita akan mencoba install modul SAPRFC versi 1.4.1 untuk PHP 5.4.0. Metode yang akan digunakan masih sama, yaitu kompilasi source code. FYI, saprfc itu modul ekstensi PHP yang digunakan untuk mengakses berbagai fungsi SAP ABAP melalui RFC (Remote Function Call). Source code SAPRFC bisa didapatkan dari saprfc.sourceforge.net. Selain source code SAPRFC, kita juga butuh SDK milik SAP yang hanya bisa didapatkan jika menjadi klien SAP.

Pustaka SAP SDK yang digunakan adalah versi 6.40 non-Unicode. Ekstrak pustaka ini menggunakan SAPCAR (bisa didapatkan dari SAP). Untuk keperluan kompilasi SAPRFC kita harus menyalinnya ke /opt.

./SAPCAR -xvf RFC_58-20000055.SAR
mv rfcsdk /opt/
Unduh dan ekstrak sour cecode SAPFC.
wget http://prdownloads.sourceforge.net/saprfc/saprfc-1.4.1.tar.gz
tar -xzvf saprfc-1.4.1.tar.gz
Sebelum menjalankan skrip configure, kita harus menjalankan phpize di dalam direktori source code SAPRFC.
cd saprc-1.4.1
/opt/bin/phpize
Program phpize dipanggil lengkap dari path yang merupakan hasil kompilasi source code PHP 5.4.0. Pemanggilan seperti ini untuk menghindari penggunaan PHP versi lain jika di sistem ter-install beberapa versi PHP.

Bagi pengguna CentOS 5.5 langkah ekstra berikut perlu dijalankan karena versi glibc yang digunakan tidak sesuai dengan kebutuhan SAPRFC. Glibc yang cocok dengan SAPRFC 1.4.1 adalah 2.3.4 sedangkan yang terpasang di CentOS 5.5 versi 2.5-49.
export CC=gcc34
export CFLAGS=-I/usr/lib/i386-redhat-linux4E/include:-B/usr/lib/i386-redhat-linux4E/lib/
Pengguna CentOS 5.5 juga perlu memastikan paket compat-glibc-2.3.4-2.26 ter-install di sistem. Setelah itu barulah kita jalankan konfigurasi.
./configure --with-php-config=/opt/bin/php-config
Jika sukses akan tampak seperti pada screen shot berikut.
Karena ada perubahan nama di PHP 5.4.0 maka kita harus mengubah kode pada berkas saprfc.c di bari ke-47. Ganti function_entry menjadi zend_function_entry. Tanpa perubahan ini kompilasi SAPRFC dengan PHP 5.4.0 akan gagal. Lanjutkan dengan kompilasi.
make
Jika sukses akan tampak seperti pada screen shot berikut.
Kemudian testing.
make test
Hasilnya tampak seperti pada screen shot berikut.
Lalu instalasi.
make install
Seperti halnya modul-modul PHP yang lain kita harus menambahkan baris extension=saprfc.so di php.ini sebelum me-restart server web built-in PHP 5.4.0. Cek di phpinfo untuk memastikan SAPRFC sudah ter-install dengan benar seperti tampak pada screen shot di bawah ini.
Jika entry SAPRFC belum tampil di phpinfo berarti masih ada yang salah ketika melakukan kompilasi :-)

Instalasi PHP 5.4.0 di CentOS 5.5

PHP 5.4.0 baru saja dirilis beberapa hari yang lalu. Ada banyak fitur tambahan baru dan perbaikan di rilis PHP terbaru ini. Salah satu fitur paling menarik, PHP kini sudah dilengkapi dengan server web built-in. Kehadiran server web built-ini ini memberikan kemudahan bagi user, terutama mereka yang tidak mau dipusingkan untuk memasang web server untuk mencoba PHP. Artinya ketika masih di tahap pengembangan dan pengujian, pengguna cukup meng-install PHP tanpa server web.

Karena masih baru dirilis, kelihatannya belum banyak distro yang  menyediakan PHP 5.4.0 di reponya. Khusus pengguna Windows, PHP sudah tersedia dalam bentuk installer biner. Bagi para Linuxer, satu-satunya cara saat ini adalah melakukan kompilasi dari source code. Itu artinya kita harus mengunduh kode sumber PHP 5.4.0 di situs resminya.
wget http://id.php.net/distributions/php-5.4.0.tar.bz2
Kode sumber dalam bentuk tarball ini kemudian harus diekstraksi.
tar -xjf php-5.4.0.tar.bz2
Sebelum memulai konfigurasi dan kompilasi, di CentOS 5.5 kita butuh satu paket dependensi yang harus dipasang.
yum install httpd-devel
Kemudian kita lanjutkan dengan melakukan konfigurasi minimal untuk PHP 5.4.0.
 cd php-5.4.0
./configure --prefix=/opt --with-apxs2=/usr/sbin/apxs

Jika sukses, di akhir konfigurasi akan tampil informasi tentang lisensi PHP 5.4.0.

Lanjutkan dengan kompilasi.
make
Kompilasi yang sukses tidak akan menampilkan pesan error, tampak seperti pada screen shot di bawah ini.

Untuk menguji apakah ada kutu (bug) di PHP 5.4.0 yang baru saja dikompilasi, lakukan testing.
make test
Kita punya opsi untuk mengirimkan hasil tes ini jika ditemukan kutu, kita juga dapat mengirimkannya secara manual ke tim PHP. Hasil tes ini sangat penting untuk penyelesaian berbagai kutu di PHP 5.4.0.

Terakhir, lakukan instalasi.
su
make install
PHP 5.4.0 hasil kompilasi ini akan dipasang di /opt karena kita mengaturnya demikian dengan opsi --prefix ketika melakukan konfigurasi.

Sekarang mari kita tes menjalankan skrip PHP menggunakan server web built-in di PHP 5.4.0. Sebelumnya buat dulu direktori untuk menampung berkas php dan satu skrip php bersisi fungsi untuk menampilkan informasi PHP 5.4.0
mkdir public_html
echo <? infophp() ?> > index.php
Lalu jalankan server built-in di localhost atau alamat IP mesin di port 8080.
/opt/bin/php -S 10.15.5.241:8080

Akses alamat tersebut dari browser, dan kita pun berhasil melakukan instalasi PHP 5.4.0 di CentOS 5.5 lengkap dengan server web built-in.

Kini tak butuh XAMPP lagi kalau mau belajar PHP. Selamat ngoprek.

Instalasi Trixbox VOIP Server, Community Edition

Ingin punya server VOIP (Voice Over Internet Protocol) sendiri tapi tidak ingin ribet dengan berbagai konfigurasi Asterisk yang njelimet? Trixbox CE (Community Edition) solusinya. Distro ini dikembangkan untuk solusi komunikasi terintegrasi menggunakan VOIP. Trixbox CE mempermudah instalasi dan konfigurasi Asterisk sebagai VOIP server dengan menyediakan antarmuka berbasis web yang lebih bersahabat dengan pemula. Trixbox CE sendiri merupakan versi 'free' dari Trixbox Pro. Trixbox dikembangkan dengan basis CentOS.

ISO image Trixbox CE dapat diunduh dari http://fonality.com/trixbox/downloads. Installer Trixbox CE akan menghapus semua partisi di harddisk. Jadi pastikan data di komputer yang digunakan untuk instalasi sudah diamankan. Kalau tidak mau mengambil resiko kehilangan data, gunakan saja virtual machine. Setelah mengunduh image Trixbox CE, bakar ke CD-ROM lalu boot komputer menggunakan CD-ROM tersebut.

Tekan tombol Enter di menu pilihan boot untuk langsung masuk ke menu installer Trixbox CE. Opsi-opsi lain dapat dilihat dengan tombol F1, F2, F3, F4, dan F5.


Di layar berikutnya pilih jenis papan ketik yang kita gunakan. Biasanya di Indonesia menggunakan jenis us. Tekan tombol Tab untuk menyorot OK, lalu eksekusi dengan Enter.

Untuk konfigurasi zona waktu, pilih Asia/Jakarta untuk WIB.

Masukkan password untuk root yang merupakan satu-satunya user yang dibuat dalam proses instalasi Trixbox CE.

Proses instalasi ke harddisk akan dimulai segera sesudah kita memilih OK pada konfigurasi password root. Tidak ada pengaturan partisi sama sekali, semua harddisk akan dipartisi ulang secara otomatis.

Trixbox CE akan otomatis reboot ke sistem baru di akhir proses instalasi. Di GRUB biarkan saja pilihan default untuk masuk ke sistem Trixbox CE.

Login menggunakan username root dan password yang ditetapkan di proses instalasi. Untuk konfigurasi Asterisk VOIP server, akses alamat IP Trixbox CE dari browser, gunakan username maint dan password password untuk login.

Instalasi Trixbox CE VOIP server selesai, berikutnya kita harus konfigurasi Asterisk menggunakan antarmuka web Trixbox CE.

Mencoba ReactOS: Sistem Operasi Kloning Windows XP

Selama ini mungkin kita sudah banyak mendengarkan atau membaca tentang berbagai sistem operasi open source berbasis Unix, seperti Linux dan *BSD. Tapi tahukah kita bahwa ternyata ada satu proyek sistem operasi open source berbasis Windows XP/2003. Secara konsep, sistem operasi yang diberi nama ReactOS ini sama persis dengan kloningannya. Mulai dari level perangkat keras hingga level perangkat lunak. Tujuan utama pengembangan ReactOS adalah menyediakan sistem operasi yang binary compatible dengan Windows XP. Artinya semua aplikasi yang berjalan di Windows XP akan berjalan di ReactOS.
Walaupun ReactOS masih jauh dari siap untuk digunakan, pengembangnya sudah menyediakan image VirtualBox untuk mereka yang senang mencoba-coba. Saat tulisan ini diterbitkan, versi ReactOS terakhir adalah 0.3.14. Silakan unduh image untuk VirtualBox di sini. Karena image ini sudah ter-install ReactOS kita cukup menambahkannya ke VirtualBox. Di jendela VirtualBox klik menu Machine, lalu pilih Add...
Pada dialog 'Select a virtual machine file', masuklah ke direktori di mana image ReactOS disimpan dan pilih berkas berekstensi vbox.
Sekarang ReactOS sudah terdaftar di virtual machine VirtualBox, klik Start untuk memulai menghidupkannya.
Di boot loader ReactOS ada beberapa pilihan sistem operasi, semuanya ReactOS dengan opsi-opsi tertentu. Biarkan saja apa adanya.
Ketika pertama kali masuk ke desktop, sebuah wizard instalasi perangkat keras langsung tersaji. Sepertinya sistem operasi ReactOS mengenali salah satu perangkat keras di virtual machine yang digunakan. Penampakan desktopnya mirip sekali dengan Windows XP tanpa logo Windows di tombol Start.
Windows Explorer di Windows XP digantikan oleh ReactOS Explorer dan ketika kita mengklik kanan My Computer dan memilih Properties, kita akan disuguhi informasi yang sama dengan apa yang kita dapatkan di Windows XP.
Hebatnya, sistem operasi ReactOS ini menggunakan lisensi GNU General Public License versi 2.
Struktur dan penampilan menunya pun juga sama dengan Windows XP. Kita bisa melihat semua program yang ter-install di menu Programs. Sayangnya ReactOS hanya dibekali beberapa aplikasi kecil pada instalasi default, tidak seperti umumnya distro Linux.
Jaringan juga sudah berfungsi dengan baik di ReactOS 0.3.14 tidak seperti beberapa waktu lalu ketika saya mencobanya. IP berhasil didapatkan secara otomatis dari server DHCP milik VirtualBox.
Jaringan terbukti bekerja dengan baik ketika ping dicoba dari command prompt mendapatkan balasan dari mesin di seberang, dalam hal ini gateway.
Ketika saya membuka Device Manager milik ReactOS, semua perangkat keras dapat dikenali dengan baik. Meskipun memang ini hanya di virtual machine. Masih perlu ada pembuktian jika menggunakan perangkat keras nyata.
Game Spider juga berjalan dengan baik.
Lain kali, saya akan mencoba memasang beberapa aplikasi open source untuk Windows XP di ReactOS. Kita akan lihat aplikasi apa saja yang berjalan dengan baik. Mencoba instalasi di perangkat keras nyata juga kelihatannya akan menarik. Sayangnya era Windows XP akan segera berakhir.
Informasi lebih lanjut tentang ReactOS.

Konfigurasi Ulang Modul VirtualBox Setelah Upgrade Kernel

Konfigurasi ulang modul VirtualBox merupakan upacara rutin yang wajib dijalankan setelah upgrade kernel Linux. Mengapa? Karena VirtualBox membutuhkan modul yang spesifik terhadap versi kernel Linux untuk dapat bekerja dengan semestinya. Itulah sebabnya ketika kernel distro Linux yang kita gunakan di-upgrade, dijamin VirtualBox tidak akan mau berjalan seperti biasanya.
Kalau kita tetap nekad menjalankan VirtualBox dari terimal:
su
service vboxdrv start
Kita akan mendapatkan pesan 'failed!'
Itu artinya kita harus melakukan konfigurasi ulang modul-modul VirtualBox untuk kernel yang baru.
service vboxdrv setup
Setelah proses ini sukses, barulah kita dapat menjalankan kembali VirtualBox.
Langkah sederhana tapi cukup merepotkan untuk para pengguna yang rajin melakukan update.

Broadcom BCM43228 di Linux Debian Unstable

Kemudahan upgrade menjadi salah satu fitur yang menyenangkan dari sistem operasi GNU/Linux. Berbagai distro menyediakan perangkat lunak untuk mempermudah user memperbarui sistemnya. Di Debian, sistem package management dpkg dengan front end aptitude, apt-get, atau Synaptic tak perlu diragukan lagi kehandalannya. Namun fitur ini juga bisa menjadi pedang bermata dua. Selaian menjadi keunggulan, juga jadi kelemahan. Terkadang ada saja perangkat keras yang tidak bekerja lagi setelah melakukan upgrade, padahal perangkat keras tersebut bekerja dengan baik sebelum upgrade dilakukan.
Wireless chipset Broadcom BCM43228 802.11a/b/g/n menjadi salah satu korban ketika Debian Unstable di-upgrade ke versi terakhir. Kalau dilihat dari lspci, wireless chipset ini terdeteksi sebagi:
Network controller: Broadcom Corporation BCM43228 802.11a/b/g/n
Masalah ini terjadi karena di update Debian unstable terbaru paket broadcom-sta-modules-3.1.0-1-amd64 tidak lagi tersedia. Firmware untuk Broadcom BCM43XXX versi sebelumnya tetap ter-install di sistem tapi menjadi tidak berguna karena menurut hasil uname -r, kernel sudah diperbarui juga menjadi:
3.2.0-1-amd64
Solusinya adalah menghapus semua paket Broadcom STA Modules.
su
aptitude purge broadcom-sta-common broadcom-sta-modules-3.1.0-1-amd64 broadcom-sta-source
Dan menggantinya dengan module DKMS untuk Broadcom.
aptitude install broadcom-sta-dkms
Dua langkah di atas sebenarnya dapat dipersingkat dengan langsung meng-install paket broadcom-sta-dkms. aptitude akan menghapus semua paket yang berkaitan dengan Broadcom STA Modules secara otomatis karena ditandai sebagai konflik dengan broadcom-sta-dkms.
Oh ya, sebelumnya jangan lupa dulu untuk memasang paket source code dari kernel yang digunakan.
aptitude install linux-headers-3.2.0-1-amd64
Cek hasilnya dengan menghidupkan ulang komputer :-)

Recovery Data/File Menggunakan Scalpel di Linux Ubuntu

Kehilangan data/file penting itu ibarat sebuah bencana. Ia bisa datang kapan saja dan di mana saja. Terkadang tanpa disengaja, hanya karena kita kurang berhati-hati ketika melakukan proses install ulang Windows misalnya. Kadang kala, kita juga bisa men-delete data/file secara tidak sengaja. Ada juga beberapa varian virus yang cukup nakal, mereka berulah men-delete berbagai data/file dengan ekstensi tertentu. Namun setiap permasalahan pasti ada solusinya, tidak terkecuali kehilangan data/file.
Ketika kehilangan data/file di harddisk PC/laptop, satu hal yang harus dilakukan adalah mengamankan harddisk tersebut. Usahakan supaya tidak ada lagi proses menulis ke harddisk (misalnya menyimpan file baru). Hal ini untuk mencegah data/file yang hilang tertimpa oleh data/file yang baru. Sebagai informasi, sebenarnya data/file yang kita hapus tidak langsung hilang begitu saja dari harddisk. Data/file itu tetap ada selama tidak ada data lain yang menimpanya.
Jika kondisi harddisk tetap dapat dijaga dari proses menulis/menyimpan data/file baru, maka data/file yang hilang akan dapat dikembalikan dengan proses recovery. Untuk menjamin tidak ada proses menulis/menyimpan, sebaiknya harddisk dijadikan image. Nantinya, image ini akan digunakan untuk proses recovery. Misalkan data/file yang hilang terjadi pada partisi /dev/sda1.
dd if=/dev/sda1 of=/media/data/image4recovery.img
Perintah di atas akan membuat sebuah salinan partisi /dev/sda1 menjadi image dengan nama file image4recovery.img di direktori /media/data. Pastikan ruang kosong di /media/data masih cukup untuk menampung image ini.
Di distro Linux seperti Ubuntu, ada beberapa pilihan perangkat lunak untuk urusan recovery data/file, salah satunya adalah Scalpel. Lakukan instalasi dengan perintah:
sudo aptitude install scalpel
Sebelum menjalankan Scalpel untuk melakukan recovery, kita harus melakukan sedikit perubahan konfigurasi di /etc/scalpel/scalpel.cof, khusunya pada bagian jenis berkas apa yang akan di-recovery.
sudo nano /etc/scalpel/scalpel.conf
Hilangkan tanda # pada baris yang berkaitan dengan PDF untuk me-recovery hanya berkas PDF.
Buat direktori tempat data/file hasil recovery disimpan, lalu jalankan Scalpel untuk memulai proses recovery.
mkdir output
scalpel -o output image4recovery.img
Proses recovery bisa berlangsung sangat lama, tergantung besarnya harddisk yang digunakan dan banyaknya data/file.
Di akhir proses recovery, kita akan menemukan beberapa direktori baru di bawah direktori output yang kita buat di proses sebelumnya.
Di dalam direktori-direktori ini kita akan menemukan data/file berekstensi PDF hasil recovery. Silakan dicek untuk memastikan data/file yang dihapus benar-benar kembali.
Namanya memang tidak lagi sama seperti ketika kita kehilangan data/file tersebut, tapi yang penting data/file tersebut berhasil di-recovery bukan?

Instalasi Cinnamon Desktop di Fedora 16

Walaupun belum secara resmi, ternyata sudah ada paket instalasi RPM Cinnamon untuk Fedora 16. Saat mengunjungi situs pengembangan Cinnamon, paket instalasi juga sudah tersedia untuk beberapa distro populer seperti Ubuntu, OpenSUSE, Arch Linux, Gentoo, dan Frugalware. Mungkin hanya menunggu waktu saja untuk distro-distro ini mengadopsi Cinnamon secara resmi. Bagi para pengguna, ketersediaan paket instalasi ini akan mempermudah mereka yang ingin mencoba Cinnamon tanpa perlu repot melakukan instalasi dari source code.
Di distro Fedora 16, ada dua cara untuk instalasi Cinnamon. Cara pertama, tambahkan repositori unofficial Cinnamon untuk Fedora, caranya ketikkan perintah berikut dari terminal.

su
curl http://repos.fedorapeople.org/repos/leigh123linux/cinnamon/fedora-cinnamon.repo -o /etc/yum.repos.d/fedora-cinnamon.repo
Kemudian lakukan instalasi Cinnamon dengan perintah:
yum install cinnamon
Jika cara di atas gagal, unduh saja paket RPM Cinnamon dari sini. Berkas yang harus diunduh ada tiga tapi kita cukup memasang dua saja untuk menjalankan Cinnamon. Install paket muffin terlebih dulu.
rpm -ivh muffin-1.0.1-1.fc16.x86_64.rpm
Hasilnya tampak seperti pada screen shot berikut.
Barulah kemudian install paket cinnamon.
rpm -ivh cinnamon-1.3.1-1.fc16.x86_64.rpm
Instalasi yang berhasil tampak seperti pada screen shot di bawah ini.
Sekarang mari kita coba jalankan Cinnamon dari terminal. Perintahnya seperti di bawah ini, jalankan sebagai user biasa.
cinnamon --replace
Desktop Fedora 16 akan segera berubah menjadi Cinnamon.
Menu Cinnamon tampak seperti MintMenu yang digunakan di rilis-rilis Linux Mint ketika masih menggunakan Gnome 2.x.
Cinnamon juga menyediakan satu perangkat lunak khusus semacam control panel untuk pengaturan tampilan dan tema. Perangkat ini bisa diakses dari panel.
Selain menjalankan secara manual dari terminal, Cinnamon juga bisa dijalankan dengan logout dan memilih Cinnamon di jendela login Fedora 16.
Referensi: forums.fedoraforum.org.