بسم الله الرحمن الرحيم

Post ini Belum Saya Perbaharui

STEP 7 : Install GNOME and Complete Installation

7.1 Check Internet Connection

Sebelum memasang paket GNOME desktop, pastikan dulu kalian telah terhubung dengan Internet.

$ ping google.com

Apabila keluar hasil seperti di bawah.

ping: google.com: Name or service not known

Menandakan bahwa kita belum terhubung ke Internet. Lakukan perintah di bawah untuk menjalankan dhcpcd.

$ sudo dhcpcd

Atau kalian dapat kembali merujuk pada Step 1 : Connecting to the Internet untuk dapat kembali melakukan konfigurasi Internet.

Pada perintah di atas, kita menambahkan perintah sudo tepat sebelum command(perintah) dhcpcd, karena saat ini kita bukan lagi berada pada root previlege. Kita berada pada akun kita sendiri yang hak aksesnya lebih terbatas. Ditandai dengan simbol $ . Maka dari itu kita memerlukan bantuan sudo untuk membuat kita dapat mengeksekusi command yang seharusnya hanya bisa dijalankan oleh root saja.

Kemudian kita akan diminta memasukkan password. Masukkan password user kita (bukan password root).

[sudo] password for archer: _

Setelah itu akan muncul pemberitahuan seperti di bawah.

dev: loaded udev
no interfaces have a carrier
forked to background, child pid 342

Sekarang coba lakukan ping lagi dengan cara ping google.com

Mungkin diperlukan 1 - 2 menit untuk menunggu sampai ping berhasil didapatkan. Apabila berhasil, artinya kita sudah terhubung ke Internet. Saatnya melangkah ke step selanjutnya.

7.2 GNOME Desktop Environment

Pada dokumentasi kali ini saya memilih menggunakan GNOME desktop environment, ketimbang XFCE ataupun KDE. Karena menurut saya desktop environment yang satu ini lebih mudah untuk diajarkan maupun digunakan karena interface-nya yang simpel dan minimalis. Selain itu cukup banyak distribusi sistem operasi GNU/Linux yang lain, yang juga menyertakan GNOME desktop menjadi default environment mereka.

Untuk teman-teman yang ingin menggunakan desktop environment yang lain, dapat merujuk pada Arch Wiki untuk proses instalasinya.

Untuk menginstal GNOME desktop environment, sangat mudah karena kita cukup mengetikkan command di bawah ini.

$ sudo pacman -S gnome gnome-extra

Command di atas dimaksudkan bahwa kita akan memasang dua buah paket aplikasi, gnome dan gnome-extra. gnome berisi paket-paket dasar dari GNOME desktop sedangkan gnome-extra adalah paket-paket tambahan pendukung GNOME desktop.

Apabila keluar daftar paket-paket dari group gnome.

Enter a selection (default=all): _

Maka kita memilih all dengan menekan tombol ENTER.

Selanjutnya akan keluar daftar paket-paket dari group gnome-extra.

Enter a selection (default=all): _

Sekali lagi, kita hanya perlu memilih all dengan menekan tombol ENTER.

Apabila masih keluar pemberitahuan yang lain untuk memilih default option dari repository extra (seperti: libx264, xdg-desktop-portal-gtk, dll), saya memilih nomor 1 (default) saja, jadi tinggal tekan tombol ENTER.

Setelah itu akan keluar daftar semua paket-paket dari GNOME desktop yang akan kita pasang.

...
...
Total Download  Size:  591.06 MiB
Total Installed Size: 2786.74 MiB

:: Proceed with installation? [Y/n]

Tekan tombol YENTER, atau langsung tekan ENTER untuk memilih Yes. Tunggu proses download dan instalasi hingga selesai.

7.3 Enable GNOME Desktop Manager (Login Manager)

Desktop Manager adalah aplikasi GUI yang menyediakan interface kepada kita untuk dapat login ke dalam sistem kita. Terdapat banyak Desktop Manager pada sistem operasi GNU/Linux. GDM, KDM, LightDM, SDM, dan masih banyak lagi. Karena dokumentasi ini menggunakan GNOME desktop environment, maka kita akan menggunakan desktop manager yang sudah termasuk dalam GNOME base package, yaitu GDM (GNOME Desktop Manager).

Untuk mengaktifkan dan membuat GDM otomatis dijalankan saat sistem pertama kali dinyalakan, kita perlu membuat symlink service dari GDM terlebih dahulu.

$ sudo systemctl enable gdm.service
Created sysmlink /etc/systemd/system/display-manager.service → /usr/lib/ ...

Apabila keluar output seperti di atas, maka proses instalasi GDM telah berhasil.

7.4 Manage Network with GUI

Secara default GNOME desktop belum meiliki aplikasi GUI untuk mengatur konfigurasi network. Maka, kita perlu untuk menambahkan beberapa paket yang mungkin belum termasuk dari base package GNOME desktop. Meskipun paket pendukung networking ini biasanya sudah termasuk dalam paket instalasi saat kita memasang desktop environment.

$ sudo pacman -S networkmanager network-manager-applet wpa_supplicant wpa_actiond dialog iw

Kemudian setelah proses instalasi selesai, kita perlu mengaktifkan service dari networkmanager agar dapat berjalan saat sistem startup.

$ sudo systemctl enable NetworkManager.service
Created sysmlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.serv ...
Created sysmlink /etc/systemd/system/multi-user.target.wants/NetworkManager. ...
Created sysmlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.servi ...

Maka pada next reboot, kalian sudah dapat menikmati konfigurasi network melalui GUI. Termasuk konfigurasi wifi juga telah tersedia.

Untuk teman-teman yang wifi adapter-nya tidak terdeteksi. Dapat mencari solusinya di Google yaa. Hehehe. Hal yang dapat kalian jadikan sebagai keyword adalah :

  1. Apa nama vendor dari network adapter kalian (misal: Intel, Atheros, Broadcom, Realtek, dll)
  2. Apa type dari network adapter (misal : BCM43XX, rt3573, ath5k, ath9k, dll)

Sumber bacaan lebih lanjut tentang wireless network configuration dapat dibaca di sini.

7.5 Enable Multilib Support for 32 bit Architecture

Meskipun laptop atau komputer kalian sudah menggunakan 64 bit, namun tidak ada salahnya untuk tetap mengaktifkan dukungan library terhadap processor 32 bit. Karena beberapa aplikasi terkadang masih membawa dependensi library 32 bit.

$ sudo nano /etc/pacman.conf

Kemudian scrolling ke bawah, cari bagian [multilib], lalu aktifkan (uncommenting) baris tersebut dengan cara menghapus tanda pagar #.

...
...
# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

...
...

Setelah disimpan, lakukan update repository.

$ sudo pacman -Sy

7.6 Enable AUR (Arch User Repository)

Arch Linux selain memiliki official repository yang dikelola oleh tim pengembang, tentu saja juga memiliki repository yang di maintenance oleh Arch user. AUR package yang mempunyai popularitas yang baik akan dipertimbangkan dan berkesempatan untuk masuk ke dalam official repository. AUR repository tidak langsung secara default ada pada daftar repository kita. Kita perlu mengaktifkannya terlebih dahulu.

Terdapat banyak cara, sejauh ini yang saya ketahui ada dua cara untuk mengaktifkan AUR repository. Namun saya hanya akan menuliskan satu saja cara yang menurut saya paling mudah. Yaitu dengan menambahkan custom repository dari archlinuxfr.

$ sudo nano /etc/pacman.conf

Kemudian tambahkan archlinuxfr repository ke bagian paling bawah.

...
...
[archlinuxfr]
Server = http://repo.archlinux.fr/$arch
SigLevel = Never

Setelah menambahkan archlinuxfr repository, saatnya melakukan sinkronisasi.

$ sudo pacman -Sy

Untuk dapat melakukan instalasi paket-paket yang terdapat pada AUR, kita memerlukan package manager tambahan, package manager ini sama seperti pacman yang juga di jalankan pada Terminal. Selama ini, saya menggunakan dua package manager untuk memasang paket pada repositori AUR yaitu yaourt dan pacaur. Namun kali ini saya hanya akan mendokumentasikan penggunaan yaourt saja, untuk mempersingkat dan menyederhanakan kerumitan dari dokumentasi ini.

$ sudo pacman -S yaourt rsync customizepkg
[ i ] Informasi

Paket Yaourt sudah deprecated (usang). Saya lebih merekomendasikan untuk menggunakan Yay.

Untuk menginstall Yay, sangat mudah, dan tidak perlu menambahkan repo [archlinuxfr] seperti di atas.

$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si

Setelah paket-paket di atas selesai di-install, saya merekomendasikan untuk men-disable kembali archlinuxfr repository, agar tidak terjadi bentrokan atau tumpang tindih paket antar official repository dengan archlinuxfr repository.

Selanjutnya kita perlu untuk melakukan pengaturan pada yaourt sebelum dapat kita gunakan. Kita akan menjadikan Vim sebagai default text editor untuk melihat PKGBUILD dari paket AUR yang kita install dengan yaourt. PKGBUILD ini semacam resep yang berisi bahan-bahan dan cara meng-install paket ke dalam sistem Arch Linux kita.

Untuk BASH shell,

$ nano ~/.bashrc

Kita akan menambahkan pada baris terakhir (atau pada baris mana saja)

# PKGBUILD YAOURT
export VISUAL="vim"

Save dan exit.

Cara di atas dimaksudkan apabila nanti yaourt menampilkan PKGBUILD saat proses instalasi paket, maka akan ditampilkan menggunakan Vim, dan kita bisa langsung exit dengan :q.

Proses instalasi paket/aplikasi dengan menggunakan yaourt ini sedikit berbeda dengan menggunakan pacman. Mungkin kalian dapat mencari informasi pada dokumentasi Archer lain di Google atau Youtube tentang bagaimana proses instalasi paket/aplikasi menggunakan yaourt.

Mengapa perlu meng-enable-kan AUR ?

Karena kita membutuhkan paket-paket yang belum tersedia pada official repositry, sedangkah sudah tersedia pada AUR repository.

Beberapa paket pada AUR terkadang dibutuhkan untuk keleluasaan kita menggunakan distribusi sistem operasi Arch Linux.

Contohnya paket yang tidak terdapat pada official repository adalah: Google Chrome, Spotify, dan masih banyak lagi.

7.7 ZSH Shell

Biasanya secara default, shell yang dibawa setelah proses instalasi adalah BASH s_hell_. Kita dapat melakukan pengecekan dengan perintah di bawah.

$ echo $SHELL

Shell adalah environment pada Terminal emulator tempat kita memasukkan baris-baris command. Terdapat berbagai macam jenis shell dengan kelebihan fitur masing-masing, seperti BASH, ZSH, FISH, DASH, dsb. Saya pribadi lebih prefer menggunakan ZSH shell. ZSH shell fungsinya sama dengan BASH shell namun dengan penambahan fitur-fitur lain, seperti auto completion yang lebih memanjakan jari-jari. Hanya dengan mengetikkan 2 - 3 huruf awalan dari command, kemudian tekan tombol TAB, dengan pintar, ZSH akan melengkapi command yang kita masukkan.

$ sudo pacman -S zsh zsh-completions

Selanjutnya kita akan buat ZSH shell mejadi default shell, agar kita tidak perlu repot mengaktifkan ZSH shell dengan mengetikkan $ zsh pada Terminal setiap saat.

$ chsh -s /usr/bin/zsh

Untuk me-_restart_ shell tanpa harus mengeluarkan Terminal, cukup masukkan command berikut.

$ exec $SHELL

Biasanya pada kondisi-kondisi tertentu kita perlu melakukan restart terhadap Terminal, seperti sehabis instalasi program via pacman dan yaourt untuk dapat memanggil program-program yang baru saja di-_install_ atau di-_update_ tersebut, kita perlu melakukan restart pada Terminal.

Pengaturan terakhir, jangan lupa pindahkan pengaturan shell tambahan yang sudah pernah kita buat pada ~/.bashrc ke dalam ~/.zshrc.

$ nano ~/.zshrc
# PKGBUILD YAOURT
export VISUAL="vim"

Simpan dan exit.

7.8 Touchpad Driver

Untuk kalian yang menggunakan laptop, dapat meng-_install driver_ libinput. libinput adalah library yang menangani input devices pada Wayland compositor dan X.org. libinput dapat mendeteksi dan mengatur pemrosesan device. Jadi sebenarnya libinput ini tidak khusus untuk touchpad driver saja.

$ sudo pacman -S xf86-input-libinput

7.9 Graphic Card Driver

Sejak Intel menyediakan dan men-_support_ driver-driver yang open source, Intel graphics sudah secara langsung dapat di-_plug and play_ (pasang tanpa membutuhkan driver). Intel Kernel Module akan berjalan secara otomatis pada saat system boot.

Namun untuk kenyamanan berkomputasi yang lebih baik saya menyarankan untuk tetap meng_intall_ beberapa package pendukung di bawah ini.

7.9.1 Mesa Driver

Pertama, kita perlu meng-_install_ mesa package, yang menyediakan dukungan terhadap DRI (Direct Rendering Infrastructur) driver untuk akselarasi gambar 3D.

$ sudo pacman -S mesa

7.9.2 DDX Driver (xf86-video)

Untuk dukungan terhadapr DDX driver (yang menyediakan akselarasi gambar 2D pada Xorg), kita membutuhkan xf86-video-intel package.

[ ! ] Perhatian

Debian & Ubuntu, Fedora, KDE, merekomendasikan untuk tidak meng-install xf86-video-intel. Dan tetap menggunakan modesetting driver yang sudah disertakan pada Intel GPU generasi ke 4 dan yang lebih baru.

Namun, bagaimanapun juga modesetting driver ini dapat pula menyebabkan problem seperti Chromium Issue 370022.

$ sudo pacman -S xf86-video-intel

7.9.3 Vulkan Driver

Untuk dukungan terhadap Vulkan 3D rendering, kita perlu meng-_install_ vulkan-intel package.

$ sudo pacman -S vulkan-intel

Untuk kalian yang menggunakan Intel Processor generasi ke 4 (Skylake), kita perlu menambahkan konfigurasi Xorg tambahan agar kita dapat mengambil keuntungan dari beberapa driver yang tersedia. Caranya, dengan membuat file konfigurasi pada file /etc/X11/xorg.conf/20-intel.conf.

$ sudo nano /etc/X11/xorg.conf/20-intel.conf

File 20-intel.conf ini masih kosong, karena baru saja kita buat. Selanjutnya, isikan seperti contoh di bawah.

Section "Device"
  Identifier  "Intel Graphics"
  Driver      "intel"
  Option      "DRI"   "2"          # DRI3 is now default
  #Option      "AccelMethod" "sna" # default
  #Option      "AccelMethod" "uxa" # fallback
EndSection

Preferensi di atas adalah preferensi yang direkomendasi saat pertama kali kita memasang paket vulkan-intel.

Namun saya mencoba untuk menggunakan DRI3.

Section "Device"
  Identifier  "Intel Graphics"
  Driver      "intel"
  # Option      "DRI"   "2"
  Option      "DRI"   "3"         # DRI 3 is now default
  Option      "AccelMethod" "sna" # default
  # Option      "AccelMethod" "uxa" # fallback
  Option      "TearFree"  "true"
EndSection

Konfigurasi di atas adalah hasil preferensi saya dari mencari solusi di Arch Forum karena permasalahan hasil video screencast yang flickering. Jadi apabila ternyata tidak cocok atau menyebabkan masalah pada sistem kalian, maka kalian dapat mengikuti preferensi yang direkomendasikan.

Sumber bacaan lebih lanjut dapat dipelajari sendiri pada Arch Wiki di sini (Intel Graphic).

Untuk teman-teman yang menggunakan dual graphic card, seperti Nvidia dan ATI dapat mempelajarinya di sini (NVIDIA) dan di sini (ATI).

Sampai pada tahap ini mungkin kita bisa melakukan restart system terlebih dahulu. Sekalian melakukan pengecekan apakah langkah-langkah konfigurasi yang telah kita lakukan telah berhasil.

$ reboot

Gambar 1 - Tampilan GNOME Desktop Environment

Nah, kalau kalian berhasil mencapai dekstop GNOME seperti pada tampilan di atas. Artinya proses langkah-langkah konfigurasi berjalan sukses.

7.10 Encrypt Home Directory

Selain kita melakukan enkripsi terhadap partisi / , saya merekomendasikan untuk melakukan enkripsi pada /home direktori. Tujuannya tentu saja untuk memberikan pengamanan data yang berlapis-lapis. Namun meskipun pengamanannya berlapis, kita cukup memasukkan satu kali password pada saat login dan /home directory kita sudah otomatis ter-_mounting_.

Pemberian enkripsi pada direktori /home ini memang sebaiknya dilakukan saat sistem baru pertama kali dipasang. Karena direktori /home dari user belum terdapat data-data di dalamnya.

Langkah pertama, kita perlu logout dari sistem.

Setelah sampai di halaman GDM Login Manager, tekan kombinasi tombol CTRL + ALT + F2 untuk berpindah ke tty2 shell.

Kemudian login sebagai root.

Arch Linux 4.13.12-1-ARCH (tty2)

Archer-Computer login: root
Password: _

Selanjutnya, lakukan pengecekan apakah user kamu masih memiliki proses yang running.

# Ps -U archer
PID  TTY      TIME  CMD

Apabila mengeluarkan output seperti di atas, artinya sudah tidak ada lagi proses yang runnning pada user archer (ganti dengan username kalian). Dan kita dapat melangkah ke tahap selanjutnya.

Instal package yang diperlukan untuk melakukan enkripsi.

# pacman -S rsync lsof ecryptfs-utils

Tunggu proses instalasinya hingga selesai.

Selanjutnya, modprobe ecryptfs yang sudah kita instal tadi.

# modprobe ecryptfs

Kalau tidak ada output apa-apa yang keluar, artinya sudah benar.

Selanjutnya, proses menggunakan ecryptfs untuk mengenkripsi direktori /home.

# ecryptfs-migrate-home -u archer

archer adalah nama username saya, ganti dengan username kalian.

[ ! ] Perhatian

Masukkan password yang sama dengan login password username kalian.

INFO: Checking disk space, this may take a few minutes. Please be patient.
INFO: Checkingfor open files in /home/archer
Enter your login passphrase [archer]: _

Perhatikan dengan seksama output tersebut. Kita diminta memasukkan passphrase atau password yang sama seperti password username kita. Tujuannya agar saat kita login dengan menggunakan akun username kita, secara otomatis ecryptfs akan men-dekripsi direktori /home kita yang terenkripsi (baca: auto-mounting /home directory).

Proses ini akan menghabiskan sedikit waktu, tergantung dari banyaknya file yang ada di dalam direktori /home.

Setelah selesai, kita dapat logout.

# exit

Kemudian login kembali sebagai user kita.

Arch Linux 4.13.12-1-ARCH (tty2)

Archer-Computer login: archer
Password: _

Kemudian, mounting direktori /home yang terenkripsi dengan cara,

$ ecryptfs-mount-private
Enter your login passphrase: _

Masukkan password login user kita untuk mendekripsi direktori /home dan otomatis akan di auto-mounting ke direktori /home.

Kemudian mungkin kalian ingin melihat wrapped-passphrase dalam bentuk yang tidak terenkripsi unwrapped-passphrase.

$ ecryptfs-unwrap-passphrase

Kalian dapat mencatatnya pada secarik kertas dan simpan baik-baik. Kalian dapat menggunakannya untuk me-recovery data-data yang terenkripsi pada kasus misalkan wrapped-passphrase tiba-tiba hilang atau corrputed atau bahkan kalian lupa login password.

Selanjutnya lakukan pengecekan auto-mount, auto-unmount, wrapped-passphrase.

$ ls .ecryptfs
Private.mnt Private.sig auto-mount auto-unmount wrapped-passphrase

Apabila ada, akan menunjukkan output seperti di atas.

Kemudian kita perlu menambahkan tiga baris propertis pada /etc/pam.d/system-auth. Ketiga baris propertis ini masing-masing memiliki penempatan yang berbeda-beda. Perhatikan dengan baik susunannya dan tidak boleh asal.

Gunakan text editor Vim atau Nano.

$ sudo nano /etc/pam.d/system-auth
#%PAM-1.0

auth      required  pam_unix.so     try_first_pass nullok
auth      required  pam_ecryptfs.so unwrap
auth      optional  pam_permit.so
auth      required  pam_env.so

account   required  pam_unix.so
account   optional  pam_permit.so
account   required  pam_time.so

password  optional  pam_ecryptfs.so
password  required  pam_unix.so     try_first_pass nullok sha512 shadow
password  optional  pam_permit.so

session   required  pam_limits.so
session   required  pam_unix.so
session   optional  pam_ecryptfs.so unwrap
session   optional  pam_permit.so

Reboot system, dan pastikan kalian dapat login ke user desktop kalian.

Langkah terakhir adalah menghapus backup dari direktori /home .

$ cd /home

Kemudian tampilkan isi dari direktori /home.

$ ls
archer archer.p7o6p7R2

Perhatikan bahwa terdapat direktori yang sama dengan direktori username kita, namun terdapat penambahan random character di belakangnya. Ini adalah hasil backup dari proses enkripsi kita sebelumnya.

Kita dapat menghapusnya dengan aman.

$ sudo rm -rvf archer.p7o6p7R2

Maka proses enkripsi direktori /home kita telah selesai.

7.11 Set Up Firewall

Cara terbaik untuk mengkonfigurasi firewall adalah dengan menggunakan iptables, namun untuk user biasa seperti kita, rasanya sedikit terlalu rumit apabila menggunakan iptables. Kita akan menggunakan ufw (Uncomplicated Firewall) saja yang konfigurasinya lebih mudah.

$ sudo pacman -S ufw

Setelah selesai diinstall coba diaktifkan.

$ sudo ufw enable

Lalu buat ufw.service running secara otomatis saat sistem start up.

$ sudo systemctl enable ufw.service

Sumber bacaan lebih lanjut dapat kalian temuka di Arch Wiki di sini.

7.12 GUI Package Manager

Mungkin teman-teman bertanya, apakah Arch Linux mempunyai package manger yang tidak text mode namun mempunyai GUI seperti : Synaptic (Ubuntu), Yumex-DNF (Fedora), YaST (OpenSUSE), dan sebagainya. Jawabannya, tentu saja ada. Namun bukan merupakan official package dari Arch Linux, jadi kita dapat menginstallnya dari AUR (Arch User Repository).

$ yaourt pamac-aur

pamac-aur ini adalah sebuah aplikasi package manager yang mempunyai GUI yang dikembangkan oleh distribusi sistem operasi Manjaro yang juga merupakan turunan dari Arch Linux.

7.13 Daily Applications

Sedang dalam proses penulisan …


Penulis

bandithijo

My journey kicks off from reading textbooks as a former Medical Student to digging bugs as a Software Engineer – a delightful rollercoaster of career twists. Embracing failure with the grace of a Cat avoiding water, I've seamlessly transitioned from Stethoscope to Keyboard. Armed with ability for learning and adapting faster than a Heart Beat, I'm on a mission to turn Code into a Product.

- Rizqi Nur Assyaufi

d98d8237fef8f1017d0be931b6e291341cbe6ca8