Minggu, 01 Maret 2009

DeepFreeze Versi Gwijayas

Penggunaan satu komputer oleh banyak pengguna, sering ditemui pada warnet. Untuk masuk ke komputer biasanya hanya menggunakan satu akun nama pengguna. Pengguna yang memiliki kepribadian yang berbeda, tentu memiliki keinginan dan dan maksud yang berbeda. Bagi satu orang, perubahan tampilan desktop mungkin menyenangkannya (karena bosan dengan tampilan yang hanya "itu-itu saja"). Tapi ketika akun itu digunakan oleh orang lain, mungkin malah akan membingungkannya.

Dengan metode "pengembalian ke keadaan semula", maka akan didapat dua keuntungan yaitu dari sisi pelanggan, dan dari sisi admin:

* Keadaan default sudah ditentukan oleh admin. Seorang pelanggan masih dapat dengan mudah mengubah tampilan dan perilaku komputer sesuai keinginan.
* Setelah pelanggan keluar, maka keadaan komputer untuk nama akun tersebut akan dikembalikan ke keadaan semula, secara otomatis. Anda termasuk kategori "admin yang malas"? :D

Untuk menentukan keadaan default, maka catat terlebih dahulu keberadaan berkas-berkas konfigurasi di home akun untuk para pelanggan. Pada Linux (dan juga Unix), terdapat kesepakatan penamaan untuk berkas-berkas/direktori-direktori konfigurasi. Jika berkas-berkas/direktori-direktori konfigurasi tersebut ditujukan bagi akun pengguna, maka diberikan tanda "." (titik) didepan namanya (misalkan .kde/, .mozilla/, .gnome2, .emacs dan lain-lain). Atau berkas-berkas/direktori-direktori konfigurasi diakhiri dengan huruf rc (misalkan .kderc, .vimrc dan lain-lain). Simpan berkas-berkas konfigurasi ini "ditempat yang aman".

Penentuan keadaan awal ini dapat dilakukan pada satu komputer "percobaan". Jika dirasakan telah memuaskan, maka berkas-berkas/direktori-direktori ini bisa disebarkan ke komputer-komputer yang lain.

Sebenarnya, untuk membuat beberapa komputer memiliki konfigurasi yang sama, dapat dilakukan dengan dua cara:

* Cara pertama, cara yang dibahas pada tulisan ini, dengan membuat konfigurasi acuan yang kemudian disebarkan ke komputer lain. Cara ini efektif dilakukan untuk berkas-berkas konfigurasi per akun pengguna. Selain itu, pembuatan berkas acuan konfigurasi bisa dilakukan setiap kali diinginkan.
* Cara kedua adalah dengan membuat kloning antar komputer. Dengan cara ini, maka perangkat lunak serta konfigurasi antar komputer adalah sama. Syarat pembuatan kloning ini adalah bahwa komputer slave (komputer yang menerima image dari komputer acuan, komputer master) memiliki partisi yang sama atau lebih besar daripada komputer master. Setelah pengloningan selesai, maka hanya perlu melakukan sedikit perubahan, misalkan mengedit IP dan hostname. Bila pada komputer slave, partisi hasil kloning ternyata lebih kecil daripada besar partisi sebenarnya, maka ukurannya dapat disinkronkan ke keadaan semula. Misal, dengan sistem berkas reiserfs4, perintah resize_reiserfs dapat melakukan hal ini. Cara kloning antar komputer ini efektif dilakukan diawal pemasangan sistem.

Apakah menggunakan cara pertama atau cara kedua, sebenarnya penyebaran berkas/direktori konfigurasi Linux bisa dengan mudah dilakukan. Karena berkas-berkas konfigurasi hanyalah sebuah berkas teks biasa yang dapat diedit dengan menggunakan editor biasa. Namun adanya perubahan versi perangkat lunak tidak menjamin bahwa aturan pada konfigurasi adalah sama dengan konfigurasi sebelumnya.

Untuk mengembalikan konfigurasi keadaan sebelumnya, setelah seorang pelanggan selesai, dapat menggunakan beberapa kebijakan:

* Komputer tidak di-restart. Hanya dengan mematikan desktop manager (misalkan KDM, GDM atau XDM). Kemudian hapus konfigurasi lama dan kemudian mengembalikan salinan dari konfigurasi backup. Dan kemudian menyalakan kembali desktop manager-nya. Bila menggunakan cara ini, maka terdapat kemungkinan bahwa proses yang menggunakan background (misal dengan menggunakan program screen), masih tetap berjalan. Juga, proses yang dijalankan di terminal console (bukan terminal emulator di X), jika penggunaanya diijinkan, juga masih berjalan.
* Me-restart komputer. Di awal penyalaan komputer dapat dilakukan proses hapus konfigurasi lama milik akun pengguna dan salin konfigurasi dari berkas backup.

Untuk memudahkan proses hapus/salin, maka dapat dituliskan dalam suatu skrip. Berikut contoh bila menggunakan Python:

#!/usr/bin/python
# Nama berkas: /root/bin/manajemen-desktop-klien.py

import os

print "sedang melakukan pengaturan desktop untuk klien … "

KONF = [".acrorc",".adobe",".bash_profile",".bashrc",".dmrc","Desktop",\
".gaim",".kbfx",".kde",".kde3",".kderc",".local",".mozilla",\
".ntrc_2",".openoffice",".qt",".xchat2",".Xdefaults",]
KONF_NULL = [".bash_login",".Xauthority",".xinitrc",".Xresources",\
".xserverrc",".Xsession"]

asal = "/root/backup/desktop-klien/"
tujuan = "/home/pejuang/"
hapus = "rm -fR "
salin = "cp -R "
hak = "chown -R pejuang.pejuang "

for data in KONF:
os.system(hapus + tujuan + data)
os.system(salin + asal + data + " " + tujuan)
os.system(hak + tujuan + data)

for data in KONF_NULL:
os.system(hapus + tujuan + data)

print "manajemen desktop bagi klien selesai"

Distro Linux yang digunakan untuk tulisan ini adalah Debian dan keturunannya. Desktop yang digunakan adalah KDE 3.4.2. Untuk distro dan desktop lain, mungkin ada sedikit perbedaan. Namun pada intinya adalah sama. Penjelasan program:

* KONF. Daftar berkas/direktori konfigurasi dari perangkat lunak yang digunakan. Berkas/direktori konfigurasi ini bisa disebarkan ke komputer-komputer yang lain. Daftar pada KONF_NULL diperuntukkan untuk dihapus dan kemudian diganti dengan daftar berkas/direktori dari backup.

* .acrorc dan .adobe adalah konfigurasi untuk konfigurasi Adobe PDF Reader.
* .bash_profile dan .bashrc adalah berkas konfigurasi bagi Bash Shell
* .dmrc adalah berkas konfigurasi bagi desktop yang dipilih. Dengan memasukkan berkas .dmrc dalam daftar pemeliharaan, secara default pelanggan akan "dipaksa" untuk menggunakan desktop tersebut. Tentu saja, dia bebas untuk mengubah desktop yang diinginkan selama menggunakan komputer tersebut.
* Desktop berisikan shortcut bagi beberapa program yang "mungkin" sering dipakai. Dengan memasukkan sebagai daftar direktori yang dihapus, maka akan memastikan bahwa shorcut di desktop akan sama dengan yang telah ditentukan oleh admin.
* .gaim adalah direktori konfigurasi bagi Gaim Internet Messenger. Ketika pelanggan memasukkan username bagi layanan internet messenger, Gaim akan cenderung menyimpan daftar nama tersebut. Dengan menghapus dan mengganti direktori ini, maka daftar username tersebut akan "tetap bersih".
* .kbfx, .kde, .kde3, .kderc, .local dan .qt adalah berkas/direktori yang berhubungan dengan KDE. .kdbfx adalah direktori konfigurasi bagi KBFX aplikasi KDE Kicker.
* .mozilla adalah direktori konfigurasi bagi Firefox. Instalasi ekstensi Firefox juga dicatat pada direktori ini.
* .ntrc_2 adalah direktori konfigurasi bagi D4X Download Manager
* .openoffice adalah direktori konfigurasi bagi OpenOffice.org
* .xchat2 adalah berkas konfigurasi bagi XChat IRC Client.
* .Xdefaults adalah berkas konfigurasi untuk mengubah tampilan beberapa aplikasi yang jala di X.

* KONF_NULL adalah daftar berkas-berkas yang sebenarnya tidak ada, namun pengguna dapat membuatnya. Daftar pada KONF_NULL akan dihapus
* hapus. Perintah yang digunakan untuk menghapus berkas/direktori konfigurasi. Merupakan perintah pada Linux.
* salin. Perintah untuk menyalin berkas/direktori konfigurasi dari backup. Adalah perintah penyalinan pada Linux.
* asal. Letak awal berkas/direktori konfigurasi. Diperlukan oleh perintah penghapusan.
* tujuan. Letak tujuan bagi berkas/direktori konfigurasi yang baru. Diperlukan oleh perintah penyalinan.
* hak. Perintah untuk mengembalikan hak kepemilikan semula. Pada contoh diatas, berkas/direktori konfigurasi dimiliki oleh username pejuang yang berada dalam group pejuang.

Misalkan bahwa setiap pelanggan selesai menggunakan komputer, komputer akan di-restart,dan menggunakan sistem auto login bagi akun pengguna pejuang. Maka agar skrip ini dijalankan setiap kali restart komputer, pada Debian dan keturunannya, skrip ini diletakkan pada bagian akhir berkas /etc/init.d/bootmisc.sh. Debian tidak mengenal berkas rc.local ala BSD. Skrip akan dijalankan sebelum X Server dinyalakan. Misalkan, bila skrip diatas bernama manajemen-desktop-klien.py yang terletak pada direktori /root/bin, maka isi /etc/init.d/bootmisc.sh adalah:

#!/bin/sh

# … isi bootmisc.sh bawaan Debian …

python /root/bin/manajemen-desktop-klien.py



Selain untuk "mempertahankan konfigurasi awal", cara ini juga dapat untuk melindungi privasi pelanggan. Sebagai contoh, penggunaan browser publik cukup berbahaya. Informasi pribadi(misalkan password) dapat tersimpan pada komputer, baik secara sengaja ataupun tidak sengaja. Dengan menghapus direktori konfigurasi dankemudian menggantinya dengan yang tersiman pada backup, maka informasi-informasi ini dapat dihilangkan.

Sumber : http://jogja.linux.or.id/berita/arsip/2005/10/07/mempertahankan-tampilan-desktop-yang-dipakai-banyak-orang/

Tidak ada komentar:

Posting Komentar