Install Alpine Linux In Virtualbox

hardyweb - May 9 - - Dev Community

Bismillahirahmanirahim.

Aku tulis sikit nota untuk diri sendiri dan juga untuk orang lain yang berminat nok blajor cara-cara dan proses installasi OS Linux untuk kegunaan pembangunan sistem ( particularly PHP , mysql dan Laravel ) . aku pakai Alpine Linux.



Tutorial ini ditulis dalam Bahasa Tranung. 
This tutorial written in Malay Language (Terengganu Accent).
Level : Intermediate with basic vi editor knowladge


Enter fullscreen mode Exit fullscreen mode

Dulu, aku guna full blown OS Linux untuk buat pembangunan sistem seperti Debian dan Manjaro atas mesin yang sama berkongsi dengan Windows. Kemudian, aku guna full OS Linux Debian dan Linux MX ( debian base ) atas VirtualBox dan ada juga setup Debian atas WSL2.

Dengan adanya Virtualbox/WSL2, mudoh untuk setup sistem berdasarkan php version, termasuklah php hok lama-lama. Alternatif lain adalah dengan menggunakan docker, boleh tukor-tukor php version, memandangkan ram pc aku dok besor mana, jadi docker dok sesuai untuk aku.

Untuk setup Alpine Linux, target aku adalah untuk menggunakan ram yang minimum sebab pc aku miskin ram. Ni setak untuk development sistem je. bukang untuk main game atau tengok movie.

Dalam alpine linux ni aku akan setup i3wm , lightdm, neovim, shell fish

1. Download Alpine

Gi ke laman Alpine Download, amik hok virtual. x86_64 , mung nok amik hok standard pun boleh, tapi penggunaan ram dia dok sama lah, sebab hok virtual tu dia doh ubahsuai kernel bersesuaian untuk kegunaan virtual sahaja.

2. Setup Permulaan

Dalam virtualbox, create new machine, set 1GB ram, 15Gb hdd.

jangan lupa set linux type
Image description

Ingatan: Kalau nok molek, pastikan mung reserve 5GB pada hdd, contoh katakan mung nok set 20GB hdd untuk sistem mung, mung tamboh 5GB lagi, jadikan 25GB. Sebab alpine akan buat swap file dalam 2gb hingga 4 gb secara auto ikut jumlah ram yang diset . boleh baca sini

rujuk sini, untuk tutorial bergambar.

3. Setup Alpine

Bila doh boot dalam virtualbox, masukkan username root dan tekan enter



#setup-alpine ( tekan enter ) 


Enter fullscreen mode Exit fullscreen mode

Setup Keyboard (tulis us enter pah tu taip us skali lagi
)
Set Hostname (localhost atau local atau alpine atau nama mung)
Set up Network Connection (eth0)
Set ip address ( dhcp )
Any Manual network configuration ? ( no )
Setting up Root Password ( ikut panda mung lah)
Set the Time Zone (Asia/Kuala_Lumpur)
Set proxy ( none )
Select Alpine Linux Mirror [ enter ]
Setup a Regular User Account [ set user biasa ]
Choose Secure Shell Daemon / ssh server .. pakai dropbear
Disk Partitioning

  • sda
  • sys
  • y untuk erace partition dan proceed installation

bila siap setup, reboot

jangan lupa remove boot iso. kemudian start balik virtualbox machine ni.

3.1. Post Installation

ada sesetengoh orang suka pakai sudo untuk jalankan arahan root.

enablekan community repo dulu



#sed -i 's/#\(.*\/community\)/\1/' /etc/apk/repositories


Enter fullscreen mode Exit fullscreen mode


#apk update
#apk add sudo 


Enter fullscreen mode Exit fullscreen mode


echo '%wheel ALL=(ALL) ALL' > /etc/sudoers.d/wheel
adduser namauser wheel


Enter fullscreen mode Exit fullscreen mode

rujuk sini untuk bagi sudo privileges kepada user

4. Setup i3
ni kita nok setup x windows guna x11, bukang guna wayland.



#setup-xorg-base


Enter fullscreen mode Exit fullscreen mode

Tunggu xorg diinstall.. banyok gok package dia.



#apk add xf86-video-fbdev xf86-video-vesa
#apk add font-terminus i3wm i3status dmenu xterm st tmux dbus font-hack xsel


Enter fullscreen mode Exit fullscreen mode

Selesai install, cuba i3



#startx /usr/bin/i3


Enter fullscreen mode Exit fullscreen mode

tekan windows+ enter



#reboot


Enter fullscreen mode Exit fullscreen mode

tekan enter untuk first config i3
pilih win key atau alt key untuk set modifier key . biasa pilih win key

step penuh rujuk sini

4.1 Install Lightdm

lightdm ni optional, tak dok pun dok apa, ada comel gok kadang.



# apk add lightdm-gtk-greeter
# rc-update add lightdm


Enter fullscreen mode Exit fullscreen mode


#reboot


Enter fullscreen mode Exit fullscreen mode

try login balik , kalu ada masalah , tekan ctrl+alt F1 untuk masuk login ke tty lain

Rujukan panjang berjela-jela sini dan sini

Bila dah dapat login dengan lightdm, log masuk dengan user , bukan root. nanti i3 akan minta setkan modifier untuk user

tekan windows+ enter , nanti xterm akan keluor ..

tukar xterm ke stterm



$vi .config/i3/config


Enter fullscreen mode Exit fullscreen mode

cari i3-sensible-terminal

tukar ke st

exit terminal
tekan window+shift+e untuk keluar i3
lepas tu log masuk balik

untuk besar kan font dari terminal , tekan ctrl+shift+pageup

4.2 enable copy & paste

pastikan dekat config virtualbox, Setting->General->Advance , Shared Clipboard - bidirectional.



# apk add virtualbox-guest-additions virtualbox-guest-additions-x11
# rc-service virtualbox-guest-additions start
# rc-update add virtualbox-guest-additions boot 


Enter fullscreen mode Exit fullscreen mode


# rc-service virtualbox-drm-client start
# rc-update add virtualbox-drm-client default


Enter fullscreen mode Exit fullscreen mode

Sebab di para 3 , kita dah start i3, dan buat config dia .. jadi dalam config i3 ( .config/i3/config ), kita letak baris ni



exec --no-startup-id VBoxClient --clipboard


Enter fullscreen mode Exit fullscreen mode


#reboot


Enter fullscreen mode Exit fullscreen mode

5 Install development tools

5.1 neovim + lazyvim



$sudo apk add neovim curl nodejs npm git clang


Enter fullscreen mode Exit fullscreen mode


#su username 


Enter fullscreen mode Exit fullscreen mode

pastikan kita duduk dalam user , bukan root .



$git clone https://github.com/LazyVim/starter ~/.config/nvim


Enter fullscreen mode Exit fullscreen mode

Cuba start nvim



$nvim 


Enter fullscreen mode Exit fullscreen mode

dalam nvim .. taip : dan tulis Mason - enter

install intelephense lsp guna mason

5.2 fish shell + omf + theme + plugin



$sudo apk add fish


Enter fullscreen mode Exit fullscreen mode


sudo vi /etc/shadow 



Enter fullscreen mode Exit fullscreen mode

cari user, tukar shell ash ke /usr/bin/fish



$curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish


Enter fullscreen mode Exit fullscreen mode


$omf install tmux-zen 
$omf install lambda-zero


Enter fullscreen mode Exit fullscreen mode

5.3 php + composer

Install Php untuk kegunaan laravel



$sudo apk add composer php php-curl php-dom php-tokenizer php-xml php-xmlwriter php-session php-fileinfo php-pdo php-pdo_mysql  php82-gd php82-simplexml


Enter fullscreen mode Exit fullscreen mode

5.4 mariadb



apk add mariadb mysql-client


Enter fullscreen mode Exit fullscreen mode


/etc/init.d/mariadb setup


Enter fullscreen mode Exit fullscreen mode


rc-service mariadb start


Enter fullscreen mode Exit fullscreen mode


rc-update add mariadb default 


Enter fullscreen mode Exit fullscreen mode


mysql_secure_installation 


Enter fullscreen mode Exit fullscreen mode

dalam mood root



vi /etc/my.cnf


Enter fullscreen mode Exit fullscreen mode

paste setting ini sebab kita nok pakai mysql sorang je, bukan nok jadikan mysql sebagai server .. jadi kita kuruskan dia punye setting.



innodb_buffer_pool_size=5M
innodb_log_buffer_size=256K
query_cache_size=0
max_connections=10
key_buffer_size=8
thread_cache_size=0
host_cache_size=0
innodb_ft_cache_size=1600000
innodb_ft_total_cache_size=32000000

# per thread or per operation settings
thread_stack=131072
sort_buffer_size=32K
read_buffer_size=8200
read_rnd_buffer_size=8200
max_heap_table_size=16K
tmp_table_size=1K
bulk_insert_buffer_size=0
join_buffer_size=128
net_buffer_length=1K
innodb_sort_buffer_size=64K

#settings that relate to the binary log (if enabled)
binlog_cache_size=4K
binlog_stmt_cache_size=4K


Enter fullscreen mode Exit fullscreen mode

Rujukan

Akos.ma
linuxiac.com
http://www.lazyvim.org/installation
Oh-My-Fish
Tocker.ca

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .