Monday 25 July 2022

/var/lib/docker/volume hilang di macOS M1?

 Kalau korang buat docker inspect <volume> kat macOS M1 nanti dapat output seperti dibawah:

❯ docker inspect pg-data
[
    {
        "CreatedAt": "2022-07-25T18:38:04Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/pg-data/_data",
        "Name": "pg-data",
        "Options": {},
        "Scope": "local"
    }
]
Tapi bila ls /var/lib/docker/volume tak ada?....
❯ ls -lah /var/lib/docker/volumes
ls: /var/lib/docker/volumes: No such file or directory
Hilang? Tak hilang cuma kita cari kat salah tempat. Docker kat macOS M1 tidak menggunakan macOS M1 sebagai host seperti Linux. Docker kat macOS M1 menggunakan VM Linux arch64 sebagai Docker host. Nak dapatkan volume tu kena masuk kat dalam VM tu. Cara nak masuk ker VM tu ialah dengan menggunakan image Debian dengan privilege mode seperti berikut
docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh
Kemudian boleh ke directory volume tu
~ # cd /var/lib/docker/volumes/pg-data
/var/lib/docker/volumes/pg-data # ls
_data
/var/lib/docker/volumes/pg-data # cd _data
/var/lib/docker/volumes/pg-data/_data # ls
PG_VERSION            pg_commit_ts          pg_ident.conf         pg_notify             pg_snapshots          pg_subtrans           pg_wal                postgresql.conf
base                  pg_dynshmem           pg_logical            pg_replslot           pg_stat               pg_tblspc             pg_xact               postmaster.opts
global                pg_hba.conf           pg_multixact          pg_serial             pg_stat_tmp           pg_twophase           postgresql.auto.conf  postmaster.pid
/var/lib/docker/volumes/pg-data/_data # uname -a
Linux docker-desktop 5.10.104-linuxkit #1 SMP PREEMPT Thu Mar 17 17:05:54 UTC 2022 aarch64 Linux
/var/lib/docker/volumes/pg-data/_data #
Rujukan

Thursday 14 July 2022

Macam mana nak baca keseluruhan fail di Python

Untuk baca keseluruhan fail di Python kita boleh guna fungsi open untuk dapatkan file object dan kemudian boleh guna method read untuk dapatkan keseluruhan kandungan fail tersebut.

myfile = open("rickrolled.txt", "r").read()
print(myfile)
Contoh:



Wednesday 6 July 2022

VIM sebagai pembunuh VScode

Macam mana nak dapatkan vim macm ni?


 

Letakan nilai2 tersebut di .vimrc

syntax on
let g:netrw_banner = 0
let g:netrw_liststyle = 3
let g:netrw_browse_split = 4
let g:netrw_altv = 1
let g:netrw_winsize = 25

Bila buka VIM larikan command berikut untuk dapatkan Tree sebelah kiri
Vexplore

Pergerakan dalam Skrin 
  1. Dari tingkap kiri ke kanan : Ctrl+w + l 
  2. Dari tingkap kanan ke kiri : Ctrl+w + h
  3. Nak naik pokok: j
  4. Nak turun pokok: k

Penerangan berkenaan nilai2 di .vimrc
  1. syntax on = untuk warnakan perkataan berdasarkan kata kekunci sesuatu format
  2. tak mau banner kat tree tu
  3. nak tree yang cantik . Paparan 3 tiga macam "NerdTree"
  4. nak file dibuka di tetingkap belah kanan
  5. nak file yang baru dibuka di tetingkap belah kanan
  6. nak tetingkap belah kiri 25% daripada saiz

Bonus:
Macam mana nak dapat terminal?
Saya suka suspend VIM (Ctrl+z) dan masuk balik ke VIM pakai (fg)

Monday 4 July 2022

Macam mana nak buat tetikus boleh menatal ( scroll ) pada semua pane tmux

 Jika korang nak buat tetikus boleh menatal pada semua pane ialah dengan memasukan tetapan berikut pada .tmux.conf

set-option -g mouse on
Contoh:


Rujukan Scroll = tatal 


Saturday 2 July 2022

macam mana nak tau app apa running kat port apa di linux?

 Kena ada root access !


 netstat -ntlp
Contoh:
root@controlplane  netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.11:41859        0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:10248         0.0.0.0:*               LISTEN      4261/kubelet        
tcp        0      0 127.0.0.1:10249         0.0.0.0:*               LISTEN      5454/kube-proxy     
tcp        0      0 127.0.0.1:2379          0.0.0.0:*               LISTEN      3592/etcd           
tcp        0      0 10.16.229.12:2379       0.0.0.0:*               LISTEN      3592/etcd           
tcp        0      0 10.16.229.12:2380       0.0.0.0:*               LISTEN      3592/etcd           
tcp        0      0 127.0.0.1:33645         0.0.0.0:*               LISTEN      4261/kubelet        
tcp        0      0 127.0.0.1:2381          0.0.0.0:*               LISTEN      3592/etcd           
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      766/ttyd            
tcp        0      0 127.0.0.1:10257         0.0.0.0:*               LISTEN      3468/kube-controlle 
tcp        0      0 127.0.0.1:10259         0.0.0.0:*               LISTEN      3784/kube-scheduler 
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      449/systemd-resolve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      768/sshd            
tcp6       0      0 :::10250                :::*                    LISTEN      4261/kubelet        
tcp6       0      0 :::6443                 :::*                    LISTEN      3422/kube-apiserver 
tcp6       0      0 :::10256                :::*                    LISTEN      5454/kube-proxy     
tcp6       0      0 :::22                   :::*                    LISTEN      768/sshd            
tcp6       0      0 :::8888                 :::*                    LISTEN      4680/kubectl 

Macam mana nak resize pane di tmux

 Bila tmux dah terbelah sana-sini, kemungkinan nak resizekan pane tersebut amat besar. Berikut adalah arahan-arahan untuk resize pane tmux. 

Untuk resize pane ctrl + b pastu...
:resize-pane -D (Resizes the current pane down)
:resize-pane -U (anjakan sempadan ke atas sikit)
:resize-pane -D (anjakan sempadan ke bawah sikit)
:resize-pane -L (anjakan sempadan ke kiri sikit)
:resize-pane -R (anjakan sempadan ke kanan sikit)

Dan kita boleh letak berapa baris anjakan yang dibuat. Arahan di bawah ialah untuk 10 baris anjakan
:resize-pane -D (Resizes the current pane down)
:resize-pane -U 10 
:resize-pane -D 10
:resize-pane -L 10
:resize-pane -R 10

Contoh: Sebelum anjakan 






 Selepas anjakan sempadan 10 baris ke atas dari pane bawah 
ctrl + b 
:resize-pane -U 10




Tatacara klon pelayan di AWS lightsail

  Kadang-kala kita diminta untuk buat satu sistem baru untuk tujuan ujikaji atau percubaan fungsi baru. Jika di AWS lightsail kita boleh bua...