WLSBUILD: Pembaruan Paket OpenRC

 Widya Walesa  |  2015/04/05 06:04:08 WIB  |  2020/08/13 13:47:34 WIB

slackwareSetelah saya rasa cukup mengutak-atik urutan #init di #openrc, saya mengubah nomer urut pembangunan paket openrc dari enam ke tujuh. Buat yang menggunakan paket openrc bikinanku silakan mengunduh skrip #SlackBuild openrc yang baru, versi 7. Buat yang tidak ingin mengubah paketnya, bisa juga menggunakan daftar urutan init berikut sebagai panduan:

WLSBuild untuk LXQt

 Widya Walesa  |  2015/03/29 18:22:02 WIB  |  2020/08/13 13:47:52 WIB

slackwareSilakan bagi yang berminat untuk menggunakan #SlackBuild (#wlsbuild) saya untuk #LXQt: https://github.com/w41l/wlslxqt

Jika ada permasalahan atau mungkin tambahan ke skrip saya, jangan ragu-ragu untuk menghubungi saya baik melalui #github maupun di bagian komentar di artikel ini.

Peringatan: Hati-hati, selalu backup data-data penting anda atau gunakan mesin virtual untuk coba-coba.

Selamat mencoba

Perbaikan Struktur Paket OpenRC

 Widya Walesa  |  2015/03/22 15:50:44 WIB  |  2016/07/27 23:34:22 WIB

slackwareSetelah mencoba banyak konfigurasi akhirnya saya mengikuti struktur #OpenRC untuk #ArchLinux (archlinux lagi, cc @go2n). Saya mengikuti model struktur OpenRC ArchLinux yang mana menempatkan berkas-berkas init dan konfigurasi OpenRC ke dalam sebuah direktori yaitu /etc/openrc. Hanya dengan menempatkan skrip init dan konfigurasi OpenRC ke dalam satu struktur direktori sendiri, saya mendapatkan dua keuntungan sekaligus. Keuntungan pertama adalah dengan menggunakan struktur ini adalah sistem init asli #Slackware jadi lebih bersih karena tidak tercampur dengan milik OpenRC. Yang kedua adalah struktur ini menyelesaikan permasalahan di pemaketan awal saya yaitu skrip init OpenRC tidak mau membaca konfigurasi per-init di dalam direktori /etc/conf.d karena /etc/init.d bukanlah sebuah direktori betulan melainkan symlink ke direktori /etc/rc.d/init.d. Sehingga saat OpenRC mengecek prefix dari /etc/init.d ia tidak mendapati suatu lokasipun (non existed).

Selain mengubah struktur saya juga membuang beberapa skrip init ubahan milik saya dan menggunakan skrip default dari OpenRC karena struktur ini memungkinkan skrip tersebut bekerja dengan benar. Saya juga menyesuaikan isi runlevels sesuai rekomendasi OpenRC serta menambah beberapa skrip init baru yang berkaitan dengan desktop.

Jika anda sudah menggunakan skrip SlackBuild saya, silakan bangun ulang paket OpenRC anda menggunakan #SlackBuild OpenRC di git commit ini di github. Setelah anda menginstal paketnya, segera lakukan penyesuaian konfigurasi menggunakan #slackpkg new-config atau copy-kan konfigurasi OpenRC lama yang sudah anda ubah:

# slackpkg new-config
# cp /etc/conf.d/* /etc/openrc/conf.d/
# cp /etc/local.d/* /etc/openrc/local.d/
# cp /etc/rc.conf /etc/openrc/rc.conf

Pastikan juga untuk menggunakan inittab dari OpenRC /etc/openrc/inittab dengan membuat symlink-nya ke /etc/inittab (backup dulu yang asli punya Slackware):

# mv /etc/inittab /etc/inittab.slack
# cd /etc; ln -s openrc/inittab inittab

Kemudian sesuaikan isi /etc/openrc/runlevels sesuai kondisi awal milik anda atau keinginan anda.

Setelah itu anda dapat menghapus berkas atau direktori milik paket OpenRC yang lama:

# rm -rf /etc/conf.d /etc/rc.d/init.d/* /etc/local.d /etc/rc.conf /etc/runlevels

Lalu reboot mesin anda.

Selamat mencoba.

PDF Writer LibreOffice Gagal Mengubah Resolusi Gambar

 Widya Walesa  |  2015/03/21 17:24:07 WIB  |  2016/07/27 23:46:31 WIB

slackwareBeberapa waktu lalu saya diminta untuk mengirim dokumen berformat #PDF. Di dalam dokumen tersebut ada gambar yang harus saya tempelkan. Oke saya buatlah dokumen tersebut dengan #LibreOffice Writer sehingga nantinya bisa saya ekspor ke PDF. Setelah dokumen jadi, langsung saja saya klik tombol ekspor ke PDF di panel LibreOffice yang langsung membuat dokumen PDF. Tanpa mengecek dokumen PDF tersebut, saya langsung mengirimkannya ke rekan saya. Ternyata dilaporkan gambar yang ada dalam dokumen tersebut tidak dapat dibaca. Lho... lho... Ada apa gerangan ini? Penasaran, saya buka dokumen PDF tersebut dengan PDF viewer. Ternyata benar gambarnya hancur.

Setelah aku selidiki ternyata konfigurasi PDF writer di LibreOffice-ku memuat opsi untuk menurunkan kepadatan gambar ke 300 dpi seperti berikut:

Aku coba berulang kali dan memang jika opsi tersebut aktif, maka gambar yang dihasilkan di dokumen PDF menjadi hancur. Gambar yang punya potensi untuk hancur adalah gambar yang berukuran besar: Gambar berukuran relatif kecil tidak mengalami hal serupa.

Akhirnya aku nonaktifkan opsi tersebut, dan gambar tetap utuh di dokumen PDF.

Ada yang pernah mengalami hal serupa?

Slackware Dengan OpenRC

 Widya Walesa  |  2015/03/21 00:49:56 WIB  |  2020/08/12 12:27:14 WIB

slackwarePerang soal init sistem masih berlanjut sejak #RedHat cs mempublikasikan #systemd hingga tulisan ini dibuat. Meskipun penuh dengan kontroversi, saya mengakui bahwa systemd adalah sebuah sistem init yang bagus. Hanya saja karena saya tidak menyukai model kekuasaan sebuah sistem tunggal, jadi saya tidak tertarik dengan systemd. Selain systemd, masih ada sistem init yang lain, seperti:

  • Bootscript: GoboLinux
  • Busybox-init: Biasanya digunakan di perangkat2 seperti router, ponsel
  • DAEMONS: KahelOS
  • Initng
  • Sysvinit/BSD init : Slackware
  • OpenRC: Gentoo Linux
  • Upstart: Ubuntu
  • Systemd: RedHat, Fedora, CentOS
  • SMF: Solaris
  • Launchd: MacOSX >= 10.4
  • Epoch
  • Finit
  • Runit
  • S6
  • SystemStarter: MacOSX < 10.4

Pada kesempatan ini saya ingin menunjukkan bahwa kita dapat mengganti sistem ini yang digunakan oleh #Slackware menggunakan #OpenRC. Tetapi harap diingat bahwa ini hanya sebuah percobaan. Jadi jangan melakukan hal ini di mesin produksi anda kecuali anda suka yang beresiko tentunya. Instalasi openrc di slackware juga sangat mudah karena dependensinya hanya /sbin/init. OpenRC sendiri menggunakan skrip shell (biasanya skrip bash) untuk menjalankan program/servis init. Jika ingin mencobanya anda dapat mengunduh tarball openrc dari https://github.com/OpenRC/openrc . Meskipun instalasinya mudah, tetapi saya tetap harus menyesuaikan dan menambah beberapa skrip init agar sesuai dengan model init asli Slackware. Contohnya adalah saya harus menambahkan skrip init untuk menjalankan udev model Slackware karena Gentoo sudah mengganti udev menggunakan eudev sejak Desember 2012.

Instalasi OpenRC versi 0.13.11 yang saya lakukan adalah seperti ini:

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
LIBNAME=lib${LIBDIRSUFFIX} \
DESTDIR=${PKG} \
MKSELINUX=no \
MKSTATICLIBS=no \
MKTERMCAP=ncurses \
MKTOOLS=yes \
make install

Saya juga sudah membuat skrip SlackBuild untuk membuat paket openrc untuk Slackware yang bisa diunduh di https://github.com/w41l/wlsbuild/tree/master/openrc

Berikut ini adalah gambar kondisi/status init openrc di Slackware saya

Dengan menggunakan OpenRC Slackware saya dapat menyelesaikan proses booting ~30 detik (ralat: sebelumnya gak dihitung waktunya) karena OpenRC sudah mendukung inisialisasi secara paralel. Lumayan untuk mesin kelas rendahan macam laptop saya.

Jika anda ingin menggunakan skrip openrc.SlackBuild saya, pastikan untuk mem-backup file /etc/inittab dan isi /etc/rc.d/init.d jika ada. Kemudian setelah selesai instalasi paket openrc-xxx-yyy-1_wls.txz, jalankan slackpkg new-config untuk menginstal konfigurasi init yang baru.

OpenRC menggunakan 4 runlevels untuk menjalankan skrip init di tingkat inisialisasi berbeda, yaitu: boot, default, shutdown, dan sysinit. Untuk melakukan penyesuaian init di tiap runlevels kita dapat menggunakan perintah rc-update. Berikut ini adalah contoh penggunaan rc-update:

- menambah init ke satu runlevel: rc-update add SERVICE RUNLEVEL (mis. rc-update add sshd default)

- menghapus init dari salah satu runlevel: rc-update del SERVICE RUNLEVEL (mis. rc-update del sshd default)

Setelah selesai booting menggunakan openrc, kita dapat mengecek status tiap skrip init di tiap runlevel dengan rc-status RUNLEVEL (mis. rc-status boot)

Referensi: