Slackware

Jalankan windows dari linux dengan qemu

Sebagian masyarakat memilih untuk dualboot atau bahkan multiboot dalam berkomputer. Satu Perangkat komputer diinstall lebih dari satu sistem operasi. Alhasil, harddisk pasti terbagi menjadi paling sedikit 2 partisi. Tak jarang, sistem operasi tersebut adalah linux dan windows. Kelemahan dari model seperti ini adalah pengguna harus memilih salah satu, mana sistem yang akan dijalankan. Namun, tidak demikian bila ada qemu.

Qemu memungkinkan sistem operasi windows dipanggil atau dijalankan dari linux. Untuk dapat menjalankannya perlu install qemu (tentu saja) dan edk2-ovmf. Keduanya tersedia di SBo.

Convert png ke pdf

Melengkapi catatan yang sudah ada tentang konversi file. Kali ini adalah konversi atau convert file dari berformat png menjadi pdf. Misalkan file gambar.png akan dikonversi menjadi pdf, maka command-nya

$ mogrify -format pdf gambar.png

Command tersebut di atas adalah bagian dari imagemagick yang secara default sudah terinstall di slackware.

Convert pdf ke png secara massal

Salah satu hal yang saya sukai dari keunggulan linux adalah kemudahannya dalam melakukan sesuatu secara massal dengan mudah, termasuk di antaranya konversi file. Hanya dengan mengetikkan atau bahkan cukup copy paste edit kita bisa menghemat waktu dan tenaga dalam mengubah format file.

Kali ini kita akan mengubah atau convert file dari pdf menjadi gambar png. Tool yang digunakan adalah pdftopng. Tool ini secara default sudah ter-install di Slackware menjadi bagian dari package xpdf.

Seamonkey in wayland Error cannot open display

Seamonkey adalah salah satu web browser yang secara default terinstall di slackware. Ketika login menggunakan SDDM dan mengaktifkan lingkungan native wayland, seamonkey tidak bisa dijalankan.

$ seamonkey
Error: cannot open display: :1

Solusinya

$ GDK_BACKEND=x11 seamonkey

Klasifikasi decision tree dengan sklearn

Machine learning belakangan ini semakin populer. Salah satu yang bisa dilakukan dengan machine learning adalah klasifikasi. Ada beberapa metode klasifikasi. Kali ini akan melakukan klasifikasi dengan cara decision tree supervised learning.

Skenario klasifikasi yang akan kita lakukan adalah menentukan jenis (label) bunga iris berdasarkan kriteria (atribut) yang diberikan. Jenis bunga irisnya adalah iris setosa, iris versicolor dan iris virginica. Adapun kriterianya berdasarkan panjang sepal, lebar sepal, panjang petal dan lebar petal.

Listing direktori dengan python

Berikut adalah script python sederhana untuk menampilkan isi direktori aktif

#!/usr/bin/python

import os
isidirektori = os.listdir()
for i in range(len(isidirektori)):
    print(isidirektori[i])

Menampilkan line number vim

Vim secara default tidak menampilkan line number. Adanya line number ini bisa sangat memudahkan terutama saat proses debugging atau pengecekan kesalahan. Untuk menampilkannya, tambahkan baris berikut di file konfigurasinya (contoh: ~/.vimrc) :

set number

Install Kooha di Slackware

Kooha adalah salah satu aplikasi screen recorder. Keunggulannya antara lain:

  1. User interface atau tampilan yang simpel tapi tetap mudah dimengerti
  2. Bisa dijalankan dengan baik di lingkungan wayland dan X11
  3. Mudah dijalankan
  4. Mudah di-install.

Kooha menyediakan metode instalasi menggunakan flatpak. Inilah cara yang kami sarankan untuk slackers mengingat belum ada di SBo. Caranya

$ flatpak install io.github.seadve.Kooha

Mengatasi Audio Tanpa Suara ES8336

Sebenarnya sudah lama ingin menulis catatan ini, tapi berhubung baru ada kesempatan tertunda beberapa bulan. Awal tahun 2022 yang lalu, membeli laptop baru dengan spesifikasi

Processors: 4 × Intel® Celeron® J4125 CPU @ 2.00GHz
Memory: 11,5 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics 600

dengan audio awalnya berupa dummy output alias tidak terdeteksi. Seiring waktu, ada dukungan dari kernel sehingga terdeteksi sebagai ES8336.

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofessx8336 [sof-essx8336], device 0: ES8336 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofessx8336 [sof-essx8336], device 5: HDMI 1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofessx8336 [sof-essx8336], device 6: HDMI 2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofessx8336 [sof-essx8336], device 7: HDMI 3 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Keberhasilan deteksi ini ternyata tidak diikuti dengan munculnya suara dari speaker. Yah, laptop masih diam seribu bahasa. Sound Open Firmware memberikan secercah harapan. Apalagi kemudian sof-firmware masuk ke repo current. Namun sayang, laptop masih membisu. Beberapa kali upgrade kernel, alsa, pulseaudio dan pipewire, masih saja tak terdengar. Alhamdulillah kemudian menemukan solusi dari issue yang dibuat oleh junocom di github alsa-project/alsa-ucm-conf.

Variabel rust

Rust mempunyai cara tersendiri untuk mendeklarasikan variabel, yaitu dengan diawali let. Kemudian, nama variabel dituliskan dengan huruf kecil semua dengan separator pemisah antarkata adalah underscore (_). Contoh nama, kota_kelahiran, hasil_kali, dll.

Misalkan data kota kelahiran, akan kita deklarasikan sebagai kota_kelahiran

fn main(){
    let kota_kelahiran = "Jayapura";
}

Untuk menampilkan variabel tersebut, misalkan dengan macro println!() maka harus dengan formatted print yang mengandung string literal. String literal yang dimaksud adalah "{}",

Sintaks komentar rust

Komentar pada rust yang biasa digunakan ada 2 jenis, yaitu komentar baris dan komentar blok. Komentar baris diberikan dengan sintaks // pada awal komentar. Semua yang ada setelah tanda // pada baris tersebut akan dianggap sebagai komentar yang tidak akan dieksekusi. Komentar blok untuk memberikan komentar pada blok kode atau beberapa baris kode. Semua baris yang ada di antara /* dan */ dianggap sebagai komentar.

Contoh komentar baris

// ini adalah komentar yang tidak akan dieksekusi
fn main(){
    println!("Hai");
}

Contoh komentar blok

Hapus spasi libreoffice calc

Untuk menghapus spasi pada libreoffice calc menggunakan fitur Find & Replace. Pada bagian Find isikan \s+ dengan \s adalah regex untuk spasi sedangkan + untuk menerapkan regex ke semua yang ditemukan. Replace kosongkan. Centang RegularExpressions.

Menggunakan wayland

Wayland digadang-gadang sebagai suksesor Xorg/X11. GNOME dan Fedora sudah memutuskan tidak lagi menggunakan X11 untuk rilis berikutnya. Proyek-proyek opensource terkait wayland bermunculan.

Berikut adalah yang kami gunakan ketika berkomputasi dengan wayland:

  1. Compositor: labwc atau hyprland
  2. Status bar/panel : nwg-panel
  3. Gamma/night mode : wlsunset
  4. Screenlocker : swaylock dan swayidle

Bukankah KDE Plasma juga mendukung wayland, mengapa tidak digunakan? Kami lebih suka menggunakan wayland berbasis wlroot, sedangkan KDE Plasma masih berbasis dbus. Mengapa menggunakan wlroot? Ya karena sedang menginginkannya saja.

Aktifkan Touchpad untuk Klik

Catatan ini sebenarnya sudah ditulis beberapa bulan yang lalu atau bahkan bertahun lalu, tetapi karena kesibukan baru sempat di-commit sekarang. Saat menggunakan wayland pertama kalinya, ada masalah. Touchpad tidak bisa digunakan untuk klik sebagai ganti klik pada mouse. Ternyata secara default memang demikian. Keunggulan linux salah satunya adalah penggunanya bebas melakukan modifikasi sesuai kemampuan dan kebutuhannya.

Untuk membuat touchpad bisa melakukan tap sebagai klik, masuk ke Settings kemudian search touchpad. Di sini kami lebih suka menggunakan fitur search karena tidak ingat betul lokasi spesifik pengaturannya. Pada hasil yang muncul, klik Touchpad, pada bagian Tapping centang Tap-to-click.

Pengulangan for pada bash

Bash memiliki beberapa cara untuk melakukan pengulangan (looping). Salah satunya adalah dengan for. Contoh berikut akan menampilkan angka 1 sampai dengan 10.

for i in {1..10}
do echo $i
done

Mencari file dan menyalinnya

Salah satu keunggulan linux adalah mudahnya untuk melakukan otomatisasi yang dapat dilakukan dengan mengetikkan sebaris perintah. Sebagai contoh, apabila ingin melakukan pencadangan semua file tanpa melihat struktur direktorinya ke media penyimpanan eksternal bisa mengetikkan

$ find direktori_asli -iname '*' -exec cp '{}' direktori_cadangan \;

Perintah tersebut akan membuat semua file di direktori_asli berpindah ke direktori_cadangan.

Menggunakan dhclient untuk NetworkManager

Ada sedikit masalah ketika menggunakan kernel 6.1.38. Masalah tersebut antara lain tidak stabilnya jaringan internet bila konek via NetworkManager, usb dan bluetooth yang kadang suka diskonek sendiri. Solusi untuk masalah jaringan dan bluetooth tersebut adalah mengganti dhcpcd dengan dhclient pada konfigurasi Network Manager /etc/NetworkManager/conf.d/00-dhcp-client.conf, sesuai masukan dari Pak Walesa.

Memperkecil ukuran file pdf

Untuk memperkecil ukuran file pdf bisa mengeksekusi

$ ps2pdf filelama.pdf filebaru.pdf

Command tersebut akan membuat ukuran filebaru.pdf merupakan filelama.pdf dengan ukuran lebih kecil. Ada opsi yang bisa diberikan yang tentunya dapat digunakan sesuai kebutuhan

  1. -dPDFSETTINGS=/screen untuk mendapatkan ukuran yang jauh lebih kecil dengan kualitas 72 dpi.
  2. -dPDFSETTINGS=/ebooks untuk mendapatkan ukuran lebih kecil dengan kualitas 150 dpi.
  3. -dPDFSETTINGS=/prepress untuk kualitas 300 dpi.
  4. -dPDFSETTINGS=/printer untuk kualitas printer (300 dpi).
  5. -dPDFSETTINGS=/default untuk berbagai keperluan tapi kadang ukurannya tidak beda teralu jauh dengan aslinya.

Install Guest OS Qemu

Akan diinstall sebagai guest os slackware, dengan file iso slackware.iso, disk image slackware.qcow dan virtual RAM 5GB. Maka command yang dijalankan dengan qemu adalah

$ qemu-system-x86_64 -enable-kvm -m 5120 -cdrom slackware.iso -drive file=slackware.qcow2 -boot d

Membuat qemu disk image

Untuk membuat disk image sebagai storage sistem oprasi yang akan divirtualisasikan dengan qemu, bisa menggunakan command yang mudah. Misalkan nama file adalah slack.img dengan size 100G

 #penggunaan: qemu-img create file_disk_imagenya sizenya 
$ qemu-img create slack.img 100G

Convert dd ke vdi

Untuk konversi file dd/img menjadi vdi mudah. Pastikan sudah install virtualbox. Misalkan akan mengubah file1.dd menjadi file2.vdi,

$ VBoxManage convertfromraw file1.dd --format VDI file2.vdi

Menggunakan tiling window KDE Plasma

KDE Plasma semakin seru setelah adanya built in window tiling. Untuk menggunakan, tekan shift sambil drag window ke bilah yang diinginkan. Untuk mengedit layout tiling pastikan Tiling Editor pada pengaturan/setting sudah enable/tercentang.

spdlog build error basic runtime

Ketika build spdlog dari SBo ditemukan error

n file included from /tmp/SBo/spdlog-1.11.0/include/spdlog/spdlog.h:12,
                 from /tmp/SBo/spdlog-1.11.0/include/spdlog/spdlog-inl.h:7,
                 from /tmp/SBo/spdlog-1.11.0/src/spdlog.cpp:8:
/tmp/SBo/spdlog-1.11.0/include/spdlog/common.h:168:111: error: ‘basic_runtime’ is not a member of ‘fmt’
  168 | nvertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                           ^~~~~~~~~~~~~

/tmp/SBo/spdlog-1.11.0/include/spdlog/common.h:168:111: error: ‘basic_runtime’ is not a member of ‘fmt’
/tmp/SBo/spdlog-1.11.0/include/spdlog/common.h:168:125: error: template argument 2 is invalid
  168 | mt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                           ^~~~

/tmp/SBo/spdlog-1.11.0/include/spdlog/common.h:168:138: error: expected ‘{’ before ‘>’ token
  168 | :basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
      |                                                                                                     ^

make[2]: *** [CMakeFiles/spdlog.dir/build.make:76: CMakeFiles/spdlog.dir/src/spdlog.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/spdlog.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
Failures:
  spdlog: spdlog.SlackBuild return non-zero

Spdlog ini mempunyai dependensi fmt. Fmt yang tersedia di current versi 10.0.0. Tapi versi ini gagal untuk build spdlog. Maka mt yang ada di current ini dihapus dan ganti dengan yang disediakan SBo (9.1.0).

Masuk UEFI Firmware Settings dari GRUB

Kadang kita perlu mengubah pengaturan pada UEFI. Pengaturan tersebut misalnya pengaturan waktu, secure boot, urutan boot dan lain sebagainya. Untuk masuk ke UEFI Firmware Settings bisa dilakukan dari grub. Yaitu dengan cara ketika menampilkan bootloader, biasanya ada jeda waktu. Manfaatkan jeda waktu tersebut dengan segera menekan tombol c untuk masuk ke grub shell, kemudian pada prompt yang disediakan ketik fwsetup.

grub> fwsetup

Deskreen No WiFi and LAN Connection

Buka-buka direktori lama, ternyata ada catatan yang belum dipublikasikan, salah satunya soal deskreen. Aplikasi ini kami gunakan untuk share screen ataupun presentasi dari laptop ke TV. Sebenarnya untuk menghubungkan laptop dan TV bisa menggunakan kabel HDMI, tapi karena kabelnya kurang panjang, TVnya banyak dan belum punya HDMI splitter maka terbersitlah untuk presentasi menggunakan jaringan wifi. Duckduckgo memberikan hasil bagaimana cara, salah satunya dengan deskreen ini.

Demi kepraktisan, kami donwload edisi appimage. Namun, setelah dieksekusi ada masalah, yaitu muncul error box yang menyatakan bahwa No WiFi & LAN Connection padahal koneksi internet sudah berjalan lancar, stabil dan kencang di laptop maupun TV.

Enable Disable Pipewire Slackware

Catatan tentang pipewire sebenarnya sudah pernah dituliskan. Tetapi, biar tidak lupa dan lebih mudah mencarinya kala lupa, tidak ada salahnya dibuat catatan tersendiri. Bedanya, ini lebih singkat dan mudah dikerjakan.

Salah satu keberuntungan slackers adalah Patrick Volkerding menyediakan skrip untuk meng-enable dan disable pipewire. Skrip tersebut adalah

/usr/sbin/pipewire-enable.sh
/usr/sbin/pipewire-disable.sh

Silakan dieksekusi sesuai kebutuhan.

Two fer bash

Two fer merupakan salah satu soal latihan pemrograman yang ada di exercism. Latihan ini meminta untuk dibuatkan suatu script yang apabila script tersebut dieksekusi tanpa argumen apapun maka akan mengeluarkan output “One for you, one for me.”. Apabila diberikan suatu argumen yang merupakan nama seseorang misalnya Sasongko, maka outputnya “One for Sasongko, one for me.”.

Berikut adalah script bash-nya

#!/usr/bin/bash

main () {
	NAME=${1:-you}
	echo "One for $NAME, one for me."
}
main "$@"

Akses akun root mariadb tanpa password

Untuk akses root mariadb biasanya memerlukan password. Tapi sebenarnya root bisa diakses tanpa password. Pertama, hentikan dulu service mariadb-nya.

$ /etc/rc.d/rc.mysqld stop

Kemudian, restart database server tanpa peduli otentikasinya.

$ mariadbd-safe --skip-grant-tables --skip-networking &

Nah, akun root mariadb sudah bisa diakses tanpa password

$ mariadb -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.11.2-MariaDB Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

Oiya, 3 command pertama dijalankan dengan privilege root yang ada di sistem di mana mariadb tersebut diinstall.

Restore rc.local

Sudah beberapa minggu kernel tidak di-upgrade. Akhirnya semalam memutuskan untuk upgrade kernel dari 6.1.4 ke 6.1.13. Sebenarnya tidak ada hal khusus yang menjadi alasan pasti mengapa di-upgrade. Tidak ada fitur khusus yang diincar. Namun, selayaknya peningkatan versi, biasanya ada perbaikan bugs ataupun performance improvement, maka tidak masalah juga kalau di-upgrade.

Upgrade kernel sesuai prosedur menggunakan slackpkg. Proses berjalan lancar aman terkendali. Baru menyadari ada yang terlupakan, ketika menyalakan kembali laptop: brightness-nya terang sekali! Olala, pengaturan brightness yang semula tersimpan di /etc/rc.d/rc.local hilang, karena baru ingat, setelah upgrade kernel, opsi untuk rc.*.new yang dipilih adalah overwrite.

Coding pertama rust

Rust bahasa pemrograman yang saat ini sedang naik daun digadang-gadang sebagai suksesor C. Rust sudah banyak digunakan bahkan rencananya masuk sebagai second language pada kernel linux sebagai pendamping C. Hal ini ditandai dengan adanya akomodasi rust mulai kernel 6.1.

File source code rust berekstensi .rs. Rust memerlukan kompilasi untuk dapat dijalankan karena rust adalah compiled language. Ada 2 cara kompilasi, yaitu dengan rustc/ apabila programnya simple hanya terdiri dari 1 file .rs dan tanpa adanya dependensi, atau dengan cargo kalau programnya kompleks.

Mengubah colorscheme vim

VIm merupakan teks editor legendaris yang masih aktif dikembangkan. Mudah diubahsuaikan menjadi salah satu alasan vim dan derivatnya digemari banyak kalangan, baik itu programmer maupun pengguna awam seperti kami ini. Salah satu yang mudah diubahsuaikan adalah tampilannya. Lebih spesifik lagi skema warna atau color scheme-nya.

Banyak color scheme yang disediakan, salah satunya adalah koehler. Untuk mengubah koehler sebagai default tambahkan ini ke .vimrc

colorscheme koehler

Mengatur brightness

Pengaturan brightness bisa dilakukan dengan melakukan assign nilai pada

/sys/class/backlight/intel_backlight/brightness

Adapun nilai maksimal yang bisa diset ada di

/sys/class/backlight/intel_backlight/max_brightness

Oiya, di atas menggunakan graphics intel jadi intel_backlight.

Virtualbox cannot register existing type NMAgentManagerError

Setelah install virtualbox menggunakan binary .run, ketika dijalankan via terminal mengalami sgfault:

bash-5.2$ virtualbox
(process:7040): GLib-GObject-WARNING **: 00:53:14.710: cannot register existing type 'NMAgentManagerError'
(process:7040): GLib-CRITICAL **: 00:53:14.710: g_once_init_leave: assertion 'result != 0' failed
(process:7040): GLib-GObject-WARNING **: 00:53:14.710: cannot retrieve class for invalid (unclassed) type 'invalid'
Segmentation fault

Solusinya:

bash-5.2$ VBoxManage setextradata global GUI/UpdateDate never

Install Sound Open Firmware

Langsung saja

cd /opt
git clone https://github.com/thesofproject/sof-bin.git
cd sof-bin

Masuk ke direktori rilis terbaru, contoh kali ini v2.2

cd v2.2.x
rsync -a sof-v2.2/ /lib/firmware/intel/sof/
rsync -a sof-tplg-v2.2 /lib/firmware/intel/sof-tplg/

If else perl

Penyeleksian kondisi di perl dapat menggunakan syntax if…else dengan format

if ( kondisi ) {
	....
	} else {
	....
	}

Contoh

#!/usr/bin/perl

use strict;
use warnings;
use feature 'say';

my $username = "user";
if ( $username eq "nama" ) {
    say "Oke";
    } else {
    say "Ulangi lagi....";
    }

Sinkronisasi official repo slackware

Package management atas packages yang ada di official repo pda slackware dapat dilakukan dengan dengan slackpkg. Sinkronisasi perlu dilakukan agar packages yang diinstall merupakan versi terbaru sesuai yang disediakan di repo. Sinkronisasi ini meliputi 2 kegiatan, yaitu sinkronisasi database packages dan versi packages.

Sinkronisasi database packages meliputi list apa saja file yang ada di repo, checksum, dll. Dilakukan dengan

slackpkg update

Khusus untuk versi packages, menyamakan versi terinstall dengan versi repo untuk semua packages

Mengetahui spek RAM

Identifikasi RAM yang ada di komputer merupakan hal mutlak untuk penggantian, upgrade ataupun sekedar membersihkan RAM. Informasi awal tentang RAM bisa diperoleh tanpa membongkar komputer ataupun laptop. Hal ini sangat bermanfaat bagi pengguna yang tidak punya keterampilan bongkar pasang komputer. Apalagi kalau masih garansi, kalau dibongkar bukan teknisi service center resminya maka garansinya hangus.

Untuk mengetahui spek RAM mudah. Bagi slackers (pengguna Slackware) tidak perlu repot menginstall macam-macam. Tool-nya sudah tersedia.

Syntax PSPP Membuka File

PSPP merupakan software statistika yang open source, ringan tetapi sangat fungsional dan powerful. Ringan karena installer-nya hanya beberapa MB. Jauh lebih kecil daripada software sejenis yang proprietary. Fungsional dan powerful karena berbagai analisis dapat dilakukan dengan PSPP.

PSPP bisa dijalankan dengan tampilan text ataupun grafis. Uktuk memulai pspp tampilan text

$ pspp
PSPP>

Untuk membuka file, pada PSPP prompt

PSPP> get file='tulis-nama-filenya yang berekstensi sav'.

Bagian dalam tanda kutip adalah file yang akan dibuka.

Pipewire di WindowMaker

Lama tidak menggunakan, hati ini rindu pada WindowMaker. Segera mengalihkan .xinitrc ke xinitrc.wmaker. Beberapa hari kemudian, merasa ada yang janggal. Suasana menjadi sunyi senyap. Tanpa suara. Padahal ketika menggunakan KDE Plasma tidak ada masalah dengan sound system.

Hati ini baru sadar bahwa sound-nya telah diserahterimakan dari pulseaudio kepada pipewire. Baiklah, mari tambahkan beberapa baris berikut ke ~/GNUstep/Library/WindowMaker/autostart

#pipewire
/usr/bin/daemon -frB --pidfiles=~/.run --name=pipewire /usr/bin/pipewire &
/usr/bin/daemon -frB --pidfiles=~/.run --name=pipewire-pulse /usr/bin/pipewire-pulse &
/usr/bin/daemon -frB --pidfiles=~/.run --name=pipewire-media-session /usr/bin/pipewire-media-session &

Kenggulan elilo dibanding grub

Pascamigrasi dari elilo ke grub ada hal yang dirindukan. Zram dengan komresi zstd. Entah masalahnya di mana, zstd tidak bisa digunakan untuk zram apabila menggunakan grub. Menggunakan elilo aman damai sentosa lanjcar jaya. Padahal kernel dan initrd-nya sama.

Untungnya, algoritma kompresi lainnya bisa digunakan, yaitu secara default lzo-rle. Alhamdulillah. Dengan adanya zram aktivitas komputasi di laptop dengan RAM hanya 2GB masih bisa dijalankan dengan lancar.

Mengubah timeout grub

Secara default, timeout grub adalah 10 detik. Menurut penulis, 10 detik ini terlalu lama. Untuk mengubahnya ganti angka 10 ke detik yang diinginkan pada baris dengan GRUB_TIMEOUT pada file /etc/default/grub

Menampilkan status penggunaan zram

Untuk menampilkan status penggunaan zram bisa dengan menjalankan

# zramctl --output-all
NAME     DISKSIZE DATA COMPR ALGORITHM STREAMS ZERO-PAGES TOTAL MEM-LIMIT MEM-USED MIGRATED MOUNTPOINT
/dev/zram0
               1G   4K   74B lzo-rle         4          0   12K        0B      12K       0B [SWAP]

Berikut penjelasan masing-masing kolomnya

NAME zram device name DISKSIZE limit on the uncompressed amount of data DATA uncompressed size of stored data COMPR compressed size of stored data ALGORITHM the selected compression algorithm STREAMS number of concurrent compress operations ZERO-PAGES empty pages with no allocated memory TOTAL all memory including allocator fragmentation and metadata overhead MEM-LIMIT memory limit used to store compressed data MEM-USED memory zram have been consumed to store compressed data MIGRATED number of objects migrated by compaction MOUNTPOINT where the device is mounted

Migrasi dari elilo ke grub

Aktif di-maintain pengembang merupakan salah satu kriteria preferensi software yang penulis gunakan. elilo sudah lama tidak ada aktivitas pengembangan. Debian, RHEL dan OpenSUSE juga sudah lama meninggalkannya. Slackware adalah distro yang masih bertahan menyediakan elilo. Terima kasih PV.

Sejak pertama menggunakan slackware dengan sistem UEFI sekitar 2016, elilo penulis jadikan pilihan utama boot loader. Simpel, mudah dikonfigurasi adalah alasannya. Namun, saat ini elilo sudah tidak dikembangkan developer aslinya. Mengangkat grub sebagai suksesor elilo bukanlah hal buruk. Grub ini sebenarnya sudah lama terinstall dan rutin ikut di-upgrade juga, tapi memang tidak digunakan. Sekarang saatnya mengaktifkannya.

Mount media read write mode

Mount media (kasus kali ini pada flashdisk) melalui command line secara default membuat ownership filenya menjadi milik root. Hal ini berakibat media tersebut berjalan pada mode read-only. Hanya user setingkat root yang bisa melakukan write on.

Kasus ini bisa disiasati dengan mendefinisikan id user yang akan melakukan write on.

mount -o rw,uid=1020,gid=120 /dev/sdb1 /media/hd0/

uid dan gid di sini hanya contoh, silakan disesuaikan.

Konfigurasi mirror slackware

Slackpkg merupakan salah satu official slackware package manager. Fitur yang dimilikinya antara lain

  1. Cek apakah ada update
  2. Baca changelog
  3. Install, upgrade, reinstall, remove, blacklist packages

Sebelum menggunakannya, pilih dahulu mirror yang akan digunakan

# vi /etc/slackpkg/mirrors

Pada file tersebut sudah tersedia list mirror yang bisa digunakan. Apakah menggunakan current atau stable (saat ini 15.0). Pilih mirrornya dengan cara uncomment baris alamat mirrornya. Contoh

https://mirrors.slackware.com/slackware/slackware64-15.0/

untuk menggunakan mirror terdekat versi slackware 15.0

Disable fortune postlogin

Secara default, setelah berhasil login di tty muncul pesan-pesan berupa kata-kata mutiara dari para tokoh. Fortune ini menjadi sepaket dengan bsd-games. Jadi kalau ingin di-disable bisa uninstall bsd-games. Kalau masih butuh bsd-games tinggal jadikan file /etc/profile.d/bsd-games-login-fortune.*sh nonexecutable

chmod -x /etc/profile.d/bsd-games-login-fortune.*sh

Mengaktifkan runlevel 4

Runlevel 4 bisa dikatakan sebagai runlevel multiuser dengan graphical user interface saat loginnya. Secara default, Runlevel slackware adalah 3. Untuk mengubahnya ke 4 edit file /etc/inittab, ganti angka 3 pada baris berikut dengan angka 4

id:4:initdefault:

Menggunakan pipewire

Salah satu fitur baru yang dihadirkan Slackware 15.0 adalah masuknya pipewire sebagai alternatif dari pulseaudio. Bagaimana penggunaanya? Silakan simak catatan berikut ini.

Pertama, edit /etc/pulse/client.conf. Ubah autospawn dari yes menjadi no.

Hapus /etc/xdg/autostart/pulseaudio.desktop atau rename menjadi file yang “tidak penting”.

Rename file berikut menjadi .desktop saja

  1. /etc/xdg/autostart/pipewire-media-session.desktop.sample
  2. /etc/xdg/autostart/pipewire-pulse.desktop.sample
  3. /etc/xdg/autostart/pipewire.desktop

Operator perbandingan perl

Operator perbandingan digunakan untuk membandingkan nilai. Data/nilai yang dibandingkan dapat berupa bilangan ataupun string. Namun ada perbedaan notasi.

Perbandingan bilangan

|Contoh penulisan |Penjelasan | |$a < $b | $a lebih kecil dari $b | |$a > $b | $a lebih besar dari $b | |$a <= $b | $a lebih kecil atau sama dengan $b | |$a => $b | $a lebih besar atau sama dengan $b | |$a == $b | $a sama dengan $b | |$a != $b | $a tidak sama dengan $b |

Operator penggabungan pengulangan string perl

Pada perl, variabel scalar yang berupa string dapat dilakukan penggabungan dan pengulangan. Contoh, terdapat 3 variabel sebagai berikut: $sapa = “Hai…. " $distro = “Slackware” $penilaian = “distro terbaik.” Ketiga variabel tersebut akan digabungkan. Kemudian di baris selanjutnya,penampilan variabel $distro akan diulang 5x. Untuk penggabungan digunakan “.”, sedangkan pengulangan dengan “x”.

#!/usr/bin/perl

use strict;
use warnings;
use feature "say";

my $sapa = "Hai.... ";
my $distro = "Slackware ";
my $penilaian = "distro terbaik.";

# penggabungan
say($sapa.$distro.$penilaian);

# pengulangan
say("$distro" x 5);

Penggabungan operator perl

Penggabungan operator yang dimaksudkan di sini adalah menggabungkan = dan operator lainnya seperti penjumlahan, perkalian, pengurangan, dll. Penggabungan ini biasanya digunakan untuk memperbarui nilai suatu variabel. Contoh di sini adalah penggabungan dengan operator penjumlahan.

Misalkan, terdapat variabel a dengan nilai awal 10. Nilai a kemudian akan diubah dengan cara ditambah 4. Nilai a yang baru ini dituliskan dengan

a += 4;

Sehingga nilai a kemudian berubah dari 10 menjadi 14.

#!/usr/bin/perl

use strict;
use warnings;
use feature "say";

my $a = 10;
say("Nilai a awal. a = 10");
$a += 4;
say("Nilai a baru setelah ditambah 4. a += 4. a = $a");

Operator aritmatika scalar perl

Variabel scalar merupakan variabel tunggal dalam perl. Pada variabel ini bisa dilakukan beberapa operasi aritmatika seperti penjumlahan, pengurangan, perkalian, pembagian, modulus, pemangkatan, autoincrement, autodecrement.

Pada operasi aritnatika, dikenal bilangan bertipe integer dan float. Integer adalah bilangan bulat. Float bilangan desimal.

#!/usr/bin/perl

use strict;
use warnings;
use feature 'say';

my $a = 2;
my $b = 25;

say("Angka pertama (a) adalah $a");
say("Angka kedua (b) adalah $b");

# penjumlahan
my $c = $a + $b;
say("a+b = $c");

# pengurangan
my $d = $b - $a;
say("b-a = $d");

# perkalian
my $e = $a * $b;
say("a*b = $e");

# pembagian
my $f = $a / $b;
my $g = $b / $a;
say("a/b = $f");
say("b/a = $g");

# pemangkatan
my $h = $a ** $b;
my $i = $b ** $a;
say("a^b = $h");
say("b^a = $i");

# autoincrement
# tanda + di depan
say("Nilai a sebelum autoincrement = $a");
my $j = ++$a;
say("++a = $j");
say("Nilai a sesudah autoincrement = $a");

# tanda + di belakang
say("Nilai b sebelum autoincrement $b");
my $k = $b++;
say("$b++ = $k");
say("Nilai b setelah autoincrement $b");

# autodecrement
# tanda - di depan
say("c = a+b. c sebelum autodecrement = $c");
my $l = --$c;
say("l = c setelah autodecrement = $l");
# tanda - di belakang
my $m = $c--;
say("c setelah autodecrement = $m");

# modulus (sisa hasil bagi)
my $a = 3;
my $b = 30;
my $n = $a % $b;
my $o = $b % $a;
say("a = $a");
say("b = $b");
say("a%b = $n");
say("b%a = $o");

Membuat array perl dari scalar

Array merupakan variabel pada perl dengan data yang nilainya majemuk. Sedangkan scalar bernilai tunggal. Catatan kali ini tentang bagaimana cara membuat array dari scalar yang tersedia.

my $nama = "Sasongko";
my $jenis_kelamin = "Laki-laki";
my $distro = "Slackware";
my $tahun = 2021;

Keempat scalar tersebut akan disatukan menjadi array @biodata.

my @biodata = ($nama, $jenis_kelamin, $distro, $tahun);

Hapus baris dari awal sampai dengan baris dengan kata spesifik

Mungkin ini adalah catatan dengan judul terpanjang yang pernah kami tulis. Catatan ini berisi tentang bagaimana cara menghapus baris dari awal sampai dengan baris yang berawalan dengan kata-kata spesifik.

Contoh, punya file teks lagu.txt berisi sebagai berikut

kelelawar
by koes plus

kelelawar sayapnya hitam
terbang rendah di tengah malam
pagi-pagi mereka pulang
di dahan pohon bergelantungan
hitam
hitam
hitam

Teks tersebut dihapus sebagian, yaitu mulai baris pertama sampai dengan pagi-pagi. Dengan kata lain hanya tersisa di dahan pohon dst.

Membuat background transparan krita

Untuk mengubah background gambar menjadi transparan, bisa dilakukan dengan mudah menggunakan krita. Klik menu Filter –> Colours –> Colour to Aplha. Color picker pilih warna background yang akan diganti menjadi transparan. Threshold atur 100 atau sesuai kebutuhan. Kemudian Ok.

List semua module perl terinstall

Untuk mengetahui semua modul perl yang terinstall bisa menggunakan instmodsh.

$ instmodsh
Available commands are:
   l            - List all installed modules
   m <module>   - Select a module
   q            - Quit the program
cmd?

Kemudian pilih l.

Membuat dan analisis core dump

Suatu program gagal dijalankan. Eksekusi via terminal menunjukkan segmentation fault tanpa keterangan lainnya. Pada situasi inilah core dump diperlukan untuk debugging sehingga diketahui penyebabnya.

Contoh, geeqie apabila dijalankan di lingkungan wayland berbuah segmentation fault

$ geeqie
Segmentation fault

Saatnya membuat core dump

$ gcore /usr/bin/geeqie
Illegal process-id: /usr/bin/geeqie.
You can't do that without a process to debug.
The program is not being run.
gcore: failed to create core./usr/bin/geeqie

Kemudian eksekusi lagi

Deteksi Sistem Operasi Target Hacking

Judul catatan kali ini sedikit berbeda dibanding sebelumnya. Ada hacking-nya. Hehehehe…. Tapi itu tidak menunjukkan bahwa kemampuan penulis dalam ilmu hacking bagus. Hanya bisa itu tok.

Information gathering merupakan tahap krusial dalam proses hacking maupun cracking. Salah satu kegiatan information gathering adalah scanning atau deteksi sistem operasi yang digunakan pada target. Deteksi ini perlu karena berbeda sistem operasi mungkin membutuhkan teknik yang berbeda.

Deteksi menggunakan nmap yang secara default sudah tertanam di slackware. Kasus kali ini alamat target adalah 192.168.106.250. Hasil scanning menunjukkan beberapa informasi, antara lain sistem operasi, port yang terbuka dan webserver yang digunakan.

Hapus riwayat kfind

Kfind adalah tool pencarian dari KDE Plasma. Bagi pengguna linux yang kurang familiar dengan command line bisa menggunakan kfind yang berpenampilan mode grafis.

Fitur yang sangat bagus dari kfind adalah bisa menyimpan hasil pencarian. Namun, catatan kali ini tidak tentang bagaimana cara penggunaan kfind. Kali ini justru cara menghapus riwayat pencarian. Riwayat ini ada di file ~/.config/kfindrc pada segmen [History]. Riwayat yang dicatat adalah Patterns dan Directories pencariannya. Sehingga, penghapusan riwayat pencarian dapat dilakukan dengan menghapus ketiganya.

Deteksi log4shell

Log4shell menjadi topik yang hangat dibicarakan sepekan ini. Bugs JNDI lookup pada log4j membuat komputer atau pc (terutama server) semakin mudah diambil alih tanpa ijin. Syukur alhamdulillah sudah dirilis versi terbaru untuk menangkalnya, yaitu versi 2.16.0.

Bagaimana dengan slackware? Mari kita cek apakah log4j ini tersedia sebagai bagian dari default packages.

# slackpkg file-search log4j

Looking for log4j in package list. Please wait... DONE

No packages contains "log4j" file.

Tidak ditemukan. Aman!

Menambahkan line number kate

Kate adalah text editor bawaan KDE Plasma yang powerfull. Namun, secara default tidak menampilkan line number. Cara untuk menampilkan line number pada kate adalah klik menu Settings pada Kate, kemudian klik Configure Kate. Pada bagian Appearance, klik tab Borders, centang Show line numbers. KLik Apply atau Ok untuk menerapkan perubahan pengaturan.

Menambahkan scanner

Instalasi scanner di linux terutama slackware sangat mudah. Biasanya scanner terdeteksi secara otomatis dan langsung bisa dijalankan. Pengaturan hanya dibutuhkan jika scanner tidak terdeteksi.

Catatan kali ini tentang menambahkan scanner yang tidak terdeteksi secara otomatis. Scanner seperangkat dengan printer, yaitu Epson L3110. Printer terdeteksi otomatis dan langsun bisa digunakan, tetapi scanner-nya belum. Software untuk scan seperti xsane atau skanlite salah mendeteksi. Keduanya mendeteksi scanner yang digunakan adalah webcam.

Scanner terhubung melalui usb, sehingga perlu dicek terlebih dahulu apakah usbnya terdeteksi.

Mengetahui banyaknya elemen array perl

Array adalah salah satu tipe data pada bahasa pemrograman perl. Tipe data ini berisi data majemuk. Penulisan array menggunakan notasi @.

Contoh:

my @buah = ("pepaya", "manga", "pisang", "jambu", "durian", "apel");

Untuk mengetahui berapa banyaknya elemen dari array, bisa menggunakan scalar().

print(scalar(@buah));

Variabel hash perl

Jenis variabel ketiga yang dimiliki perl adalah hash. Hash ini merupakan data berpasangan. Penulisan dengan menyertakan tanda %.

Contoh: akan dideklarasikan data tentang saya, yaitu nama dan distro yang saya gunakan. Nama saya Sasongko, distro Slackware.

my %data = (
	nama => "Sasongko",
	distro => "Slackware",
	);

Variabel array perl

Melanjutkan catatan sebelumnya tentang variabel yang dimiliki bahasa pemrograman perl. Sebelumnya membahas tentang variabel scalar. Catatan kali ini tentang jenis variabel yang kedua yaitu array.

Berbeda dengan scalar yang bernilai tunggal, array bernilai majemuk. Array merupakan himpunan. Element array zero indexed, artinya, elemen pertama berindeks 0.

Pendeklarasian array diserta simbol @.

Contoh: himpunan nama-nama buah dan daftar nilai

my @buah = ("pisang", "mangga", "jeruk", "pepaya");
my @daftar_nilai = (80, 100, 76.5, 21.87);
print $buah[0];

menghasilkan output pisang. Sedangkan

Variabel scalar perl

Perl memiliki 3 jenis variabel, yaitu scalar, array dan hash. Scalar adalah variabel dengan nilai tunggal. Penulisan scalar diawali dengan tanda $.Pendeklarasian variabel dengan my. Nilai dari scalar bisa berupa text/string ataupun angka. Contoh: akan dideklarasikan variabel buah. buah ini bernilai “mangga”.

my $buah = "mangga";

Mount smartphone ke linux

Transfer data antara smartphone android dan komputer/pc/laptop linux (dalam contoh ini Slackware) dapat dilakukan dengan mudah. Kemudahan tersebut bahkan dapat dilakukan dengan mode text tanpa grafis.

Misalkan akan menghubungkan storage yang ada di android smartphone dengan linux. Storage dimount ke direktori mtp. Direktori ini bebas, silahkan pilih sendiri sesuai kebutuhan/keinginan.

$ jmtpfs mtp

Selanjutnya dapat dilakukan transfer file seperti biasa. Jika sudah selesai unmount

$ fusermount mtp

Menghapus docker image

Docker image yang suah tidak digunakan sebaiknya dihapus saja, agar storage lebih longgar. Pastikan docker daemon aktif

dockerd

List docker imagenya

$ docker images
REPOSITORY   TAG            IMAGE ID       CREATED       SIZE
qgis/qgis    release-3_16   ee28ddd8c37a   4 days ago    7.43GB
qgis/qgis    <none>         c84657a1e2f6   3 weeks ago   7.43GB

Hapus

$ docker rmi -f ee28ddd8c37a c84657a1e2f6

Ingin menghapus semua container, image, dll

$ docker system prune -a
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all dangling build cache

Are you sure you want to continue? [y/N] y

Jalankan QGIS docker

Catatan kali ini melanjutkan catatan sebelumnya tentang install QGIS menggunakan flatpak. Sekarang berbeda, install dan jalankan QGIS menggunakan docker. Dengan slackware (dan linux pada umumnya), banyak jalan untuk menjalankan software/aplikasi.

Install docker dan docker-cli

QGIS akan dijalankan menggunakan docker tentu saja membutuhkan docker. Jika belum terinstall silahkan install dulu docker dan docker-cli. Keduanya ada di SBo.

Install docker QGIS

Install image qgis dari repo docker. OS yang digunakan dalam image ini adalah ubuntu 20.04 LTS. Yang harus diperhatikan, versi qgis yang digunakan adalah versi 3.16 LTR, sedangkan yang disediakan repo resmi ubuntu 20.04 masihi versi 3.10.

Install Fedora di Slackware

Tiba-tiba terlintas keinginan mencoba fedora. Sejak mengenal linux tahun 2005an, saya belum pernah menggunakan fedora. Entah kalau saat itu warnetnya pakai fedora wkwkwkwk. Pertama memakai linux memang di warnet. Saat itu warnetnya menawarkan pakai Windows atau linux, saya pilih linux karena tarifnya 50% lebih murah.

Kembali ke topik. Berikut akan install fedora secara virtual via lxc.

$ lxc-create -n fedora -t download

Opsi n adalah untuk memberi nama containernya, t template yang digunakan. Karena akan mendownload dari reponya gunakan template download.

Install QGIS via flatpak

QGIS adalah aplikasi sistem informasi geografis populer dan mudah digunakan. QGIS sudah ada di SBo, tetapi build-nya lama. Jadi saya install via flatpak saja.

flatpak install --from  https://flathub.org/repo/appstream/org.qgis.qgis.flatpakref

Untuk menjalankannya, bisa klik dari menu atau

flatpak run org.qgis.qgis

Untuk meng-update

flatpak update

Kate disable swap

Secara default, kate membuat swap file secara otomatis setiap 15 detik. File ini sangat berguna untuk berjaga-jaga apabila sistem mendadak crash, maka file yang disunting dengan kate dapat di-recover. Tapi fitur ini bisa dibuat disable. Caranya klik menu Settings –> Configure Kate. Pada bagian Open/Save klik tab Advanced. Opsi Swap file pilih Disable kemudian OK.

Dolphin the wastebin has reached its maximum size

Efek samping work from home, harddisk laptop lebih cepat penuh. Saat menghapus file-file yang sudah tidak diperlukan, Dolphin mengeluarkan warning

Job Failed
The wastebin has reached its maximum size!
Cleanup the wastebin manually

Ada 2 alternatif solusi:

  1. Sesuai yang ada di warning untuk menghapus file-file di wastebin secara manual.
  2. Mengatur ulang wastebin pada Dolphin. Wastebin diatur melalui menu Settings –> Configure Dolphin klik Wastebin. Di sini kita bisa mengatur apakah file di wastebin akan dihapus secara otomatis setelah tenggat yang ditentukan. Kemudian bisa diatur pula limit kapasitas wastebin. Lalu, apakah yang akan dilakukan Dolphin ketika wastebin sudah penuh, apakah hanya memunculkan warning, menghapus file paling lawas atau menghapus file paling besar size-nya.

Silakan dipilih sesuai kebutuhan.

Query SQL

Relational Database Management System (RDBMS) adalah salah satu sistem database populer. Sistem pengolahan database ini menggunakan bahasa SQL (dibaca sekuel atau es kiu el). Tool yang dapat digunakan antara lain mariadb, mysql, postgresql.

Pada RDBMS dikenal adanya hirarki atau struktur, yaitu dari tertinggi database yang terdiri atas tabel. Tabel dibentuk oleh kolom dengan data sejumlah barisnya.

Perintah SQL ada 2

  1. Data Definition Language (DDL) untuk membuat, menghapus atau modifikasi struktur database
  2. Data Manipulation Language (DML) untuk insert data, query, hapus, edit data

QUERY SQL

Query adalah pengambilan data dari database. Menggunakan perintah SELECT.

Menyusupkan mate ke xfce

Secara default, window manager yang digunakan xfce adalah xfwm4. Tetapi, ini bisa diganti menjadi window manager lain seperti fluxbox ataupun marco milik mate.

Kali ini kita akan ganti xfwm4 dengan marco. Caranya, membuat startup baru berisikan command

$ /usr/bin/marco --replace

Eksekusi redshift di tty

Mode tty di sini maksudnya adalah mode yang hanya ada teks. Mode inilah yang aktif setelah masuk runlevel 3 sebelum masuk ke lingkungan X maupun wayland.

Mungkin, ketika sedang melakukan maintenance dalam mode tty, tanpa terasa sudah menghabiskan waktu berjam-jam. Daya yang ada, seperti kecerahan layar, bisa terbuang percuma. Apalagi paparan layar yang terlalu cerah dalam durasi lama berpotensi mengganggu kesehatan. Eksekusi redshift di tty adalah solusi yang layak dipertimbangkan. Berikut adalah command-nya

Hapus awalan apostrofe libreoffice calc

Mengunduh file spreadsheet dari google sheets di setiap selnya yang berisi data angka diawali oleh tanda apostrofe atau kutip tunggal. Tanda ini tidak terlihat langsung. Ketika kita klik selnya dan lihat formula bar, baru tanda ini terlihat.

Untuk menghapusnya melalui libreofiice calc tentu saja. Klik Find & Replace. Search for inputkan .* dan Replace with inputkan &. Centang atau piih opsi Regular expressions. Kemudian Replace atau Replace all sesuai kebutuhan.

Mariadb error 2002

Lama tak terjun ke dunia database, ada pengaturan yang terlupakan sehingga muncul error.

$ mariadb -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local server through socket '/var/run/mysql/mysql.sock' (2)

Setelah dicek, ternyata service-nya belum jalan karena tidak executable.

$ ls -l /etc/rc.d|grep -iE "(maria|mysql)"
-rw-r--r-- 1 root     root   2517 May  2 09:08 rc.mysqld
-rw-r--r-- 1 root     root   2943 Aug  4  2020 rc.mysqld.orig

Mari aktifkan

# chmod +x /etc/rc.d/rc.mysqld
# /etc/rc.d/rc.mysqld start
210530 10:36:21 mysqld_safe Logging to '/var/lib/mysql/bumi.bumi.err'.
210530 10:36:21 mysqld_safe Starting mariadbd daemon with databases from /var/lib/mysql

Done. Alhamdulillah

Mengetahui ip aktif sejaringan

Sebelum mengetahui alamat IP aktif dalam 1 jaringan yang sama, tentu saja harus konek atau masuk ke jaringan tersebut dulu. Setelah masuk, cek IP kita sendiri. Karena konek ke wifi maka interface-nya wlan0

# ip addr show wlan0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether cc:b0:da:b5:3b:75 brd ff:ff:ff:ff:ff:ff
    inet 192.168.43.20/24 brd 192.168.43.255 scope global dynamic noprefixroute wlan0
       valid_lft 1574sec preferred_lft 1574sec
    inet6 fe80::7f1b:2f4d:b98e:6500/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

Atau bisa juga dengan

Aktivasi fancy indexing directory listing apache

Secara default, indexing pada apache hanya menampilkan nama direktori dan file yang berada dalam direktori tersebut dengan format unordered list. Bagi yang menganggap tampilan ini tidak menarik, bisa mengaktifkan fancy indexing dengan cara edit file /etc/httpd/httpd.conf, uncomment baris

#Include /etc/httpd/extra/httpd-autoindex.conf

kemudian restart apache

# /etc/rc.d/rc.httpd restart

Menghapus history QtAV Player

Untuk menghapus history atau riwayat video yang ditonton dengan QtAV Player ada 2 cara:

  1. melalui QtAV Player dengan klik History kemudian Clear
  2. menghapus file historynya
$ rm ~/.local/share/Player/*.qds

Command tersebut juga menghapus riwayat playlist

Uji normalitas dengan python

Uji normalitas data dapat dilakukan dengan beberapa cara antara lain

  1. Visual dengan grafik salah satunya histogram
  2. Uji statistik seperti Kolmogorov-Smirnov atau Shapiro-Wilk

Berikut akan dilakukan uji normalitas atas data konsumsi bir tahun 2010. Data diambil dari https://github.com/fivethirtyeight/data/blob/master/alcohol-consumption/drinks.csv dengan pengubahan nama variabel menjadi lebih singkat.

Uji normalitas dengan histogram

Histogramnya

Dari histogram tersebut tampak dengan jelas bahwa histogram tidak simetris dengan skewness positif. Maka dapat disimpulkan data konsumsi bir ini tidak mengikuti distribusi normal.

Membuat histogram dengan python

Untuk membuat histogram dengan python dibutuhkan library pandas dan matplotlib dengan fungsi .hist() dan rangkaiannya seperti contoh histogram konsumsi bir berikut:

#!/usr/bin/python3

import pandas as pd
import matplotlib.pyplot as plt

# sumber data https://github.com/fivethirtyeight/data/blob/master/alcohol-consumption/drinks.csv
# dengan editing header variabel
alkohol = pd.read_csv("../dataset/drinks.csv")

# histogram
plt.hist(x='beer_servings', data=alkohol)
plt.xlabel('Kaleng')
plt.ylabel('Jumlah')
plt.title('Konsumsi bir tahun 2010 (kaleng)')
plt.tight_layout()
plt.show()

Hasilnya:

Memformat dvdrw

Sedang membutuhkan kepingan DVDRW kosong tapi tidak menemukannya. Yang ditemukan DVDRW yang sudah ada isinya tetapi sudah tidak berguna. Baiklah DVDRW nya disuperbersihkan saja alias diformat.

DVDRW terdeteksi sebagai /dev/sr0

dvd+rw-format -f /dev/sr0

Membuat data acak berdistribusi normal

Catatan sebelumnya tentang bagaimana membuat data secara acak dengan python, kali ini hampir sama. Bedanya, data yang dibuat berasal dari distribusi Gaussian (distribusi normal).

Akan dibuat data dengan besar sampel 200, mean 165, standar deviasi 12.5.

#!/usr/bin/python3
import numpy as np
sampel = 200
rerata = 165
deviasi = 12.5
data = np.random.normal(rerata, deviasi, sampel)
print(data)

Hasilnya

[169.9036172  158.13190825 156.9590178  167.74827264 168.62534857
 171.69140206 161.65434678 187.34374928 150.29836841 152.49471216
 160.69172875 173.22405024 171.53443046 159.89375268 170.59784794
 158.46572357 168.20110897 131.00882242 169.37660362 172.71471591
 162.34684852 159.31860527 156.87505418 152.25881337 173.94068172
 134.98130158 146.94872437 159.80322766 176.60094913 173.111627
 166.68329084 161.23836143 170.69908908 152.20927403 159.85371294
 160.92108223 174.01411013 145.55719871 179.99900982 180.02266499
 152.10976505 164.51292664 157.8864326  170.85776142 160.73666817
 174.51669873 149.72123539 164.06125902 165.84558021 170.64970455
 173.35880599 153.86472607 186.08708782 163.16383892 168.79688713
 161.76180346 159.76044878 152.08482654 170.20465648 175.60900504
 162.92716486 177.19471848 171.2871681  144.971927   164.3188071
 162.15660742 180.74130005 160.39323975 139.65007794 157.81802319
 156.85566358 166.50332995 177.2953798  158.30680384 177.13544237
 164.38845426 179.17517071 175.87660328 179.5223744  161.40472123
 174.16465527 168.58063922 159.48342785 190.17379458 168.96513379
 171.72529799 155.25957095 183.97047167 157.56975133 188.34529069
 170.38858718 143.31405164 185.9190679  169.51101188 155.36181972
 144.61623691 181.3892726  163.22218044 134.37177323 154.19044256
 160.45700363 142.59563772 160.37605357 171.44273535 169.70640078
 153.59534214 152.29849613 177.73804824 162.62462227 196.5989286
 162.765947   155.38582305 177.19867532 177.71711759 167.58320205
 172.24747986 165.12620889 176.47353528 187.94811592 172.89502868
 158.11438788 181.9815273  194.18043935 166.29368658 171.40764381
 178.04726676 142.06688725 159.72220239 168.75140017 171.79149347
 158.87557205 155.78707993 161.47244798 153.4709923  147.64848437
 170.51523267 173.77590858 178.25774495 140.32563393 162.97639238
 163.90251236 184.85207452 176.66444031 180.65892624 163.03595927
 151.77083121 179.13141898 171.70632128 169.38558184 172.38264989
 157.08041456 155.24917828 184.10916072 168.50840784 174.18864833
 163.74798374 158.54818729 183.45911273 159.49934259 162.99057938
 167.15176222 152.19491374 165.46079737 157.79831857 149.42032516
 178.66081158 171.26776676 178.47832146 183.10797135 141.55075244
 163.33402213 177.31821748 168.56905941 188.02853802 163.44916488
 168.17361967 179.70875574 156.75504417 160.78535928 149.1140051
 172.12819615 173.66107973 162.21543281 173.87079486 161.03824355
 175.80570369 162.87110577 161.26534934 143.54189568 175.43542171
 164.21584719 164.01339793 151.90799391 168.24579668 169.70043163
 164.26476352 170.30071889 162.32963983 172.41727919 156.12259096]

Secara default data yang dihasilkan bertipe float. Apabila menghendaki data integer bisa tambahkan .astype(int)

Membuat data integer acak python

Bingung membuat data? Gampang, python dengan library numpy punya solusinya!

Akan dibuat data acak bertipe integer (bilangan bulat). Banyaknya data 200, nilai minimal 145, maksimal 180.

#!/usr/bin/python3
import numpy as np
data = np.random.randint(size=200, low=145, high=180)
print(data)

Berikut datanya

[160 147 160 177 147 149 170 149 166 153 154 156 160 165 161 154 168 173
 151 145 158 148 163 178 164 166 159 159 172 147 153 170 174 159 152 170
 151 159 168 167 147 156 177 168 176 151 153 146 163 156 149 145 152 173
 151 162 165 164 179 173 168 172 158 177 148 177 157 150 145 164 171 166
 175 164 159 158 178 173 155 162 178 171 146 145 158 151 150 151 165 166
 148 168 159 175 165 173 167 178 150 173 147 161 175 158 150 150 159 168
 172 159 160 165 156 150 170 175 171 174 149 175 165 168 155 179 161 162
 160 146 151 172 171 179 157 171 170 157 149 147 169 151 172 148 164 169
 160 158 168 163 153 154 179 163 174 172 176 166 172 166 173 179 155 158
 176 151 152 157 164 175 164 165 179 177 175 164 162 164 172 152 172 154
 179 162 171 162 149 149 154 163 168 163 178 179 166 166 167 156 158 155
 171 148]

sbocheck /usr/sbo/repo exists and is not empty

Malam ini, ketika akan update SBo, ternyata tanpa disadari internet disconnect sebelumnya.

bash-5.1# sbocheck
Updating SlackBuilds tree...
fatal: unable to look up github.com (port 9418) (Temporary failure in name resolution)
Could not sync from git://github.com/Ponce/slackbuilds.git.

Setelah internet tidak ada masalah, gantian sbotools-nya yang masalah

bash-5.1# sbocheck
/usr/sbo/repo exists and is not empty. Exiting.

Baiklah, local repository-nya minta dikosongkan dulu

bash-5.1# rm -r /usr/sbo/repo
bash-5.1# sbosnap fetch
Pulling SlackBuilds tree...
Cloning into '/usr/sbo/repo'...
remote: Enumerating objects: 42, done.
remote: Counting objects: 100% (42/42), done.
remote: Compressing objects: 100% (42/42), done.
remote: Total 498277 (delta 8), reused 12 (delta 0), pack-reused 498235
Receiving objects: 100% (498277/498277), 142.33 MiB | 199.00 KiB/s, done.
Resolving deltas: 100% (345959/345959), done.
Updating files: 100% (40245/40245), done.

Recheck

Burn iso ke dvd

Misal, file slackware64-live-current.iso akan di-burn ke DVD. DVD terdeteksi oleh sistem sebagai /dev/sr0. Command dijalankan root.

$ growisofs -dvd-compat -Z /dev/sr0=slackware64-live-current.iso

Transfer file dengan lftp

Salah 1 akibat Work from Home a.k.a WfH adalah kapasitas storage laptop menjadi penuh. Semakin banyak file, semakin berkurang free space. Untuk menyiasatinya, ketika ada kesempatan bekerja di kantor, file-file tersebut ditransfer ke komputer kantor. Karena komputer kantor menggunakan Windows 7 yang mana saya tidak paham bagaimana cara file sharing-nya saya gunakan ftp. Mungkin karena sudah terlanjur nyaman memakai slackware, saya tidak mau ribet pengaturan ftpnya di komputer kantor. Serahkan saja ke bagian IT untuk installnya. Pasrah sakbongkokan. Hahahaha….

Median data dengan python

Misalkan akan dicari berapa median konsumsi alkohol perkapita? Jawabannya bisa diketahui dengan menggunakan fungsi describe() atau median() yang dimiliki pandas.

#!/usr/bin/env python3

import pandas as pd

# sumber data https://github.com/fivethirtyeight/data/blob/master/alcohol-consumption/drinks.csv
# dengan editing header variabel 
data = pd.read_csv("../dataset/drinks.csv")

# median
print('median konsumsi bir adalah ',data['beer_servings'].median(),'kaleng')
print('median konsumsi spirit adalah ', data['spirit_servings'].median())
print('median konsumsi anggur adalah ', data['wine_servings'].median(), 'gelas')
print('median konsumsi alkohol murni adalah ', data['pure_alcohol'].median(), 'liter')

Mean data dengan python

Misalkan akan dicari berapa rerata konsumsi alkohol perkapita? Jawabannya bisa diketahui dengan menggunakan fungsi describe() atau mean() yang dimiliki pandas.

#!/usr/bin/env python3

import pandas as pd

# sumber data https://github.com/fivethirtyeight/data/blob/master/alcohol-consumption/drinks.csv
# dengan editing header variabel 
data = pd.read_csv("../dataset/drinks.csv")

# mean
print('rerata konsumsi bir adalah ',data['beer_servings'].mean(),'kaleng')
print('rerata konsumsi spirit adalah ', data['spirit_servings'].mean())
print('rerata konsumsi anggur adalah ', data['wine_servings'].mean(), 'gelas')
print('rerata konsumsi alkohol murni adalah ', data['pure_alcohol'].mean(), 'liter')

Statistik deskriptif dengan python

Untuk menampilkan statistik deskriptif suatu data, bisa menggunakan fungsi describe() dari library yang dimiliki python yaitu pandas.

Berikut ini akan ditampilkan deskripsi data konsumsi alkohol dunia. Sumber data : https://github.com/fivethirtyeight/data/blob/master/alcohol-consumption/drinks.csv

Data tersebut memuat konsumsi alkohol perkapita dari 193 negara. Ada 4 variabel yaitu :

  1. beer_servings (konsumsi bir yang dinyatakan dalam kaleng)
  2. spirit_servings (konsumsi minuman beralkohol spirit; maaf, variabel ini masih belum penulis pahami sepenuhnya)
  3. wine_servings (konsumsi anggur yang dinyatakan dalam gelas)
  4. pure_alcohol (konsumsi alkohol murni yang dinyataksan dalam liter, nama variabel ini sudah penulis singkat)

Adapun deskripsi yang ditampilkan adalah :

Mengetahui struktur dataset

Untuk menampilkan informasi struktur dataset dapat menggunakan fungsi info() dari pandas.

Data diambil dari https://catalog.data.gov/dataset/alzheimers-disease-and-healthy-aging-data/

#!/usr/bin/env python3

import pandas as pd
data = pd.read_csv("Alzheimer_s_Disease_and_Healthy_Aging_Data.csv")
print(data.info())

Outputnya

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 178539 entries, 0 to 178538
Data columns (total 39 columns):
 #   Column                      Non-Null Count   Dtype  
---  ------                      --------------   -----  
 0   RowId                       178539 non-null  object 
 1   YearStart                   178539 non-null  int64  
 2   YearEnd                     178539 non-null  int64  
 3   LocationAbbr                178539 non-null  object 
 4   LocationDesc                178539 non-null  object 
 5   Datasource                  178539 non-null  object 
 6   Class                       178539 non-null  object 
 7   Topic                       178539 non-null  object 
 8   Question                    178539 non-null  object 
 9   Response                    0 non-null       float64
 10  Data_Value_Unit             178539 non-null  object 
 11  DataValueTypeID             178539 non-null  object 
 12  Data_Value_Type             178539 non-null  object 
 13  Data_Value                  120885 non-null  float64
 14  Data_Value_Alt              0 non-null       float64
 15  Data_Value_Footnote_Symbol  70619 non-null   object 
 16  Data_Value_Footnote         70619 non-null   object 
 17  Low_Confidence_Limit        120750 non-null  float64
 18  High_Confidence_Limit       120750 non-null  float64
 19  Sample_Size                 0 non-null       float64
 20  StratificationCategory1     178539 non-null  object 
 21  Stratification1             178539 non-null  object 
 22  StratificationCategory2     178539 non-null  object 
 23  Stratification2             178539 non-null  object 
 24  StratificationCategory3     0 non-null       float64
 25  Stratification3             0 non-null       float64
 26  Geolocation                 159375 non-null  object 
 27  ClassID                     178539 non-null  object 
 28  TopicID                     178539 non-null  object 
 29  QuestionID                  178539 non-null  object 
 30  ResponseID                  0 non-null       float64
 31  LocationID                  178539 non-null  int64  
 32  StratificationCategoryID1   178539 non-null  object 
 33  StratificationID1           178539 non-null  object 
 34  StratificationCategoryID2   178539 non-null  object 
 35  StratificationID2           178539 non-null  object 
 36  StratificationCategoryID3   0 non-null       float64
 37  StratificationID3           0 non-null       float64
 38  Report                      0 non-null       float64
dtypes: float64(12), int64(3), object(24)
memory usage: 53.1+ MB

Dari output tersebut dapat diketahui antara lain:

Menggunakan wget prefix directory

Secara default, apabila menggunakan wget, file di-download ke direktori aktif. Dengan mengaktifkan prefix directory (-P), file tersebut bisa disimpan ke direktori lain.

$ wget [url] -P [direktori]
  • [url] : URL / alamat lengkap file yang akan di-download
  • [direktori] : direktori tujuan

Menampilkan data baris terakhir python

Untuk menampilkan data baris terakhir dengan python dapat menggunakan fungsi tail() dari pandas. Tuliskan banyaknya baris yang akan ditampilkan (n) dalam tanda kurung. Kalau n tidak ditulis maka secara default n=5.

Data diambil dari https://catalog.data.gov/dataset/alzheimers-disease-and-healthy-aging-data/

import pandas as pd
data = pd.read_csv("Alzheimer_s_Disease_and_Healthy_Aging_Data.csv")

print(data.tail(7))

Output :

                                                 RowId  ...  Report
178532     2019~2019~9004~Q41~AGE~AGE_OVERALL~RACE~NAA  ...     NaN
178533  2019~2019~9002~Q41~AGE~AGE_OVERALL~GENDER~MALE  ...     NaN
178534            2019~2019~9002~Q42~AGE~5064~RACE~HIS  ...     NaN
178535          2019~2019~9003~Q42~AGE~65PLUS~RACE~ASN  ...     NaN
178536          2019~2019~9002~Q42~AGE~65PLUS~RACE~HIS  ...     NaN
178537            2019~2019~9003~Q42~AGE~5064~RACE~BLK  ...     NaN
178538            2019~2019~9004~Q42~AGE~5064~RACE~NAA  ...     NaN

[7 rows x 39 columns]

Dari output tersebut juga dapat diperoleh informasi jumlah baris dan kolomnya yaitu 178539 baris dan 39 kolom.

Menampilkan data baris pertama python

Untuk menampilkan data baris pertama dengan python dapat menggunakan fungsi head() dari pandas. Tuliskan banyaknya baris yang akan ditampilkan (n) dalam tanda kurung. Kalau n tidak ditulis maka secara default n=5.

Data diambil dari https://catalog.data.gov/dataset/alzheimers-disease-and-healthy-aging-data/

import pandas as pd
data = pd.read_csv("Alzheimer_s_Disease_and_Healthy_Aging_Data.csv")

print(data.head())

Output :

                                          RowId  ...  Report
0  2016~2016~12~Q27~AGE~AGE_OVERALL~GENDER~MALE  ...     NaN
1         2015~2015~66~Q43~AGE~5064~GENDER~MALE  ...     NaN
2         2018~2018~66~Q18~AGE~5064~GENDER~MALE  ...     NaN
3       2018~2018~66~Q34~AGE~5064~GENDER~FEMALE  ...     NaN
4     2015~2015~16~Q43~AGE~65PLUS~GENDER~FEMALE  ...     NaN

[5 rows x 39 columns]

Dari output tersebut juga dapat diperoleh informasi jumlah kolomnya, yaitu 39 yang tidak semua kolom ditampilkan.

Disable recent documents mate

Masalah security saat penggunaan desktop environment mate adalah adanya recent documents pada menu. Ini terletak pada menu di bagian bawah menu Places. Bagi user yang concern dengan privasi dan menghendaki untuk menonaktifkannya alih-alih membersihkannya “setiap saat”,

$ echo "" > ~/.local/share/recently-used.xbel 
$ chattr -i ~/.local/share/recently-used.xbel # dijalankan oleh root

Mengatur pencahayaan monitor dengan redshift

Beberapa bulan ini mata menjadi lebih cepat lelah apabila malam-malam berlama-lama menatap monitor. Padahal backlight/brightness sudah diset 15%. Mungkin karena faktor U dan pagi/siang sebelumnya sudah memandangi layar komputer. Maka, jadilah penulis menginstal redshift untuk “memerah/kuningkan brightness monitor.

Redshift tersedia di SBo, sehingga bisa diinstal dengan mudah melalui sbotools, sbopkg, sboui, slpkg, atau yang lainnya.

Load dataset csv dengan python

Misalkan ada dataset dalam format csv. Data tersebut dapat di-load atau diimpor dengan python dengan library pandas. Berikut script untuk load file data.csv.

import pandas as pd
data = pd.read_csv("data.csv")

Library python untuk statistika

Beberapa library atau module python yang sering digunakan untuk statistika adalah

  1. numpy: digunakan untuk melakukan analisa data numerik dan perhitungan berbasis vektor atau matriks
  2. pandas: digunakan untuk melakukan pengolahan data tabular matplotlib: digunakan untuk melakukan ploting atau penggambaran grafik, dapat digunakan sebagai alat bantu dalam analisa data
  3. statsmodels: digunakan untuk melakukan uji hipotesa, eksplorasi data maupun pemodelan statistika
  4. scipy: digunakan untuk melakukan uji statistika, juga dapat digunakan untuk melakukan pemodelan statistika

Menggabungkan file pdf

Misalkan mempunyai 2 file ebook yaitu ebook1.pdf dan ebook2.pdf. Kedua file ini akan digabung menjadi ebook.pdf. Maka untuk menggabungkannya

$ pdfunite ebook1.pdf ebook2.pdf ebook.pdf

Menambahkan tanggal toolbar blackbox

Masih adakah pengguna linux di Indonesia yang menggunakan blackbox sebagai window manager sehari-hari? Masih, minimal seorang yaitu yang menulis catatan ini. Hehehehe….

Secara default, toolbar blackbox tidak menyertakan tanggal walau menampilkan jam. Jam ditampilkan dalam format 12 jam AM/PM. Untuk menambahkannya, dan menggunakan jam format 24 jam sebagaimana lazimnya di Indonesia, diatur sebagai berikut pada ~/.blackboxrc

session.screen0.strftimeFormat : %d/%m/%Y %H:%M

Untuk menerapkan perubahan tersebut secara langsung, restart blackbox (tidak perlu restart komputer!)

Mengubah user agent firefox

Pengertian user agent

User agent (UA) adalah identitas web browser yang dikirimkan ke website yang diakses. Identitas tersebut antara lain nama web browser dan versinya.

Default UA firefox

Firefox yang saat ini digunakan adalah versi 78.6.1esr. Versi ini memiliki UA Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

Mengetahui UA firefox

Pada address bar ketik about:support. Perhatikan bagian User Agent.

Cara mengganti UA

Untuk mengubahnya, contoh kali ini akan diubah dengan UA Chrome pada Mac.

Mount partisi hibernated windows

Lima tahun yang lalu ketika membeli laptop yang saat ini digunakan untuk menulis catatan ini, toko memberikan OS Windows 10 tanpa lisensinya. Penulis tetap mempertahankannya untuk jaga-jaga jika di kemudian hari kepepet sangat membutuhkan Windows.

Tadi pagi iseng ingin melihat-lihat adakah file di partisi tempat Windows diinstall yang bisa dihapus sehingga storage harddisk lebih lega?

Partisi Windows teridentifikasi sebagai /dev/sda2. Akan di-mount ke /media/hd0

$ mount /dev/sda2 /media/hd0
Windows is hibernated, refused to mount.
Falling back to read-only mount because the NTFS partition is in an
unsafe state. Please resume and shutdown Windows fully (no hibernation
or fast restarting.)

What? Windows is hibernate? Seingat penulis selalu tertib dalam menjalankan SOP shutdown (close semua window aplikasi yang terbuka, shutdown melalui menu, tidak ada warning apapun yang muncul di monitor). Jadi ya dianggap baik-baik saja. Ternyata tidak.

Resize window blackbox

Untuk resize atau mengubah ukuran window saat menggunakan blackbox caranya mudah. Arahkan pointer pada ujung kiri bawah atau kanan bawah window sampai tampilan pointer berganti menjadi sudut siku-siku dengan panah ke sudutnya. Kemudia klik dan drag sesuai keinginan seberapa ukuran windownya. Cara lain, adalah dengan mengarahkan menekan Alt klik kanan kemudian ubah ukuran windownya.

Menghapus file berdasarkan pencarian

Misalkan akan menghapus semua file berekstensi .rtf di direktori /tmp. Pada direktori /tmp terdapat banyak direktori dan file lainnya. File yang akan dihapus hanya pada direktor induk, tidak termasuk subdirektorinya (maxdepth=1).

$ find /tmp -maxdepth 1 -name *.rtf -delete

Mengatur ukuran window gvim

GVIm merupakan text editor legendaris. Simpel dan mudah digunakan adalah alasan utama penulis menyukainya. GVIm juga mudah di-customize. User bebas melakukan modifikasi sesuai kebutuhannya. Salah satu yang penulis butuhkan adalah ketika memulai gvim ukuran window 80x24 (80 kolom, 24 baris). Untuk mewujudkannya, perlu membuat file ~/.gvimrc isinya sebagai berikut:

set columns=80
set lines=24

Aktivasi apache webserver slackware

Install apache webserver slackware linux

Secara default, apache webserver sudah ter-install di slackware. Namun, jika saat meng-install slackware tidak memilih full installation, apache webserver dapat di-install dengan mudah, yaitu dengan meng-install httpd.

slackpkg install httpd

Aktivasi apache webserver slackware linux

Setelah diinstall, bisa diaktifkan:

/etc/rc.d/rc.httpd start

Untuk menonaktifkan atau mematikan:

/etc/rc.d/rc.httpd stop

Untuk restart webserver:

/etc/rc.d/rc.httpd restart

Mengaktifkan apache webserver otomatis

Untuk dapat running atau mengaktifkan apache secara otomatis setelah booting, pastikan /etc/rc.d/rc.httpd executable.

Set background blackbox

Menggunakan blackbox yang ‘hanya’ window manager tentunya berbeda dengan ketika menggunakan desktop environment (DE) seperti kde atau xfce. Pengaturan background atau wallpaper dalam DE menggunakan tampilan grafis.

Untuk meng-set background pada blackbox menggunakan bsetbg

$ bsetbg nama_file_background

Atau, kalau menghendaki background-nya adalah warna (solid color) juga bisa. Contoh, akan mengganti background-nya dengan warna hijau.

$ bsetbg -solid green

Copy paste xterm

xterm adalah X terminal emulator populer legendaris. Penulis masih menggunakannya sebagai terminal utama ketika menggunakan blackbox. Sesekali saat menggunakan xfce atau kde.

xterm ini khas. Tidak seperti xfce4-terminal atau konsole yang secara default pengguna bisa melakukan copy paste (Copas) dengan mudah. Ctrl Shift C, Ctrl Shift V untuk copas pada terminal emulator lainnya tidak berlaku! Butuh pengaturan khusus untuk melakukannya. Mengatur agar setiap yang diblok akan dimasukkan ke clipboard.

Untuk bisa melakukan copy:

xauth serverauthXXX does not exist

Beberapa saat yang lalu, saking asyiknya menyelesaikan pekerjaan, tidak ngeh kalau baterai laptop kritis harus segera di-charge. Alhasil laptop mati seketika. Dinyalakan lagi (sambil charging tentunya) gagal masuk ke X.

xauth: file /home/xyz/.serverauth.2909 does not exist

Solusinya simpel

$ rm .serverauth*

nmcli sw disabled

Beberapa saat yang lalu penulis terkena prank dari diri sendiri. Sebut saja demikian karena awalnya hanya iseng mengaktifkan flight mode di laptop. Beberapa saat kemudian karena ada keperluan laptop dibiarkan begitu saja. Sewaktu menggunakan lagi, menyambungkan ke internet tidak bisa-bisa. Cek nmcli

$ nmcli
p2p-dev-wlan0: disconnected
        "p2p-dev-wlan0"
        wifi-p2p, sw disabled, hw

eth0: unavailable
        "Realtek RTL810xE"
        ethernet (r8169), C8:5B:76:66:51:6C, hw, mtu 1500

wlan0: unavailable
        "Qualcomm Atheros QCA9377"
        wifi (ath10k_pci), 8E:58:C9:8B:64:0F, sw disabled, hw, mtu 1500

lo: unmanaged
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.

Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.

Ada output yang aneh : sw disabled. Penulis baru ingat kalau flight mode-nya aktif. Setelah dinonaktifkan, semua kembali normal. sw disabled enyah dari Output nmcli.

Copy paste vim mode visual

VIm merupakan text editor legendaris yang sampai saat ini masih memiliki penggemar. Penulis salah satunya. Berbeda dengan text editor lain, vim tidak menampilkan menu untuk copy/cut paste. Namun, itu tidak masalah. Semua bisa diatur. Oya, ini semua berada dalam lingkungan vim dengan mode visual.

Sebelum melakukan copy paste, tentunya memilih dulu yang akan dicopas.

  1. Tempatkan kursor di awal text yang akan dicops
  2. Tekan v untuk memulai blok
  3. Jalankan panah kanan kiri atas bawah untuk memilih blok
  4. Tekan y untuk copy (y singkatan dari yank), atau d untuk cut (d singkatan dari delete)
  5. Kalau mau mem-paste, tekan p di awal tempat tujuan paste

Nah, selesai.

Impor library python

Dengan adanya library, programmer python dimudahkan. Lebih efisien. Contoh : untuk mencari nilai akar kuadrat, tidak perlu menuliskan bertele-tele menuliskan rumus. Tinggal impor dan gunakan fungsi yang ada saja Misalkan akan mencari nilai akar kuadrat dari 100.

import math
print(math.sqrt(100))

Baris 1, deklarasi untuk mengimpor library. Nama library-nya math.

Baris 2, fungsi print() untuk menampilkan ke layar. sqrt() adalah fungsi untuk mencari nilai akar kuadrat. Karena fungsi ini ada di library atau modul math, maka dituliskan juga librarynya.

Comments python

Comments atau komentar adalah sekumpulan teks yang dituliskan dalam program tetapi tidak akan dieksekusi. Ada 2 jenis comments dalam bahasa python, yaitu

  1. Single line comment. Hanya terdiri dari 1 baris comments. Untuk menuliskannya, beri tanda # di awal comments.

Contoh :

# ini adalah single line comment
  1. Multiline comments. Terdiri dari lebih dari 1 baris. Dibuka dan ditutup dengan '''

Contoh :

'''
ini adalah program python
untuk mengetahui sesuatu
'''

Tipe data python

Python memiliki beberapa tipe data, yaitu :

  1. None
  2. Numeric
  3. Boolean
  4. Sequence
  5. Set
  6. Map

Tipe data python none

Hanya memiliki 1 nilai yaitu None

Tipe data numeric

Tipe data numeric terdiri atas tipe data integer dan float. Integer merupakan bilangan bulat. Float merupakan bilangan desimal.

Tipe data boolean

Terdiri dari 2 nilai yaitu True dan False

Tipe data sequence

Ada 3 macam yaitu string, list dan tuple

Tipe data string

Data ini diapit oleh ' atau ". Contoh :

Penamaan variabel python

Dalam bahasa python, ada 4 ketentuan pemberian nama variabel, yaitu :

  1. Harus dimulai dengan huruf (a-z, A-Z) atau garis bawah underscore (_) dan tidak boleh diawali dengan angka (0-9).
  2. Boleh mengandung karakter huruf, angka dan underscore (a-z, A-Z, 0-9, _)
  3. Bersifat sensitive case yang mengartikan bahwa variabel Nama, nama dan NAMA adalah variabel yang berbeda
  4. Tidak boleh menggunakan reserved words seperti for, while, return

Mengubah color scheme kdevelop

Kdevelop merupakan integrated development environment (IDE) default dari KDE yang merupakan salah satu official packages dari Slackware. Kdevelop mendukung berbagai bahasa pemrograman, yaitu C, C++, python, javascript dan PHP.

Secara default, color scheme yang diaktifkan kdevelop bernuansa terang. Ada sebagian pengguna yang lebih menyukai nuansa gelap. Caranya, klik Settings - Color Scheme, lalu pilih color scheme yang diinginkan. Video berikut ini menunjukkan mudahnya mengubah color scheme-nya dari Default menjadi Breeze High Contrast

Mengenal python

Apa itu python

Python adalah bahasa pemrograman yang diciptakan oleh Guido van Rossum. Python bersifat open source sehingga semua orang boleh menggunakan dan mengembangkannya. Bahasa pemrograman satu ini tidak spesifik untuk keperluan tertentu, tetapi umum. Python bisa digunakan untuk membuat aplikasi desktop, database, web, data science, machine learning, dll.

Apakah python cocok untuk data science? Mengapa?

Ya. Karena python open source maka semua orang boleh mengembangkannya, termasuk untuk keperluan data science. Contohnya adalah pembuatan library numpy, scipy, pandas, scikit-learn, matplotlib, seaborn, dll.

Download video youtube khusus member

Secara default video yang ada di youtube dapat di-download secara bebas. Semua orang bisa men-download tanpa harus login. Tetapi, ada kalanya sang pemilik video membatasinya hanya untuk member atau harus login dulu baru bisa donwload.

Dengan youtube-dl hal ini mudah dilakukan

$ youtube-dl -u username url

Opsi -u diikuti dengan username akun youtube untuk login.

Membuat file csv

File csv merupakan file yang umum digunakan sebagai file data. Mudah dalam pembuatannya. Begitu juga dengan aksesnya. Bisa dibuat dengan text editor, spreadsheet software maupun statistical software. Pada kesempatan kali ini tidak menggunakan statistical software seperti R.

Membuat file csv dengan text editor

Prinsip pembuatan adalah :

  1. Antar kolom dipisahkan oleh tanda koma (,)
  2. Kolom pertama (umumnya) sebagai header atau nama/judul kolom
  3. Antar baris dipisahkan oleh enter
  4. Angka dituliskan seperti biasanya
  5. Teks/string dituliskan dalam tanda kutip (" atatu ‘)

Contoh, data kasus malaria tahun 2019 terdiri atas 2 kolom, yaitu provinsi dan jumlah.

Menghapus file dari tar

Untuk menghapus file Screenshot_2020-08-06_08-31-22.png yang ada dalam screenshot.tar.xz, caranya

$ tar f screenshot.tar.xz --delete Screenshot_2020-08-06_08-31-22.png

Menambah file archive tar

Untuk menambahkan file ke dalam tar archive mudah. Gunakan opsi -r atau –append pada command tar.

Misalkan, file photo_2020-08-22_19-03-32.jpg yang ada di ~/Documents akan dimasukkan atau ditambahkan ke dalam file archive screenshot.tar.xz

$ tar rf screenshot.tar.xz photo_2020-08-22_19-03-32.jpg

Atau

$ tar f screenshot.tar.xz --append photo_2020-08-22_19-03-32.jpg

Apabila file photo_2020-08-22_19-03-32.jpg ingin langsung dihapus dari lokasi aslinya setelah ditambahkan ke tar, beri opsi –remove-files

$ tar f screenshot.tar.xz --append --remove-files photo_2020-08-22_19-03-32.jpg

Modifikasi htop

Htop merupakan system monitoring tool yang cukup lengkap, bukan sekedar process viewer yang menampilkan proses apa saja yang berjalan. Dengan htop user dapat melihat running process, mencari process ataupun mengakhirinya.

Secara default tampilan htop sebagai berikut

Bagi penulis pribadi, informasi yang ditampilkan masih kurang. Penulis ingin menambahkan persentase baterai dan penggunaan zram. Caranya, tekan F2. Perhatikan kolom paling kanan Available Meters. Letakkan kursor di kolom tersebut, scroll sampai ketemu yang diinginkan. Tekan Enter untuk memilih atau menambahkan. Di sini dicontohkan Battery. Meter tersebut telah berpindah ke Right column/kolom sebelah kanan. Atur posisinya, apakah akan ditempatkan di kanan atau kiri (pada contoh ini kanan). Setelah itu tekan Enter lagi untuk mengunci posisinya.

Pelengkap dnscrypt-proxy

Catatan ini merupakan catatan tambahan untuk melengkapi README.Slackware pada skrip dnscrypt-proxy yang ada di SBo. Yang ada di SBo :

  1. Membuat grup dnscrypt dan usernya
  2. Mengkonfigurasi dns /etc/resolv.conf.head
  3. Memasukkan dnscryp-proxy ke /etc/rc.d/rc.local{,_shutdown}

Nah, berikut ini tambahannya. Mungkin tidak semuanya membutuhkan, jadi maintainer dnscrypt-proxy tidak mengikutsertakan langkah ini. Penulis menggunakan NetworkManager, setelah check & recheck, dnscrypt-proxy tidak bekerja karena file /etc/resolv.conf terkena overwrite oleh NetworkManager. Ini adalah langkah untuk memberikan imunisasi/mencegah overwrite. Command berikut dijalankan dengan root privilege

Aktivasi zram

Beberapa tahun ini perkembangan dunia opensource bagus. Berbagai teknologi berkembang. Di antara teknologi tersebut adalah grafis yang semakin menawan, lebih tajam, dan disertai efek-efek yang sangat menarik. Perkembangan dari sisi software berjalan beriringan dengan hardware. Semakin tinggi spesifikasi hardware semakin baik grafis yang dihasilkan. Demikian pula sebaliknya, apabila ingin interface yang aduhai menawan, seyogyanya diimbangi hardware yang mumpuni.

Perangkat yang penulis gunakan saat ini bisa dikatakan ketinggalan jaman. Tahun 2016, dengan RAM hanya 2 GB untuk komputasi perkantoran sehari-hari sangat layak dan bisa diandalkan. Namun, saat ini, saat kebutuhan multitasking meningkat pesat, terlebih di era work from home (WFH), beberapa aplikasi dijalankan sekaligus bersama-sama, apalagi ditambah dengan faktor U perangkatnya, RAM 2 GB terasa cepat penuh.

Mengembalikan backlight

Upgrade kernel dari 5.10.2 ke 5.10.10 menimbulkan efek samping. Backlight menjadi tidak berfungsi. Padahal salah satu yang penulis jalankan otomatis ketika masuk ke X adalah xbacklight.

$ xbacklight
No outputs have backlight property

Brightness 100%. Mentok kanan!

Backlight atau brightness 100% terlalu terang, membuat mata lebih mudah lelah dan membutuhkan daya lebih banyak (baca: baterai laptop cepat habis).

Kebetulan, salah 1 situs yang sering penulis kunjungi, LinuxQuestions.Org ada thread yang membahas masalah ini.

Mengetahui isi file tar archive

Catatan ini merupakan lanjutan dari sebelumnya yang membuat tar archive. Kali ini tentang bagaimana mengetahui apa saja file ada di dalam archive tersebut tanpa harus mengekstrak.

Contoh, terdapat file screenshot2.tar.xz. Untuk mengetahui apa saja isinya

$ tar tvf screenshot2.tar.xz
-rw-r--r-- user1/users 580563 2020-07-15 10:17 Screenshot_2020-07-15_10-17-33.png
-rw-r--r-- user1/users 851743 2020-08-03 10:31 Screenshot_2020-08-03_10-31-47.png
-rw-r--r-- user1/users   9958 2020-08-04 16:33 Screenshot_2020-08-04_16-33-18.png
-rw-r--r-- user1/users 822389 2020-08-06 08:23 Screenshot_2020-08-06_08-22-59.png
-rw-r--r-- user1/users 737008 2020-08-06 08:31 Screenshot_2020-08-06_08-31-22.png
-rw-r--r-- user1/users 243660 2020-12-04 18:44 Screenshot_2020-12-04_18-44-18.png
-rw-r--r-- user1/users 122966 2021-01-12 01:21 Screenshot_2021-01-12_01-21-31.png

Dapat diketahui bahwa file screenshot2.tar.xz berisi 7 file png screenshot sebagaimana tersebut di atas.

Membuat archive tar

Terdapat file sebagai berikut:

Screenshot_2020-07-15_10-17-33.png
Screenshot_2020-08-03_10-31-47.png
Screenshot_2020-08-04_16-33-18.png
Screenshot_2020-08-06_08-22-59.png
Screenshot_2020-08-06_08-31-22.png
Screenshot_2020-12-04_18-44-18.png
Screenshot_2021-01-12_01-21-31.png

Ketujuh file tersebut akan disatukan dalam 1 archive dengan nama file screenshot.tar.gz.

$ tar cvf screenshot.tar.gz Screen*
Screenshot_2020-07-15_10-17-33.png
Screenshot_2020-08-03_10-31-47.png
Screenshot_2020-08-04_16-33-18.png
Screenshot_2020-08-06_08-22-59.png
Screenshot_2020-08-06_08-31-22.png
Screenshot_2020-12-04_18-44-18.png
Screenshot_2021-01-12_01-21-31.png

Penjelasan command

  • tar : manajemen archive yang digunakan aalah tar
  • c : wajib dituliskan untuk create atau membuat archive
  • v : opsi untuk verbose, menampilkan list file yang diproses
  • f : wajib dituliskan dalam semua penggunaan tar karena f adalah file, identifier untuk file yang akan diproses
  • screenshot.tar.gz : nama file archive. Ekstensi bisa .tar, .tar.gz, atau .tar.xz. Ketika ekstensi ini sering dipakai di dunia open source.
  • Screen* : file yang akan di-archive. Karena filenya banyak dan mempunyai kemiripan pola maka digunakan regex agar lebih praktis. File ini juga bisa dituliskan satu persatu.

Mengetahui IP lokal dengan nmcli

Untuk mengetahui alamat ip lokal tanpa akses root dapat menggunakan nmcli

$ nmcli
wlan0: connected to Anatomi
        "Qualcomm Atheros QCA9377"
        wifi (ath10k_pci), CC:B0:DA:B5:3B:75, hw, mtu 1500
        ip4 default
        inet4 192.168.120.19/24
        route4 0.0.0.0/0
        route4 192.168.120.0/24
        route4 192.168.120.0/24
        inet6 fe80::1a37:a13:b117:ff74/64
        route6 fe80::/64
        route6 ff00::/8

Dari hasil tersebut dapat diketahui bahwa ip address lokalnya adalah

  1. ipv4 192.168.120.19
  2. ipv6 fe80::1a37:a13:b117:ff74

Rebuild R post-upgrade icu4c

Pagi ini, saat akan mengeksekusi R,

$ R
/usr/lib64/R/bin/exec/R: error while loading shared libraries: libicuuc.so.67: cannot open shared object file: No such file or directory

Ternyata R nya bermasalah. Di atas disebutkan bahwa libicuuc.so.67 tidak ditemukan. Dari namanya, bisa ditebak itu adalah shared object/library miliknya icu4c. Kita pastikan dulu,

$ slackpkg file-search libicuuc.so
Looking for libicuuc.so in package list. Please wait... DONE

The list below shows the packages that contains "libicuuc\.so" file.

[ installed ] - icu4c-68.2-x86_64-1

You can search specific packages using "slackpkg search package".

Command tersebut dieksekusi dengan root privileges.

Ekstraksi waktu pada changelog dengan sed

Ini adalah keisengan di kala WFH alias work from home. Melakukan ekstraksi waktu pada changelog slackware64-current yang terakhir kami update 8 Januari 2021.

Changelognya terdiri dari 4 bagian:

  1. Waktu
  2. Packages yang mengalami perubahan (Upgraded, Removed, Added, Rebuilt)
  3. Keterangan perubahan
  4. Pembatas update antarwaktu (+————————–+)

Akan diambil yang no.1 saja.

Hapus semua baris. Yang berawalan Sun, Mon, Tue, Wed, Thu, Fri, Sat jangan hapus. Kemudian hasilnya dibuat file baru bernama changelog-date.txt.

$ sed '/^(Sun\|Mon\|Tue\|Wed\|Thu\|Fri\|Sat)/!d' /var/lib/slackpkg/ChangeLog.txt > changelog-date.txt

Hapus semua baris yang berakhiran dengan tanda titik.

Menggunakan ratpoison

Ratpoison sesuai namanya benar adalah racun! Mouse-nya terkena racun! Penggunaan mouse menjadi minimal. User banyak menggunakan keyboard.

Memasuki lingkungan ratpoison user disambut interface hitam (mungkin dengan disertai bayangannya sendiri). Sudut kanan atas muncul ucapan selamat datang Welcome to ratpoison! Hit C - t ? for help.. Bagi yang selalu berpesta dalam gemerlapnya KDE Plasma, Cinnamon, Xfce, Mate, Budgie, dll sangat mungkin merasa njegleg atau keheranan bahkan mungkin bingung atau linglung. Tapi slackers insyaallah tetap tenang-tenang saja, bisa beradaptasi. Apalagi kalau emacs adalah text editor favoritnya. Apa hubungannya? Keduanya mempunyai keybindings yang serupa.

Mengetahui kondisi baterai

Mengecek kondisi baterai laptop melalui terminal atau command line interface sangat mungkin jarang dilakukan. Sekarang hampir semua distro linux secara default sudah menyertakan desktop environment seperti xfce, kde, mate, cinnamon, budgie, lumina dan manokwari dengan interface yang cantik dan menarik. DE tersebut sudah mempunyai power manager lengkap dengan applet-nya yang tak pernah bosan nempel di panel.

Bagaimana kalau ‘hanya’ menggunakan window manager seperti GNUStep WindowMaker, twm, fluxbox, blackbox, fvwm, i3wm atau ratpoison yang tidak mempunyai power manager sendiri? Melalui terminal lah jawabannya. Di sini digunakan upower yang secara default ada di Slackware

Menggunakan rsync

Kegunaan rsync

rsync berguna untuk transfer file secara efisien. Dibandingkan dengan cp atau mv, rsync memiliki keunggulan :

  1. Bebas pilih-pilih file maupun direktori yang akan ditransfer karena ada fitur include dan exclude
  2. Apabila gagal, misalnya karena storage penuh atau “kecelakaan” salah klik sehingga ter-close, dapat dilanjutkan tanpa mengulang dari awal sehingga waktunya tentu lebih cepat

Dibandingkan wget, rsync mendukung penggunaan wildcard dan secara default rsync resumeable.

Akan dilakukan transfer/copas semua yang ada di /media/hd0 ke /media/hd1

Xfce 4.16 Masuk Current

Pagi ini, Patrick memasukkan xfce 4.16 ke slackware current main tree tanpa singgah di /testing. Interface xfce 4.16 lebih cantik dan menarik dibanding sebelumnya. Demikian pula icons-nya.

Sekitar satu bulan yang lalu, Patrick memasukkan ke /testing/vtown xfce stable terbaru yaitu 4.14. Saat itu 4.16 sedang proses development.

Ada beberapa hal yang menjadi catatan buat penulis terkait xfce 4.16 ini, yaitu

  1. Interface lebih cantik dan menarik
  2. Penambahan xfce4-panel-profiles yang memungkinkan untuk menyimpan profil/konfigurasi panel. Sangat bermanfaat bagi mereka yang suka berganti-ganti tampilan panel, ukuran dan letak panel, serta shortcut apa saja yang berada di panel.
  3. Perubahan letak tombol Open atau Save pada dialog box yang sebelumnya di bawah menjadi di atas. Ini memudahkan pengguna. Tidak usah geser mouse terlalu jauh atau repot tab berkali-kali.
  4. Penambahan libgtop yang memungkinkan user mengetahui informasi singkat sistem melalui tab System pada About Xfce

about xfce 4.14 about xfce 4.16

Mengetahui kapan komputer dinyalakan

Untuk mengetahui kapan komputer/pc/laptop dinyalakan,gunakan dmesg

$ dmesg -T | head -1 
[Fri Dec 25 00:39:42 2020] Linux version 5.10.2 

Penjelasan command :

  1. eksekusi sebagai root
  2. opsi -T pada dmesg bertujuan untuk memformat output dmesg dengan memberikan timestamp
  3. | adalah pipe, untu menjadikan output dmesg sebagai input untuk head
  4. head untuk menampilkan baris dari atas, jumlah baris yang ditampilkan sesuai angka yang dituliskan berikutnya
  5. [Fri Dec 25 00:39:42 2020] Linux version 5.10.2 # baris 1 yang kami tuliskan hanya sampai sini

Dari output tersebut tampak bahwa komputer dinyalakan pada hari Jum’at, 25 Desember 2020 sekitar jam 00.39.

Start up time kernel 5.10.2

Hanya dalam hitungan jam setelah Linus Torvalds merilis kernel 5.10, Patrick Volkerding langsung memasukkannya ke dalam main tree slackware current. Saat catatan ini dituliskan, sudah “mendarat” kernel 5.10.2. Penulis penasaran berapa lama waktu yang digunakan untuk start up. Yang dimaksud start up di sini adalah kondisi dari eksekusi elilo dan initrd sampai muncul login prompt.

$ dmesg | tail -5
[   20.687205] Segment Routing with IPv6
[   20.687213] RPL Segment Routing with IPv6
[   32.472700] RTL8208 Fast Ethernet r8169-300:00: attached PHY driver [RTL8208 Fast Ethernet] (mii_bus:phy_addr=r8169-300:00, irq=IGNORE)
[   32.750379] r8169 0000:03:00.0 eth0: Link is Down

Penjelasan command

Beralih ke Hugo

Mengapa beralih dari jekyll ke hugo? Keunggulan hugo :

  1. Instalnya simpel. Hanya berupa binary. Jekyll butuh banyak dependensi
  2. tersedia di SBo lebih memudahkan dalam install, upgrade, remove kalau sudah tidak perlu
  3. cari pengalaman baru. selama 3 tahun ini menggunakan jekyll simpel,banyak dokumentasi dan theme yang free. Hugo setelah dicermati memberikan prospek yang tidak kalah bagus dibanding jekyll. Bagus di sini maksudnya adalah tergantung selera penulis. Hehehehe

Sedangkan kelemahan hugo adalah tidak didukung secara resmi oleh Github Page. Namun, tetap bisa menggunakan hosting github page. Begini proses migrasinya.

Akses WhatsApp Web via Seamonkey

Beberapa waktu ini saya lebih sering browsing dengan Seamonkey karena lebih ringan dan cepat (penilaian subjektif). Overall lancar jaya aman terkendali. Namun, ada 1 yang tidak bisa dilakukan : akses WhatsApp Web!

WhatsApp Web tidak bisa diakses dengan Seamonkey

Untuk mengatasinya,

  1. about:config
  2. Muncul peringatan. Klik I accept the risk!
  3. Isikan pada Search: general.useragent.compatMode.strict-firefox
  4. Ubah valuenya dari false ke true
  5. Restart Seamonkey

WhatsApp Web sudah bisa diakses dengan Seamonkey

Screenshot android dengan adb

Misalkan akan mengambil screenshot layar hp berbasis android. Screenshot disimpan di external memory (sdcard) dengan nama file screenshot.png

adb shell screencap -p /sdcard/screenshot.png

Mengenal R_HOME

R_HOME adalah direktori tempat R diinstall. Maksudnya, pada direktori inilah terdapat file binary dan konfigurasinya. Pada linux khususnya slackware, R_HOME ada di

/usr/lib{,64}/R
# tergantung arsitekturnya apakah 32bit atau 64bit.

NetworkManager device not ready

Baru beberapa hari memakai (lagi) NetworkManager, sudah bermasalah (lagi).

device not ready

begitulah….

Padahal network interface-nya terdeteksi semua dengan benar seperti biasanya jaman tidak pakai NetworkManager. Solusinya dari berbagai referensi (lupa mencatat linknya)

echo "managed=true" >> /etc/NetworkManager/NetworkManager.conf

Tapi, ternyata ini kemudian munculkan warning di syslog

Aug  9 12:04:53 localhost NetworkManager[1047]: <warn>  [1596949493.8398] config: unknown key 'managed' in section [main] of file '/etc/NetworkManager/NetworkManager.conf

Ya sudah, kembalikan saja ke aslinya, dan restart (entah berapa kali restart sampai normal). Sampai sekarang belum terjadi lagi (dan semoga tidak akan terjadi lagi. Saya lelah dengan kerewelan NetworkManager).

Bye wicd

Sabtu, 1 Agustus 2020, Pat mengumumkan penghapusan wicd dari repo slackware current.

extra/wicd/wicd-1.7.4-x86_64-3.txz: Removed.

This is unmaintained, possibly insecure, and doesn’t work with Python versions newer than 2.7.18. NetworkManager is a better choice these days.

Selama lebih dari 5 tahun ini, saya merasa lebih nyaman menggunakan wicd daripada NetworkManager. Kenyamanan ini sebenarnya karena saya tidak mau repot, NetworkManager seringkali timbulkan masalah, salah satunya mengatur hostname dan domain. Keduanya saya kosongi. Mengapa? Saya belum kepikiran nama apa yang cocok. Hehehe……

Edit video ffmpeg tanpa menurunkan kualitas

Ketika mengedit video menggunakan ffmpeg, filter video ataupun filter yang lebih kompleks seperti menambahkan watermark, tanpa pengaturan tambahan kadang hasilnya mengecewakan. Gambar pada video menjadi pecah. Untuk meminimalisirnya, bisa ditambahkan opsi -q:v 0.

Memisahkan halaman PDF

Kadang kita perlu mengambil beberapa halaman dari e-book atau sejenisnya yang bertipe pdf. Kita bisa gunakan pdfjam. Misalkan akan mengambil halaman 10-21 dari file buku.pdf.

pdfjam buku.pdf '10-21'

Deteksi duplikasi file

Walau sudah ada tools yang secara langsung mengetahui duplikasi file di linux, saya lebih suka menggunakan tools bawaan Slackware. Tools yang umum digunakan antara lain fslint, fdupes atau jdupes. Adapun tools yang biasa saya gunakan

  1. sha512sum
  2. awk
  3. uniq
  4. grep

Misalkan, akan mencari adakah duplikasi file di folder Downloads. Pertama, catat dulu hash-nya. Di sini saya gunakan sha512. Kumpulan sha512 tersebut disatukan dalam file downloads.sha512. File ini terdiri dari 2 kolom. Kolom pertama berisi hash, sedangkan kolom kedua nama filenya.

Menggabungkan video ffmpeg

Sebelum menggabungkan video, agar optimal, video-video yang akan digabungkan harus mempunyai frame size, frame rate, rata-rata volume dan container/format yang sama. Misalkan akan digabungkan 4 file video, yaitu

  1. piknik-1.mkv
  2. piknik-2.mkv
  3. piknik-3.mkv
  4. piknik-4.mkv

Keempat file tersebut berada dalam folder yang sama. Kemudian mereka akan digabungkan menjadi piknik.mkv. Sebelum digabungkan, membuat list dulu bernama list-piknik yang juga berada sefolder dengan mereka berempat. List berisi video yang akan digabung.

$ vim list-piknik
file 'piknik-1.mkv'
file 'piknik-2.mkv'
file 'piknik-3.mkv'
file 'piknik-4.mkv'

Untuk menggabungnya

Operasi direktori R

Mengetahui working directory

Secara default, working directory pada Slackware adalah home directory user atau di mana command R dijalankan.

getwd()

Mengganti working directory

Misal, akan berpindah working directory ke Documents/project

setwd('Documents/project')

Mengetahui volume suara video

Sebelum menggabung-gabungkan beberapa video menjadi 1, penting untuk mengetahui berapa intensitas suara/volumenya, agar beberapa video itu bisa diatur sedemikian rupa sehingga suaranya seragam volumenya atau hampir sama dari awal sampai akhir.

Untuk mengetahui intensitas suara video intro.mkv

$ ffmpeg -i intro.mkv -filter:a volumedetect -f null /dev/null
Input #0, matroska,webm, from 'intro.mkv':
  Metadata:
    COMPATIBLE_BRANDS: isommp42
    COM.ANDROID.VERSION: 9
    MAJOR_BRAND     : mp42
    MINOR_VERSION   : 0
    ENCODER         : Lavf58.29.100
  Duration: 00:00:14.90, start: 0.000000, bitrate: 5559 kb/s
    Stream #0:0(eng): Video: mpeg4 (Simple Profile), yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1k tbn, 30 tbc (default)
    Metadata:
      HANDLER_NAME    : VideoHandle
      ENCODER         : Lavc58.54.100 mpeg4
      DURATION        : 00:00:14.900000000
    Stream #0:1(eng): Audio: vorbis, 48000 Hz, stereo, fltp (default)
    Metadata:
      HANDLER_NAME    : SoundHandle
      ENCODER         : Lavc58.54.100 libvorbis
      DURATION        : 00:00:14.849000000
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 (native) -> wrapped_avframe (native))
  Stream #0:1 -> #0:1 (vorbis (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to '/dev/null':
  Metadata:
    COMPATIBLE_BRANDS: isommp42
    COM.ANDROID.VERSION: 9
    MAJOR_BRAND     : mp42
    MINOR_VERSION   : 0
    encoder         : Lavf58.29.100
    Stream #0:0(eng): Video: wrapped_avframe, yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc (default)
    Metadata:
      HANDLER_NAME    : VideoHandle
      DURATION        : 00:00:14.900000000
      encoder         : Lavc58.54.100 wrapped_avframe
    Stream #0:1(eng): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s (default)
    Metadata:
      HANDLER_NAME    : SoundHandle
      DURATION        : 00:00:14.849000000
      encoder         : Lavc58.54.100 pcm_s16le
frame=  447 fps= 97 q=-0.0 Lsize=N/A time=00:00:14.90 bitrate=N/A speed=3.24x    
video:234kB audio:2784kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_volumedetect_0 @ 0x1a28300] n_samples: 1425280
[Parsed_volumedetect_0 @ 0x1a28300] mean_volume: -12.1 dB
[Parsed_volumedetect_0 @ 0x1a28300] max_volume: 0.0 dB
[Parsed_volumedetect_0 @ 0x1a28300] histogram_0db: 10593

Dari hasil tersebut di atas, tampak bahwa rata-rata intensitas suara/volumenya -12,1 dB dengan maksimum 0,0 dB.

Aktivasi android GPS via adb

Untuk mengaktifkan lokasi android, dengan mode akurasi tertinggi (GPS dan network/jaringan) menggunakan adb

adb shell settings put secure location_mode 3

Kalau ingin menonaktifkan, ganti angka 3 dengan 0.

Menambah watermark gambar ke video dengan ffmpeg

Misalkan kita akan memberikan watermark berupa gambar logo.png ke video ramadhan.mkv. Watermark ditempatkan di pojok kiri bawah. Video dengan watermark diberi nama ramadhan-fix.mkv

ffmpeg -i ramadhan.mkv -i logo.png -filter_complex "overlay=x=0:y=(main_h-overlay-h)" ramadhan-fix.mkv

Keterangan opsi dan parameternya

-filter_complex : menggunakan filter yang kompleks
overlay : menambahkan watermark
x : posisi pada sumbu x, dihitung dari ujung kiri
y : posisi pada sumbu y, dihitung dari ujung atas
main_h : tinggi video
main_w : lebar video
overlay_h : tinggi gambar yang akan dijadikan watermark
overlay_w : lebar gambar yang akan dijadikan watermark

Mengubah resolusi video ffmpeg

Misalkan terdapat video VID20200509135621.mp4, dengan resolusi 3840x2160 SAR 1:1 DAR 16:9. Akan diubah resolusinya menjadi 1920x1080 dengan tetap memperhatikan SAR dan DAR. Video hasil scaling ini diberi nama VID20200509135621-1080p.mkv. Perubahan ini sekaligus konversi ke mkv agar menghemat space.

ffmpeg -i VID20200509135621.mp4 -vf "scale=1920:1080, setdar=16:9, setsar=1:1" VID20200509135621-1080p.mkv

Disable tampilan konfigurasi ffmpeg

Secara default, output ffmpeg akan menampilkan built configuration yang digunakan.

$ ffmpeg
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9.2.0 (GCC)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/doc/ffmpeg-4.2.2/html --mandir=/usr/man --disable-debug --enable-shared --disable-static --enable-gpl --enable-version3 --enable-avresample --arch=x86_64 --disable-encoder=aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gnutls --enable-libbluray --enable-libcaca --enable-libcdio --enable-libopus --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libmp3lame --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libpulse --enable-libsmbclient --enable-libwavpack
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

Menurut saya ini tidak perlu ditampilkan. Berdasarkan pengalaman selama ini menggunakan ffmpeg baik-baik saja. Informasi tersebut bisa dikatakan mubadzir. Lebih baik tidak ditampilkan. Caranya beri opsi

Mengenal objek R factor

Factor adalah representasi data kategorik. Factor bisa dibuat dengan fungsi factor() atau cut(). Saya lebih sering menggunakan cut() karena lebih aplikatif saat akan mengubah skala data dari rasio atau interval ke ordinal.

Contoh, bmi adalah data body mass index (BMI) atau indeks massa tubuh (IMT). Klasifikasi IMT ada 4 macam, yaitu

Edit volume suara

Editing kali ini adalah bagaimana mengubah volume default audio/suara menggunakan ffmpeg. Misal, file yang akan diinput/diedit adalah video.mp4. Karena suaranya terlalu pelan, akan dinaikkan menjadi 5x semula melalui filter audio. File hasil editan diberi nama video-louder.webm.

ffmpeg -i video.mp4 -filter:a "volume=5" video-louder.webm

Apabila suara terlalu nyaring bisa dipelankan. Berikut akan dipelankan menjadi setengahnya dari volume semula dan file baru diberi nama new.webm

ffmpeg -i video.mp4 -filter:a "volume=0.5" new.webm

Atau, dengan menuliskan volume suaranya secara langsung. Default aslinya 256. Misalkan akan dinaikkan menjadi 300 kemudian disimpan sebagai anyar.mkv

Convert jpg ke pdf

Untuk menjadikan file jpg ke pdf caranya mudah. Misalkan file-gambar.jpg akan diubah menjadi pdf dengan nama dokumen.pdf

convert file-gambar.jpg dokumen.pdf

Melihat isi file zip

Menggunakan linux terutama slackware membuat pekerjaan lebih ringan dan efisien. Suatu ketika diberikan sebuah file terkompresi zip yang misterius. Misterius karena ukurannya besar dan konon kata empunya file tersebut ngehang saat akan dibuka di komputer dengan sistem bukan slackware juga bukan linux. Dan ketika dibuka di slackware ketahuanlah nama “penduduk” zip tersebut.

zip -sf namafile.zip
# atau
less namafile.zip

Trimming Video ffmpeg

Misalkan, kita akan mencuplik sebagian (trimming) video video-asli.mp4 dari menit ke 57 lebih 34 detik sampai durasi ke 1 jam 2 menit 5 detik. Fila hasil trimming adalah cuplikan.mp4

ffmpeg -i video-asli.mp4 -ss 00:57:34 -to 01:02:05 -c copy cuplikan.mp4

Mengenal Objek R Vector

Sebagai bahasa pemrograman, R mempunyai beberapa tipe objek, antara lain vector, matrix, factor, data frame, list. Bagi yang pernah berkecimpung di bahasa pemrograman lain mungkin tipe objek ini terasa aneh. R adalah bahasa pemrograman spesialis data, maka tipe objeknya pun disesuaikan agar mudah meng-handle data.

Vector merupakan objek yang sangat penting di R. Bisa dikata, semua data berasal dari vector.

Apa sih vector?

Mudahnya, vector bisa dikatakan sebagai variabel. Vector ini berisi elemen (datum atau data) yang seragam, bisa berupa angka atau karakter/string atau bisa juga boolean (TRUE FALSE).

Install JASP

JASP, singkatan dari Jeffreys’s Amazing Statistic Program, merupakan open source statistics software. Software ini layak dijadikan pilihan utama karena:

  1. Open source. Karena open source semua orang boleh memakai, melihat source code-nya dan berkontribusi (melaporkan masalah, mengusulkan fitur dan perbaikan). Silahkan menuju ke https://github.com/jasp-stats/jasp-desktop .
  2. Pengembangan dinaungi oleh akademisi dari University of Amsterdam, Duke University, University of Southampton, UNiversity of Sussex, University of Missouri, Athens University of Economics dan Business, Missouri State University, University of Groningen, Nyenrode Business University, University of Zurich dan Ludwig-Maximilians-Universität München.
  3. Menyediakan berbagai analisis baik analisis frequentist maupun Bayesian.
  4. Tabel hasil dalam format APA yang dengan mudahnya di-copas ke word processosr seperti LibreOffice Writer atau Microsoft Word.
  5. Tersedia untuk Linux, MacOS, dan Microsoft Windows.

Install JASP

Karena saya memakai Slackware maka cara yang ditulis di sini tentu saja yang berlaku untuk Slackware dan linux umumnya. Install menggunakan flatpak. Flatpak tersedia di SBo. Untuk install membutuhkan download dari repo sekitar 1,4GB.

Dispersi Data dengan R

Dispersi atau ukuran penyebaran data menunjukkan seberapa bervariasi suatu data. Kali ini data yang digunakan diambil dari dataset ldeaths yang merupakan bagian dari UKLungDeaths. Dataset UKLungDeaths berisi data jumlah kematian akibat penyakit bronchitis, emphysema dan asma di Inggris dalam kurun waktu 1974-1979. Data ini disajikan berdasarkan bulan dan jenis kelamin. Secara total untuk kedua jenis kelamin ada di ldeaths, laki-laki mdeaths dan perempuan fdeaths.

Nilai minimal

min(ldeaths)
[1] 1300

Nilai maksimal

max(ldeaths)
[1] 3891

Range

range(ldeaths)
[1] 1300 3891

Varians

var(ldeaths)
[1] 371911.8

Standar deviasi

sd(ldeaths)
[1] 609.8457

Tendensi Sentral dengan R

Data yang digunakan :

> nilai
[1] 25 60 79 32 57 74 52 70 82 36 75 77 81 95 41 65 92 85 55 66 52 10 64 75 78
[26] 25 80 98 81 67 41 71 83 54 64 72 88 62 74 45 60 78 89 76 48 84 84 90 15 79
[51] 35 67 17 82 69 74 63 80 85 61

Mean

> mean(nilai)
[1] 65.31667

Rerata nilai adalah 65,31667.

Median

Cara 1 : menggunakan median()

> median(nilai)
[1] 70.5

Cara 2 : menggunakan quantile()

Karena median tak lain adalah kuartil 2 atau dengan kata lain posisinya di tengah-tengah atau pada posisi 50% maka

> quantile(nilai, 0.5)
 50% 
70.5

Median nilai adalah 70,5.

Modus

> names(which.max(table(nilai)))
[1] "74"

Modus adalah 74.

Kuartil 1

> quantile(nilai, 0.25)
  25% 
54.75

Kuartil 1 nya adalah 54,75.

Input Data R

Input data dalam R sangat mudah dan ada beragam cara, yaitu:

  1. Menuliskan dalam bentuk syntax. Data diinput sebagai vektor. Penulis lebih suka menggunakan cara ini apabila data tersebut 1 variabel saja dan banyaknya tidak lebih dari 30. Kadang juga penulis gunakan untuk data yang banyaknya kurang dari 100
  2. Melalui data frame. Data diinput ke dalam bentuk tabel. Baris tabel menunjukkan kasus sedangkan kolomnya adalah variabel. Cocok digunakan apabila lebih dari 1 variabel.
  3. Import dari file. Data dibuat tanpa menggunakan R dan disimpan ke dalam bentuk file. Data bisa dibuat menggunakan text editor (contoh vim, gvim, nano, pico, kate), aplikasi perkantoran (LibreOffice Calc dan Microsoft Excel) atau aplikasi statistik lainnya seperti SPSS, Minitab, dan Stata).

Pada kesempatan ini yang digunakan adalah cara pertama. Misalkan datanya adalah nilai ujian dari 60 mahasiswa sebagai berikut :

Package bawaan R Slackware

Berikut adalah package atau library R yang secara default terinstall di Slackware melalui SBo.

  1. KernSmooth.Functions for Kernel Smoothing Supporting Wand & Jones (1995)
  2. MASS. Support Functions and Datasets for Venables and Ripley’s MASS
  3. Matrix. Sparse and Dense Matrix Classes and Methods
  4. base. The R Base Package
  5. boot. Bootstrap Functions (Originally by Angelo Canty for S)
  6. class. Functions for Classification
  7. cluster. “Finding Groups in Data”: Cluster Analysis Extended Rousseeuw et al.
  8. codetools. Code Analysis Tools for R
  9. compiler. The R Compiler Package
  10. datasets. The R Datasets Package
  11. foreign. Read Data Stored by Minitab, S, SAS, SPSS, Stata, Systat, Weka, dBase, …
  12. grDevices. The R Graphics Devices and Support for Colours and Fonts
  13. graphics. The R Graphics Package
  14. grid. The Grid Graphics Package
  15. lattice. Trellis Graphics for R
  16. methods. Formal Methods and Classes
  17. mgcv. Mixed GAM Computation Vehicle with Automatic Smoothness Estimation
  18. nlme. Linear and Nonlinear Mixed Effects Models
  19. nnet. Feed-Forward Neural Networks and Multinomial Log-Linear Models
  20. parallel. Support for Parallel computation in R
  21. rpart. Recursive Partitioning and Regression Trees
  22. spatial. Functions for Kriging and Point Pattern Analysis
  23. splines. Regression Spline Functions and Classes
  24. stats. The R Stats Package
  25. stats4. Statistical Functions using S4 Classes
  26. survival. Survival Analysis
  27. tcltk. Tcl/Tk Interface
  28. tools. Tools for Package Development
  29. utils. The R Utils Package

Packages tersebut bisa dilihat dengan menjalankan pada Rconsole

Mengenal R

R adalah salah satu bahasa pemrograman yang banyak digunakan dan bersifat open source. R bisa dikatakan sebagai bahasa pemrograman spesialis data. Tidak mengherankan kalau R digunakan untuk keperluan handling data seperti statistik, data mining, data science dan machine learning.

Meskipun bersifat open source, sampai sekarang belum ada sistem operasi open source yang memasukkan R secara default terinstall dalam sistemnya. Namun demikian beberapa distro linux menyertakan R ke dalam repo resmi. Distro tersebut antara lain Debian, OpenSUSE dan Ubuntu. Bagaimana dengan Slackware? Officiall repo tidak ada. Namun, bisa didapatkan dari komunitas SBo. Apakah tersedia untuk Windows dan MacOS? Pengembang R sangat baik hati. Mereka juga membuat R untuk Windows dan MacOS. Jadi, R bisa digunakan semua sistem operasi komputer.

Fullscreen Mozilla Firefox

Terkadang saat browsing perlu fokus sehingga tampilan pun butuh fullscreen. Pada Mozilla Firefox, secara default F11 adalah tombol untuk fullscreen dan exit fullscreen. Akan tetapi, hal ini tidak berlaku pada kami, Slackware64 current dengan desktop environment XFCE yang berjalan di laptop Lenovo Ideapad 110-14IBR. Pada perangkat kami ini, F11 untuk mengurangi brightness. Maka, untuk fullscreen dan exit-nya kami gunakan Fn F11.

MtpErrorCantOpenDevice

Ketika akan memindahkan data dari HP android ke laptop melalui thunar, menunggu lama dan berujung gagal. Setelah dicek dengan mencoba melalui jmtpfs

$ jmtpfs
Device 0 (VID=0e8d and PID=201d) is a MediaTek Inc Elephone P8000.
error returned by libusb_claim_interface() = -6LIBMTP PANIC: Unable to initialize device
terminate called after throwing an instance of 'MtpErrorCantOpenDevice'
  what():  Can't open device
Aborted

Ada masalah di libusb. Coba reinstall libusb

perlintro panduan pertama belajar pemrograman perl

Salah satu keunggulan perl dibanding bahasa pemrograman lainnya adalah tersedia dokumentasi atau panduan bagi pemula. Pemula membutuhkan panduan singkat tapi tetap komprehensif dan mudah dipahami. Perl sudah memberikannya. Dokumentasi atau panduan ini bisa diakses secara offline setelah menginstall perl. Namanya adalah perlintro.

$ perldoc perlintro

Rename Banyak File Sekaligus

Tak terasa ternyata sudah lebih dari 3 bulan tidak posting. Mengapa? Sibuk? Kesibukan sebenarnya seperti biasa. Tidak ada peningkatan kesibukan secara signifikan. Lalu mengapa? Alasannya simpel. Karena semua kegiatan berkomputer baik-baik saja. Tidak ada masalah. Biasanya saya menulis di sini ketika saya menghadapi masalah terkait penggunaan komputer. Nah, kali ini masalahnya adalah saya menemukan banyak file yang namanya tidak sesuai dengan standar saya.

Contoh, adik-adik asisten anatomi mengirimkan softcopy materi asistensi. Penamaan file yang diberikan adik-adik adalah berawalan dengan MC untuk materi systema musculoskeletale. Saya ingin melakukan rename semua file tersebut yang semula berawalan MC menjadi berawalan Asistensi Anatomi Syst Musculoskeletale. Perubahan nama banyak file dengan nama yang cukup panjang tentu saja menyita waktu. Sebenarnya ini masih sangat mendingan, hanya 6 file. Rename satu-persatu sebenarnya tidak masalah juga. Tapi bagaimana kalau kasus serupa jumlah filenya puluhan, ratusan bahkan ribuan? Era industri 4.0 semakin menuntut efisiensi waktu. Efisiensi waktu ini berdampak pada efisiensi tenaga, baik itu tenaga brainware maupun komputernya yang kemudian mengakibatkan efisiensi biaya.

Restart android via adb

Catatan kali ini masih seputar troubleshoot HP android dengan komputer terutama Slackware.

Tadi malam, HP yang OS android touchscreen-nya tidak ada respon. Di semua bagian layar. Tapi tombol power dan volume masih berfungsi. Begitu juga dengan konektivitas internet maupun telepon. Mau mencoba di-restart, tombol power normal tapi untuk memilih shutdown atau reboot tidak bisa karena tochscreen-nya tidak ada respon. Lepas baterai? Tidak bisa karena baterainya tanam.

Solusinya? restart via komputer. Pastikan sudah terinstall andorid tools (tersedia di SBo).

Back Up Data HP Android

Sebelum berganti ponsel atau HP sangat disarankan untuk mem-back up data-data penting, seperti dokumen, foto, video, maupun chat WhatsApp. Berikut cara menyalin file dari HP android ke laptop yang tentu saja laptopnya bersistem operasi Slackware.

Persiapan Slackware

Pastikan bisa menjalankan adb yang merupakan bagian dari android tools. Kalau belum bisa install dari SBo

Mengapa adb?

Mengapa adb? Mengapa tidak pakai file manager saja? Karena transfer pakai adb bisa lebih cepat

Reverse Dependency sbopkg

Secara default sbopkg tidak menyediakan fitur reverse dependency. Adapun untuk butuh dependency-nya apa saja bisa menggunakan sqg. Bagaimana tahu reverse dependency-nya?

Ini cara sederhana yang saya gunakan

grep -w REQUIRES /var/lib/sbopkg/SBo/*/*/*/*.info | grep -w nama_paket

Dengan cara tersebut bisa diketahui suatu paket/package itu menjadi dependensi dari paket apa. Tapi, salah 1 dari output tersebut tidak lain adalah paket itu sendiri. Dan, package yang ditampilkan adalah semua yang ada di SBo. Kita masih perlu memeriksa apakah packages tersebut terinstall atau tidak.

Chromium Disable Unlock Keyring

Mungkin ada yang merasa bosan setiap membuka Chromium muncul kotak dialog Unlock Keyring.

Itu bisa diatasi, agar tidak muncul lagi. Aktifkan CHROMIUM_FLAGS pada /etc/chromium/00-default.conf.

CHROMIUM_FLAGS="--password-store=basic"

Membuat User Baru

Secara default, pascainstalasi Slackware hanya ada 1 user yaitu root. Slackware mempercayakan sepenuhnya apa yang akan dilakukan para penggunanya, karena memang hampir semua pengguna Slackware adalah pengguna yang telah berpengalaman. Namun, tak ada salahnya saya tuliskan di sini bagaimana cara membuat akun user baru di Slackware sebagai pengingat buat saya pribadi maupun pengguna lainnya.

Command-nya simpel saja

R/ adduser # saya gunakan R/ sebagai pengganti shell prompt untuk root

kemudian isi sesuai petunjuk yang diberikan.

Memulai MariaDB

Apa itu MariaDB

MariaDB adalah software untuk manajemen basis data atau database. Merupakan pengembangan dari MySQL karena pada tahun 2010 MysSQL diakuisisi oleh Oracle.

Install MariaDB

Secara default, apabila Slackware diisnntall full system maka MariaDB akan terinstall. Jadi tidak usah repot-repot untuk insytallnya.

Memulai MariaDB

Sebelum memulai, ada beberapa konfigurasi yang perlu dilakukan agar semua berjalan dengan baik. prompt R/ menunjukkan dilakukan dengan priviledge root

Perl IDE dengan vim

Reputasi vim sebagai text editor sudah teruji berpuluh tahun. Ternyata Vim juga memiliki support plugin untuk perl. Hal ini membuat vim bisa dijadikan sebagai integrated development environment (IDE) untuk perl.

Download plugin-nya kemudian extract

$ wget https://www.vim.org/scripts/download_script.php?src_id=24473 -O perl-support.zip -O perl-support.zip
$ mkdir -p .vim
$ unzip perl-support.zip -d .vim

Aktifkan

$ echo "filetype plugin on" >> .vimrc

Hapus Aplikasi yang Diinstall Tanggal Tertentu

Tiga hari ini mencoba-coba install kdenlive, aplikasi editor video yang konon handal. Sengaja disebut konon karena belum membuktikannya secara langsung. Setelah semua beres diinstall ternyata malah berubah pikiran. Apa perlu saya pakai editor video? Toh selama ini tidak pernah edit video dan pekerjaan sehari-hari juga tidak bersentuhan langsung dengan pembuatan maupun editing video. Jadi hapus sajalah.

kdenlive-nya sukses di-uninstall, tapi bagaimana dengan seabrek dependensinya? Hapus juga deh! Kalau besok-besok diperlukan tinggal install lagi.

Bermain Tetris dengan Emacs

Emacs sebagai text editor legendaris mempunyai banyak fitur. Salah satunya adalah tetris. Sebagai penggemar tetris tentunya belum afdhal kalau belum memainkannya.

Tetris bisa dimainkan dari Emacs pada menu bar klik Tools > Games > Tetris

Untuk memainkannya tekan tombol P untuk pause dan melanjutkannya, panah kanan-kiri untuk menggeser, panah bawah untuk mempercepat dan panah atas untuk merotasi atau mengubah bentuk.

Fix sbotools Perl unescaped left brace in regex is deprecated here

Siang ini, sudah agak lama tidak check update paket-paket dari SBo. Sudah 3 - 5 mingguan lah kira-kira. Kebetulan juga hari ini tadi agak longgar.

$ sbocheck # command ini dijalankan oleh root
Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/\$({ <-- HERE |)[A-Za-z0-9_]+(}|)/ at /usr/share/perl5/SBO/Lib/Build.pm line 244

Ada masalah ternyata dan masalahnya di Perl. Simpel sih solusinya. Buka file /usr/share/perl5/SBO/Lib/Build.pm, pada line 244 karakter { diganti {

Hapus Trash via Command Line

Iseng-iseng buka hidden folder ada yang menarik. File yang ada di Trash (bisa buka di Thunar dengan path trash:/// sama dengan yang ada di ~/.local/share/Trash/files/. Sehingga kalau ingin mengosongkan Trash dan posisi sedang di CLI dan tidak membuka file manager ataupun lagi aras-arasen, sangat bisa.

rm -rv ~/.local/share/Trash/*

Mencoba Manokwari

Beberapa waktu yang lalu mencoba install manokwari dan berhasil dengan beberapa kekurangan.

Proses install berjalan lancar walau sempat terhambat sebentar. Apalagi kalau bukan karena dependensi. Untuk compile menggunakan meson yang disediakan Pengembang dan prosesnya lebih cepat. Oiya, ini saya hanya lakukan di slackware64-current.

Tentang dependensi, saya bagi menjadi 3 bagian.

  1. Sudah terinstall secara default atau tersedia di official repo Slackware

    • meson
    • glib2
    • gtk+3
    • atk
    • cairo
    • x11
    • libnotify
  2. Tersedia di SBo

Mengganti Kata Secara Massal

Dulu, saat masih menggunakan BlankOn, ternyata pada beberapa postingan di blog ini ada ketidakseragaman, yaitu tag blankOn dan blankon yang sebenarnya secara esensial sama saja.

Sekarang sudah diperbaiki. Kata “blankOn” yang ada di tiap file diganti “blankon”. Penggantian ini secara massal saja biar lebih praktis. Filenya di direktori _posts.

sed -i 's/blankOn/blankon/g' _posts/*.md

Pentingnya Shebang

Shebang itu apa?

Pengguna linux, BSD, ataupun mac yang terbiasa melihat source code sangat mungkin sudah tidak asing lagi dengan shebang. Ada yang menyebut shebang sebagai sh bang, shabang, hashbang, hashpling, dan poundbang. Shebang ini dituliskan di baris pertama, yakni diawali dengan #!.

Contoh, untuk perl :

#!/usr/bin/perl

atau

#!/usr/bin/env perl

Sebagai pengguna linux khususnya Slackware, user akan merasakan betapa pentingnya shebang ini. Kepentingannya terkait fungsi shebang itu sendiri dan bagaimana user menjalankannya.

Operation not possible due to RF-kill

Pagi ini, refreshing dengan berganti desktop environment (DE) memakai Window Maker (WM). DE yang jarang digunakan karena biasanya memakai XFCE. Tampilannya sederhana, sampai-sampai panel pun tak ada. Sementara HP sudah siap untuk tethering. Tinggal konekkan! Eh tapi, bagaimana ini konek internetnya kalau panel tempat nongkrong Network Manager atau Wicd aja tak ada? Ya mau ga mau pakai CLI. Ok lah. Oh iya, untuk konek internet via CLI yang punya hak adalah root. Di sini $ maksudnya adalah tetap dilakukan oleh root. Untuk memudahkan syntax highlighting karena kalau command-nya ditulis dengan # akan terbaca sebagai komentar sehingga tidak begitu jelas terbacanya.

Mengapa Enkripsi dengan OpenSSL?

Mengapa saya suka mengenkripsi file dengan openssl? Karena

  1. Tersedia sebagai official package Slackware sehingga sangat mudah untuk install/remove/upgrade
  2. Tingkat keamanannya berlapis. Untuk melakukan dekripsi harus tahu jenis cipher enkripsi yang digunakan dan password-nya
  3. Mudah digunakan
  4. Bisa mengecoh orang lain karena isinya dienkripsi seakan-akan menjadi sesuatu yang tidak penting sehingga diabaikan bahkan dihapus. Hahahaha….

Convert Video Menjadi MP3

Ternyata tidak sulit mengkonversi/convert video menjadi audio, dalam hal ini mp3. Misalkan, akan dikonversi file video Gambang_Semarang.mkv menjadi file Gambang_Semarang.mp3

ffmpeg -i Gambang_Semarang.mkv -b:a 128K -vn Gambang_Semarang.mp3

(output) dari command tersebut di atas sengaja tidak ditampilkan di sini karena agak panjang.

Cara ini juga berlaku untuk mengubah file mp4 ke mp3 atau dengan kata lain, sebenarnya mengekstrak audio yang ada di dalam video.

Salah Password di Terminal

Pengguna GNU/Linux mungkin pernah salah menuliskan password saat login melalui terminal. Apa yang dilakukan?

Mungkin sebagian ada yang menekan backspace berkali-kali sampai dirasa cukup. Ya, sampai dirasa cukup. Sampai dirasa kursor sudah kembali ke posisi awal penulisan password. Tapi, tahukah kalau ada cara yang lebih smart ?

Ya, dengan kombinasi Ctrl + u .

Mengubah Nama Jalan OSM

Ketika [menggunakan OpenStreetMap (OSM)]({% post_url 2018-04-13-cari-lokasi-osm %}) dan menjumpai ada data/informasi yang kita tahu tidak benar, kita diijinkan untuk memperbaikinya. Inilah kelebihan OSM yang bersifat open source.

Kali ini memperbaiki kesalahan nama jalan. Jalan yang keliru penamaannya adalah Jalan Wonosari IV yang seharusnya Jalan Widosari IV. Jalan ini terletak di sebelah barat laut SMP Negeri 3 Semarang.

Kesalahan tersebut sudah saya perbaiki, sehingga kalau Pembaca membukanya di OSM peta di atas sudah tidak berlaku.

Mencari Lokasi dengan OpenStreetMap

Dari [catatan sebelumnya]({% post_url 2018-04-12-mengenal-josm %}) diketahui bahwa OSM adalah layanan peta digital. Berikut cara menggunakannya.

Misalkan, kita akan mencari di mana SMP Negeri 3 Semarang. Pertama, pastikan komputer terhubung ke internet dan buka web OSM. Pada kotak pencarian masukkan tempat yang dicari, (yang saya beri elips merah), dalam contoh ini saya tuliskan smp negeri 3 semarang.

Apabila ditemukan akan ditampilkan seperti di bawah ini

Mengenal JOSM dan OpenStreetMap

Sebenarnya sudah lama ingin menulis dengan topik Geographical Information System (GIS) tapi baru sempat sekarang.

OSM

Apakah OSM itu? OpenStreetMap (OSM) adalah salah satu layanan peta digital seperti Google Maps dan Here Maps yang dapat diakses melalui https://openstreetmap.org/ . OSM bersifat free & open source sehingga mempersilakan kita untuk berkontribusi secara luas, baik itu menambah/edit data maupun koreksi peta. Mengapa saya lebih suka OSM daripada layanan peta digital lainnya?

  1. Open source. Inilah alasan utama. Karena open source memungkinkan kita untuk berkontribusi.
  2. Masih berhubungan dengan alasan pertama, OSM memberikan kepercayaan (trust) kepada penggunanya dan ini membuat saya nyaman. Ada pengalaman tidak mengenakkan ketika saya mencoba memperbaiki peta digital lainnya. Saya usulkan perubahan/perbaikan agar peta tersebut sesuai kenyataan di lapangan. Sebagian kecil diterima, sedangkan sebagian lainnya bernasib antah-berantah yang meminjam kosa kata dalam lagu Gereja Tua-nya Panbers : tak tahu di mana rimbanya. Yang menyakitkan adalah perbaikan yang saya usulkan yang bernasib ga jelas itu lokasinya sangat dekat dengan rumah saya sendiri! Saya merasa dia kurang ajar dan sok tahu. Dia datang ke sana paling cuma 1x saja di tahun 2015 saat pemotretan dan tracking GPS (pembuatan peta). Lha saya bertahun-tahun lewat sana!

Saya rasa cukup curcolnya. Mari lanjutkan!

Slackpkg packages database error

Siang ini, upgrade beberapa paket SBo, salah satunya adalah nodejs. Tetapi terjadi insiden di sela-sela prosesnya : lowbatt sehingga laptop mati. Kejadian ini awalnya tidak saya ketahui, karena banyak paket yang di-upgrade sehingga lama kemudian saya tinggal mengerjakan pekerjaan yang lain.

Singkat cerita, saya ingin upgrade paket-paket official melalui slackpkg

Rename Network Interface

Entah mengapa tadi kepikiran untuk jalankan ifconfig -a. Ternyata kemudian ada output yang menarik

eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether c8:5b:76:66:51:6a  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan1: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether ca:b0:da:b5:3d:75  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Menariknya adalah angka index interface-nya. Semua 0 kecuali wlan yang 1 sendiri. Sebenarnya no problem sih, cuma ga sedap dipandang aja. Kalau indexnya kompak 0 kan cakep. Hahahaha…..

Libsodium Masuk -Current

Pada hari Rabu 6 Desember 2017 jam 14.13.48 UTC, Patrick Volkerding selaku BDFL Slackware, memberikan update di kanal -current. Salah satunya adalah menambahkan libsodium-1.0.15. Libsodium merupakan library atau pustaka untuk enkripsi, dekripsi, signature (tanda tangan digital), dlsb.

Bagi saya, masuknya libsodium membawa konsekwensi untuk rebuild dnscrypt-proxy yang menggunakan libsodium. libsodium yang sebelumnya adalah versi 1.0.13 dari SBo sedangkan versi baru dari official Slackware 1.0.15. Hal ini diketahui dari gagalnya men-start service dnscrypt-proxy .

Menggunakan Kernel Huge 4.14.0

Melanjutkan [catatan yang lalu]({% post_url 2017-11-18-switch-generic-kernel-4-14 %}) tentang bootloop apabila menggunakan kernel huge 4.14.0 sehingga harus beralih ke kernel generic. Update terbaru kemarin, 21 November 2017 jam 05.05.41 UTC atau jam 12.05.41 WIB menyelesaikan masalah ini melalui rebuilt elilo.

Setelah upgrade terutama untuk elilo jangan lupa menjalankan

eliloconfig

yang secara otomatis juga akan meng- generate elilo.conf yang berisi pengaturan boot dengan kernel huge.

Kernel 4.14.0 Masuk -Current, Beralih ke Kernel Generic

Setelah 2 minggu, -Current kembali mendapatkan update Jum’at kemarin tanggal 17 November 2017. Banyak update, ada yang upgraded, rebuilt, added, dan removed. Salah satunya adalah masuknya kernel 4.14.0 yang merupakan kernel terbaru yang dirilis tanggal 12 November 2017 yang lalu.

Setelah upgrade dan eliloconfig kemudian restart, ternyata muncul masalah! Bootloop! Loading vmlinuz… langsung reboot. Begitu seterusnya.

Mengamankan File Folder

Salah satu hal yang membuat saya menggunakan linux khususnya Slackware adalah perlindungan terhadap privasi. Data-data sensitif dan rahasia terlindungi dengan aman. Perlindungan ini ada beberapa bentuk/teknik antara lain penyembunyian, hak akses dan enkripsi. Penyembunyian sederhana dengan menambahkan . pada nama file/folder sangat tidak dianjurkan karena akan mudah dibobol. Teknik penyembunyian yang kami sarankan adalah dengan steganografi tetapi itu akan kami sampaikan besok-besok, insyaallah. Yang sekarang adalah menggunakan hak akses. Adapun dengan enkripsi bisa menggunakan [gpg]({% post_url 2017-01-14-enkripsi-dg-gpg %}) atau [openssl]({% post_url 2017-01-08-enkripsi-dg-openssl %}).

Mengatur Clang Sebagai C Compiler Utama

Secara default, C Compiler yang digunakan adalah gcc. Namun, apabila diinginkan, bisa dialihkan menggunakan clang. Caranya, buat file di /etc/profile.d misalnya c-compiler.sh, yang isinya

export CC=/usr/bin/clang
export CXX=/usr/bin/clang++

Multi Slackware dengan elilo

Posting kali ini terinspirasi dari Pak Walesa yang menulis di sini dan ini. Perbedaannya adalah pada boot loader yang digunakan. Saya gunakan elilo. Selain itu, sudah ada existing Slackware64 current dan Slackware64 14.2. Keduanya dengan filesystem ext4. Mau ditambahkan yang stable (Slackware64 14.2 dan Slackware 14.2) tetapi dengan filesystem btrfs. Jadi dual Slackware stable ini akan ditempatkan di dalam partisi yang sama. Sebenarnya tripleboot dengan Windows 10, tetapi Windows 10 sangat jarang dipakai. Jadi abaikan saja Windowsnya.

Menghapus dengan Pengecualian

Sebagai pengguna SBo dan sbopkg, file yang dihasilkan proses build ditaruh di /tmp. Folder ini lama-lama semakin banyak isinya. Padahal filenya bisa dikatakan tidak terpakai. Script masih aman tersimpan rapi di /var/lib/sbopkg. Sedangkan source-nya di /var/cache/sbopkg.

Semua yang ada di folder /tmp akan saya hapus kecuali file yang berekstensi txt. Saya memang kadang iseng nulis-nulis sesuatu kemudian saya simpan dengan ekstensi txt dan ditaruh di /tmp. File-file ini tidak mau saya hapus, buat dibaca jadi hiburan sendiri kelak bahwa dulu pernah iseng nulis seperti itu… Hahahaha…..

Akibat Lupa eliloconfig

Kemarin melihat ChangeLog ada beberapa update yang sebagian di antaranya adalah security fix. Salah satu update adalah kernel. Melakukan upgrade semuanya baik-baik saja dan lanjut shutdown. Siang ini, booting pun masih fine dan no problem. Begitu juga login. Baru terasa saat ingin masuk desktop malah gagal.

Convert Word ke PDF Secara Massal

LibreOffice sudah lama mendukung konversi file dari Word/Writer (doc, docx dan odt) ke file pdf. Keunggulannya adalah bisa melakukan konversi secara massal.

Misalkan, dipunyai 1000 file docx yang tersimpan di /Documents. Masing-masing file ini akan dikonversi menjadi pdf di /convert.

Presentasi dengan LCD Projector

Tools yang digunakan adalah xrandr. Sebenarnya bisa menggunakan aplikasi GUI yang disediakan desktop environment masing-masing, tapi saya lebih suka menggunakan xrandr agar universal bisa digunakan di lingkungan desktop apapun, entah itu Fluxbox, FVWM, TWM, Xfce, KDE, Lumina, LXQt, Mate, Cinnamon, dsb.

Pertama, identifikasi monitor/screen primer yang aktif tersambung saat ini, jangan sambungkan proyektor dulu

Rilis Lumina 1.3.0

Di suasana Idul Fitri, 26 Juni 2017, Ken Moore selaku project leader Lumina mengumumkan perihal rilisnya Lumina Desktop 1.3.0. Selang 4 hari kemudian dirilis patch yang pertama untuk 1.3.0. Catatan rilis resmi silahkan dibaca di sini.

Mungkin saja Moore tidak peduli dengan Idul Fitri, tapi bagi saya rilis kali ini tergolong istimewa. Mulai versi 1.3.0 ini lumina semakin powerfull untuk digunakan di Slackware. Sampai dengan versi 1.2.0_p1 (1.2.0 patchset 1), Restart dan Power Off pada menu sama sekali tidak berfungsi. Namun mulai 1.3.0 reboot dan shutdown sudah bisa dijalankan melalui menu.

Disable Command's History

Secara default, perintah/command yang dijalankan via terminal emulator dapat diakses lagi dengan klik tombol panah atas. Bisa juga dilihat dengan command history atau membaca isi ~/.bash_history. Ini bisa di-disable. Caranya, membuat file di /etc/profile.d/, yang isinya

export HISTFILE=/dev/null
export HISTSIZE=0

Konek Internet USB Tethering

Salah satu keunggulan GNU/Linux terutama Slackware adalah berlakunya banyak jalan menuju Roma. Contohnya untuk konek/menyambung ke internet, ada beberapa cara antara lain :

  1. nmcli, contohnya [di sini]({% post_url 2016-06-26-konek-inet-nmcli %}) dan [di sini]({% post_url 2016-12-07-nmcli-konek-wifi %}).
  2. pppsetup, caranya [seperti ini]({% post_url 2015-06-28-konek-internet-menggunakan-pppsetup %}) dan [ini]({% post_url 2015-08-17-setting-internet-xl-slackware %})
  3. [wvdial]({% post_url 2015-04-01-install-wvdial-slackware %})
  4. wpa_supplicant
  5. wicd

Cara lainnya yang saya pakai adalah dengan dhcpcd.

Install BlankOn dengan Debootstrap

Hari ini, sabtu, 11 Januari 2017, hujan turun lagi. Dan di kala hujan deras dan nggrejih begini sejak pagi, suwung pun melanda. Tiba-tiba terbersit untuk install BlankOn yang telah lama saya tinggalkan.

Teringat, DVD/USB installer-nya sudah tak ada. Iso-nya pun terhapus. So, what’s next? Download iso BlankOn? Ide bagus, tapi sayang kuota tak mencukupi. Beli DVD/USB tak memungkinkan. Harus pesan dulu, sampai di tangan paling cepat besok senin, keburu sudah tidak kepengin installl lagi. Hahahaha….

Install Padre

Padre merupakan integrated development environment (IDE) untuk bahasa pemrograman perl.

Padre ini belum dimasukkan ke dalam paket resmi Slackware maupun SBo. Sehingga ada 2 kemungkinan cara menginstallnya.

  1. Build sendiri dari source

  2. Install dari cpan

Cara yang saya gunakan adalah cara kedua, yaitu

Enkripsi File dengan gnupg

Selain dengan [openssl]({% post_url 2017-01-08-enkripsi-dg-openssl %}), enkripsi file juga dapat dilakukan dengan gnupg atau yang biasa disebut dengan gpg.

$ gpg -o file_hasil_enkripsi -c file_yang_akan_dienkripsi

Sedangkan untuk dekripsi

$ gpg -o file_hasil_dekripsi -d file_yang_akan_didekripsi

qtFM Segmentation Fault Pascaupgrade

Changelog current hari ini 12 Januari 2017 ramai sekali. Upgrade dan rebuilt secara masif seolah menjadi kado tahun baru dari Patrick Volkerding. Dan ternyata berimbas segfault alias Segmentation fault pada qtFM file manager berbasis Qt yang saya install dari SBo.

Enkripsi File dengan OpenSSL

Salah satu yang membuat saya kepincut menggunakan GNU/Linux yaitu mudahnya mengamankan file. Salah satu caranya adalah dengan enkripsi. Di sini saya gunakan openssl. Cara lainnya yang dapat digunakan adalah dengan [gpg]({% post_url 2017-01-14-enkripsi-dg-gpg %}).

Contoh, saya punya file yang perlu diamankan. Katakanlah filenya indonesia-raya.odt. Saya enkripsi menggunakan openssl dengan cipher rc4. File hasil enkripsi saya namai rahasia.odt yang saya taruh di fd dan fd saya mount di /media/hd0. Kemudian akan ditanya password enkripsinya.

KBBI Qt SlackBuild

Alhamdulillah malam ini bisa membuat slackbuild untuk KBBI Qt. Sebenarnya sih sudah sejak kira-kira 2 bulan yang lalu ingin membuat slackbuildnya, baru kesampaian sekarang.

KBBI Qt adalah aplikasi Kamus Besar Bahasa Indonesia (KBBI) yang dikembangkan oleh komunitas Belajar GNU/Linux Indonesia atau BGLI. Aplikasi ini dibuat dengan bahasa C++ dan framework Qt yang berlisensi GPLv3. Lisensi ini mengijinkan kita semua boleh menggunakan, memodifikasi dan menyebarluaskan aplikasi KBBI Qt.

blankon-wallpapers slackbuild

Alhamdulillah, hari ini, 1 Januari 2017, tepat di hari pertama tahun 2017, Tim Pengembang BlankOn secara resmi merilis BlankOn X dengan codename Tambora. Dan di hari ini pula, saya rilis blankon-wallpapers slackbuild secara resmi, walaupun sebenarnya sudah saya taruh di repo github sejak beberapa hari yang lalu.

Tujuan pembuatan slackbuild ini adalah untuk memasyarakatkan ke-Indonesia-an. BlankOn sebagai salah satu dari beberapa distro GNU/Linux yang dikembangkan oleh rakyat Indonesia tentu memiliki kekhasan bila dibandingkan dengan distro lainnya seperti Debian, Ubuntu, dan Fedora. Salah satu kekhasannya adalah wallpaper yang bernuansa Indonesia.

Notifikasi Baterai Lemah i3

Salah satu keistimewaan i3 atau i3wm adalah belum adanya notifikasi/pemberitahuan saat baterai lemah perlu di-charge. Status baterai sudah ada di bar/panel yang ditampilkan oleh i3status.

Berikut adalah script sederhana untuk menampilkan notifikasi saat baterai sedang lemah dan tidak sedang di-charge. Jika baterai telah mencapai batas (di sini saya gunakan 5%) maka setiap 30 detik akan tampil notifikasi untuk segera dilakukan charging Wayahe dicas bro….!. Dan ketika baterai sudah terisi full 100% tetapi masih dalam kondisi dicas akan tampil notifikasi tiap 30 detik bahwa baterai sudah full.

Scrolling pada XTerm

Di kalangan pengguna GNU/Linux mungkin xterm kurang familiar. Mengingat desktop environment populer seperti GNOME, KDE, Xfce, Mate dan LXQt telah mempunyai terminal emulator sendiri. Selain itu, xterm dianggap memiliki keterbatasan. Salah satunya adalah tidak bisa scrolling karena tidak adanya scrollbar.

nmcli untuk konek wifi

Untuk konek internet baik itu melalui modem, LAN, maupun wifi, pengguna GNU/Linux lebih sering menggunakan network manager yang applet-nya biasanya ada di panel sebelah kanan walau sebenarnya ada cara lain seperti ifconfig dan dhcpcd. Kalau dalam mode grafis sih saya rasa tidak masalah, tapi bagaimana kalau sedang berada dalam mode teks yang jelas tidak terpampang applet network manager-nya? nmcli adalah solusinya.

Maleo Slackbuild

Maleo adalah paket khas BlankOn untuk menjalankan aplikasi HTML5. Bagi pengguna Slackware yang berminat silahkan mencoba slackbuild yang saya buat di sini.

Adapun dependensinya adalah :

  • vala
  • libwebp
  • gnome-js-common
  • seed

Upgrade Plasma 5

Secara resmi, Slackware masih menggunakan KDE 4 yang “ketinggalan jaman” padahal pengembang KDE telah merilis KDE (sekarang biasa disebut Plasma) 5. Plasma 5 ini masih tetap seperti “kakaknya” (KDE 4) yang boros memory dibandingkan Xfce. Tapi, masya Allah tampilan lebih keren!

Untuk menikmatinya, Eric Hameleer atau yang terkenal dengan nama Alien telah membuat slackbuild dan binary package-nya yang bisa kita gunakan. Versi terakhir versi Eric saat ini adalah Plasma 5.7.4 sedangkan insya Allah tanggal 4 Oktober 2016 KDE merilis Plasma 5.8.0.

Mount qcow2

Untuk mengaitkan/mount berkas qcow2 ternyata tidak bisa langsung di- mount begitu saja. Ada beberapa tahapan yang semuanya membutuhkan hak akses root

Modul kernel NBD aktifkan dulu. Secara default modul NBD nonaktif. Untuk mengaktifkannya

modprobe nbd max_part=N

max_part=N isikan jumlah partisi yang ingin ditangani pada N. Misalnya, qcow2 tersebut kalau dijalankan dengan qemu berisi 8 partisi, maka nilai N adalah 8.

Nonaktifkan Penghapusan Unduhan Slackpkg

Secara default, slackpkg akan menghapus semua file yang di- download / unduh untuk melakukan install/upgrade paket segera setelah paket tersebut terinstall/upgrade. Ini terlihat dari file konfigurasinya yang terletak di /etc/slackpkg/slackpkg.conf pada baris 77

DELALL=on

Keuntungan dari konfigurasi ini menghemat ruang harddisk. Tapi saya lebih suka menonaktifkan fitur penghapusan ini. Jadi, pada bagian tersebut saya ubah on menjadi off.

Cek Harddisk Korup

Sewaktu booting, sekilas membaca some data may be corrupt. Untuk pesan error komplitnya belum sempat baca. Ya sudahlah setelah login langsung aja baca lognya

dmesg | grep -i corrupt
[   19.076118] FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

Nah kan, ternyata ada kemungkinan partisi yang korup, yaitu /dev/sda1. Dan direkomendasikan untuk menjalankan fsck.

Mengatur DNS Default

Secara default, DNS atau Domain Name Server yang digunakan adalah DNS dari operator/penyedia layanan internet. Namun sayangnya, operator tertentu kurang baik dalam penapisan/pemblokiran situs-situs negatif sehingga kadang konten-konten pornografi, judi, dan konten lainnya yang tidak sesuai dengan norma kesusilaan dan budaya Indonesia dapat sampai ke hadapan kita. Oleh karena itulah perlu menggunakan DNS lain.

Penggantian DNS ini ada 2 cara, yaitu manual dan otomatis.

Cara manual dengan menyunting berkas /etc/resolv.conf. Mengganti nameserver yang ada dengan nameserver yang diinginkan. Salah satu penyedia DNS penapisan situs negatif adalah Nawala. Nameserver nya adalah:

Terperangkap WindowMaker

Mencoba merasakan kejadulan WindowMaker yang sangat bersahaja, kemudian mencoba kembali ke habitat bersama xfce melalui command xwmconfig, membuahkan hasil yang mengecewakan. Tidak beralih ke xfce dan tetap di WindowMaker. Bahkan tidak bisa ganti DE lainnya termasuk KDE dan Mate.

Tapi kemudian bisa teratasi dengan menghapus .xinitrc dan folder GNUStep yang ada di home direktori pengguna.

Set Default Brightness

Kecerahan monitor / brightness 100% membuat mata cepat lelah. Apalagi kalau secara default begitu masuk X brightness-nya 100% dan mata terpajan dalam waktu lama. Hal ini tentunya tidak baik bagi kesehatan mata karena bisa menimbulkan Computer Vision Syndrome.

Berapa persen brightness yang pas? Silahkan Anda sesuaikan, senyaman Anda. Untuk mengatur brightness bisa gunakan xbacklight.

Untuk mengetahui berapa persen brightness yang digunakan saat ini xbacklight. Sedangkan untuk mengubahnya xbacklight -set persen. Contoh akan diatur brightness-nya 15%:

Virtual Manager unable to connect to libvirt

Melanjutkan [catatan kemarin]({% post_url 2016-07-04-virtmanager-no-module-requests %}), ternyata Virtual Manager belum bisa berjalan dengan baik. Sudah ada kemajuan sih dibanding yang kemarin, sudah bisa terbuka graphical front-end-nya, tapi ternyata kemudian muncul kotak dialog Virtual Machine Manager Connection Failure dengan detail sebagai berikut

Unable to connect to libvirt.

internal error: Cannot find suitable emulator for x86_64

Libvirt URI is: qemu:///system

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/connection.py", line 979, in _open_thread
    self._populate_initial_state()
  File "/usr/share/virt-manager/virtManager/connection.py", line 941, in _populate_initial_state
    logging.debug("conn version=%s", self._backend.conn_version())
  File "/usr/share/virt-manager/virtinst/connection.py", line 316, in conn_version
    self._conn_version = self._libvirtconn.getVersion()
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 3984, in getVersion
    if ret == -1: raise libvirtError ('virConnectGetVersion() failed', conn=self)
libvirtError: internal error: Cannot find suitable emulator for x86_64

Cek qemu apakah masih terinstall atau tidak. Harusnya sih memang terinstall karena saya belum pernah menghapusnya.

Virt-Manager ImportError: No module named requests

Setelah [upgrade slackbuilds]({% post_url 2016-07-03-upgrade-slackbuilds %}) kemarin ternyata Virtual Machine Manager tidak bisa dijalankan.

$ virt-manager
Traceback (most recent call last):
  File "/usr/share/virt-manager/virt-manager", line 33, in <module>
    from virtinst import util as util
  File "/usr/share/virt-manager/virtinst/__init__.py", line 89, in <module>
    from virtinst.distroinstaller import DistroInstaller
  File "/usr/share/virt-manager/virtinst/distroinstaller.py", line 23, in <module>
    from . import urlfetcher
  File "/usr/share/virt-manager/virtinst/urlfetcher.py", line 34, in <module>
    import requests
ImportError: No module named requests

Ternyata, ada masalah dependensi. ImportError: No module named requests menunjukkan tidak adanya modul requests, atau tidak terinstall paket python-requests. Ini dibuktikan dengan output ls /var/log/packages|grep python-request yang kosong.

Upgrade ke Slackware 14.2

Sehubungan dengan telah rilisnya Slackware 14.2 maka silahkan melakukan upgrade untuk mendapatkan keamanan yang lebih bagus dan fitur-fitur baru. Saya selama ini melakukan upgrade bertahap demi penghematan kuota internet. Dimulai dengan upgrade ke current karena saat itu versi stable yang baru (14.2) masih dalam proses pengembangan. Upgrade ini menggunakan slackpkg. Dan tentu saja membutuhkan sambungan internet.

  1. Pilih cermin atau mirror. Dengan menyunting /etc/slackpkg/mirrors, menghilangkan tanda komentar/tanda pagar pada repo yang diinginkan. Tersedia banyak repo yang bisa dijadikan rujukan, tetapi sayangnya baru 2 repo lokal yang resmi terdaftar, yaitu UI dan UKDW. Saya gunakan milik UKDW karena lebih dekat (UKDW di Yogyakarta sedangkan saya di Semarang) sehingga harapannya lebih cepat. Bisa juga memilih repo Slackware.com yang secara otomatis akan memilihkan repo terdekat. Pastikan hanya 1 repo yang dipilih.
  2. Update daftar paket dengan melakukan slackpkg update
  3. Upgrade slackpkg untuk mendapatkan alamat repo 14.2. Upgrade juga glibc-solibs. Keduanya dapat dilakukan secara simultan : slackpkg upgrade slackpkg glibc-solibs
  4. Kalau muncul pertanyaan tentang konfigurasi baru, pilih saja O alias overwrite. Kalau tidak muncul lakukan slackpkg new-config
  5. Setelah upgrade slackpkg pilih repo lagi karena ada perubahan alamat/URL repo kemudian update lagi.
  6. Lanjut install paket-paket baru yang sebelumnya tidak ada : slackpkg install-new
  7. Upgrade sistem : slackpkg upgrade-all. Akan ditampilkan paket yang bisa di-upgrade. Hilangkan tanda bintangnya dengan menekan tombol spasi bila tidak ingin paket tersebut di-upgrade kemudian OK.
  8. Hapus paket yang tidak berguna. Paket yang perlu dihapus dan berbagai perubahan dari Slackware 14.1 ke 14.2 bisa dilihat di sini : slackpkg remove
  9. Karena ada pergantian kernel, jangan lupa konfigurasi ulang boot loader itu lilo atau elilo. Kalau menggunakan lilo : liloconfig. Kalau menggunakan elilo : eliloconfig

Upgrade Slackbuilds Slackware 14.2

Setelah melakukan [ upgrade sistem ke Slackware 14.2]({% post_url 2016-07-03-upgrade-slackware-142 %}) ada baiknya upgrade juga paket yang diinstal dari slackbuilds.org.

  1. Upgrade sbopkg : sbopkg -u
  2. Versi sbopkg terbaru adalah 0.38.0 sedangkan yang terinstall 0.37.1. Untuk mengunduh versi terbaru ketik D
  3. Hasil unduhan : /tmp/sbopkg-0.38.0-noarch-1_wsr.tgz
  4. Setelah diunduh, upgrade : upgradepkg /tmp/sbopkg-0.38.0-noarch-1_wsr.tgz
  5. Karena menghasilkan konfigurasi baru, lakukan slackpkg new-config dan pilih overwrite saja.
  6. Kemudian update ke repo 14.2 : sbopkg pilih Utilities lalu Repository. Kemudian pilih SBo (14.2)
  7. Muncul konfirmasi, apakah akan membuat baru, pilih C untuk Create.
  8. Kemudian Back ke awal sbopkg, pilih Sync untuk update repo.
  9. Setelah sync-nya selesai, pilih EXIT kembali ke awal sbopk
  10. Kemudian pilih Updates untuk mengecek paket apa saja yang bisa di-upgrade.
  11. EXIT keluar konfirmasi apakah paket-paket tersebut akan dimasukkan ke dalam queue untuk bisa diinstall kemudian.YES untuk memasukkannya.
  12. Kembali di awal sbopkg. Pilih Queue
  13. PIlih Process akan muncul daftar paket langkah no.11
  14. Silahkan pilih paketnya kemudian OK Kemudian Install dan OK
  15. Tunggu sampai selesai.
  16. Keluar dialog apakah akan menghapus yang ada di queue. Pilih Clear untuk menghapus. Kemudian keluar info bahwa queue sudah dihapus, keudian OK
  17. Kembali ke Queue Menu pilih Back
  18. Kembali ke awal sbopkg, karena sudah selesai, silahkan Exit

Ganti Theme Xfce

Bosan dengan tampilan theme yang itu-itu aja? Tenang, theme-nya bisa diganti kok, bahkan diganti agar tampilannya mirip Mac OS X. Sebagai contoh akan kita install theme GlossyP3 yang membuat tampilan menjadi mirip Mac OS X.

Download terlebih dahulu berkasnya dari sini (pastikan tersambung internet). Berkas dalam bentuk arsip .tar.bz2 ekstrak ke direktori /usr/share/themes dengan hak administrator atau root.

Konek Internet dengan nmcli

Menyambung catatan tentang [hilangnya ikon atau NetworkManager]({% post_url 2015-12-26-ikon-networkmanager-hilang %}). Jika nm-applet tidak mempan untuk menampilkan applet NetworkManager, maka kita bisa gunakan nmcli.

nmcli adalah NetworkManager dengan antarmuka teks (command line interface).

nmcli
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }

OPTIONS
  -t[erse]                                   terse output
  -p[retty]                                  pretty output
  -m[ode] tabular|multiline                  output mode
  -c[olors] auto|yes|no                      whether to use colors in output
  -f[ields] <field1,field2,...>|all|common   specify fields to output
  -e[scape] yes|no                           escape columns separators in values
  -a[sk]                                     ask for missing parameters
  -s[how-secrets]                            allow displaying passwords
  -w[ait] <seconds>                          set timeout waiting for finishing operations
  -v[ersion]                                 show program version
  -h[elp]                                    print this help

OBJECT
  g[eneral]       NetworkManager's general status and operations
  n[etworking]    overall networking control
  r[adio]         NetworkManager radio switches
  c[onnection]    NetworkManager's connections
  d[evice]        devices managed by NetworkManager
  a[gent]         NetworkManager secret agent or polkit agent
  m[onitor]       monitor NetworkManager changes

Untuk melihat sambungan/koneksi yang telah dibuat dengan NetworkManager gunakan nmcli c. Berikut adalah contoh output-nya

Download Kitab Fathul Muin Maktabah Elkirtas

Pertama, buka Maktabah Elkirtasnya dulu dan pastikan tersambung internet.

Kemudian klik gambar kitabnya akan muncul daftar kategori kitabnya.

Scroll ke bawah pilih فقة شافعي

Scroll ke bawah dan pilih فتع المعين

Muncul konfirmasi untuk men- download

Yes akan melanjutkan dan tunggu sampai selesai

Selesai download muncul pemberitahuan

Klik Yes Kitab Fathul Muin siap dikaji.

Install Android Tools

Di catatan kemarin sudah saya sampaikan [cara install sbopkg]({% post_url 2016-05-03-install-sbopkg %}), nah sekarang adalah contoh cara menggunakan sbopkg, untuk install Android Tools.

Jalankan sebagai root

sbopkg

Tersedia pilihan Sync, Changelog, Packages, Updates, Browse, Search, Queue, Utilities, Help.

Pilih Search

Masukkan kata kuncinya, misalnya android

Kemudian akan muncul paket yang sesuai dengan kata kunci. Kemudian pilih paket yang diinginkan dengan OK.

[SOLVED] Slackware Current Susah Booting dan Shutdown

Tiga bulan lalu saya sambat Slackware current [hang]({% post_url 2016-02-08-slackware-current-hang %}) saat booting dan shutdown. Sekarang masalah tersebut teratasi.

Secara default laptop Asus X453MA diperuntukkan bagi pengguna Microsoft Windows. Hal ini terlihat dari web resminya yang menyediakan driver hanya untuk Windows khususnya Windows 8.1 dan Windows 10. Juga terlihat dari “paket bundling”-nya yang menyediakan Windows preinstalled.

Sedangkan yang saya punya, sebenarnya dulu belinya sudah diinstallkan Windows 8.1 oleh pihak toko. Awalnya saya pilih kosongan aja sesuai aslinya. Tapi berhubung pihak toko menawarkan Windows 8.1 trial 6 bulan dan saya kepengen icip-icip Windows 8.1 jadilah laptopnya ada Windowsnya. Nah, karena Windowsnya cuma trial, saya belum sanggup beli orinya (bajakan sih banyak yang jual) dan lebih suka pakai Linux, Jadilah laptopnya ber-Slackware.

Install sbopkg

Adakalanya pengguna Slackware membutuhkan paket/aplikasi di luar yang dirilis secara resmi oleh Slackware tapi tidak mau repot install dari kode sumber (source code). SlackBuilds.org (SBo) inilah yang mewujudkannya. Di SBo tersedia ribuan paket yang dapat dijalankan dengan baik di Slackware.

Kecuali dalam bentuk web interface SBo juga bisa dinikmati dalam bentuk command line interface yang dinamakan sbopkg. Sbopkg secara default tidak ter-install karena paket ini memang paket third party.

Untuk install-nya mudah. Tersedia kode sumber maupun paket binernya. Biar lebih praktis install dari binernya saja. Pastikan tersambung internet untuk mengunduh.

Install Tor Browser

Tor Browser adalah peramban web yang sangat memerhatikan privasi. Kita bisa mengakses web secara anonim/ anonymous karena melewati jaringan Tor yang beraneka jalur.

Sebenarnya di SBo sudah tersedia browser satu ini. Tapi sayang untuk versi Slackware 14.1 download link-nya expired. Tor Stable terbaru adalah versi 5.5.5 dan ini belum tersedia SBo resminya untuk Slackware. Jadi kita akan install mandiri. Tentu saja kita butuh koneksi internet untuk mengunduh berkasnya. Tor tersedia untuk Linux, Windows maupun Mac Os X, baik arsitektur 32 bit maupun 64 bit. Ini tidak hanya berlaku untuk Slackware tapi juga BlankOn. Di sini digunakan 64 bit. Proses instalasi dengan bukan root.

Mouse Stuck

Setelah upgrade current ternyata ada masalah dengan mouse. Mouse mengalami stuck, ga ada respons saat drag, drop, bahkan ga bisa klik baik klik kiri maupun kanan. Dari grup di telegram dapat informasi dari Pak Willy hal serupa juga dialami oleh beberapa slacker yang lainnya. Alhamdulillah masalah ini bisa solved dengan mudahnya di Slackware64 saya.

Dengan akses root copas /lib/modprobe.d/psmouse.conf ke /etc/modprobe.d. Kemudian uncomment baris terakhir.

Slackware Current Susah Booting dan Shutdown

Beberapa hari yang lalu (tepatnya kapan saya lupa) upgrade kernel dari 3.10.17, kernel yang dipakai Slackware64 14.1 ke kernel Current yaitu 4.4.0 (tapi saat catatan ini ditulis kernel Current sudah naik jadi 4.4.1). Upgrade kernel ini menimbulkan masalah, yaitu sering stuck saat boot dan shutdown.

Masalah ini terjadi baik arsitektur x86 maupun x86_64. Pada x86 sesuai laporan dari milis ID-Slackware, sedangkan pada x86_64 ini saya alami sendiri, dan setelah saya upgrade ke 4.4.1 pun belum ada perubahan berarti.

pip InsecurePlatformWarning

Saat melakukan pencarian dengan pip, muncul pesan

/usr/lib64/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:315: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning.
  SNIMissingWarning
/usr/lib64/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:120: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning

Biar peringatan ini tidak muncul lagi, ndg-httpsclient harus diupgrade.

Cara Menggunakan gdrv

gdrv adalah salah satu command line interface tool berbasis python untuk Google Drive. Cara menginstallnya silahkan buka [catatan ini]({% post_url 2015-07-26-install-gdrv %}). Adapun cara penggunaannya adalah sebagai berikut:

$ gdrv -h
usage: gdrv [-h] [-v] [-w] [-V]
            {ftp,pull,search,url,push,mkdir,share,trash,list,init} ...

YMK google drive command line tool

positional arguments:
  {ftp,pull,search,url,push,mkdir,share,trash,list,init}
                        drive sub command
    ftp                 interactive mode like sftp, lftp
    pull                command pull help
    search              command search help
    url                 command url help
    push                command push help
    mkdir               command mkdir help
    share               command share help
    trash               command trash help
    list                command list help
    init                command init help

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         increse verbosity/logging level
  -w, --write-config    write a default config
  -V, --version         show version infomation

Pertama, inisiasi dulu,

Mount ISO Image

Mempunyai berkas citra ISO/ISO image ada manfaatnya. Pertama, sebagai cadangan kalau FD/DVD installernya tidak dapat digunakan. Kedua, untuk melakukan remaster. Bagaimana caranya mengetahui isi dari ISO tersebut? Paket apa saja yang ada di dalamnya? Untuk distro tertentu seperti slackware misalnya, paket yang disertakan bisa dilihat dengan mudah dari ISO tanpa harus membakarnya. Kita mount saja ISOnya.

Misalkan berkas ISO yang akan di mount adalah slackware64-14.1-install-dvd.iso, dan akan di-mount di /mnt/iso

Tidak Ada Ikon NetworkManager di Panel

Iseng-iseng install lagi slackware tapi tanpa paket yang ada di kategori ap atau direktori slackware/ap dan xap (slackware64/xap).

Efek sampingnya adalah, tidak adanya ikon NetworkManager di panel. Di sini saya gunakan DE XFCE. Sementara itu paket direktori slackware/n semuanya terinstall.

Install dulu appletnya. Karena saya punya berkas ISOnya maka installnya bisa offline asalkan tahu di mana letak paketnya berada. Setelah mount ISOnya ke /mnt/iso,

installpkg /mnt/iso/slackware64/xap/network-manager*.txz

Ketika memunculkan ikon/applet NetworkManagernya ke panel,

Install Bazaar

Bazaar atau disingkat bzr adalah salah 1 jenis control version system seperti git.

Git secara default sudah terinstall tapi bzr harus diinstal sendiri.

$ wget http://launchpad.net/bzr/2.6/2.6.0/+download/bzr-2.6.0.tar.gz
$ tar xzf bzr-2.6.0.tar.gz
$ cd bzr-2.6.0
# python setup.py install

Install Mate Desktop

Walaupun desktop environment resmi Slackware adalah KDE dan Xfce, kita tetap bisa menggunakan DE lain, mate contohnya. Mate punya tampilan menarik tapi tetap ringan. Installnya mudah kok, seperti biasa pakai slackbuilds. Pastikan tersambung internet untuk mengunduh berkasnya, oya kita butuh kira-kira 500 MB untuk download mate.

Pertama, dengan peramban web buka github mate slackbuilds. Nah, karena di sini menggunakan 14.1 (bukan current) maka pilih branch 14.1-mate-1.10. Setelah itu unduh tarball/zipnya kemudian ekstrak. Atau bisa juga git nya di-clone.

Mengembalikan File yang Terhapus dengan Testdisk

Melanjutkan [catatan kemarin]({% post_url 2015-10-29-install-testdisk %}), kali ini adalah cara menggunakan testdisk untuk mengembalikan/memulihkan/recovery file yang terhapus. Misalkan dipunyai Flashdisk Toshiba berkapasitas 15 GB yang secara tak sengaja terhapus semua file yang di dalamnya.

Sebagai root jalankan

testdisk

kemudian akan muncul deskripsi tentang testdisk dan tawaran apakah akan membuat file log atau tidak. Di sini saya pilih No Log karena merasa log ini tidak terlalu penting.

Selanjutnya akan terdeteksi media simpan yang terpasang di komputer. Di sini flashdisknya terdeteksi sebagai /dev/sdc. pilih Disk /dev/sdc kemudian Proceed untuk melanjutkan.

Install Testdisk

Testdisk adalah salah satu aplikasi digital forensik multiplatform. Bisa dijalankan di Windows (NT4, 2000, 2003, XP, Vista dan 7), Linux, FreeBSD, OpenBSD, NetBSD, SunOS, dan MacOS. Adapun kegunaannya untuk mengembalikan partisi yang terhapus beserta file-file yang ada di dalamnya. Informasi lebih lengkap tentang testdisk bisa didapatkan di sini.

Sebenarnya untuk Slackware sudah ada slackbuild-nya, tapi tidak ada salahnya kalau install dari kode sumber. Penginstallan dijalankan dengan level root.

wget http://www.cgsecurity.org/testdisk-7.0.tar.bz2
tar xjvf testdisk-7.0.tar.bz2
cd testdisk-7.0 
./configure
make
make install

Oke, testdisk sudah diinstall. Untuk mulai menjalankannya (harus level root)

Download Video Youtube

Download video dari Youtube adalah hal yang mudah bagi pengguna Slackware. Paling tidak ada 2 cara. Cara pertama menggunakan peramban web, dan cara kedua menggunakan youtube-dl yang berantar muka teks. Di sini menggunakan cara kedua. Untuk menginstall youtube-dl silahkan [klik di sini]({% post_url 2015-10-01-install-youtubedl %}).

Cara menggunakannya

youtube-dl url_video_youtube

Contoh, akan URL video yang akan di download adalah https://www.youtube.com/watch?v=lGRQIBJ5FBE&index=1&list=PLB9F411241A111B54.

youtube-dl https://www.youtube.com/watch?v=lGRQIBJ5FBE&index=1&list=PLB9F411241A111B54

Kalau ada beberapa video yang ingin didownload, masukkan saja URLnya ke satu file, tiap baris 1 URL, kemudian cara downloadnya tambahkan opsi -a

Install Youtube Downloader

Siapa bilang pakai Slackware ga bisa download video dari Youtube? Bisa kok pakai youtube-dl.Cara installnya gampang. Pastikan terhubung ke internet untuk mengunduh berkasnya. Dan untuk install butuh hak akses root. Di sini kita pakai cara yang mudah saja, install dari slackbuilds.org.

cd /usr/local/src
wget http://slackbuilds.org/slackbuilds/14.1/network/youtube-dl.tar.gz
tar xzf youtube-dl.tar.gz
cd youtube-dl
wget https://github.com/rg3/youtube-dl/archive/2015.09.22.tar.gz
sh youtube-dl.SlackBuild
installpkg /tmp/youtube-dl-2015.09.22-x86_64-1_SBo.tgz

Copy Paste di Terminal

Bagaimana sih caranya copy paste teks yang ada di Terminal? Untuk copy blok tulisannya kemudian klik kanan pilih Copy, atau setelah diblok tekan Ctrl Shift C. Sedangkan untuk paste ke terminal silahkan klik kanan pilih Paste atau tekan Ctrl Shift V.

Setting Internet XL Slackware

Di [catatan yang lalu]({% post_url 2015-06-28-konek-internet-menggunakan-pppsetup %}) telah kami sampaikan cara konek internet di Slackware dengan modem, ppp, dan internet provider atau operator Tri. Kali ini akan kami ganti dengan operator XL.

Sunting berkas /etc/ppp/options

# General configuration options for PPPD:
lock
defaultroute
noipdefault
modem
/dev/ttyUSB0
460800
crtscts
# Uncomment the line below for more verbose error reporting:
#debug
# If you have a default route already, pppd may require the other side
# to authenticate itself, which most ISPs will not do.  To work around this,
# uncomment the line below.  Note that this may have negative side effects
# on system security if you allow PPP dialins.  See the docs in /usr/doc/ppp*
# for more information.
#noauth
passive
asyncmap 0
name "3data"

Baris 19, ganti “3data” dengan “internet”.

Unduh ISO Slackware Current

Slackware adalah distro yang istimewa. Tak seperti distro lainnya yang menyediakan ISO versi terbaru atau current yang masih dalam pengembangan, slackware tidak merilis current ISO secara resmi. Walaupun demikian, ada yang menyediakannya bagi yang berminat, salah satunya bisa didapatkan di repo ftp://ftp.slackware.no.

Kali ini coba mengunduh slackware current ISO. Pakai rsync saja yang gampang dan bisa dilanjut kalau internetnya putus.

Sebelumnya cek dulu ISO terbaru

$ rsync ftp.slackware.no::slackware/slackware-iso/slackware-current-iso/
 
drwxr-xr-x          4,096 2015/07/28 10:00:29 .
-rw-r--r--            146 2015/07/28 10:00:29 CHECKSUMS.md5
-rw-r--r--        146,519 2015/07/18 02:38:53 ChangeLog-current.txt
-rw-r--r--        146,370 2015/07/18 02:38:53 ChangeLog64-current.txt
-rw-r--r--            371 2015/07/28 10:00:29 README.TXT
-rw-r--r--  2,703,075,328 2015/07/28 10:00:11 slackware-current-28_Jul_2015-DVD.iso
-rw-r--r--  2,633,039,872 2015/07/28 10:00:15 slackware64-current-28_Jul_2015-DVD.iso

ISO terbaru tertanggal 28 Juli 2015.

Install Google Play Downloader

GooglePlayDownloader adalah aplikasi berantar muka grafis (GUI) untuk mengunduh berkas APK dari Google Play Store. Dependensi:

  • python-protobuf (>=2.4)
  • python-requests (>=0.12)
  • python-ndg-httpsclient
  • python-pyasn1
  • python-wxgtk2.8 (>=2.8)
  • python 2.5+
  • java (opsional)

Itu yang tertulis di README.txt nya GooglePlayDownloader, tapi ternyata, khusus python-wxgtk2.8 diganti saja dengan wxpython. Oke kita install dependensinya dulu (pastikan tersambung internet).

easy_install protobuf requests ndg-httpsclient

Nah, karena wxpython diinstall dengan easy_install ga berhasil, maka install saja pakai [slackbuildnya]({% post_url 2015-07-18-install-wxpython %}). Kemudian, unduh Google Play Downloadernya. Sebenarnya sih mau unduh dulu atau install dependensi dulu terserah. Sebenarnya ada .deb nya, tapi berhubung di sini pakai Slackware maka unduh aja kode sumbernya biar lebih asyik.

Install wxPython

wxPython adalah salah satu toolkit untuk membuat aplikasi grafis dengan python. Untuk menginstallnya mudah, kita install saja slackbuildnya. Pastikan tersambung internet.

wget http://slackbuilds.org/slackbuilds/14.1/libraries/wxPython.tar.gz
tar xzf wxPython.tar.gz
cd wxPython
wget http://downloads.sourceforge.net/wxpython/wxPython-src-2.8.12.1.tar.bz2
sh wxPython.SlackBuild
installpkg /tmp/wxPython-2.8.12.1-x86_64-2_SBo.tgz

Install pip

Pip akan memudahkan kita semua untuk menginstall paket-paket yang terkait dengan python.

wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py
python get-pip.py

Mount Partisi Otomatis

Masih melanjutkan catatan yang kemarin tentang pemartisian. Setelah [membuat partisi]({% post_url 2015-07-11-membuat-partisi-dengan-cgdisk %}) kemudian [diformat]({% post_url 2015-07-12-memformat-partisi %}), langkah selanjutnya adalah memutuskan apakah partisi itu akan di-mount secara otomatis saat boot atau tidak.

Nah, karena partisi /dev/sda9 yang bersistem ext4 kemarin akan saya jadikan sebagai tempat source code paket/aplikasi, seperti untuk menyimpan berkas slackbuild, saya putuskan untuk mengaitkannya secara otomatis di /usr/local/src. Caranya adalah dengan menambahkan baris berikut ke /etc/fstab

Memformat Partisi

Melanjutkan catatan [kemarin]({% post_url 2015-07-11-membuat-partisi-dengan-cgdisk %}) sekarang partisinya diformat menjadi ext4, format filesystem yang umum digunakan untuk linux dengan kestabilan yang tidak diragukan lagi.

Partisi yang akan diformat ext4 adalah /dev/sda9 dan akan diberi label sebagai src. Pemformatan ini juga harus dilakukan root.

# mkfs -t ext4 -L 'src' /dev/sda9
mke2fs 1.42.8 (20-Jun-2013)
Filesystem label=src
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
871408 inodes, 3482075 blocks
174103 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=3569352704
107 block groups
32768 blocks per group, 32768 fragments per group
8144 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

Membuat Partisi dengan cgdisk

Partitioning atau pemartisian atau pembuatan partisi adalah pengetahuan yang harus dimiliki sebelum menginstall linux. Jika harddisk dianalogikan dengan rumah, maka partisi adalah kamar atau ruangan yang ada di dalam rumah itu. Kita bisa mengatur berapa jumlah kamar beserta ukuran dan fungsinya.

Skema partisi yang digunakan adalah GPT, bukan MBR, jadi pemartisian menggunakan cgdisk saja biar lebih mudah. Selain cgdisk bisa menggunakan gdisk. Sedangkan untuk MBR menggunakan cfdisk atau fdisk. Keempatnya berantarmuka text dan dijalankan oleh root. Oya, untuk antarmuka grafis (GUI) bisa menggunakan gparted.

Konek Internet Slackware

Di catatan yang lalu sudah pernah dibahas cara konek internet di Slackware dengan [wvdial]({% post_url 2015-04-01-install-wvdial-slackware %}). Sekarang masih tentang cara konek internet melalui modem di Slackware, hanya saja caranya berbeda. Kali ini menggunakan pppsetup yang secara default sudah dimiliki Slackware.

Perangkat yang kami gunakan:

  • laptop Asus X453MA
  • modem USB Huawei E1550
  • simcard dengan internet service provider 3.

Cara-cara berikut ini dijalankan oleh root.

pppsetup

Tekan enter.

Isi phone number dengan

Install Unrar

Di antara file kompresi/arsip yang ada, kompresi yang tidak saya utamakan adalah rar. Simpel sih alasannya, karena secara default baik BlankOn maupun Slackware tidak meng-embed ekstraktornya :D. Harus install dulu. Pastikan tersambung internet untuk mengunduh berkas.

Untuk BlankOn bisa install dari repo.

$ sudo apt-get install unrar

Sedangkan untuk Slackware install slackbuildnya saja.

# cd /usr/local/src
# wget http://slackbuilds.org/slackbuilds/14.1/system/unrar.tar.gz
# tar xzf unrar.tgr.gz
# cd unrar
# wget http://www.rarlab.com/rar/unrarsrc-5.2.6.tar.gz
# sh unrar.SlackBuild
# installpkg /tmp/unrar-5.2.6-x86_64-1_SBo.tgz

Install unrar selesai.

InstalL Sleuth Kit Slackware

The Sleuth Kit atau disingkat TSK adalah tools digital forensik yang bersifat open source, multiplatform dan text-mode (command line interface). TSK bisa digunakan untuk melakukan analisis pada barang bukti, atau lebih tepatnya citra disk (raw image). Misalnya untuk mengetahui berkas apa saja yang ada di dalam hardisk dan adakah berkas yang dihapus dari hardisk itu.

Dependensi:

  • autoconf, automake, libtool
  • C/C++ compiler (gcc, gcc++)
  • [JDK (opsional)]({% post_url 2015-06-07-install-jdk-slackware %})

Install cukup mudah, kita akan install langsung TSK dari source code yang ada di github

Install Xfburn Slackware

Xfburn adalah aplikasi burning CD/DVD/BD dari XFCE. Versi terbaru saat ini 0.5.4, dengan dependensi:

  • Exo-0.10.6
  • libxfce4util-4.12.1
  • libisoburn-1.4.0

Tapi untuk memudahkan instalasi, kita gunakan saja yang versi 0.5.2 yang ada slackbuildnya, dependensinya

  • [libburn]({% post_url 2015-06-16-install-libburn-slackware %})
  • [libisofs]({% post_url 2015-06-16-install-libisofs-slackware %})

Untuk menginstall pastikan [tersambung internet]({% post_url 2015-04-01-install-wvdial-slackware %}) untuk mengunduh berkas.

$ wget http://slackbuilds.org/slackbuilds/14.1/system/xfburn.tar.gz

Ekstrak kemudian pindah direktori ke folder hasil ekstrak

$ tar xzf xfburn.tar.gz ; cd xfburn

Unduh kode sumber xfburn

Install libburn Slackware

Libburn adalah pustaka (library) untuk menulis ke CD, DVD, dan blueray.

Berikut langkah-langkah installnya di slackware melalui slackbuild. Adapun versi libburn yang diinstall adalah 1.4.0.

Pertama, pastikan [tersambung internet]({% post_url 2015-04-01-install-wvdial-slackware %}) untuk mengunduh paket. Kemudian unduh slackbuild libburn.

$ wget http://slackbuilds.org/slackbuilds/14.1/libraries/libburn.tar.gz

Ekstrak

$ tar xzf libburn.tar.gz

Akan terbentuk folder libburn. Pindah direktori ke folder itu.

$ cd libburn

Kemudian unduh kode sumber libburn.

$ wget http://files.libburnia-project.org/releases/libburn-1.4.0.tar.gz

Install slackbuildnya

sh libburn.SlackBuild

Install paketnya

# installpkg /tmp/libburn-1.4.0-x86_64-1_SBo.tgz

Install libisofs Slackware

Libisofs adalah pustaka untuk membuat filesystem ISO-9660.

Berikut cara install libisofs-1.4.0 di slackware melalui slackbuild. Pastikan [tersambung internet]({% post_url 2015-04-01-install-wvdial-slackware %}) untuk mengunduh berkas yang diperlukan.

Unduh slackbuild libisofs

$ wget http://slackbuilds.org/slackbuilds/14.1/libraries/libisofs.tar.gz

Ekstrak

$ tar xzf libisofs.tar.gz

Terbentuk folder libisofs, pindah direktori ke folder itu kemudain unduh kode sumbernya.

$ cd libisofs
$ wget http://files.libburnia-project.org/releases/libisofs-1.4.0.tar.gz

Install slackbuildnya

# sh libisofs.SlackBuild

Install paketnya

# installpkg /tmp/libisofs-1.4.0-x86_64-1_SBo.tgz

Selesai.

Jalankan Sudo Tanpa Password

Idealnya perintah sudo memang memerlukan password/kata sandi karena hakikat sudo itu pengguna “meminjam” hak super user / root. Tapi, password itu bisa saja kita hilangkan. Maksudnya, tidak perlu menuliskan password, contoh

$ wvdial 3
bash: wvdial: command not found

Baris 2, command not found menunjukkan 2 kemungkinan. Kemungkinan pertama, perintah yang diketikkan memang tidak ada. Kemungkinan kedua, perintah itu memerlukan hak root. Nah perintah [wvdial]({% post_url 2015-04-01-install-wvdial-slackware %}) ini yang bisa menjalankan adalah root atau sudoers (pengguna yang bisa menjalankan perintah hak root tapi dengan syarat memasukkan passwordnya root.

Download Seluruh Isi Website

Melanjutkan [catatan yang lalu]({% post_url 2014-03-23-wget-linux-download-manager %}), kali ini adalah penggunaan wget untuk mengunduh/download website secara keseluruhan/rekursif.

$ wget -r url

opsi -r adalah untuk mengunduh secara rekursif. Sedangkan url silahkan diganti dengan alamat websitenya.

Install Libre Office di Slackware

Secara default aplikasi perkantoran yang disediakan Slackware bukan Libre Office. Kalau pada saat instalasi Slackware (yang penulis gunakan arsitektur 64 bit) memilih full install maka aplikasi perkantoran yang terpasang adalah Calligra. Dibandingkan dengan Calligra, saya merasa lebih sreg menggunakan LibreOffice karena kompatibilitasnya yang lebih baik terhadap dokumen yang dibuat dengan Ms Office (harap maklum, masih banyak saudara-saudara kita yang belum bisa move on ke open source dan tidak semua menggunakan Ms Office bajakan).

Uninstall Calligra Office Suite

Calligra adalah office suite atau aplikasi perkantoran yang dikembangkan KDE yang dulu bernama KOffice. Kalau memasang KDE secara full kita akan mendapatinya.

Calligra memang layak digunakan untuk keperluan perkantoran. Performanya dalam mengolah dokumen terbuka (open document format/ODF) cukup bagus. Namun sayangnya, Calligra tidak kompatibel dengan dokumen OOXML (dokumen yang dibuat dengan Microsoft Office). Tak jarang Calligra menjadi hang saat membuka atau mengolah dokumen dengan format docx (Ms Word), xlsx (Ms Excel) dan pptx (Ms PowerPoint). Penulis sering bekerja dengan dokumen OOXML karena rekan-rekan di kantor dan para mahasiswa belum bisa lepas dari OOXML. Maka demi kemaslahatan bersama, penulis tinggalkan Calligra dan beralih ke LibreOffice.

Install JDK Slackware

Java Development Kit atau yang biasa disingkat JDK ini berguna untuk membuat/mengembangkan aplikasi berbasis Java. Selain itu, untuk menginstall dan/atau menjalankan aplikasi tertentu disyaratkan JDK, seperti LibreOffice, Netbeans dan Aptana. Sebelum install kita unduh dulu dari http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html .

Karena Slackware yang digunakan adalah 64 bit maka pilih untuk yang LInux x64 format rpm.

Untuk bisa mengunduh harus menyetujui perjanjian lisensi dulu (Accept License Agreement).

Kemudian pindahkan hasil unduhan ke /usr/local/src dilanjutkan dengan pindah ke direktori /usr/local/src

Hal-hal yang Harus Diketahui Sebelum Menginstall Linux

Memang sudah seharusnya sebelum menginstall linux kita memiliki beberapa pengetahuan yang memadai. Imam Bukhari mengatakan “al ilmu qablal qawl wal amal” yang maksudnya sebelum melakukan sesuatu harus dilandasi dengan ilmu/pengetahuan tentang apa yang akan dilakukannya itu. Dan dalam ilmu fiqh / hukum Islam dikenal kaidah “al umuru bimaqashidiha” yang artinya setiap perkara itu tergantung maksud/niatnya. Kaidah ini diambil dari hadits “innamal a’malu binniyat” segala sesuatu tergantung niatnya.

Pertama yang harus diketahui adalah niat. Niat ini akan sangat menentukan apalagi kalau menemui kesulitan. Pastikan niat menginstall linux adalah untuk menggunakan linux, entah itu untuk belajar linux ataupun kegiatan komputasi sehari-hari seperti menonton film/video, mendengarkan musik, mengetik dokumen, browsing, dll untuk kebaikan. Jangan sampai install linux hanya untuk pamer ataupun kesombongan diri. Misalnya,

Operasi Direktori di Linux

Operasi direktori/folder adalah suatu hal yang mendasar di linux. Walaupun sekarang banyak desktop environment yang menyebabkan sedikit interaksi dengan terminal langsung karena tinggal klik saja dalam mode grafis (GUI), kami akan tetap sampaikan bagaimana melakukannya dalam mode teks (CLI).

Mengetahui posisi direktori sekarang

Gunakan

pwd

untuk mengetahui saat ini aktif di mana. Contoh

$ pwd
/home/sasongko

Tampak bahwa direktori saat ini adalah di /home/sasongko.

Menampilkan isi direktori

ls /direktori

Contoh berikut akan menampilkan isi dari direktori /etc

Memformat Flashdisk di LInux

Memformat flashdisk di linux adalah hal yang mudah.

Pertama, pastikan flashdisknya terdeteksi oleh sistem. Pada kesempatan ini merk flashdisknya adalah Toshiba.

$ lsusb
Bus 001 Device 003: ID 0930:1400 Toshiba Corp. Memory Stick 2GB
Bus 001 Device 002: ID 04f2:b483 Chicony Electronics Co., Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Perhatikan baris 2, flashdisk terdeteksi. Untuk lebih meyakinkan lagi, sekaligus mengetahui flashdisk ini diperlakukan sebagai apa oleh sistem, segera setelah flashdisk ditancapkan,

Mengubah LiveDVD Menjadi ISO

Beberapa waktu lalu lihat DVD BlankOn 8 Rote nganggur di seonggok kumpulan CD/DVD. Enaknya diapain ya itu DVD? Kalau dibiarkan khawatirnya kotor malah ngga bisa digunakan lagi. Ya udah mending dibuat file ISO aja. Kalau dibuat file ISO insya Allah manfaatnya lebih banyak karena tersimpan di hardisk bisa lebih tahan lama daripada dalam bentuk DVD, dan suatu saat nanti kalau dibutuhkan tapi DVDnya ngga bisa dipakai tinggal dibakar aja ISOnya entah itu jadi DVD atau ke flashdisk. Jadi misalnya besok mau install BlankOn Rote ke netbook ga usah download lagi ISOnya cukup jadikan liveUSB aja.

Ekstrak File zip

Ekstensi zip adalah salah satu ekstensi file kompresi/archive. File kompresi yang lain adalah [tar.gz]({% post_url 2015-04-28-ekstrak-file-tar-gz %}).

Bagaimana ekstrak file zip?

$ unzip namafile.zip

Ekstrak File .tar.gz

Kemarin di grup facebook Ubuntu Indonesia ada yang bertanya yang intinya

Bagaimana cara install file .tar.gz?

File dengan ekstensi tar.gz adalah file kompresi/arsip. ‘Saudara’ dari tar.gz yang juga sering dijumpai adalah [zip]({% post_url 2015-05-13-ekstrak-file-zip %}). Atau, bagi yang sebelum memakai linux sudah sangat familiar dengan Windows, tar.gz ini mirip dengan rar.

Nah, file kompresi ini bukanlah file installer, tetapi bisa jadi mengandung file installer. File installer di linux ada berbagai macam ekstensinya, contoh deb, rpm, tgz, dan sh. Tiap file installer itu mempunyai cara install yang beda. Untuk menginstallnya tentu saja tergantung dari isi file tar.gz itu tadi.

Hapus KDE Slackware

Kalau kita install Slackware secara full, maka desktop environment yang terinstall adalah KDE. Bagi beberapa pengguna mungkin KDE menimbulkan masalah karena pemakaian RAM dan CPU Usage yang notabene tinggi daripada DE yang lain. BIsakah KDE dihapus? Bisa

# slackpkg remove kde

kemudian pilih paket apa saja yang akan dihapus dengan memberi tanda silang (x). Untuk memberi atau menghapus tanda x tekan spasi. Kalau sudah silahkan tekan Ok dan menunggu beberapa saat sampai uninstall KDE nya selesai.

Install WvDial di Slackware

Agar bisa internetan di Slackware dengan modem tentunya kita harus install dulu paket atau aplikasinya. Aplikasi yang penulis sarankan adalah WvDial. WvDial ini berbasis text/CLI, bisa untuk GSM maupun CDMA. Slackware yang digunakan Slackware 14.1.

Paket yang dibutuhkan:

  • WvStreams

  • WvDial

Kita akan unduh dari sini

WvStreams :

WvDial :

Kemudian masuk ke /usr/local/src

# cd /usr/local/src

Kemudian salin slackbuild wvstream dan wvdial ke direktori ini (/usr/local/src).

Konversi VDI ke VMDK

Secara default, format hardisk virtual pada virtualbox adalah VDI. Format ini tidak bisa digunakan di vmware. Agar bisa digunakan di vmware harus dikonversi dulu menjadi VMDK. Kalau sudah terpasang virtualbox konversi VDI ke VMDK ini mudah.

Misalkan hardisk01.vdi akan dikonversi menjadi hardisk02.vmdk, maka caranya

$ VBoxManage clonehd hardisk01.vdi hardisk01.vmdk --format VMDK 
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 
Clone hard disk created in format 'VMDK'. UUID: 3127e4c2-6a88-4af6-838a-871cd534b5fa

Hardisk virtualnya sudah terkonversi.

Menggunakan Perintah Echo

Echo merupakan perintah bahasa bash (bahasa yang digunakan terminal) untuk menampilkan output ke monitor.

$ echo “teks yang diinginkan”
teks yang diinginkan

Contoh:

$ echo "halloooo....." 
halloooo..... 
$ echo "BlankOn Linux Indonesia" 
BlankOn Linux Indonesia

Menggunakan WGet Linux Download Manager

Wget adalah download manager di linux. Secara default wget sudah terpasang dan bisa langsung digunakan. Wget sangat cocok digunakan untuk koneksi yang putus-nyambung-putus-nyambung-putus-nyambung atau keterbatasan kuota karena memiliki fitur resume. Cara menggunakannya mudah.

$ wget [url]

untuk mem-pause download tekan Ctrl+C. Dan untuk melanjutkan kembali tambahkan opsi -c.

$ wget [url] -c

Untuk lebih lengkapnya tentang wget ada di manual wget.

$ wget -h 
GNU Wget 1.15, adalah sebuah non-interaktif network retriever. 
Penggunaan: wget [PILIHAN]... [URL]... 

Argumen yang wajib untuk pilihan panjang juga wajib untuk pilihan yang pendek. 

Memulai: 
  -V,  --version           menampilkan versi dari Wget dan keluar. 
  -h,  --help              menampilkan bantuan ini. 
  -b,  --background        pergi ke background setelah memulai. 
  -e,  --execute=COMMAND   menjalankan sebuah perintah `.wgetrc'-style. 

Mencatat dan memasukan berkas: 
  -o,  --output-file=FILE     pesan log pada FILE. 
  -a,  --append-output=FILE  tambahkan pesan pada FILE. 
  -d,  --debug               tampilkan banyak informasi debugging. 
  -q,  --quiet               diam (tidak ada output). 
  -v,  --verbose             jadi verbose (ini yang default). 
   -nv, --no-verbose          matikan verboseness, tanpa menjadi quiet. 
       --report-speed=TYPE   Output bandwidth as TYPE.  TYPE can be bits. 
  -i,  --input-file=BERKAS    download URLs ditemukan dalam lokal atau BERKAS eksternal. 
  -F,  --force-html          perlakukan input file sebagai HTML. 
  -B,  --base=URL            telusuri berkas masukan HTML (-i -F) 
                             relatif ke URL. 
       --config=FILE         Specify config file to use. 

Download: 
  -t,  --tries=NUMBER            set nomor mencoba ke NUMBER (0 untuk tidak terbatas). 
       --retry-connrefused       coba lagi walaupun koneksi ditolak. 
  -O,  --output-document=FILE    tulis document pada FILE. 
  -nc, --no-clobber              skip downloads that would download to 
                                 existing files (overwriting them). 
  -c,  --continue                lanjutkan mengambil file yang terdownload  sebagian. 
       --progress=TYPE           pilih tipe gauge progress. 
  -N,  --timestamping            jangan mengambil kembali file kecuali file 
                                 lebih baru dari file local. 
  --no-use-server-timestamps     don't set the local file's timestamp by 
                                 the one on the server. 
  -S,  --server-response         tampilkan balasan server. 
       --spider                  jangan mendownload apapun. 
  -T,  --timeout=SECONDS         set semua nilai timeout pada SECONDS. 
       --dns-timeout=SECS        set the DNS lookup timeout pada SECS. 
       --connect-timeout=SECS    set the connect timeout pada SECS. 
       --read-timeout=SECS       set the read timeout pada SECS. 
  -w,  --wait=SECONDS            tunggu SECONDS diantara pengambilan. 
       --waitretry=SECONDS       tunggu 1..SECONDS diantara pencobaan dari sebuah pengambilan. 
       --random-wait             wait from 0.5*WAIT...1.5*WAIT secs between retrievals. 
       --no-proxy                secara eksplisit mematikan proxy. 
  -Q,  --quota=NUMBER            set pengambilan quota pada NUMBER. 
       --bind-address=ADDRESS    bind ke ADDRESS (hostname atau IP) pada local host. 
       --limit-rate=RATE         batasi kecepatan download ke RATE. 
       --no-dns-cache            matikan caching dari DNS lookups. 
       --restrict-file-names=OS  restrict karakter dalam nama file ke salah satu dari yang dibolehkan oleh OS. 
       --ignore-case             abaikan besar/kecil huruf ketika mencocokan files/direktori.. 
  -4,  --inet4-only              hanya menghubungi ke alamat IPv4 saja. 
  -6,  --inet6-only              hanya menghubungi ke alamat IPv6 saja. 
       --prefer-family=FAMILY    hubungi terlebih dahulu alamat dari family  yang dispesifikasikan, 
                                 salah satu dari IPv6, IPv4 atau none. 
       --user=USER               set kedua ftp dan http user pada USER. 
       --password=PASS           set kedua ftp dan http password pada PASS. 
       --ask-password            tanya untuk kata sandi. 
       --no-iri                  non-aktifkan dukungan IRI. 
       --local-encoding=ENC      gunakan ENC sebagai pengkodean lokal untuk IRI. 
       --remote-encoding=ENC     gunakan ENC sebagai pengkodean baku remote. 
       --unlink                  remove file before clobber. 

Direktori: 
  -nd,  --no-directories          jangan membuat direktori. 
  -x,  --force-directories        paksa pembuatan direktori. 
  -nH, --no-host-directories      jangan buat host directories. 
       --protocol-directories     gunakan nama protocol dalam direktori. 
  -P,  --directory-prefix=PREFIX  simpan file pada PREFIX/... 
       --cut-dirs=NUMBER           abaikan NUMBER remote komponen direktori. 

Pilihan HTTP: 
       --http-user=USER        set http user pada USER. 
       --http-password=PASS    set http password pada PASS. 
       --nocache               dissallow server-cached data. 
       --default-page=NAMA     Ubah nama halaman baku (biasanya 
                               ini `index.html'.). 
  -E,  --adjust-extension      simpan HTML/CSS dokumen dengan ekstensi yang sesuai. 
       --ignore-length         abaikan `Content-Length' bagian header. 
       --header=STRING         masukkan STRING dalam headers. 
       --max-redirect          batas maksimal yang diperbolehkan untuk redirection setiap halaman. 
       --proxy-user=USER       set USER sebagai username proxy. 
       --proxy-password=PASS   set PASS sebagai password proxy. 
       --referer=URL           masukkan `Referer: URL' header dalam HTTP request. 
       --save-headers          simpan HTTP headers pada file. 
  -U,  --user-agent=AGENT      identifikasi sebagai AGEN daripada sebagai Wget/VERSION. 
       --no-http-keep-alive    disable HTTP keep-alive (persistent koneksi). 
       --no-cookies            jangan menggunakan cookies. 
       --load-cookies=FILE     load cookies dari FILE sebelum session. 
       --save-cookies=FILE     simpan cookies pada FILE sesudah session. 
       --keep-session-cookies  load dan simpan session (non-permanen) cookies. 
       --post-data=STRING      gunakan metoda POST; kirim STRING sebagai data. 
       --post-file=FILE        gunakan metoda POST; kirim isi dari FILE. 
       --method=HTTPMethod     use method "HTTPMethod" in the header. 
       --body-data=STRING      Send STRING as data. --method MUST be set. 
       --body-file=FILE        Send contents of FILE. --method MUST be set. 
       --content-disposition   Lihat header Content-Disposition ketika memilih 
                               berkas lokal (EKSPERIMEN). 
       --content-on-error      output the received content on server errors. 
       --auth-no-challenge     Kirim informasi otentifikasi standar HTTP tanpa 
                               harus menunggu untuk ditanyai oleh server. 

Pilihan HTTPS (SSL/TLS): 
       --secure-protocol=PR     choose secure protocol, one of auto, SSLv2, 
                                SSLv3, TLSv1 and PFS. 
       --https-only             only follow secure HTTPS links 
       --no-check-certificate   jangan memvalidasi server certificate. 
       --certificate=FILE       client certificate file. 
       --certificate-type=TYPE  tipe sertifikate client, PEM atau DER. 
       --private-key=FILE       private key file. 
       --private-key-type=TYPE  tipe private key, PEM atau DER. 
       --ca-certificate=FILE    file yang berisi CA's. 
       --ca-directory=DIR       direktori dimana hash list dari CA's disimpan 
       --random-file=FILE       file dengan data acak untuk seeding SSL PRNG. 
       --egd-file=FILE          penamaan file EGD socket dengan data random. 

Pilihan FTP: 
       --ftp-user=USER         set ftp user pada USER. 
       --ftp-password=PASS     set ftp password pada PASS. 
       --no-remove-listing     jangan hapus file `.listing'. 
       --no-glob               matikan FTP nama file globbing. 
       --no-passive-ftp        disable the "passive" mode trasfer. 
       --preserve-permissions  preserver remote file permissions. 
       --retr-symlinks         ketika berekursif, ambil linked-to files (bukan dir). 

WARC options: 
       --warc-file=FILENAME      save request/response data to a .warc.gz file. 
       --warc-header=STRING      insert STRING into the warcinfo record. 
       --warc-max-size=NUMBER    set maximum size of WARC files to NUMBER. 
       --warc-cdx                write CDX index files. 
       --warc-dedup=FILENAME     do not store records listed in this CDX file. 
       --no-warc-compression     do not compress WARC files with GZIP. 
       --no-warc-digests         do not calculate SHA1 digests. 
       --no-warc-keep-log        do not store the log file in a WARC record. 
       --warc-tempdir=DIRECTORY  location for temporary files created by the 
                                 WARC writer. 

Recursive download: 
  -r,  --recursive          spesifikasikan untuk mendownload rekursif. 
  -l,  --level=NUMBER      maksimum kedalaman rekursi (inf atau 0 untuk tak terhingga). 
       --delete-after       delete files locally sesudah mendownloadnya. 
  -k,  --convert-links      buat links dalam HTML yang didownload atau CSS yang 
                            menunjuk ke berkas lokal. 
  --backups=N   before writing file X, rotate up to N backup files. 
  -K,  --backup-converted   sebelum mengubah file X, backup sebagai X.orig. 
  -m,  --mirror             shortcut untuk -N -r -l inf --no-remove-listing. 
  -p,  --page-requisites    ambil semua gambar, dll. yang diperlukan untuk menampilkan file HTML. 
       --strict-comments    hidupkan strick (SGML) handling dari komentar HTML. 

Recursive diterima/ditolak: 
  -A,  --accept=LIST               list yang dipisahkan oleh koma yang berisiekstensi yang diterima. 
  -R,  --reject=LIST               list yang dipisahkan oleh koma yang berisiekstensi yang ditolak. 
       --accept-regex=REGEX        regex matching accepted URLs. 
       --reject-regex=REGEX        regex matching rejected URLs. 
       --regex-type=TYPE           regex type (posix). 
  -D,  --domains=LIST              list yang dipisahkan oleh koma yang berisidomains yang dibolehkan. 
       --exclude-domains=LIST      list yang dipisahkan oleh koma yang berisidomains yang direject/tolak. 
       --follow-ftp                ikuti link FTP dari dokumen HTML. 
       --follow-tags=LIST          list yang dipisahkan oleh koma yang berisitag HTML yang diikuti 
       --ignore-tags=LIST          list yang dipisahkan oleh koma yang berisitag HTML yang diabaikan. 
  -H,  --span-hosts                pergi ke host asing ketika recursive. 
  -L,  --relative                  hanya mengikuti links relative saja. 
  -I,  --include-directories=LIST  list dari direktori yang dibolehkan. 
  --trust-server-names             use the name specified by the redirection 
                                   url last component. 
  -X,  --exclude-directories=LIST   list dari direktori yang diabaikan. 
  -np, --no-parent                 jangan merambah direktori atasnya. 

Laporkan bug dan saran kepada <bug-wget@gnu.org>