Enable write access NTFS di Mac OS (Updated for Catalina)

Sebagai pengguna Mac OS, pasti menemukan kesulitan untuk menyalin data dari PC / Laptop dengan sistem operasi Windows ke Macbook/Macbook Pro/Air yang menggunakan sistem operasi Mac OS. Hal ini disebabkan karena Mac OS secara terang-terangan tidak mendukung untuk melakukan penulisan ke format file system Windows yang biasanya menggunakan NTFS. Dan saat ini memang di Mac OS tidak menyediakan cara enable write access NTFS secara default.

Koq bisa? dari berbagai referensi, alasan yang sering ditemukan adalah “NTFS is a proprietary technology of Microsoft”. What?? Yep, NTFS merupakan teknologi milik Microsoft. Mereka tidak mempublikasikan spesifikasi dan dokumentasi mengenai bagaimana melakukan implementasi NTFS secara detail. Hal ini menyebabkan siapa saja yang ingin melakukan implementasi NTFS harus menebak cara kerjanya melalui teknik yang dinamakan “reverse engineering”. Karena hal tersebut, mungkin dukungan write access ke NTFS dianggap memiliki resiko yang serius, bahkan dapat menyebabkan data hilang. Disamping itu, sistem permisi antara NTFS dan Apple File System (APFS) (File system yang digunakan di Mac OS terbaru) sangatlah berbeda.

Nah, alasan penulisan artikel ini sebenarnya dikarenakan siklus rutin update Mac OS. Karena saya menginginkan keamanan OS Macbook Pro saya selalu diperbaharui. Makanya saya rajin apply updates, namun resikonya langkah-langkah untuk enable write access NTFS harus diulangi kembali. Pada kesempatan kali ini, saya ingin merangkum langkah-langkah yang perlu dilakukan tanpa harus membeli software berbayar dengan sederhana.

Homebrew dan Xcode

Homebrew atau yang lebih suka dikenal dengan “The missing package manager for MacOS (or Linux)” adalah sebuah pengelola (installer/remover) paket (package) dimana paket-paket aplikasi tersebut tidak disediakan secara resmi oleh Apple di App Store nya.

Untuk menginstall Homebrew, terlebih dahulu harus menginstall developer tool (Xcode) terlebih dahulu :

xcode-select --install

Selanjutnya baru gunakan perintah dibawah untuk mengunduh dan menginstall paket homebrew nya :

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

enable write access ntfs

 

Isilah password dari account aktif kamu, jika ditanyakan selama proses instalasi berjalan.

NTFS-3G

Setelah berhasil melakukan installasi Xcode dan Homebrew. Selanjutnya instalasi ntfs-3g, ini merupakan paket untuk dibutuhkan untuk melakukan write pada ntfs.

[Update untuk OS Catalina]  jalankan cask install osxfuse terlebih dahulu

brew cask install osxfuse
brew update && brew install ntfs-3g

Setelah instalasi diatas selesai, maka Mac OS Anda sudah memiliki kemampuan untuk akses tulis ke hard disk NTFS. Namun, untuk membuat auto mount harddisk secara otomatis membaca NTFS dengan kemampuan menulis (write). Maka harus dilakukan langkah tambahan dibawah.

System Integrity Protection

Melakukan non-aktif System Integrity Protection. Pada dasarnya SIP bertugas memastikan ketersediaan file-file penting yang berkaitan dengan system dan kelangsungan operating system itu sendiri. Hal ini merupakan sesuatu yang positif karena dengan aktifnya SIP akan membuat system operasi lebih aman dari malware, virus dan trojan yang mengakali OS untuk mendapatkan “root” akses untuk melakukan tindakan-tindakan yang bersifat merusak sistem.

Cara menonaktifkan SIP sebagai berikut. Reboot Mac Anda, ketika Mac menyala kembali langsung tekan tombol Command+R secara bersamaan ketika proses booting sampai nanti masuk ke mode recovery. Setelah itu, masuk ke terminal dan jalankan perintah dibawah :

csrutil disable

Setelah itu restart Mac seperti biasa.

Mengubah file mount_ntfs

mount_ntfs merupakan perintah yang dijalankan ketika hard disk external tertancap ke USB dan Mac mendeteksi format dari hard disk tersebut adalah NTFS. Untuk memastikan perintah mount_ntfs yang dijalankan adalah merupakan bagian dari ntfs-3g yang memiliki kemampuan menulis ke NTFS, maka kita harus melakukan modifikasi sedikit di sistem dengan melakukan softlink ke file yang kita inginkan. Berikut langkahnya

sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.original
sudo ln -s /usr/local/sbin/mount_ntfs /sbin/mount_ntfs

[Update untuk OS Catalina ] Jika terdapat permasalahkan akses file ketika menjalankan perintah diatas (walaupun csrutil sudah berhasil dimatikan. Maka coba jalankan perintah berikut sebelum menjalankan mengganti mount_ntfs softlink.

sudo mount -uw /

Setelah selesai dengan langkah diatas, masuk ke recovery mode dan kembali aktifkan SIP.

csrutil enable

Lalu restart kembali Mac Anda.

[Update untuk OS Catalina ] Jika setelah langkah diatas NTFS drive tidak terbaca dengan sempurna, seperti hanya terlihat folder saja namun file tidak dapat terlihat. Maka lakukan edit pada file mount_ntfs dengan menambahkan perintah ‘-o allow_other‘ dan ‘-o auto_xattr‘. Lihat parameter pada perintah ntfs-3g pada file /usr/local/sbin/mount_ntfs berikut :

/usr/local/opt/ntfs-3g/bin/ntfs-3g \
  -o volname="${VOLUME_NAME}" \
  -o local \
  -o negative_vncache \
  -o auto_xattr \
  -o auto_cache \
  -o noatime \
  -o windows_names \
  -o user_xattr \
  -o inherit \
  -o uid=$USER_ID \
  -o gid=$GROUP_ID \
  -o allow_other \
  "$@" >> /var/log/mount-ntfs-3g.log 2>&1

Simpan perubahan yang dilakukan pada file /usr/local/sbin/mount_ntfs kemudian coba lagi untuk menghubungkan perangkat penyimpanan eksternal Anda kembali. Selamat mencoba!

Disclaimer

Seperti yang saya jelaskan mengenai Apple dan NTFS. Hal diatas tidak direkomendasikan oleh Apple dan saya melakukan langkah-langkah diatas sangat memahami bahwa software ntfs-3g tidak 100% berjalan dengan sempurna. Silakan coba langkah diatas jika memang benar-benar diperlukan dan paham atas resikonya.

Klik disini untuk lihat artikel bermanfaat lainnya

WHOIS server PANDI

IANA Pandi

Kalau ada rekan-rekan yang mengelola hosting atau bersinggungan dengan registrasi nama domain ID, pasti kenal dengan PANDI kan ya? Baru-baru ini PANDI melakukan pengetesan BCP DRC Datacenter mereka. Alhasil ada pesan cinta dari PANDI mengenai jadwal pemeliharaan mendadak 2 hari berturut-turut.

Nah yang bikin panik, selama ini WHOIS server yang saya pakai untuk melakukan pengecekan nama domain dot ID adalah whois.pandi.or.id. Tapi ada yang aneh setelah mereka selesai melakukan pemeliharan, pengecekan saya menemukan keanehan. Tadi pagi saya menemukan whois.pandi.or.id pointing ke set IP address yang berbeda jika di query di DNS1.PANDI.OR.ID dan DNS2.PANDI.OR.ID. Nah, yang bikin pusing ternyata set IP address yang diresolve oleh DNS2 nya tidak dapat melayani query whois. Continue reading “WHOIS server PANDI”

Langkah membuat website WordPress self hosting

Bagi Anda yang masih baru dengan WordPress. Mungkin Anda masih bingung apa perbedaan dari membuat website / blog di WordPress.com atau menggunakan WordPress self hosting (WordPress.org)? Secara sederhana, WordPress.com adalah layanan hosting yang dikelola oleh co-founder dari platform WordPress itu sendiri yaitu Matt Mullenweg.

Jika Anda menggunakan WordPress.com, maka file / data WordPress Anda akan berada di server yang dikelola oleh WordPress.com. Apabila Anda memilih  untuk membuat website WordPress selfhosting, Anda dapat mengunduh file installasi WordPress dari WordPress.org. Kemudian memilih hosting provider yang Anda percaya untuk memulai website WordPress dengan mengunggah file instalasi tersebut ke server penyedia hosting Anda dan melakukan langkah-langkah installasi nya.

Lho, berarti membuat WordPress self hosting susah dong? Eit… Sekarang kan sudah banyak provider hosting yang menawarkan paket WordPress hosting, misalnya Exabytes Indonesia yang baru saja me-launching produknya (Ampun gan, promosi dikit ga apa-apa kan ya?) Anyway, balik ke topik… Jadi dengan adanya paket WordPress hosting akan memudahkan pengguna untuk melakukan installasi WordPress semudah klik tombol “Next” beberapa kali 😉

Ada beberapa keuntungan yang bisa dapatkan dengan WordPress self hosting, diantaranya : Continue reading “Langkah membuat website WordPress self hosting”

Tutorial : Menjalankan docker di VPS (KVM)

Apa itu Docker? Kapan kita memerlukan Docker?

Docker merupakan platform yang memungkinkan bagi developer untuk menyatukan semua software pendukung yang diperlukan oleh aplikasi tertentu. Konsepnya mirip dengan teknologi yang digunakan oleh Virtual Private Server, dimana setiap aplikasi akan dijalankan pada sebuah “container” tersendiri supaya tidak terpengaruh oleh aplikasi yang digunakan oleh user lain walaupun sama-sama berada di server fisik yang sama. Namun dalam hal ini, Docker dibuat untuk memudahkan developer untuk mempersiapkan environment untuk aplikasinya.

Persiapan

  • VPS berbasis KVM. Kali ini saya menggunakan OS CentOS 7.2
  • Login menggunakan non-root user

Langkah installasi Docker

User yang saya gunakan “indra”, supaya user dapat menjalankan perintah yang hanya dapat dijalankan oleh root dengan perintah sudo. Maka user ini harus ditambahkan ke group “wheel”

usermod -a -G wheel indra

Continue reading “Tutorial : Menjalankan docker di VPS (KVM)”

Script untuk deteksi website redirection dan IP address menggunakan python

Skenario kali ini adalah jika kita memiliki daftar domain yang ingin kita periksa website redirection nya. Tentunya ini adalah hal yang sederhana jika daftar domain yang harus diperiksa hanya beberapa saja, tapi jika ada ribuan? Jadi lain ceritanya 😀

Disclaimer :

Berikut adalah environment yang digunakan pada saat pengujian script :

[root@indra check_redirection]# rpm -qf `which python`   
python-2.6.6-66.el6_8.x86_64
[root@indra check_redirection]# pip freeze | grep urllib3
urllib3==1.22

Langkah-langkah yang diperlukan:

Script akan saya beri nama checker.py dan memerlukan satu file sebagai input yaitu domain.txt. Berikut adalah isi dari kedua file tersebut.

Continue reading “Script untuk deteksi website redirection dan IP address menggunakan python”