Lalu Lintas & Taksi Di Manila

Minggu lalu saya pergi ke Manila untuk urusan pekerjaan. Ini kali kedua saya pergi Manila setelah kunjungan kali pertama tahun 2011 lalu. Bagi saya Manila banyak miripnya dengan Jakarta, terutama dalam urusan lalu lintas & macetnya. Perbedaan paling mencolok menurut saya cuma posisi berkendara di sebelah kanan (setir mobil ada di sisi kiri). Bepergian dengan taksi yang dikemudikan di sisi kiri, bagi saya membuat pusing.

Di sepanjang jalan kota Manila saya bisa lihat mayoritas tipe mobil hampir sama dengan Jakarta. Misalnya Toyota Vios, Avanza, Innova banyak sekali di Manila. Saya juga amati cukup banyak juga mobil jenis pickup seperti Toyota Hilux atau Mitsubishi Strada. Kendaraan unik yang menurut saya bisa dibilang sebagai maskotnya Filipina adalah Jeepney (dibaca “jip-ni”). Jeepney ini adalah kendaraan hasil modifikasi mobil jip menjadi semacam bus kecil. Jeep lama seperti ini kalau di Indonesia sering dipakai sebagai kendaraan offroad. Anda yang pernah ke Bromo pasti pernah melihat (atau pernah menggunakan jeep) untuk naik ke puncak Bromo . Entah bagaimana persisnya mereka melakukan modifikasi, yang jelas chassis mobil jip ini diperpanjang sehingga bisa menampung penumpang dalam jumlah banyak.

jeepney

Jeepney sebagai angkutan umum punya banyak kemiripan dengan angkot di Indonesia. Penumpang Jeepney duduk dalam 2 baris saling berhadap-hadapan. Bedanya dengan angkot yang umumnya memiliki pintu di sisi mobil, penumpang Jeepney masuk dari bagian belakang mobil. Mudah sekali menjumpai Jeepney di jalanan Manila. Beberapa kali saya juga menjumpai pangkalannya dengan Jeepney yang terpakir sangat banyak. Meskipun menggunakan mesin mobil tua, saya beberapa kali melihat supir Jeepney mengemudikan kendaraannya cukup kencang di jalanan yang lowong. Dari hasil obrolan dengan supir taksi katanya ongkos naik Jeepney ditentukan berdasar jarak, lagi-lagi mirip angkot di Indonesia. Hal lain yang menurut saya mirip dengan angkot adalah budaya menggunakan soundsystem yang diputar dengan kencang. Tiap-tiap Jeepney dihias sedemikian rupa dengan cat dan gambar-gambar yang mencolok.

Sejauh ini bagi saya yang paling menyebalkan dari transportasi di Manila bukan soal macetnya. Bagi saya taksi Manila lebih menyebalkan dari macetnya sendiri. Macetnya Manila menurut saya masih kalah dengan macetnya Jakarta. Macet di sana lebih banyak karena lampu merah. Kalaupun lalu lintas padat, kendaraan masih bergerak pelan-pelan. Entah mungkin karena saya belum terlalu lama berada di Manila, saya belum menjumpai macet horor seperti di Jakarta saat kendaraan berhenti bergerak untuk waktu yang cukup lama.

Kebanyakan taksi yang lalu lalang di Manila menggunakan sedan Toyota Vios. Lucunya hampir di semua taksi yang saya jumpai, nama pengemudi dicat di pintu mobilnya. Saya cukup heran mengapa cat yang digunakan untuk menuliskan informasi pada badan taksi itu hanya cat biasa. Kalau diamati dari dekat seperti dicat dengan kuas secara manual. Tadinya saya pikir itu hanya dilakukan oleh taksi-taksi tua yang sudah tidak terawat. Tapi saya pun menjumpai mobil baru dengan cara pengecatan seperti itu.

manila-taxi

Bagi saya lucu melihat hampir semua taksi bertuliskan “Air Con”. Seolah-olah AC mobil adalah hal istimewa tersendiri bagi taksi tersebut. Saya mendapati pengalaman yang kurang menyenangkan dengan taksi di Manila. Dari dua kali kunjungan ke Manila, saya belum sekalipun menjumpai pengemudi taksi umum yang mengemudikan taksinya dengan nyaman. Saya senang memperhatikan gaya mengemudi supir taksi khususnya di Jakarta. Di Jakarta pengemudi taksi BlueBird/SilverBird yang menurut saya mengemudikan mobilnya dengan baik (cukup nyaman bagi penumpang). Meskipun demikian taksi lain pun relatif masih OK. Apa sih ukuran nyamannya? Gampang, amati saja mulai dari gaya memindahkan gigi persneling, cara menginjak pedal gas, cara menyalip mobil, cara berpindah jalur, dan yang paling penting cara mengerem. Di Manila tidak satupun yang nyaman. Seburuk-buruknya supir taksi di Jakarta, menurut saya masih jauh lebih baik dari supir taksi di Manila.

Pengalaman kedua saya dapatkan pada trip kemarin. Saya menginap di Holiday Inn Makati. Makati ini pusat kota dan juga business district, anggap saja kawasan Sudirman-Thamrin atau Mega Kuningan-nya Jakarta. Saya harus mengunjungi client yang kantornya terletak di kawasan Pasig City. Letaknya sekitar 10–15km dari hotel tempat saya menginap. Selain jauh lokasinya melewati daerah pusat kemacetan. Berangkat ke sana tidak terlalu menjadi soal karena ada pangkalan taksi di lobi hotel. Pulangnya yang repot. Sekitar pukul setengah 8 malam saya mulai menunggu taksi di pinggir jalan. Setidaknya ada 5 taksi yang menolak untuk membawa saya ke Makati. Masih cukup bersabar saya menunggu taksi, dengan plan B saya akan menelepon hotel minta dijemput saja.

Setelah 1 jam menunggu akhirnya saya berhasil juga mendapat taksi yang bersedia membawa saya kembali ke hotel. Dari Makati sampai Pasig City biaya taksinya antara 300–400 Peso. Saya tidak tahu berapa normalnya, kabarnya sudah umum argometer taksi di sana tidak pernah akurat alias argo siluman. Mulai hari kedua saya sudah kapok menggunakan taksi umum. Saya pilih menggunakan taksi hotel saja. Sekali jalan saya harus membayar 900 Peso. Relatif mahal dari taksi biasa. Tapi kalau saya hitung-hitung ongkosnya mirip dengan menggunakan SilverBird di Jakarta. Nilai tukar Phillipine Peso itu sekitar Rp250,-.

Dari Google saya jadi tahu tidak sedikit cerita pengalaman orang tentang taksi di Manila. Kurang lebih sama dengan pengalaman saya tadi. Untuk urusan kenyamanan berkendara dengan taksi, saya masih lebih menjagokan Jakarta. Kira-kira begitu sedikit cerita tentang taksi dan lalu lintas di Manila.

Sekilas Tentang VirtualBox Shared Folder

VirtualBox Shared Folder adalah salah satu fitur VirtualBox yang memungkinkan kita berbagi data antara komputer host dengan setiap VirtualBox guest (virtual machine). Istilah komputer host & guest pernah saya tulis di tulisan sebelumya tentang virtualisasi. Syarat untuk bisa menggunakan VirtualBox Shared Folder ini adalah guest OS harus sudah dilengkapi dengan VirtualBox Guest Addition driver.

Tulisan ini adalah dokumentasi pribadi saya tentang langkah menggunakan VirtualBox Shared Folder (VBox SF) di Mac OSX 10.9. MacMini menjadi komputer sehari-hari saya untuk urusan pekerjaan & pribadi. Semua data saya ada di home directory-nya MacMini. Ada kalanya saya perlu menggunakan VirtualBox untuk menjalankan Linux (Ubuntu). Misalnya saat saya ingin terhubung dengan jaringan VPN kantor tanpa perlu menggangu koneksi LAN & aktivitas internet saya lainnya. Saat menggunakan virtual machine seperti ini, saya perlu juga mengakses data-data saya yang ada di Mac. Di sinilah saya perlu menggunakan VBox SF supaya Ubuntu saya bisa mengakses semua data yang ada di Mac. Ini langkah-langkah yang saya lakukan untuk mengijinkan Ubuntu mengakses folder Mac saya :

  1. Dari jendela VirtualBox-nya Ubuntu saya klik menu Devices lalu menu Shared Folder Settings :
  2. Lalu saya pilih folder yang ingin saya gunakan. Misalnya saya ingin mengakses folder Dropbox saya :


    Meskipun sebenarnya saya bisa memasang Dropbox pada Ubuntu Linux, saya tidak ingin Ubuntu saya melakukan sinkronisasi data sendiri. Tidak perlu Ubuntu & Mac memiliki folder Dropbox sendiri-sendiri (menghindari duplikasi data yang tidak perlu). Ini karena alasan penghematan bandwidth & space harddisk saja.
  3. Langkah selanjutnya adalah melakukan mount folder “Dropbox” tadi. Ya mount ini seperti yang dipakai saat kita ingin mengakses USB flash disk atau network shared. Bedanya mount untuk VBox SF dilakukan dengan perintah seperti berikut ini :
    ttirtawi@ubuntu1404:~$ sudo mount -t vboxsf Dropbox /tmp
    

    Saya perlu mendefinisikasn tipe filesystem-nya sebagai vboxsf.

  4. Setelah proses mounting sukses, saya bisa lihat folder Dropbox sudah terpasang pada direktori /tmp.

    ttirtawi@ubuntu1404:~$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1       7,3G  3,7G  3,2G  54% /
    none            4,0K     0  4,0K   0% /sys/fs/cgroup
    udev            999M  4,0K  999M   1% /dev
    tmpfs           202M  888K  201M   1% /run
    none            5,0M     0  5,0M   0% /run/lock
    none           1008M  200K 1008M   1% /run/shm
    none            100M   40K  100M   1% /run/user
    Dropbox         466G  434G   33G  94% /tmp
    ttirtawi@ubuntu1404:~$ 
    

    Tapi saya mendapati error “Permission denied” saat mencoba mengakses folder Dropbox tersebut.

    ttirtawi@ubuntu1404:~$ ls -tlr /tmp
    ls: cannot open directory /tmp: Permission denied
    ttirtawi@ubuntu1404:~$
    

  5. Tampaknya perintah mount saya kurang lengkap, saya perlu menggunakan opsi rw (read write) dan mencantumkan user & group ID saya juga. Saya ulangi proses di atas sekali lagi :
    ttirtawi@ubuntu1404:~$ sudo umount /tmp
    ttirtawi@ubuntu1404:~$ id
    uid=1000(ttirtawi) gid=1000(ttirtawi) groups=1000(ttirtawi),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare)
    ttirtawi@ubuntu1404:~$ sudo mount -t vboxsf -o rw,uid=1000,gid=1000 Dropbox /tmp
    ttirtawi@ubuntu1404:~$ 
    

    Barulah sekarang saya bisa mengakses isi folder Dropbox tadi :

    ttirtawi@ubuntu1404:~$ ls -tlr /tmp | head
    total 1014692
    -rw-r--r-- 1 ttirtawi ttirtawi   6479211 Jan 26  2008 BUKU.pdf
    -rwxr-xr-x 1 ttirtawi ttirtawi    123900 Mei 14  2010 tedy2.JPG
    -rwxrwxrwx 1 ttirtawi ttirtawi    617442 Mei 17  2010 How-to-Print-BW-Photographs-in-a-Darkroom.pdf
    -rwxr-xr-x 1 ttirtawi ttirtawi      3888 Nov 20  2010 note-install-oracle-ubuntu.txt
    -rw-rw-rw- 1 ttirtawi ttirtawi    169984 Jan 10  2011 CV_Tedy_Tirtawidjaja-20110110.doc
    -rw-rw-rw- 1 ttirtawi ttirtawi     96663 Jan 10  2011 CV_Tedy_Tirtawidjaja-20110110.pdf
    -rwxr-xr-x 1 ttirtawi ttirtawi   1404511 Jan 28  2011 note-php-sql-apt.txt
    ttirtawi@ubuntu1404:~$ 
    
  6. Meskipun VirtualBox menyediakan opsi untuk Auto-mount, saya lebih memilih cara konvesional seperti sudah saya tunjukkan di atas. Bila saya menggunakan opsi Auto-mount tersebut, VirtualBox akan otomatis memasangkan folder tersebut pada direktori /media/sf_Dropbox (nama mountpoint-nya tergantung nama shared folder-nya ). Supaya semua shared folder otomatis ter-mount saat reboot, saya bisa mendaftarkan semua shared folder tersebut ke dalam berkas /etc/fstab.
    ttirtawi@ubuntu1404:~$ sudo vi /etc/fstab
    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/sda1 during installation
    UUID=c556b9ab-3a4e-4a1d-be42-e6cdeb330ea7 /               ext4    errors=remount-ro 0       1
    # swap was on /dev/sda5 during installation
    UUID=856fd957-6961-43d4-98b8-ce1091b4d380 none            swap    sw              0       0
    Dropbox /home/ttirtawi/MACMINI-Dropbox  vboxsf rw,uid=1000,gid=1000 0 0
    ttirtawi@ubuntu1404:~$ 
    

    Pada contoh di atas saya memodifikasi berkas /etc/fstab supaya otomatis ter-mount pada direktori /home/ttirtawi/MACMINI-Dropbox. Untuk mouting saya tinggal gunakan perintah :

    ttirtawi@ubuntu1404:~$ sudo mount Dropbox
    ttirtawi@ubuntu1404:~$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1        12G  4.3G  6.9G  39% /
    none            4.0K     0  4.0K   0% /sys/fs/cgroup
    udev            999M  4.0K  999M   1% /dev
    tmpfs           202M  884K  201M   1% /run
    none            5.0M     0  5.0M   0% /run/lock
    none           1008M  152K 1008M   1% /run/shm
    none            100M   32K  100M   1% /run/user
    Dropbox         466G  438G   29G  94% /home/ttirtawi/MACMINI-Dropbox
    ttirtawi@ubuntu1404:~$ ls -tlr /home/ttirtawi/MACMINI-Dropbox/ | head 
    total 1046360
    -rw-r--r-- 1 ttirtawi ttirtawi   6479211 Jan 26  2008 BUKU.pdf
    -rwxr-xr-x 1 ttirtawi ttirtawi    123900 May 14  2010 tedy2.JPG
    -rwxrwxrwx 1 ttirtawi ttirtawi    617442 May 17  2010 How-to-Print-BW-Photographs-in-a-Darkroom.pdf
    -rwxr-xr-x 1 ttirtawi ttirtawi      6513 Nov  4  2010 dodol~
    -rwxr-xr-x 1 ttirtawi ttirtawi     12095 Nov  4  2010 dodol
    -rwxr-xr-x 1 ttirtawi ttirtawi      3888 Nov 20  2010 note-install-oracle-ubuntu.txt
    -rw-rw-rw- 1 ttirtawi ttirtawi    169984 Jan 10  2011 CV_Tedy_Tirtawidjaja-20110110.doc
    -rw-rw-rw- 1 ttirtawi ttirtawi     96663 Jan 10  2011 CV_Tedy_Tirtawidjaja-20110110.pdf
    -rwxr-xr-x 1 ttirtawi ttirtawi   1404511 Jan 28  2011 note-php-sql-apt.txt
    ttirtawi@ubuntu1404:~$ 
    
  7. Muncul error lain saat saya me-restart virtual machine ini. Tampilan error saat proses booting tersebut seperti tampak di bawah ini :

    Ubuntu gagal melakukan mounting VBox SF tersebut. Ini aneh karena sebelumnya saya bisa mounting folder Dropbox tersebut (seperti terlihat pada langkah #6). Ternyata ini terjadi karena saat Ubuntu sedang booting & mencoba membaca isi /etc/fstab, VirtualBox Shared Folder driver belum diaktifkan oleh kernel Linux. Untuk memaksa kernel mengaktifkan driver VirtualBox Shared Folder tersebut, saya perlu mendaftarkannya pada berkas /etc/modules seperti contoh berikut ini :

    ttirtawi@ubuntu1404:~$ cat /etc/modules
    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.
    # Parameters can be specified after the module name.
    vboxsf
    lp
    ttirtawi@ubuntu1404:~$ 
    

    Dengan modifikasi berkas /etc/modules tersebut, sekarang Ubuntu bisa lancar booting & VBox SF tadi bisa ter-mount otomatis.

Bila di Linux saya bisa melakukan proses mounting untuk mengakses VBox SF, di Windows prosesnya sedikit berbeda. Di Windows, VBox SF tersebut terdapat pada bagian network shared folder. Ini contoh VBox SF yang sama bila dilihat pada VM Windows 7 :

IP Fiktif Dalam Serial TV

Saya gemar mengikuti beberapa serial TV seperti Castle, Modern Family, House, dll. Biasanya stasiun TV Fox menayangkannya secara reguler. Video masing-masing serial itu dapat dengan mudah didapatkan melalui layanan BitTorrent. Dengan mengambil videonya dari torrent, saya bisa menonton banyak episode lama yang sudah tidak lagi diputar. Minggu lalu saya iseng mengunduh serial NCIS. NCIS season 11 memang sedang tayang di Fox channel, tapi saya tidak rutin menontonnya. Saya unduh semua video dari season 11. NCIS (Naval Criminal Investigative Service) bercerita tentang lembaga federal yang menangani penyelidikan berbagai kasus yang melibatkan personil angkatan laut Amerika Serikat.

Seperti umumnya serial detektif, selalu ada aktor yang berperan sebagai “computer geek” alias jagoan komputer. Aktor macam ini akan selalu ditampilkan dengan kemampuan komputer yang luar biasa, termasuk di dalamnya kemampuan penyadapan jaringan komputer (hacking). Ada yang menarik bagi saya menyaksikan NCIS 11 episode 5 minggu lalu. Ada salah satu adegan saat sang tokoh jagoan komputer berhasil mendeteksi alamat IP target buruannya. Ini tangkapan layar yang saya ambil :

IP Address prefix 472???

Bagi saya tampilan ini lucu. Saya yakin Anda yang hidupnya tidak jauh dari dunia komputer & jaringan akan tersenyum melihat tampilan layar di atas. Di scene tersebut ditampilkan alamat IP 472.13.278.5. Sejauh yang saya tahu alamat IP semacam itu tidak akan pernah ada di dunia komputer. Mengapa saya bisa berpikir seperti itu?

Perlu sedikit cerita tentang tentang pengalamatan IP versi 4 (IPv4). IPv4 tersusun dari 4 oktet, katakanlah dalam susunan seperti ini : A.B.C.D. Yang dimaksud dengan oktet (octet) dalam dunia komputer adalah susunan 8 bit digital atau bisa dibilang susunan 8 bilangan biner (bilangan biner sendiri hanya ada 2 yaitu 0 dan 1). Jadi satu oktet dapat tersusun dari kombinasi 00000000 sampai 11111111. Jadi susunan yang terbesar yang paling mungkin adalah (jika dituliskan dalam bentuk biner):

11111111.11111111.11111111.11111111

Susunan bilangan biner di atas bila diubah menjadi bilangan desimal akan menjadi :

255.255.255.255

Dengan demikian masing-masing oktet hanya mungkin tersusun dari bilangan desimal 0 sampai 255. Meskipun pada teori jaringan, angka 0 & 255 tidak akan pernah digunakan sebagai awalan/akhiran sebuah alamat IP, karena masing-masing sudah “dipesan” sebagai alamat jaringan (network address) dan alamat broadcast. Kalau kita melihat lagi tangkapan layar tadi, ada 2 oktet yang aneh yaitu 472 dan 278. Sejauh ini saya masih tidak bisa percaya ada alamat IP dengan komponen 472 & 278. Mungkin teori saya salah tapi coba saja Anda set IP komputer Anda dengan IP fiktif tadi, saya acungi dua jempol bila Anda bisa “memaksa” komputer Anda menggunakan IP tersebut. Setidaknya Ubuntu saya komplen saat saya mencoba menggunakan IP tadi. Lihat muncul peringatan merah & tombol Save yang tidak bisa diklik pada gambar berikut ini :

Bila benar ada alamat IP seperti itu di dunia nyata, mungkin saya perlu kembali belajar tentang teori jaringan komputer lagi (atau menggugat dosen jaringan komputer saya dulu di kampus? :-D ).

FTP Server Di Solaris 11

Saya punya server Solaris 11 dengan hostname ncc-dev-sms01. Saat saya ingin mencoba mengakses server ini melalui FTP tapi saya mendapati error seperti ini :

root@slc03dto:~# ftp ncc-dev-sms01
ftp: connect: Connection refused
ftp> quit
root@slc03dto:~# 

Error seperti itu dapat dipastikan karena servis FTP server di ncc-dev-sms01 belum aktif. Ketika saya cek di server ncc-dev-sms01 memang tidak terlihat ada servis FTP yang sedang aktif :

root@ncc-dev-sms01:~# svcs | grep -i ftp
root@ncc-dev-sms01:~#

Saya coba aktifkan dengan perintah svcadm enable tapi mendapati error seperti ini :

root@ncc-dev-sms01:~# svcadm enable ftp
svcadm: svc:/network/ftp:default: is not complete, missing general/complete (see svcs -xv svc:/network/ftp:default for details)
root@ncc-dev-sms01:~# 

Mengikuti petunjuk yang muncul saya gunakan perintah svcs -xv tersebut :

root@ncc-dev-sms01:~# svcs -xv svc:/network/ftp:default
svc:/network/ftp:default (?)
 State: -
Reason: Service is incomplete, defined only by profile /etc/svc/profile/generic.xml.  To install this service, identify and install the package which provides the service's primary manifest.  Use "pkg search 'svc\:/network/ftp\:default'" to identify the package, then "pkg install <pkg>" to install the indicated package.
Impact: This service is not running.
root@ncc-dev-sms01:~# 

Untuk memasang servis FTP yang belum ada tadi, saya gunakan perintah seperti di bawah ini :

root@ncc-dev-sms01:~# pkg install pkg://solaris/service/network/ftp
           Packages to install:  1
       Create boot environment: No
Create backup boot environment: No
            Services to change:  2


DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                                1/1       112/112      0.8/0.8  2.1M/s


PHASE                                          ITEMS
Installing new actions                       179/179
Updating package state database                 Done
Updating image state                            Done
Creating fast lookup database                   Done
root@ncc-dev-sms01:~# 

Setelah servis tersebut aktif, saya bisa mengulang kembali perintah svcadm enable tadi :

root@ncc-dev-sms01:~# svcadm enable ftp
root@ncc-dev-sms01:~# svcs | grep -i ftp
online          3:52:46 svc:/network/ftp:default
root@ncc-dev-sms01:~#

Setelah servis ini aktif saya bisa melihat servis FTP sudah LISTEN di port 21 :

root@ncc-dev-sms01:~# netstat -an | egrep "21.*LISTEN"
  *.21                 *.*                0      0 128000      0 LISTEN
  *.21                              *.*                             0      0 128000      0 LISTEN      
root@ncc-dev-sms01:~#

Dengan begitu sekarang saya sudah bisa mengakses server ini melalui perintah FTP :

root@slc03dto:~# ftp ncc-dev-sms01
Connected to ncc-dev-sms01.
220 ::ffff:192.168.1.11 FTP server ready
Name (ncc-dev-sms01:ttirtawi): smf_oper
331 Password required for smf_oper
Password:
230 User smf_oper logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

Untuk membatasi user yang tidak boleh mengakses FTP server ini, saya bisa menambahkan username yang bersangkutan dalam berkas berikut ini :

root@ncc-dev-sms01:~# cat /etc/ftpd/ftpusers 
#
# List of users denied access to the FTP server, see ftpusers(4).
#
root
daemon
bin
sys
adm
lp
uucp
nuucp
dladm
netadm
netcfg
smmsp
gdm
xvm
mysql
openldap
webservd
nobody
noaccess
nobody4
aiuser
unknown
ftp
root@ncc-dev-sms01:~# 

Demikian catatan singkat saya tentang cara mengaktifkan FTP server di Solaris 11. Langkah-langkah ini bisa dilakukan pada global zone maupun dari dalam local zone.

Backup Komputer Dengan Clonezilla

Masih lanjutan cerita tentang backup notebook dengan Clonezilla, tulisan ini berisi contoh langkah-langkah menggunakan Clonezilla. Clonezilla adalah aplikasi Linux yang menyediakan proses backup-restore harddisk. Pada dasarnya Clonezilla adalah distribusi Linux yang mengkhususnya fungsinya sebagai sarana backup-restore. Solusi backup dengan Clonezilla ini sifatnya “Full Backup”, dengan kata lain backup diambil dari keseluruhan bagian harddisk atau beberapa partisi saja. Clonezilla sesuai namanya “Clone”, melakukan duplikasi isi harddisk atau partisi untuk menghasilkan “backup image”. Clonezilla berbeda dengan solusi backup lain yang sifatnya “Incremental Backup” seperti misalnya Time Machine pada Mac OSX. Time Machine bisa mengambil backup secara berkala & gradual.

Untuk membahas bedanya “Full Backup” & “Incremental Backup”, contoh gampangnya seperti ini : Misalnya pada tanggal 1 Juli Anda menggunakan Clonezilla untuk mem-backup notebook Anda. Isi harddisk notebook Anda berukuran 250GB. Pada tanggal 7 Juli, data yang ada di dalam notebook Anda hanya bertambah 100MB. Bila Anda kembali melakukan full backup dengan Clonezilla, maka hasil backup-nya lebih kurang sama 250GB + 100MB. Padahal hampir semua data relatif tetap tidak berubah. Jadi pada tanggal 7 Juli Anda akan punya 2 image backup. Bayangkan berapa ruang kosong yang harus Anda miliki untuk menyimpan semua hasil backup tersebut (paling tidak 2x250GB kan?).

Lain halnya dengan “Incremental Backup”, aplikasi backup akan mengambil Full Backup setidaknya 1 kali saja di awal. Selebihnya aplikasi backup hanya mengamankan data-data yang baru atau data lama yang berubah. Pada contoh tadi, 100MB data saja yang akan diamankan pada proses backup berikutnya. Jadi pada tanggal 7 Juli, Anda punya backup berukuran 250GB + 100MB. “Incremental Backup” relatif lebih hemat ruang & lebih cepat karena hanya perubahan data saja yang diamankan.

Clonezilla memang kurang cocok dipakai sehari-hari paling tidak karena 2 alasan berikut ini :

  • Untuk menggunakan Clonezilla, kita harus mematikan komputer & reboot dengan bootable medianya Clonezilla. Tidak praktis karena kita harus menghentikan aktivitas pada komputer yang akan kita backup.
  • Ukuran hasil backup relatif besar karena tiap kali backup dilakukan, Clonezilla akan melakukan “Full Backup”.

Pada contoh ini saya gunakan VirtualBox untuk mengambil contoh tangkapan layar (screenshot) proses backup-restore. Pada prinsipnya sama saja cara penggunakan Clonezilla ini baik di virtual machine maupun di komputer betulan. Ini sudah saya buktikan juga saat melakukan proses backup notebook Lenovo x220 saya. Untuk mengambil tangkapan layar setiap proses, saya gunakan skenario seperti ini :

  • Saya punya VirtualBox virtual machine dalam Macbook Air.
  • VM tersebut menjalankan Ubuntu 14.04.
  • Saya mencoba mem-backup isi VM tersebut dengan Clonezilla.
  • Pada proses restore-nya, saya akan menggunakan Clonezilla untuk menginstal hasil backup menjadi virtual machine baru di VirtualBox-nya MacMini.

Sekali lagi, langkah-langkah yang akan saya tuliskan sama persis bila Anda aplikasikan pada sebuah notebook / desktop (bukan virtual machine). Saya membagi tulisan ini menjadi 2 bagian utama : proses backup & proses restore.

Persiapan

Beberapa hal yang perlu disiapkan sebelum mulai mem-backup sebuah harddisk adalah :

  1. Saya perlu mengunduh Clonezilla dari website resminya Clonezilla. Ada dua pilihan media yang tersedia : berkas ISO yang bisa dijadikan bootable CD atau berkas zip yang bisa dipasang pada USB flash disk. Anda bisa baca detail cara untuk menyiapkan Clonezilla bootable media di sini.
  2. Media penyimpanan hasil backup. Pada contoh ini saya gunakan 2 macam media : USB flash disk & NFS server. Perlu diingat media penyimpanan harus punya cukup ruang kosong, ini sangat tergantung dari ukuran harddisk yang ingin kita backup & banyaknya data dalam harddisk tersebut.

Proses Backup

Berikut adalah contoh langkah-langkah melakukan backup sebuah komputer berisi Ubuntu 14.04 : Continue reading

NFS Server Di Mac OSX 10.9

Beberapa hari belakangan ini notebook Thinkpad X220 saya mulai menunjukkan tanda-tanda masalah. Mulai dari temparatur CPU yang mendadak naik melebihi ambang batas, sampai bunyi “ticking” dari harddisk-nya. Notebook ini adalah notebook kantor tapi sudah lama tidak saya gunakan karena saya memilih untuk bekerja dengan MacBook pribadi. Saya manfaatkan saja sebagai mesin tes untuk belajar ini itu, termasuk belajar virtualisasi KVM. Saya memasangkan CentOS Linux 6.5 pada Lenovo Thinkpad X220 ini (saya pilih hostname centosdev01). Saya belum cek lebih jauh apa masalahnya & belum saya bawa juga ke service center. Di dalam centosdev01 ini saya sudah banyak membuat KVM virtual machine untuk keperluan tes. Karena khawatir harddisk-nya mati total, Sabtu kemarin saya memutuskan untuk melakukan full backup terlebih dulu.

Saya pilih untuk menggunakan Clonezilla untuk melakukan disk-to-image backup (backup keseluruhan harddisk). Harddisk yang terpasang pada notebook ini berukuran 320GB. Saya bingung juga memilih lokasi untuk menyimpan hasil backup. Saya punya harddisk eksternal WD MyBook yang cukup besar, ada sekitar 1.8GB  1.8TB ruang sisa. Sayangnya harddisk ini terpasang pada Mac Mini; salah satu partisinya dipakai untuk TimeMachine. Akhirnya saya putuskan untuk mengaktifkan NFS server pada Mac Mini supaya Clonezilla bisa langsung mengirimkan hasil backup ke WD MyBook tadi.

Mac OSX sudah dilengkapi dengan NFS server. Ini tulisan singkat sebagai catatan pribadi tentang cara mengaktifkan servis NFS pada Mac OSX 10.9 Mavericks. Langkah-langkahnya cukup mudah seperti berikut ini :

  1. Pertama saya buat dulu direktori dalam WD MyBook tadi untuk di-share via NFS :
    ttirtawi@macmini:~ $ mkdir /Volumes/MACMINI_DATA/NFS
    
  2. Kemudian saya perlu menambahkan direktori tadi ke dalam berkas /etc/exports seperti berikut ini :
    ttirtawi@macmini:~ $ sudo vi /etc/exports
    /Volumes/MACMINI_DATA/NFS -maproot=root -network 192.168.10.0 -mask 255.255.255.0
    ttirtawi@macmini:~ $ 
    
  3. Setelah itu saya tinggal me-restart servis NFS dengan perintah berikut ini :
    ttirtawi@macmini:~ $ sudo nfsd restart
    
  4. Untuk melihat status NFS & direktorinya yang aktif, saya bisa gunakan perintah berikut ini :
    ttirtawi@macmini:~ $ sudo nfsd status
    nfsd service is enabled
    nfsd is running (pid 41907, 0 threads)
    ttirtawi@macmini:~ $
    ttirtawi@macmini:~ $ showmount -e
    Exports list on localhost:
    /Volumes/MACMINI_DATA/NFS           192.168.10.0
    ttirtawi@macmini:~ $
    

    Pada contoh di atas saya tambahkan opsi untuk kontrol akses NFS client, hanya NFS client dalam jaringan 192.168.10.0/24 yang bisa mengakses direktori tersebut.

  5. Sebelum memulai backup dengan Clonezilla, saya coba dulu akses NFS direktori tadi dari mesin centosdev01 :
    ttirtawi@centosdev01:~$ sudo mount 192.168.10.13:/Volumes/MACMINI_DATA/NFS /testing-nfs-mac/
    ttirtawi@centosdev01:~$ df -h
    Filesystem                               Size  Used Avail Use% Mounted on
    /dev/mapper/vg_centosdev01-lv_root        50G  9.6G   38G  21% /
    tmpfs                                    3.8G  300K  3.8G   1% /dev/shm
    /dev/sda1                                485M   40M  420M   9% /boot
    /dev/mapper/vg_centosdev01-lv_home       227G  182G   34G  85% /home
    192.168.10.13:/Volumes/MACMINI_DATA/NFS  2.8T  1.4T  1.5T  48% /testing-nfs-mac
    ttirtawi@centosdev01:~$
    

    Setelah centosdev01 bisa melakukan mounting NFS direktori tadi saya bisa cek juga status NFS client yang sedang aktif dengan perintah showmount :

    ttirtawi@macmini:~ $ showmount
    Hosts on localhost:
    192.168.10.50
    ttirtawi@macmini:~ $
    

Di tulisan ini saya tidak menuliskan secara detail langkah backup dengan Clonezilla (mungkin kapan-kapan bisa saya tulis juga di blog ini). Singkatnya saya siapkan USB bootable Clonezilla, lalu boot Lenovo X220 tadi dengan USB tersebut sebagai boot disk-nya. Clonezilla punya user interface yang cukup mudah diikuti, meskipun user interface-nya masih berbasis teks. Ada satu langkah untuk menentukan lokasi backup. Saya pilih untuk masuk ke shell terlebih dulu untuk menyambungkan Clonezilla dengan NFS server-nya Mac. Saya harus menggunakan /home/partimag sebagai mountpoint-nya. Proses backup via jaringan ini cukup lama, saya tidak tahu tepatnya berapa kecepatan transfer data ke NFS server tadi. Ini screenshot saat proses backup mulai berjalan :

CloneZilla With NFS

Setelah selesai saya lihat hasilnya di Mac :

ttirtawi@macmini:NFS $ ll
total 16
lrwxrwxrwx   1 ttirtawi  staff    38B Jun 28 16:45 partimag -> //lib/live/mount/medium//home/partimag
drwxr-xr-x  70 ttirtawi  staff   2.3K Jun 28 22:05 2014-06-28-09-img
ttirtawi@macmini:NFS $ du -sh
 86G    .
ttirtawi@macmini:NFS $ 

Menurut saya Clonezilla cukup hebat melakukan kompresi data,

ttirtawi@centosdev01:~$ df -h
Filesystem                          Size  Used Avail Use% Mounted on
/dev/mapper/vg_centosdev01-lv_root   50G  9.6G   38G  21% /
tmpfs                               3.8G   76K  3.8G   1% /dev/shm
/dev/sda1                           485M   40M  420M   9% /boot
/dev/mapper/vg_centosdev01-lv_home  227G  182G   34G  85% /home
ttirtawi@centosdev01:~$ 

Lihat saja dari sekitar 192GB kapasitas harddisk yang terpakai, hasil backup cuma berukuran separuh dari total penggunaan data.

Sekilas Tentang IP Forwarding

Test Fowarding RHEL6

Beberapa hari lalu salah seorang rekan bertanya via Whatsapp. Dia punya masalah dengan Linux servernya. Katanya servernya punya 2 IP (berbeda jaringan) & ada broadcast request yang datang dari network 1 ke network 2. Padahal menurut rekan saya, kedua IP tersebut harusnya terisolasi satu sama lain. Karena kami berkomunikasi via Whatsapp, saya kurang paham betul apa sebenarnya yang jadi masalah. Rekan saya minta pendapat apa saja yang perlu dicek. Dengan informasi yang terbatas itu saya cuma bisa menduga 2 hal, isu pada IP Forwarding atau Firewall.

Karena pertanyaan itu saya jadi berpikir lagi tentang IP Forwarding. Meskipun saya tahu cara mengaktifkan IP Forwarding di mesin Linux, tapi sampai sekarang saya belum pernah berhenti sejenak untuk memikirkan konsepnya seperti apa. Konsep IP Forwarding yang saya tahu secara sederhana kira-kira seperti ini :

  • Misalkan sebuah server punya 2 NIC (network interface card), NIC#1 terhubung ke network A & NIC#2 terhubung ke B.
  • Bila ada paket IP yang datang melalui NIC#1 menuju network B. Ada 2 kemungkinan yang terjadi :
    • Tanpa IP Forwarding, server tidak akan meneruskan paket itu keluar ke network B. Meskipun dia punya akses ke network B. Ilustrasinya seperti gambar berikut ini :
      Tanpa IP Forwarding
    • Dengan IP Forwarding, server akan meneruskan paket IP melalui NIC#2 itu menuju network B. Jadi gampangnya, akan ada serah terima paket dari NIC#1ke NIC#2 karena server tahu hanya NIC#2 yang tahu caranya mengantar paket ke tujuan. Ilustrasinya seperti gambar berikut ini :
      Dengan IP Forwarding

Konsep sederhana di atas belum melibatkan kemungkinan adanya Firewall yang aktif dalam server tersebut. Mungkin saja meskipun IP Forwarding sudah aktif, paket tetap tidak bisa dikirimkan ke network B karena terbentur oleh Firewall.

Saya jadi penasaran melakukan tes untuk makin menyakinkan diri sendiri soal IP Forwarding & Firewall tadi. Saya segera buka VirtualBox & membuat 2 buah VM (virtual machine), masing-masing menggunakan RedHat Linux 6.

VirtualBox Setup

Strukturnya saya buat mengikuti diagram pada gambar pertama tadi. Berikut detailnya :

Continue reading

FreeBSD Sebagai Router

Sekilas Tentang RIP

Saat belajar CCNA dulu, salah satu materi yang menarik adalah soal routing protocol. Protokol routing yang paling pertama diajarkan adalah RIP (Routing Information Protokol). Katanya RIP adalah salah satu protokol routing yang paling tua umurnya. RIP termasuk dalam kategori distance vector routing protocol. Proses routing ditentukan berdasarkan perhitungan jarak terdekat antar router, berapa router yang harus dilewati yang diperlukan untuk mencapai tujuan. Masing-masing router akan berbagi topologi jaringannya kepada setiap router di dekatnya (neighbor router).

Salah satu kelemahan RIP adalah tidak bisa melakukan routing antar jaringan yang menggunakan subnetting (classless network). RIP hanya bisa melakukan routing antar jaringan dengan classfull netmask. Classfull netmask misalnya 255.255.0.0 atau 255.255.255.0.

Misalnya dua jaringan masing-masing menggunakan network address 192.168.10.0/26 dan 192.168.10.64/26. Normalnya IP dengan prefiks 192.168.xxx.xxx termasuk pada class C & memiliki subnet mask 255.255.255.0 (atau biasa ditulis dalam notasi /24). Tapi dua jaringan tadi menggunakan /26 atau bisa ditulis menjadi 255.255.255.192, artinya 2 jaringan tadi tidak lagi menggunakan class C subnetmask. Dua jaringan itu menggunakan apa yang disebut sebagai Classless Subnet.

RIP tidak bisa membedakan dua jaringan yang menggunakan “classless subnet”. Bagi RIP kedua jaringan tersebut berada pada jaringan yang sama : 192.168.10.0 255.255.255.0. Kelemahan ini diperbaiki pada RIP versi 2 yang mendukung CIDR (Classless Inter-Domain Routing). Dengan RIP versi 2 kita bisa mengatur routing jaringan yang menggunakan subnetting (jaringan dengan classless subnetmask).

Testing RIPv2 Dengan FreeBSD Sebagai Router

Misalnya saya ingin mensimulasikan struktur jaringan seperti pada gambar di bawah ini :

Tanpa adanya proses routing, PC1 tidak bisa berkomunikasi dengan PC2 & PC3. Begitupun seterusnya untuk PC2 & PC3, masing-masing akan terisolir dalam jaringannya masing-masing. Router bertugas mengatur lalu lintas data dari jaringan yang satu ke jaringan yang lainnya. Router bisa berupa dedicated hardware seperti Cisco Router atau Unix server. Semua sistem operasi Unix punya fitur untuk melakukan proses routing.

Dengan menggunakan VirtualBox saya bisa membuat beberapa virtual machine untuk mensimulasikan routing dengan protokol RIP. Saya ingin mencoba menggunakan FreeBSD sebagai router. Saya buat 6 virtual machine, 3 sebagai router & 3 lainnya sebagai client dalam 3 jaringan yang berbeda. Saya belajar menggunakan FreeBSD 9 sebagai router. Sementara untuk komputer client saya gunakan Tiny Linux. Saya pilih Tiny Linux untuk menghemat memory resource & space harddisk, Tiny Linux hanya perlu beberapa puluh Megabyte space harddisk saja.

FreeBSD menyediakan daemon routed untuk melakukan proses routing. Untuk mengaktifkan daemon tersebut saya perlu menambahkan beberapa baris berikut ini dalam berkas /etc/rc.conf :

routed_enable="YES"
routed_program="/sbin/routed"
routed_flags="-P ripv2,rdisc_interval=45"

Parameter flag -P ripv2 maksudnya kita minta FreeBSD untuk menggunakan protokol RIP versi 2. Sementara parameter rdisc_interval itu maksudnya kita mengatur daemon routed supaya melakukan broadcast routing table-nya setiap 45 detik sekali. Hal tersebut karena dalam protokol RIP, masing-masing router akan saling berbagi routing table dengan semua router “di sekitarnya”.

Berikut ini adalah konfigurasi di masing-masing virtual machine :

Continue reading

Konversi KVM Image Ke VirtualBox

Tulisan ini masih berkait dengan tulisan sebelumnya tentang virtualisasi dengan KVM Linux. Saat membuat virtual machine dengan KVM, aplikasi qemu-kvm akan membuat sebuah virtual harddisk dengan format *.img. Virtual harddisk ini dapat dipasangkan juga pada VirtualBox. Dengan begitu OS yang sudah dipasang di KVM, bisa dijalankan juga di virtual machine-nya VirtualBox.

Untuk dapat menggunakan virtual harddisk ini kita perlu mengkonversi dulu menjadi format *.vdi. Berikut ini adalah contoh proses konversi menggunakan perintah VBoxManage bawaan VirtualBox :

ttirtawi@macmini:~ $ VBoxManage convertfromraw -format VDI centos65-template.img  centos65-template.vdi
Converting from raw image file="centos65-template.img" to file="centos65-template.vdi"...
Creating dynamic image with size 8589934592 bytes (8192MB)...
ttirtawi@macmini:~ $

Di contoh tadi, virtual disk dari KVM berukuran 8GB sementara hasil konversinya cuma berukuran 836MB. Ini karena saat membuat virtual machine KVM, saya memilih opsi “Allocate entire disk now”, artinya KVM melakukan reservasi terlebih dahulu sebesar 8GB. Sementara VirtualBox membuat VDI yang sesuai jumlah data yang sudah dipakai. Meskipun pada akhirnya VirtualBox VM akan mengenali virtual harddisk tersebut sebagai harddisk berukuran 8GB.

ttirtawi@macmini:~ $ ls -thlr centos65-template.*
-rw-------  1 ttirtawi  staff   836M May 31 21:51 centos65-template.vdi
-rw-------  1 ttirtawi  staff   8.0G May 31 17:25 centos65-template.img
ttirtawi@macmini:~ $ 

Memasang Wireshark Versi Lama Di MacPorts

Di tulisan sebelumnya (Sekilas Tentang MacPorts) saya menuliskan bahwa kita bisa memasang beberapa versi port bersamaan (meskipun hanya 1 yang aktif). Di posting tersebut saya mencoba memasang Wireshark versi 1.10.7. Saya bisa mencari versi terdahulu dari sebuah port dari website http://trac.macports.org. Misalnya seperti contoh tangkapan layar di bawah ini :

Revision Browser

Sebagai contoh saya ingin memasang Wireshark versi yang lebih lama, misalnya 1.10.6. Yang perlu dicatat adalah Revision number yang menghasilkan Wireshark versi 1.10.6. Dari website tadi saya dapat nomor revisinya 118753.

Revision Number Wireshark Upgrade 1.10.6

Untuk memasang port versi lama ini langkah-langkahnya adalah sebagai berikut :

  1. Saya perlu mengambil port revision number 118753 dengan menggunakan svn. SVN (subversion) adalah aplikasi untuk kontrol versi, ini biasanya digunakan para developer software untuk mengontrol perubahan yang dilakukan pada source code software-nya. Perintah svn di Mac OSX sudah termasuk dalam paket XCode Command Line Tools. Perintah yang perlu saya gunakan adalah seperti contoh berikut ini :
    ttirtawi@macmini:Downloads $ svn co -r 118753 http://svn.macports.org/repository/macports/trunk/dports/net/wireshark
    A    wireshark/files
    A    wireshark/files/patch-configure.diff
    A    wireshark/files/patch-epan-dissectors-pacet-dtls.c.diff
    A    wireshark/files/patch-svnversion
    A    wireshark/Portfile
    Checked out revision 118753.
    ttirtawi@macmini:Downloads $ 
    

    Saya bisa melakukan perintah ini di direktori mana saja. Perintah svn akan mengambil direktori wireshark dari server SVNnya Macports.

  2. Selanjutnya saya bisa lihat versi port yang ada di direktori tersebut :
    ttirtawi@macmini:Downloads $ cd wireshark/
    ttirtawi@macmini:wireshark $ port info
    wireshark @1.10.6 (net)
    Variants:             no_adns, no_geoip, no_gnutls, no_ipv6, no_libgcrypt, no_libsmi, no_lua, no_rtp, no_ssl, no_x11, universal
    
    Description:          A network analyzer that lets you capture and interactively browse Ethernet frames. Packet data can be read from a file, or live from a
                          local network interface.
    Homepage:             http://wireshark.org/
    
    Build Dependencies:   pkgconfig
    Library Dependencies: adns, libgcrypt, libgeoip, glib2, libsmi, lua, gnutls, gtk2, openssl, portaudio, libpcap, kerberos5, zlib
    Conflicts with:       wireshark-devel
    Platforms:            darwin
    License:              GPL-2 GPL-3
    Maintainers:          opendarwin.org@darkart.com
    ttirtawi@macmini:wireshark $ 
    

    Benar bahwa port yang diambil tadi adalah Wireshark versi 1.10.6.

  3. Selanjutnya untuk memasang port Wireshark 1.10.6 tersebut saya tinggal gunakan perintah port install seperti pada contoh berikut ini :
    ttirtawi@macmini:wireshark $ port install
    --->  Computing dependencies for wireshark
    --->  Fetching distfiles for wireshark
    --->  Attempting to fetch wireshark-1.10.6.tar.bz2 from http://jog.id.distfiles.macports.org/macports/mpdistfiles/wireshark
    --->  Attempting to fetch wireshark-1.10.6.tar.bz2 from http://www.wireshark.org/download/src/
    --->  Verifying checksums for wireshark
    --->  Extracting wireshark
    --->  Applying patches to wireshark
    --->  Configuring wireshark
    --->  Building wireshark
    --->  Staging wireshark into destroot
    --->  Installing wireshark @1.10.6_0
    --->  Deactivating wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11
    --->  Cleaning wireshark
    --->  Activating wireshark @1.10.6_0
    --->  Cleaning wireshark
    --->  Updating database of binaries: 100.0%
    --->  Scanning binaries for linking errors: 100.0%
    --->  No broken files found.
    ttirtawi@macmini:wireshark $ 
    
  4. Bila proses instalasi port tadi sudah selesai saya bisa melihat ada 2 port Wireshark yang terpasang & hanya versi 1.10.6 yang aktif.
    ttirtawi@macmini:wireshark $ port installed wireshark
    The following ports are currently installed:
      wireshark @1.10.6_0 (active)
      wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11
    ttirtawi@macmini:wireshark $ 
    
  5. Contoh lain bila saya ingin memasang port Wireshark versi 1.2.5. Revision number-nya adalah 61926.
    ttirtawi@macmini:Downloads $ svn co -r  61926 http://svn.macports.org/repository/macports/trunk/dports/net/wireshark
    svn: E000017: Can't create directory '/Users/ttirtawi/mydata/Downloads/wireshark/.svn': File exists
    ttirtawi@macmini:Downloads $ 
    

    Pada contoh di atas muncul error dari perintah svn karena direktori wireshark sudah ada. Saya perlu menghapus dulu direktori wireshark atau pindah menggunakan direktori lainnya.

    ttirtawi@macmini:Downloads $ rm -r wireshark/
    ttirtawi@macmini:Downloads $ svn co -r  61926 http://svn.macports.org/repository/macports/trunk/dports/net/wireshark
    A    wireshark/files
    A    wireshark/files/patch-svnversion
    A    wireshark/Portfile
    Checked out revision 61926.
    ttirtawi@macmini:Downloads $
    ttirtawi@macmini:wireshark $ port install
    --->  Computing dependencies for wireshark
    --->  Dependencies to be installed: c-ares
    --->  Fetching distfiles for c-ares
    --->  Attempting to fetch c-ares-1.10.0.tar.gz from http://jog.id.distfiles.macports.org/macports/mpdistfiles/c-ares
    --->  Verifying checksums for c-ares
    --->  Extracting c-ares
    --->  Configuring c-ares
    --->  Building c-ares
    --->  Staging c-ares into destroot
    --->  Installing c-ares @1.10.0_0
    --->  Activating c-ares @1.10.0_0
    --->  Cleaning c-ares
    --->  Fetching distfiles for wireshark
    --->  Attempting to fetch wireshark-1.2.5.tar.bz2 from http://jog.id.distfiles.macports.org/macports/mpdistfiles/wireshark
    --->  Verifying checksums for wireshark
    --->  Extracting wireshark
    --->  Configuring wireshark
    --->  Building wireshark
    --->  Staging wireshark into destroot
    --->  Installing wireshark @1.2.5_0
    --->  Deactivating wireshark @1.10.6_0
    --->  Cleaning wireshark
    --->  Activating wireshark @1.2.5_0
    --->  Cleaning wireshark
    --->  Updating database of binaries: 100.0%
    --->  Scanning binaries for linking errors: 100.0%
    --->  No broken files found.
    ttirtawi@macmini:wireshark $ 
    ttirtawi@macmini:wireshark $ port installed wireshark
    The following ports are currently installed:
      wireshark @1.2.5_0 (active)
      wireshark @1.10.6_0
      wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11
    ttirtawi@macmini:wireshark $ 
    ttirtawi@macmini:~ $ MacPorts/bin/wireshark -version
    wireshark 1.2.5
    
    Copyright 1998-2009 Gerald Combs <gerald@wireshark.org> and contributors.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    Compiled with GTK+ 2.24.23, with GLib 2.40.0, with libpcap 1.5.3, with libz
    1.2.8, without POSIX capabilities, without libpcre, with SMI 0.4.8, with c-ares
    1.10.0, without Lua, with GnuTLS 3.1.22, with Gcrypt 1.5.3, with MIT Kerberos,
    with GeoIP, without PortAudio, without AirPcap.
    NOTE: this build doesn't support the "matches" operator for Wireshark filter
    syntax.
    
    Running on Darwin 13.2.0 (MacOS 10.9.3), with libpcap version 1.5.3, GnuTLS
    3.1.22, Gcrypt 1.5.3.
    
    Built using gcc 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40).
    ttirtawi@macmini:~ $ 
    

Sampai tahap ini saya punya 3 port Wireshark yang terpasang :

ttirtawi@macmini:~ $ port installed wireshark
The following ports are currently installed:
  wireshark @1.2.5_0 (active)
  wireshark @1.10.6_0
  wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11
ttirtawi@macmini:~ $ 

Bila saya ingin kembali menggunakan Wireshark versi 1.10.7, saya cukup mengaktifkannya dengan perintah port activate seperti contoh di bawah ini :

ttirtawi@macmini:~ $ port activate wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11
--->  Computing dependencies for wireshark
--->  Deactivating wireshark @1.2.5_0
--->  Cleaning wireshark
--->  Activating wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11
--->  Cleaning wireshark
ttirtawi@macmini:~ $
ttirtawi@macmini:~ $ port installed wireshark
The following ports are currently installed:
  wireshark @1.2.5_0
  wireshark @1.10.6_0
  wireshark @1.10.7_0+adns+geoip+gnutls+ipv6+libgcrypt+libsmi+lua+rtp+ssl+x11 (active)
ttirtawi@macmini:~ $ 
ttirtawi@macmini:~ $ MacPorts/bin/wireshark -version
wireshark 1.10.7 (Git Rev Unknown from unknown)

Copyright 1998-2014 Gerald Combs <gerald@wireshark.org> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with GTK+ 2.24.23, with Cairo 1.12.16, with Pango 1.36.3, with
GLib 2.40.0, with libpcap, with libz 1.2.8, without POSIX capabilities, without
libnl, with SMI 0.4.8, without c-ares, with ADNS, with Lua 5.2, without Python,
with GnuTLS 3.1.22, with Gcrypt 1.5.3, with MIT Kerberos, with GeoIP, with
PortAudio V19-devel (built May 23 2014 02:29:07), with AirPcap.

Running on Mac OS X 10.9.3, build 13D65 (Darwin 13.2.0), with locale
en_US.UTF-8, with libpcap version 1.5.3, with libz 1.2.8, GnuTLS 3.1.22, Gcrypt
1.5.3, without AirPcap.
       Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz

Built using clang 4.2.1 Compatible Apple LLVM 5.1 (clang-503.0.40).
ttirtawi@macmini:~ $