Sabtu, Maret 24, 2007

Membuat Dummy File di Linux

Kadang-kadang untuk keperluan pengujian sistem atau jaringan, kita memerlukan file dengan ukuran yang besar. Bagaimana kalau kita kesulitan mencari file yang besar? Cara termudah adalah membuat dummy file, dan Linux sudah menyediakan perintah dd :
$ dd if=/dev/zero of=100mega bs=10000 count=10000
10000+0 records in
10000+0 records out
100000000 bytes transferred in 0.547400 seconds (182681737 bytes/sec)
$ ls -la 100mega
-rw-r--r-- 1 chandra chandra 100000000 Mar 24 12:45 100mega
Perintah dd di atas artinya kita mengcopykan 10000 block dari zero (karakter null) terbuffer (diperoleh dari /dev/zero yang ditentukan dari opsi of=...) sebanyak 10000 kali ke file dengan nama 100mega (opsi of=...)

Pada dasarnya perintah dd berfungsi untuk menyalin dan mengkonversi data. Contoh penggunaan yang lain adalah
dd if=/dev/zero of=/dev/fd0
yang akan memformat disket floppy

Lebih lanjut dengan perintah dd, bisa dilihat di :

Jumat, Desember 08, 2006

Tips : Sorting di vim

Ini adalah operasi yang kadang-kadang kubutuhkan, dan karena cuma kadang-kadang dipakai, biasanya tidak kuingat, sehingga harus googling dulu. Akhirnya aku pikir lebih baik kutulis saja di catatan kecilku ini :
  • Memilih baris-baris yang akan diurutkan melalui mode Visual.
  • Setelah baris dipilih tekan tombol !, otomatis baris terakhir jendela vim menjadi :'<,'>!
  • Lengkapi menjadi :'<,'>!sort, maka baris-baris di atas sudah diurutkan

Pada dasarnya cara diatas menggunakan perintah sort di shell, sehingga kita bisa menggunakan :'<,'>!sort -r untuk mengurutkan dengan urutan terbalik.

Cara lain adalah seperti berikut :
  • Memilih baris-baris yang akan diurutkan melalui mode Visual.
  • Setelah baris dipilih tekan tombol :, otomatis baris terakhir jendela vim menjadi :'<,'>
  • Lengkapi menjadi :'<,'>Vissort, maka baris-baris di atas sudah diurutkan

Tips ini diambil dari

Selasa, Juni 13, 2006

Mengenai VirtualHost di apache

Pada distribusi Redhat, opsi VirtualHost dimatikan secara default.
Untuk menggunakan Name-based VirtualHost, maka httpd.conf perlu disunting sebagai berikut :

NameVirtualHost *

<VirtualHost *>
ServerAdmin webmaster@northjogja.net
DocumentRoot /var/www/html/
ServerName zeus.northjogja.net
ErrorLog logs/zeus.northjogja.net-error_log
CustomLog logs/zeus.northjogja.net-access_log common
</VirtualHost>

<VirtualHost *>
ServerAdmin webmaster@northjogja.net
DocumentRoot /var/www/html/wiki
ServerName wiki.northjogja.net
ErrorLog logs/wiki.northjogja.net-error_log
CustomLog logs/wiki.northjogja.net-access_log common
</VirtualHost>


Pada konfigurasi di atas ada dua VirtualHost, yaitu :
  • zeus.northjogja.net, yang file-filenya (Document Root) berada di /var/www/html/
  • wiki.northjogja.net, yang file-filenya (Document Root) berada di /var/www/html/wiki

Namun konfigurasi di atas tidak bisa bekerja dengan baik bila mod_ssl terpasang. Bila mod_ssl terpasang, dan konfigurasi terpasang seperti di atas, maka bila httpd direstart, akan muncul pesan error :
[error] VirtualHost _default_:443 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results

Untuk mengatasinya konfgurasi di atas harus diubah seperti berikut :

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
ServerAdmin webmaster@northjogja.net
DocumentRoot /var/www/html/
ServerName zeus.northjogja.net
ErrorLog logs/zeus.northjogja.net-error_log
CustomLog logs/zeus.northjogja.net-access_log common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@northjogja.net
DocumentRoot /var/www/html/wiki
ServerName wiki.northjogja.net
ErrorLog logs/wiki.northjogja.net-error_log
CustomLog logs/wiki.northjogja.net-access_log common
</VirtualHost>

<VirtualHost *:443>
ServerAdmin webmaster@northjogja.net
DocumentRoot /var/www/html/
ServerName zeus.northjogja.net
ErrorLog logs/zeus.northjogja.net-error_log
CustomLog logs/zeus.northjogja.net-access_log common
</VirtualHost>

<VirtualHost *:443>
ServerAdmin webmaster@northjogja.net
DocumentRoot /var/www/html/wiki
ServerName wiki.northjogja.net
ErrorLog logs/wiki.northjogja.net-error_log
CustomLog logs/wiki.northjogja.net-access_log common
</VirtualHost>


Untuk konfigurasi yang lebih kompleks dapat dilihat contohnya di http://httpd.apache.org/docs/2.0/vhosts/examples.html#purename

Jumat, Juni 09, 2006

Mencari file duplikat di Linux

Dari googling, aku mendapatkan link berikut :
http://ubuntu.wordpress.com/2005/10/08/find-duplicate-copies-of-files/

Dari artikel di atas, sekilas ada tiga cara yang ditawarkan :
  1. Menggunakan fdupes
  2. Menggunakan fslint
  3. Membuat script Bash yang dapat dipelajari di sini

Dari ketiga pilihan tersebut, sebenarnya flint merupakan pilihan yang paling menarik, karena telah mempunyai format rpm, namun sayangnya flint berbasis gui.
Akhirnya aku download fdupes-1.40.tar.gz dari situs fdupes. Untungnya proses install yang diperlukan singkat dan tidak membutuhkan library tambahan, prosesnya :
  • make fdupes
  • su root
  • make install
Setelah itu untuk menjalankannya tinggal :
# fdupes -r [nama_direktori]
Untuk opsi lainnya bisa dilihat dengan
# fdupes --help

Salah satu contoh menggunakan utility ini adalah :
# fdupes -r -1 -S /home/master/ > dupfiles.txt

fdupes sebenarnya mempunyai opsi untuk menghapus file duplikat secara interaktif, namun bila file duplikat sangat banyak, hal tersebut cukup merepotkan.
Cara yang lebih elegan adalah memasukkan hasil pencarian ke file, dan kemudian membuat script untuk mengolah hasil tersebut