星期五, 9月 06, 2024

openSUSE Leap 15.6 安裝小記

openSUSE Leap 15.6 安裝小記



openSUSE Leap 15.5 Lifetime 到 2024/12 


過了一年又到升級的時候 :)


安裝前處理

  • 使用 imagewriter 建立 openSUSE 安裝USB

  • 整理 /home/sakana 目錄

    • 使用 du -h --max-depth=1 /home/sakana 檢查

    • 清掉不要的檔案, 特別是 ~/.cache , ~/.config 內兩大瀏覽器內有佔很大空間的 cache ( 這次只清掉部分 )

    • 因為有很多相關的 config 在個人家目錄內, 所以先把舊的 openSUSE Leap 15.5 的 /home 目錄, 打包到隨身碟的目錄中

      • 使用# tar    cvf   home.tar  /home 進行打包到隨身碟 ( 不要使用 .gz 方式, 會比較快速 )( 在隨身碟的目錄中 )

      • 如果剛剛的光碟  ISO 放在下載目錄, 記得刪除來節省空間

    • 新機器再使用 tar 指令還原回來

      • 這次先在 console F1 以 root 使用者, 

        • 使用 tar 指令解壓縮 home.tar 到隨身碟目錄 

        • 刪除 /home/sakana 目錄, 將解壓縮的檔案直接移動過去


這次也是使用 USB 來進行安裝


== 安裝過程小記==


這次建立的時候我還是選擇 GNOME 桌面


磁碟區分割的部分, 使用引導的方式安裝

  • 刪除所有分割區 

  • 建立獨立分割區 XFS

  • 根目錄取消 Btrfs 快照


===============


Network Manager:


openSUSE Leap 15.6 預設為 Network Manager



Google Chrome:128

https://www.google.com/intl/zh-TW/chrome/browser/ 


  • 還是會有驗證性問題, 但是功能沒有差異

  • 為了進行google 登入,先使用 Google 驗證App,  後面來處理yubikey

  • 有遇到 舊版 chrome 鎖定問題, 我將 ~/.config/google-chrome 刪除解決

    • 重開機又遇到一次, 因為我改了 hostname, 發先解決方法可以到 ~/.config/google-chrome 目錄下將 SingletonLock 與 SingletonCookie 刪除好像就解掉了



home 資料回復:


因為有很多相關的 config 在個人家目錄內, 所以先把舊的 openSUSE Leap 15.0 的 /home 目錄, 使用# tar    cvf   home.tar  /home 進行打包到隨身碟 ( 不要使用 .gz 方式, 會比較快速 )

新機器再使用 tar 指令還原回來

  • 這次先在 console F1 以 root 使用者, 

    • 使用 tar 指令解壓縮 home.tar 到隨身碟目錄 

    • 刪除 /home/sakana 目錄, 將解壓縮的檔案直接移動過去



Notes

  • Ifconfig 預設沒有安裝, 要使用 ip  address show


關閉GNOME裡面的搜尋功能預設關閉 (點選右上角的設定按鈕), 因為我覺得用不到



中文輸入法問題:


輸入法的部分, 要手動加入想要的輸入法

預設切換的方式爲 Super Key + 空白鍵

  • 我修改爲 Ctrl + 空白鍵, 在設定的 鍵盤 -- > 檢視與自訂快速鍵 -- > 輸入 修改




螢幕截圖問題:


之前可以用 Ctrl + Print 擷取部分視窗

目前是用 Print 按鍵呼叫相關功能之後擷取, 之後來找快速鍵


取消 USB 為安裝來源

# yast2  repositories 



Snapd:2.63


因有些軟體可能會透過 snap 來安裝


安裝方式紀錄 

# zypper  addrepo  --refresh  https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.6  snappy


# zypper  --gpg-auto-import-keys  refresh


# zypper  dup  --from  snappy


# zypper  install  snapd


Additional rpm output:

Please reboot, logout/login or source /etc/profile to have /snap/bin added to PATH.

On a Tumbleweed and Leap 15.3+ systems you need to run: systemctl enable snapd.apparmor.service


可以重開機, 登出登入, 讓 路徑變數內有 /snap/bin 這個路徑

  • 在 X 11 下就是開一個新的終端機切換為 root, 檢查 $PATH

  • 建議使用重開機的方式


# systemctl  enable  snapd


# systemctl  start  snapd


# systemctl  enable  snapd.apparmor


# systemctl  start  snapd.apparmor


如果安裝應用程式, 要重開機才會找的到



freeplane: 1.10.5


因為 Freemind 已經不再維護, 找了好久找到他的替代 

  • 使用 snap 來進行安裝

    • # snap  install  freeplane-mindmapping

    • 因為使用社群維護的 .ymp 有問題然後太多 SLES 的 repo, 我也不喜歡

  • .mm 的檔案指定用 freeplane  開啟



Firefox Sync:

登入 Firefox Sync, 會處理之前有下載的 Plugin


Telegram desktop:


使用 Web 的方式來使用 Telegram


hostname更改  :


之前是用# yast2 lan 的方式更改 hostname, 但是現在 NetworkManager 控制網路就比較麻煩


觀察

# hostnamectl 


設定 hostname

# hostnamectl  set-hostname  opensuse156


觀察

# hostnamectl 


Skype:


使用網頁版的 Skype 不另外安裝


GNOME Extension:

最後我使用 flatpak 搞定 GNOME Extension

  • openSUSE Leap 15.6 預設有裝 flatpak


之前的調校小記


然後到 https://extensions.gnome.org/

選想裝的 Extension, 調爲 on 就好

裝了

  • NetSpeed

  • RunCat

  • IP Finder

  • Tray Icons: Reloaded (這個我暫時停用 - 因為登入會產生問題)


.7z 支援:

預設 openSUSE Leap 15.6 就有裝 7zip 套件


imagewriter:

# zypper  install  imagewriter

用來製作開機 USB


rdesktop 安裝與測試:

#zypper  install  freerdp


執行方式

#xfreerdp  -g  1280x1024  -u administrator  HOST_IP



修改 LS_OPTIONS 變數

# vi   /etc/profile.d/ls.bash

把 root 的 LS_OPTIONS 的 -A 移除


修改 HISTSIZE 變數

# vi   /etc/profile

修改 HISTSIZE 的筆數


ansible 安裝: 2.16.5


#zypper  install  ansible


  • 因為相依性的關係會裝 python 3.11



python3.11 安裝: 


系統預設是裝 python3.6

  • 但是 python 3.6 已經 EOL

  • 可以參考 https://endoflife.date/python 

    • Python 3.11 於 2024/4/1 End Active Support, 但是 Security Support 到 2027/10/31 

    • 目前是 python 3.12 Active Support

  • 但是  ansible 目前是裝 3.11 , 然後還在 Security Suport 內, 就先不換 3.12


剛剛安裝 ansible 會順道安裝 python3.11


觀察目前的設定

# ls  -l  /usr/bin/python3


lrwxrwxrwx 1 root root 9 Apr  9 17:42 /usr/bin/python3 -> python3.6


參考網路上的文章


目前沒有相關設定

# update-alternatives  --list  python


update-alternatives: error: no alternatives for python


將 python 3.6 加入

# update-alternatives --install  /usr/bin/python3  python  /usr/bin/python3.6  1


update-alternatives: using /usr/bin/python3.6 to provide /usr/bin/python3 (python) in auto mode


將 python 3.11 加入, 優先性設定爲 2 比上一個高

# update-alternatives  --install  /usr/bin/python3  python  /usr/bin/python3.11  2


update-alternatives: using /usr/bin/python3.11 to provide /usr/bin/python3 (python) in auto mode


觀察相關設定

# update-alternatives --list python


/usr/bin/python3.11

/usr/bin/python3.6


檢視目前 python 的版本設定

# python3  --version


Python 3.11.9


  • 這個時候可以發現已經從 python3.6 換成 python3.11


再次觀察

# ls  -l  /usr/bin/python3


lrwxrwxrwx 1 root root 24 Sep  4 18:31 /usr/bin/python3 -> /etc/alternatives/python


  • 這邊可以發現由剛剛指定 python3.6 換成會去參考 alternatives


Dropbox 206.4.6506 版 :


openSUSE Leap 15.6 預設不支援 dropbox

參考官方網站上面斷頭的安裝方式來安裝


> cd  ~  && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -


接下來,請從新建立的 .dropbox-dist 資料夾執行 Dropbox 精靈。


>  ~/.dropbox-dist/dropboxd


順便安裝 Nautilus 相關套件

# zypper  install  nautilus-extension-dropbox


AWS Cli 安裝: 2.17.42


安裝參考



# curl  "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip"  -o  "awscliv2.zip"


# unzip  awscliv2.zip


# ./aws/install


# aws --version


aws-cli/2.17.42 Python/3.11.9 Linux/6.4.0-150600.21-default exe/x86_64.opensuse.15


將補齊的指令 寫到或是修改到個人家目錄的 .bashrc 內

  • echo "complete -C '/usr/local/bin/aws_completer' aws" >> /root/.bashrc


Google Cloud SDK ( gcloud )安裝: 490


參考 https://cloud.google.com/sdk/docs/install-sdk  安裝 gcloud

  • 看看目前最新的版本號

  • 也可以使用容器的方式來執行


使用一般使用者安裝


> wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-490.0.0-linux-x86_64.tar.gz  


> tar  zxvf  google-cloud-sdk-490.0.0-linux-x86_64.tar.gz

  • 可以考慮解壓縮前, 如果家目錄有 google-cloud-sdk 目錄先移除


> ./google-cloud-sdk/install.sh


透過 gcloud 安裝 kubectl


> gcloud  components  install  kubectl


確認版本

> kubectl  version  --client


新增 Packman 套件庫:


使用 #yast2  repositories 加入社群版本的Packman 


#yast2  repositories



播放器:


Codecs 的部分參考網路上找到的


# zypper  install  opi


# opi codecs


  • 這邊會裝 ffmpeg-4 以及一堆套件

  • 之後就可以使用播放器看 .mp4


Visual Studio Core 相關 :


安裝 git

# zypper  install  git


參考 


安裝 vscode

Leap 15.6 現在可以直接透過 zypper ar 方式新增 repo

  • 因為是 openSUSE 包的, 目前看到是 account 那邊只有看到 Github account, 沒有看到 Microsoft Account, 這個可以列為考量 (openSUSE provides free-as-in-freedom binaries of Code in a development repository. It does not include Microsoft branding and ships a configuration enabling the Open VSX extension store by default.)

  • 我後來還是用 Microsoft 那個版本


# rpm  --import   https://packages.microsoft.com/keys/microsoft.asc


# sh  -c  ' echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc"  >  /etc/zypp/repos.d/vscode.repo '



# zypper  refresh


# zypper  install  code


# yast2  repositories


  • 將 vscode 的 autorefresh 啟動


安裝 vscode extension 

  • 這次沒有作, 因為將舊的 /home 還原回來, 另外目前 vscode 也有同步機制

  • AWS Toolkit for Visual Studio Code

  • Bracket Pair Colorizer

  • Git Graph

  • GitHub Pull Requests

  • GitLens

  • Kubernetes

  • Python

  • REST Client

  • GitHub Pull Requests and Issues


Docker 安裝: 25.0.6


#zypper  install  docker


將使用者 sakana  加入 docker  群組 

# usermod -a -G docker sakana


#systemctl  start  docker

#systemctl  enable   docker


helm 安裝: 3.13.3


#zypper  install  helm


# helm  version


PPPoE 設定:


目前光世代有配一個固定 IP

之前參考 http://sakananote2.blogspot.com/2021/05/nmcli-network-manager-pppoe-ip.html

  • 設定 PPPoE 以及固定 IP

現在使用 IP 分享器 + 有線網路連接光世代取得固定 IP, 然後使用無線 SSID 分享使用


這個版本沒有安裝的, 以後要安裝就看之前的筆記

  • http://sakananote2.blogspot.com/2019/08/opensuse-leap-151.html

  • Sqlitebrowser

  • VMware workstation Pro 15

  • Nextcloud client 安裝,  crontab 設定

  • PDF Viewer - Foxit:

  • hexchat

  • youtube-dl

  • Yubico Key ( 現在 google 已經可以直接手機驗證 )

  • smartgit 安裝 ( 現在使用 vscode )

  • PPSSPP ( 沒時間 ….  )

  • flash-player (應該沒有人用了吧)

  • podman (之前都還沒用到)

  • Filezilla

  • Azure-cli 安裝 (MS 已經不維護)



這樣又可以再戰一年 :p


~ enjoy it


參考

星期日, 4月 28, 2024

AWS ALB 流量與存取次數統計小記


AWS ALB 流量與存取次數統計小記


今天來紀錄一下, 在 AWS 統計 ALB 的流量與存取次數的作法.

先說緣由

  • 企業會使用不同的 AWS 專案來提供不同的服務, 但是如何權衡或是取得輔助資訊來確認業務與雲端專案的關聯性?

  • 除了分析的專案, 如果是提供服務的專案, 可能就會以存取次數或是流量來進行相關參考

    • 存取次數

      • 對外服務大多是透過 ALB 來提供服務, 這個時候可以透過 CloudWatch 的 Metrics / ApplicationELB/Per AppELB Metrics / RequestCount 來確認客戶端對 ALB 請求的量

    • 流量

      • 剛開始的想法

        • 不額外花費狀況下, 取得 VPC inbound / outbound 的流量, 來判斷相關的資訊, 這個部份在 GCP 是不需要費用與可以簡單設定的.

        • 結論: 必須啟用 VPC 流量日誌才能取得 in/out 流量資訊 (暫不採用)

      • 目前的方案

        • 使用  CloudWatch 的 Metrics / ApplicationELB/Per AppELB Metrics / ProcessedBytes 為資料參考內容

          • ProcessedBytes 主要是基於請求雙向 (req + res) 的 HTTP header 及 payload 流量,可以理解為 ALB 在七層轉發的處理總量, 也就是 in + out 總量

    • 這個部份也要以業務的實務來考量相關數據, 例如如果是抓圖服務, 那就出現存取次數比較少, 但是流量是大的狀況.


接下來紀錄, 如何設定相關的 Metric


需求:  統計 2024/3 月份的 存取次數與流量統計


登入 AWS Console, 到 CloudWatch 首頁

點選 Metrics -- > All metrics -- > ApplicationELB -- > Per AppELB Metrics


勾選要監控 ALB 的 RequestCount 與 ProcessedBytes


 


調整上方的時間區間

這邊我使用 Local timezone 與設定 Absolute 的 Start date / End date

2024/03/01 00:00:00 到 2024/04/01 23:59:59



將預設的 LINE 呈現方式改為 Number



接下來點選 Graphed metrics 分頁

這個時候可以觀察到, 預設是使用 Average 的方式來進行統計



因為我們是要統計 3 月份的總量, 所以接下來針對統計方式來進行改變

將統計方式改為 Sum, 統計區間改為 30 days



這個時候其實已經算是完成初步的任務了


觀察我們取得的資訊



  • 這邊可以看到, 我們有取得兩個點資料

    • 2024-03-01 00:00 Local

      • 以 2024/3/1 為起算點, 計算 30 天, RequestCount 為 518,979

    • 2024-03-31 00:00 Local

      • 2024/3/31 為起算點, 計算 30 天, RequestCount 為 503,907

      • 這邊要注意的是, 雖然剛剛我們的時間區間是到 2024/04/01 23:59:59 但是不是指資料只能截止於 2024/4/1, 也就是說, 還是會從 2024/3/31 往後推 30 天的資料量來進行加總, 這點要特別注意


剛剛的介面, 區間的部份只有 30 days, 但是實務上, 月份的天數有 28 / 29 / 30 / 31 這 4 種狀況

如果要更進一步精細的確認區間還如何呢?


切換到 source 分頁



  • 這邊可以觀察到有 period 的設定, 這邊的數字是 2,592,000 他的單位為秒

    • 2,592,000 / 86,400 = 30 天 (一天是 86,400 秒)

    • 31 天就是 2,678,400

    • 29 天就是 2,505,600

    • 28 天就是 2,419,200


我們的案例是 2024/3 月份, 天數為 31 天

修改 period 為 2678400, 點選 update


這個時候可以再次觀察數據



  • 2024-03-01 00:00 Local

    • 以 2024/3/1 為起算點, 計算 31 天, RequestCount 原為 518,979, 修正為 525,404

  • 2024-04-01 00:00 Local

    • 2024/4/1 為起算點, 計算 31 天, RequestCount 原為 503,907, 修正為 497,484

  • 然後重點是 圖案上面的 497 k 其實是顯示最接近的點的數值


得到這樣的結果, 以及知道選取的區間不會影響統計的 source period, 我們再次調整選取的時間區間

  • 選取的區間就剛好選取 31 天

    • 如果少於 31 天, 發現系統會往前幫你推 start date


結果如下




這次跟 AWS Cloud Support Engineer 討論, 獲益匪淺


先紀錄下來


~ enjoy it



Reference

  • AWS CSE