Mereka menginvasi tempat kerja dan tempat belajar. Mereka pikir bisa memaksa kita untuk meninggalkan FOSS atau GNU/Linux? Mereka salah! Kita tetap bisa bebas walaupun terpaksa menggunakan layanan tertutup. GNU/Linux tetap bisa dipakai!

Ada 2 cara untuk bertahan menggunakan GNU/Linux:

  1. Gunakan API yang disediakan oleh OneDrive dengan aplikasi onedrive-d.
  2. Gunakan WebDav dengan davfs2.

Saya akan membahas kedua cara tersebut. Kali ini saya akan membahas yang pertama saja.

Cara 1: Menggunakan onedrive-d

Aplikasi onedrive-d menggunakan pustaka inotify yang dimiliki kernel Linux untuk mengawasi sebuah direktori. Ketika ada berkas yang berubah pada direktori tersebut, ia akan menjalankan proses sinkronisasi dengan menggunakan API OneDrive.

OneDrive menggunakan OAuth2 sebagai proses autorisasi. Untuk dapat mengakses API OneDrive, aplikasi onedrive-d sebelumnya harus diberi izin terlebih dahulu. Itu sebabnya, dibutuhkan peramban untuk mengakses laman autentikasi Microsoft. Jadi, walau pun proses pemasangan berjalan menggunakan terminal, tetap saja proses ini dijalankan pada lingkungan grafis.

Memasang onedrive-d

Sebelum memulai, pasang manajer paket untuk Python3. Pada Ubuntu ini biasanya belum terpasang:

sudo apt-get install python3-pip

Unduh dengan menggunakan GIT aplikasi onedrive-d

git clone https://github.com/xybu/onedrive-d.git

Setelah mengunduh kode sumber onedrive-d, lakukan pemasangan seperti yang dijelaskan di halaman GitHub onedrive-d.

cd onedrive-d
./install.sh

Skrip pemasangan akan memasang paket-paket yang diperlukan. Sampai ini pemasangan sudah selesai.

Kenapa? Kegampangan? πŸ˜›

Persiapan Mengonfigurasi onedrive-d

Sejujurnya, Anda cukup ikuti cara yang ada di halaman GitHub onedrive-d. Tetapi, saya mau memasang dengan asumpsi aplikasi ini akan digunakan pada lingkungan banyak pengguna. Apalagi, cara pemasangan yang terlalu gampang sepertinya membuat bobot tutorial ini serasa kurang geek.

Buat satu pengguna yang akan jadi pengguna onedrive-d.

sudo adduser --system --group --no-create-home --disabled-login onedrive

Buat direktori konfigurasi per pengguna

mkdir ~/.onedrive

Buat berkas log dan jadikan itu milik onedrive.

sudo touch /var/log/onedrive_d.log
sudo chmod 0660 /var/log/onedrive_d.log
sudo chown onedrive:onedrive /var/log/onedrive_d.log

Untuk setiap pengguna yang hendak menggunakan onedrive-d,Β  tambahkan ke grup onedrive. Misalnya:

adduser user onedrive

Selanjutnya adalah konfigurasi OneDrive.

Mengonfigurasi onedrive-d

Pada saat penulisan, perkakas GUI onedrive-d tidak dapat dijalankan di Ubuntu. Maka, kita perlu menjalankan konfigurasi di terminal. Seperti yang saya bilang sebelum ini, sebaiknya terminal dijalankan pada lingkungan grafis agar mudah menjalankan peramban.

Jalankan wisaya konfigurasi:

onedrive-pref --ui=cli
Loading configuration ... OK
[2015-05-22 19:29:26,545] DEBUG: thread_mgr: started.
Setting up onedrive-d...

Selanjutnya proses pada wisaya konfigurasi ini akan saya jabarkan satu persatu.

Otorisasi OAuth2

Langkah pertama, wisaya akan meminta Anda untuk menyalin sebuah URL dan menjalankannya pada peramban.

(STEP 1/4) Do you want to authorize sign in with your OneDrive account? [Y/n] 

You will need to visit the OneDrive sign-in page in a browser, 
log in and authorize onedrive-d, and then copy and paste the 
callback URL, which should start with 
"https://login.live.com/oauth20_desktop.srf".

The callback URL is the URL where the sign-in page finally goes blank.

Please visit the sign-in URL in your browser:

Sign in to your Microsoft account

No Description

Please paste the callback URL:

Buka peramban Anda dan salin URL panjang tersebut untuk login ke OneDrive.

This slideshow requires JavaScript.

Masuk ke OneDrive. Beri izin akses kepada aplikasi onedrive-d. Pada saat selesai otorisasi, peramban Anda akan dibawa ke sebuah laman kosong. URL itu berisi tiket otorisasi yang diperlukan aplikasi onedrive-d untuk masuk ke OneDrive. Salin seluruh URL untuk digunakan pada konfigurasi.

Melanjutkan proses tadi, masukkan URL yang dibutuhkan:

Please paste the callback URL:

No Title

No Description

[2015-05-22 19:32:38,675] DEBUG: MainThread: config saved. onedrive-d has been successfully authorized.

Tentu saja, saya menyensor kode saya. Itu isinya alfanumerik.

Menentukan Direktori yang Akan Ditautkan OneDrive

Selanjutnya, wisaya akan menanyakan direktori yang akan ditautkan.

(STEP 2/4) Do you want to specify path to local OneDrive repository? [Y/n] 
Please enter the abs path to sync with your OneDrive (default: /home/user/OneDrive): /home/user/Dokumen/OneDrive
The path "/home/user/Dokumen/OneDrive" does not exist. Try creating it.
[2015-05-22 19:33:07,139] DEBUG: MainThread: config saved.
Path successfully set.

Menentukan Beberapa Hal

Selanjutnya, Anda dapat menentukan beberapa hal:

  1. Berapa lama yang ditoleransikan untuk menunggu jaringan yang gagal.
  2. Berapa ukuran minimal berkas yang dikirimkan dalam bentuk potongan-potongan. Lebih kecil dari nilai ini, berkas akan dikirim utuh.
(STEP 3/4) Do you want to change the numeric settings? [Y/n] 
How many seconds to wait for before retrying a network failure (current: 10)?

Files larger than what size (in MiB) will be uploaded blocks by blocks? (current: 4.0)?

When a file is uploaded blocks by blocks, what is the block size (in KiB)? (current: 512.0)?
[2015-05-22 19:33:32,067] DEBUG: MainThread: config saved.

Proses ini bisa diabaikan sebenarnya.

Menentukan Daftar Berkas yang Tidak Disinkronisasi

Selanjutnya, Anda akan diminta untuk menetapkan aturan untuk berkas-berkas yang tidak masuk konfigurasi. Pada proses ini, bila Anda setuju, wisaya akan membuka berkas ~/.onedrive/ignore_v2.ini dalam penyunting terminal.

(STEP 4/4) Do you want to edit the ignore list file? [Y/n] 
Calling your default editor...
You have exited from the text editor.

All steps are finished.
[2015-05-22 19:33:55,722] DEBUG: Dummy-2: config saved.

Selesai wisaya.

Terakhir

Setelah proses wisaya, untuk menjalankan layanan onedrive-d, jalankan perintah:

onedrive-d start

Bila mau menghentikan layanan onedrive-d:

onedrive-d stop

Untuk lihat apakah layanan berjalan:

onedrive-d status

Selesai.

Waduh, saya pikir singkat, ternyata ada banyak juga. Ya, sudah. Kalau begitu cara kedua akan saya bahas di tulisan mendatang.