Skip to main content

Posts

Showing posts with the label Ubuntu

Bash | Learning Bash/Shell Scripting The Hard Way

Meskipun saya sudah menggunakan Sistem Operasi berbasis Linux sejak lebih dari 8 tahun lalu. Cukup jarang saya harus berkutat dengan bash/shell scripting/programming, saya hanya sekedar tahu dan tidak pernah belajar lebih dalam. Tapi karena tuntutan profesi (*haha profesi jare), mau tidak mau saya harus sedikit belajar, dengan bekal script warisan dari SysAdmin sebelumnya. Langsung saja studi kasusnya adalah membuat bash script untuk melakukan proses backup database sistem (kami menggunakan PostgreSQL)  ke layanan Google Drive (berikutnya kita sebut gdrive ). Kami mempunyai beberapa database server dan beberapa diantaranya dibatasi hanya bisa diakses dan mengakses via jaringan lokal (private network). Untuk keperluan komunikasi dengan Google Drive via terminal, saya menggunakan tool bernama drive yang merupakan project open source dan bisa diakses via  https://github.com/odeke-em/drive . Gambaran untuk prosesnya adalah seperti ini: Di node backup masih ada file ...

Bash | Solusi "Warning: remote port forwarding failed for listen port 9000"

Halo Sobat, mohon maaf saya cukup lama hiatus di blog ini. *sok pakai kata hiatus :P Langsung saja saya mau share pengalaman melakukan remote debugging PHP melalui ssh tunnel di port 9000 (standar port xdebug, yap saya menggunakan xdebug untuk debugging aplikasi PHP). Dengan ssh tunnel kita bisa menforward port 9000 dari server yang ada di cloud ke port 9000 di komputer lokal kita, sehingga kita bisa mendebug aplikasi di server melalui IDE/tool debug di komputer lokal. (Saya penyuka PHPStorm, please no IDE war here haha). Namun karena internet yang saya pakai tidak stabil sehingga seringkali ssh tunnel ini freeze di bash window, sehingga saya harus menutup paksa window tersebut. Akibatnya di sisi server, port forwarding masih aktif, jadi ketika saya melakukan tunneling lagi maka akan muncul warning  remote port forwarding failed for listen port 9000. Solusinya adalah kita harus meng-kill proses port forwarding tsb via ssh ke server dengan menjalankan perintah lsof |...

What i don't like about Mac OS X

Bagi pengguna "fanatik" Mac OSX mungkin judul post kali ini agak mengganggu, tapi ini pengalaman yang saya rasakan sebagai "pengguna baru". Jadi 2 hari kemarin saya sudah mulai aktif kembali di kantor, yang mana sebelumnya saya bekerja secara remote dikarenakan alasan kesehatan. Namun ujian datang ketika saya ingin mulai aktif di kantor. Pagi hari sebelum berangkat, laptop saya tidak bisa booting, yang ternyata penyebabnya adalah harddisk utama tidak terbaca oleh sistem, alhasil laptop yang sudah menemani saya selama hampir 4 tahun ini harus "dirumah sakitkan". Saya kontak rekan kantor untuk mengabarkan bahwa saya harus ke service center terlebih dahulu sebelum "ngantor". Di kantor tidak ada lagi komputer/laptop yang bisa saya gunakan, sehingga saya pun "terpaksa" memakai MacMini second hand yang dimiliki kantor. Perjuangan dimulai dari sini, karena saya harus mensetup environment yang sama dengan yang saya gunakan di laptop...

MySQL | Catatan Pengingat

Saya sangat jarang menggunakan MySQL, karena saya lebih menyukai PostgreSQL untuk development. Saya intensif menggunakan MySQL di semester ke-2, karena ada mata kuliah database (database model design dan querying) yang mana saat itu menggunakan Oracle. Dikarenakan komputer saya saat itu speknya minim (komputer bekas yang saya beli dari teman kuliah seharga 350ribu rupiah, lengkap), maka saya hanya bisa menginstall MySQL untuk belajar, yang mana saat itu versinya belum mensupport subquery, sehingga saya harus banyak membuat view sebagai alternatif subquery. Belakangan saya mulai melirik lagi MySQL, namun hanya untuk tujuan belajar. Berikut catatan atas problem yang saya hadapi, sebagai catatan pengingat jika nanti saya lupa Lupa password user root Hari ini saya kelupaan password user root dari MySQL, karena sudah cukup lama tidak tersentuh. Hasil googling mengarahkan saya ke laman ini (workstation saya adalah Ubuntu 14.04) Langkah pertama adalah stop mysql service sudo service...

Ubuntu | Menerima File Dari Device Bluetooth

Lama ga ketemu ya sahabat javanatics, apa kabar? Semoga sahabat sekalian senantiasa dalam limpahan rahmat dari Tuhan Yang Maha Esa. Aamiin Kali ini saya ingin berbagi cara untuk mengkonfigurasi Ubuntu 12.04 agar bisa menerima file yang dikirim dari device bluetooth (sebagai contoh saya ingin mengirim foto dari device Android saya). Secara default, setting bluetooth di Ubuntu 12.04  belum bisa digunakan untuk menerima file yang kita kirim melalui bluetooth. Jadi jangan heran jika proses pengiriman file ke Ubuntu kita selalu gagal. Berikut adalah langkah-langkah untuk mengkonfigurasi agar Ubuntu kita bisa menerima file dari device bluetooth.  Masuk ke dashboard Unity dan akses aplikasi "Personal File Sharing".  Pada window preferensi Personal File Sharing, centang opsi Receive files in Downloads folder over Bluetooth  lalu klik tombol Close Ulangi kembali mengirim file dari device Bluetooth kita, dan voila... File otomatis t...

PostgreSQL | Create Language PLPGSQL ke Database

Untuk sahabat yang sudah bekerja dan familiar dengan Stored Procedure  pada PostgreSQL , tentunya mengetahui salah satu bahasa pemrograman yang mendukung stored procedure adalah PLPGSQL  (biasa ditulis dengan huruf kecil, plpgsql), yakni bahasa pemrogaman SQL yang mirip dengan PLSQL milik Oracle Database. Secara default, baik pada Wind*ws maupun Linux/Ubuntu plpgsql ini akan diinstall kecuali jika kita menonaktifkan checkbox instalasi plpgsql pada database template1 . FYI: PostgreSQL menggunakan database template1  ini sebagai template ketika membuat database baru, sehingga baik metadata maupun bahasa pemrograman yang terinstall pada template1  akan tersedia pula pada database baru, sehingga kita tidak perlu menginstall/create lagi pada database baru. Untuk memeriksa apakah pada database template1 sudah terinstall plpgsql kita bisa menjalankan perintah berikut pada terminal: createlang -Upostgres -l template1 Jika sudah pada template1 sudah terinstall, maka...

Ubuntu | Problem Wifi Switch Dell Inspiron 14R

Saya pengguna Ubuntu 12.04, sebenarnya sudah lama saya mengalami problem ini di Dell Inspiron 14R saya. Sekedar informasi, Dell menggunakan kombinasi keyboard Fn + F2 untuk mengaktifkan maupun menonaktifkan wireless dan bluetooth. Switch ini berfungsi dengan baik untuk bluetooth, namun tidak berlaku pada wireless. Karena kadang berfungsi kadang tidak. Puncaknya pada hari ini, switch wireless sama sekali tidak berfungsi. Setelah googling, saya menemukan solusi sebagai berikut: 1. Install package firmware-b43-installer  dengan menjalankan perintah berikut sudo apt-get install firmware-b43-installer 2. Pastikan pada Ubuntu sahabat sudah terinstall package jockey-gtk, jika belum ada jalankan perintah berikut untuk menginstall sudo apt-get install jockey-gtk 3. Restart system dan tekan [F2]  pada saat booting untuk masuk ke BIOS , kemudian pilih opsi load default setting  dan jangan lupa menyimpan perubahan. 4. Sekarang seharusnya switch untuk wireless sudah b...

Ubuntu | Menonaktifkan Popup Notifikasi Rhythmbox

Sahabat merasa terganggu dengan popup notifikasi dari Rhythmbox ketika pergantian lagu? Jika jawaban sahabat adalah iya, maka berikut ini adalah cara untuk menonaktifkannya : 1. Akses menu Edit -> Plugins 2. Pada dialog Plugins , cari plugins dengan nama Notification , dan kemudian uncheck Configure Plugins 3. Close dialog plugin, dan sekarang seharusnya popup notification pergantian lagu sudah tidak muncul.

Ubuntu | Gagal Update Glassfish dengan Updatetool di Ubuntu 64bit

Hari ini saya ingin melakukan update glassfish 3.1.2 ke edisi glassfish terbaru yakni 3.1.2.2 dengan menjalankan perintah berikut : root@code-impact:/opt/servers/glassfish3/bin# ./updatetool namun muncul pesan error sebagai berikut "/BUILD_AREA/workspace/updatecenter2.3-sustaining/uc2/build/dist/linux-i386/updatetool/vendor-packages/updatetool/common/boot.py", line 283, in init_app_locale File "wx/__init__.py", line 45, in ? File "wx/_core.py", line 4, in ? ImportError: libjpeg.so.62: cannot open shared object file: No such file or directory --------------------------------------------------------------- There was an error running /usr/local/glassfish3/updatetool/bin/../../pkg/python2.4-minimal/bin/python You are running on a 64 bit Linux distribution and the 32 bit Linux compatibility libraries do not appear to be installed. In order to use the Update Center tools you must install the 32 bit compatibility libraries. On Ubunt...

Ubuntu | Perbedaan Perintah adduser dan useradd

Sebagai "senior" dalam perusahaan, saya terkadang merangkap sebagai administrator user pada komputer server (kami menggunakan pc station dengan Ubuntu 7.04 sebagai OS *jadul ya :D*) Untuk menambahkan user baru pada linux, khususnya pada  Ubuntu , sahabat tentunya sudah mengetahui ada dua opsi perintah yang bisa digunakan yakni  adduser dan useradd . Lalu apa sih perbedaan kedua perintah tersebut? Ok, untuk mencari tahu mari kita lakukan ujicoba secara langsung: 1. Jalan perintah useradd  melalui terminal sudo useradd [nama_user] Perintah tersebut tidak menghasilkan output apapun 2. Jalankan perintah adduser sudo adduser [nama_user] Perintah tersebut menghasilkan output dan entrian yang harus kita isi, sebagai berikut Adding user `eko2' ... Adding new group `eko2' (1001) ... Adding new user `eko2' (1001) with group `eko2' ... Creating home directory `/home/eko2' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retyp...

Ubuntu | Membuat PDF Dari Buku Git Berformat Pandoc

Pada posting sebelumnya saya menuliskan tentang cara instalasi git pada Ubuntu. Namun alasan klasik programmer kita yang tidak mau belajar git ataupun teknologi baru lainnya adalah, tidak tersedianya buku maupun resource yang berbahasa Indonesia. Namun untuk belajar git kali ini sahabat tidak perlu khawatir, karena sudah ada buku git berbahasa indonesia yang dibuat oleh Pak Endy Muhardin . Bagi sahabat yang sudah lama mengikuti milist yahoo JUG (Java User Group) Indonesia maupun NUG (Netbeans User Group) Indonesia, tentunya sudah mengetahui bahwa beliau adalah sosok yang sudah banyak berkontribusi bagi developer java baik melalui milist, blog, training, maupun buku-buku beliau. Kali ini beliau juga ingin kembali berkontribusi dengan membagi buku buah tangan beliau yang membahas git, buku ini ditulis dalam format markdown dan dihost pada akun github Pak Endy Muhardin. Untuk mengkonversi format markdown ini ke dalam format PDF agar lebih mudah dibaca maupun dicetak, sahabat bisa...

Ubuntu | Install Git Version Control

Bagi sahabat yang sudah lama berkecimpung di bidang software development profesional tentunya sudah tidak asing dengan version control , yakni sebuah sistem yang biasa digunakan untuk mengontrol perubahan dan version dari source code program kita. Meskipun begitu, version control ini tidak hanya dapat digunakan pada source code saja, bahkan bisa digunakan pada dokumen pribadi . Salah satu contoh version control yang banyak digunakan adalah Subversion , kantor saya pun menggunakan Subversion tersebut. Namun kelemahan yang dimiliki Subversion adalah sistem koneksinya yang berupa client server, sehingga jika server down ataupun koneksi internet mati, kita tidak dapat melakukan proses version control seperti commit, update dan sebagainya. Untuk itu datang salah satu version control yang sedang naik daun saat ini, yaitu Git . Terlebih lagi dengan munculnya penyedia layanan host repository source code dengan menggunakan version control git ini. Yap benar, github.com  yang sedang po...

Ubuntu | Gagal Mounting Hardisk (HDD) Eksternal

Pernahkah sahabat mengalami gagal mounting (automount) Harddisk eksternal pada Ubuntu? Saya pernah mengalaminya, yakni ketika pertama kali memasang HDD eksternal baru pada Ubuntu 12.04. Pesan error yang muncul adalah sebagai berikut : $MFTMirr does not match $MFT (record 0).Failed to mount '/dev/sdb1': Input/output errorNTFS is either inconsistent, or there is a hardware fault, or it's aSoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windowsthen reboot into Windows twice. The usage of the /f parameter is veryimportant! If the device is a SoftRAID/FakeRAID then first activateit and mount a different device under the /dev/mapper/ directory, (e.g./dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation Setelah googling saya menemukan solusi dengan menjalankan perintah berikut: sudo ntfsfix /dev/sdb1 atau sudo ntfsfix /dev/[path-to-hdd] Silahkan ganti [path-to-hdd] dengan lokasi mount HDD eksternal kita, yang bisa dilihat dengan...

Ubuntu | Problem Instalasi Netbeans 7.1.2 di Ubuntu 12.04

Sepanjang pengalaman saya, saya belum pernah mengalami problem dalam instalasi Netbeans di Ubuntu. Namun hari ini saya mengalami problem yang cukup mengganggu, yakni installer Netbeans tidak berjalan dengan baik. Perlu diketahui, saya sudah menginstall Oracle JDK 7u4 dan JDK 6u32, dengan JDK 7 sebagai default. Namun saya juga sudah mengedit file .bashrc untuk me- export  lokasi JDK 6u32 ke dalam ${PATH}. Berikut perintah yang saya jalankan sewaktu menginstall netbeans: eko@code-impact:~$ chmod +x netbeans-7.1.2-ml-linux.sh eko@code-impact:~$ ./netbeans-7.1.2-ml-linux.sh Configuring the installer... Searching for JVM on the system... Extracting installation data... Running the installer wizard... eko@code-impact:~$ Seperti yang sahabat lihat, installer berhenti dan kembali ke bash prompt. Setelah googling problem tersebut, saya menemukan link berikut  askubuntu.com . Dari link tersebut saya menemukan petunjuk tentang symbolic link dari java yan...

Ubuntu | Memeriksa Versi Ubuntu via Terminal

Untuk sahabat pengguna Ubuntu  kali ini saya ingin berbagi tips untuk memeriksa versi Ubuntu yang terinstall via terminal. Berikut ini perintahnya: lsb_release -a pada komputer saya (Ubuntu 12.04 Precise Pangolin), perintah tersebut menghasilkan output berikut: No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 12.04.1 LTS Release: 12.04 Codename: precise referensi:  https://help.ubuntu.com/community/CheckingYourUbuntuVersion

Ubuntu | Install Meld Diff Tool

Sebagai programmer yang bekerja secara tim, tentunya sahabat sudah familiar dengan aktifitas diff . Yakni membandingkan perbedaan ( differences ) dari dua file atau lebih, terutama apabila terjadi conflict  atas file coding kita. Ataupun untuk membandingkan perbedaan file di workspace dengan file di server source code repository  *saya menggunakan subversion . Tentunya hal ini sangat merepotkan jika dilakukan secara manual atau tanpa bantuan tool. Bagi sahabat pengguna Ubuntu , kita dapat menggunakan GUI diff tool yang tersedia, yakni Meld. Fitur-fitur yang tersedia pada Meld antara lain: Membandingkan dua buah file, bisa juga membandingkan 3 file secara bersamaan. Membandingkan dua buah folder Untuk menginstall Meld pada Ubuntu, silahkan jalankan perintah berikut ini: sudo apt-get install meld Berikut beberapa snapshot dari Meld: Window utama File diff selection File diff window Folder diff selection Folder diff window

PostgreSQL | Set Default Output Data Binary/ByteA PostgreSQL 9.x

Hari ini saya sedang melakukan pengecekan salah satu modul pekerjaan saya, yakni penyimpanan data image (binary/bytea) ke dalam database PostgreSQL (saya menggunakan PostgreSQL 9.1.6 pada Ubuntu 12.04). Ternyata setelah dilakukan pengujian retrieval data gambar menjadi kacau, file image hasil generate dari database tidak sesuai dengan image asli yang datanya disimpan ke dalam database. Setelah googling, saya menemukan petunjuk bahwa hal ini terjadi karena default output data binary pada PostgreSQL 9.1.6 mempunyai format hex. Untuk mengatasi hal tersebut kita bisa melakukan alter pada database yang bersangkutan dengan perintah sebagai berikut (perintah dilakukan pada psql prompt bukan bash prompt linux/Ubuntu): database=> ALTER DATABASE database SET bytea_output TO 'escape'; Namun kekurangan perintah tersebut adalah kita harus melakukan alter pada semua database yang kita miliki. Hal ini tentu sangat merepotkan bila database yang ada jumlahnya cukup banyak. Unt...

Ubuntu | Install Shutter Screenshot Tool

Shutter merupakan tool yang digunakan untuk membuat screenshot. Bagi saya ini adalah aplikasi screenshot open source terbaik yang pernah saya temukan. Fitur-fitur yang dimiliki antara lain: Mengambil screenshot dari Selection Desktop Window Menu dan bahkan tooltip Mengedit hasil screenshot antara lain untuk menambah text keterangan maupun tanda panah Fasilitas upload via FTP, public hosting, maupun ke Ubuntu One , yang sudah terintegrasi  Cara install pada Ubuntu adalah sebagai berikut : sudo apt-get install shutter Berikut tampilan utama Shutter :

Ubuntu | Install Inconsolata Font

Inconsolata merupakan font favorit saya terutama untuk digunakan sebagai programming font. Baik itu untuk disetting pada terminal, gedit, maupun Netbeans Berikut adalah cara install font inconsolata di Ubuntu : *saya menggunakan Ubuntu 12.04 aka. Precise Pangolin sudo apt-get install ttf-inconsolata Berikut tampilan font inconsolata pada terminal referensi: www.webupd8.org