星期一, 10月 10, 2022

openSUSE Leap 15.4 安裝小記

openSUSE Leap 15.4 安裝小記


openSUSE Leap 15.3 Lifetime 到 2022/11 


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


安裝前處理

  • 使用 imagewriter 建立 openSUSE 安裝USB

  • 整理 /home/sakana 目錄

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

    • 清掉不要的檔案, 特別是 ~/.cache , ~/.config 內兩大瀏覽器內有佔很大空間的 cache ( 這次懶得刪就沒有這樣做 )

    • 因為有很多相關的 config 在個人家目錄內, 所以先把舊的 openSUSE Leap 15.3 的 /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.4 預設為 Network Manager



Google Chrome:106

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


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

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


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裡面的搜尋功能預設關閉 (點選右上角的設定按鈕), 因為我覺得用不到



中文輸入法問題:


這次預設是 ibus 輸入法



取消 USB 為安裝來源

# yast2  repositories 



Snapd:


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


安裝方式紀錄 

# zypper  addrepo  --refresh  https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.4  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


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


Freemind:


因為 Freemind 在 Leap 15.4  只有社群維護套件 

  • 之前是用 snap 安裝, 但是這次有問題, 

  • 所以先用社群維護版本來安裝 https://software.opensuse.org/package/freemind

    • 我用 home:beyerle:IAC 那個版本, 然後把他 repo 裡面的 SLE-15-SP1 ~ SLE-15-SP4 停用了

.mm 的檔案指定用 freemind  開啟

以後應該要考慮其他的方案


新增 Packman 套件庫:


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


#yast2  repositories


  • 除了 Packman 順便加入 nVidia 套件庫


Firefox Sync:

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



flash-player:

# zypper   install   flash-player


Telegram desktop:


最後的解法是 使用 Web 的方式來使用 Telegram

  • https://webk.telegram.org/

  • 軟體 (  Flatpak  ) 安裝可以輸入中文 - 但是版本太舊會被 Telegram 說會被停用

  • snap 版本 / 下載 telegram 的 .xz 解壓縮, 不能輸入中文

    • 在 ~/.local/share/applications 目錄下找出 telegram-desktop.desktop 設定檔, 加入 QT_IM_MODULE=gin 也無效



播放器:


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


# zypper  install  opi


# opi codecs


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

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



Skype:


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



GNOME Extension:


參考調校小記


主要是裝 chrome 內的 GNOME Shell integration


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

選想裝的 Extension, 調爲 on 就好

裝了

  • NetSpeed

  • RunCat

  • Show External IP

  • Tray Icons: Reloaded


過期

  • TopIcons Plus (現在都在右上角, 所以就不需要)


.7z 支援:

# zypper  install  p7zip


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.9.27

#zypper  install  ansible


變更主機名稱:


#yast2 lan



Dropbox 158.4.4564版 :


openSUSE Leap 15.4 預設不支援 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



Filezilla 安裝:


#zypper  install  filezilla


Brave 安裝:


# rpm  --import  https://brave-browser-rpm-release.s3.brave.com/brave-core.asc


# zypper  addrepo  --refresh  https://brave-browser-rpm-release.s3.brave.com/x86_64/ brave-browser


# zypper  install  brave-browser


Azure-cli 安裝:


版本: 2.38.0

參考 


匯入 rpm key

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


新增 Azure CLI 的 repo

# zypper  addrepo --name 'Azure CLI' --check https://packages.microsoft.com/yumrepos/azure-cli azure-cli


安裝 azure-cli 套件

# zypper  install --from azure-cli  -y  azure-cli


使用互動的方式登入 azure ( 現在已經不需要輸入機器碼, 直接驗證帳號就可以  )

> az  login


AWS Cli 安裝:


版本: 2.8.2



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


# unzip  awscliv2.zip


# ./aws/install


# aws --version


aws-cli/2.8.2 Python/3.9.11 Linux/5.14.21-150400.22-default exe/x86_64.opensuse-leap.15 prompt/off


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

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



Google Cloud SDK ( gcloud )安裝:


參考 http://sakananote2.blogspot.com/2019/04/gsutil-google-cloud-storage-in-opensuse.html

安裝 gcloud

  • 但是目前實務上是使用容器的方式來執行


使用一般使用者安裝


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


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


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


透過 gcloud 安裝 kubectl


> gcloud  components  install  kubectl


確認版本

> kubectl  version  --client


Visual Studio Core 相關 :


安裝 git

# zypper  install  git


參考 http://sakananote2.blogspot.com/2019/01/visual-studio-code-with-opensuse-leap-15.html


安裝 vscode


# 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


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

  • AWS Toolkit for Visual Studio Code

  • Bracket Pair Colorizer

  • Code Time

  • Git Graph

  • GitHub Pull Requests

  • GitLens

  • Kubernetes

  • Python

  • REST Client

  • GitHub Pull Requests and Issues



Podman 安裝:


參考官方網頁


# zypper  install  podman


看起來目前的階段 docker 與 podman 還是要並存 - 生態系支援與 rootless podman 相關考量


Docker 安裝:


目前版本 20.10.17

#zypper  install  docker


將使用者 sakana  加入 docker  群組 

# usermod -a -G docker sakana


#systemctl  start  docker

#systemctl  enable   docker


PPPoE 設定:


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

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


設定 PPPoE 以及固定 IP



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



這樣又可以再戰一年 :p


~ enjoy it


參考

星期六, 9月 03, 2022

使用 azure cli 建立 Service principal 串接 Grafana 小記

使用 azure cli 建立 Service principal 串接 Grafana 小記


目前大家真的已經很泛用 Grafana 來呈現不同的監控資料, 然後 Azure Managed Grafana 也 GA 了


接下來看看能不能抓部份時間來 study 還有寫寫 Grafana 的筆記  :)


首先大家可能會搜尋到的是這篇 Azure 原廠的文件, 在 Grafana 中監視 Azure 服務


簡單來說, 要讓 Grafana 可以監視 Azure 的服務, 大概就是

  • 建立 Azure Service principal ( 應用程式註冊 )

  • 設定該 Service principal 用戶端密碼 ( 建立給 Grafana 使用的密碼 )

  • 在 AAD 內的角色指派, 針對該 Service principal 給予相關權限

    • Log Analytics 讀取者

    • 讀者


上述的動作肯定可以使用 Console 來達成, 但是有的時候 Console 不熟的人, 可能對上述的建立會比較苦手 ( 如果哪天介面又改變的話 ), 所以今天就使用 azure cli 來實作


首先登入 Azure Portal

接下來就使用 Cloud Shell 來進行相關操作


參考之前自己的文章


我們可以藉由以下指令來列出相關資訊, 看看之前有沒有使用 azure cli 建立過應用程式

$ az  ad  sp  list --output table 


  • 這樣可能會列出太多資訊, 所以過濾一下關鍵字



$ az  ad  sp  list --output table  |  grep  azure-cli


  • 從輸出的 azure-cli-202x-xx-xx-xx-xx-xx 就可以知道建立的時間


接下來使用 azure cli 來建立 Service Principal 


使用 az account 指令取得 subscription_id


$ az  account  show  --query  "{ subscription_id: id }"


{

 "subscription_id": "6a2bdf3b-XXXX-XXXX-XXXX-3371d3401feb"

}


使用以下指令建立 Service Principal 指定 Role 為 Log Analytics Reader, 並同時建立用戶端密碼


$ az  ad  sp  create-for-rbac --role  "Log Analytics Reader" --scopes  /subscriptions/6a2bdf3b-XXXX-XXXX-XXXX-3371d3401feb


輸出範例如下

{

  "appId": "83d5xxxx-xxxx-xxxx-xxxx-xxxxxxxxad2d",

  "displayName": "azure-cli-2022-09-03-13-08-28",

  "password": "5KN7Q~pygZIH5RbAGBSGz3Nx.bC4JSXUSjfQ-dvv",

  "tenant": "4cd3xxxx-xxxx-xxxx-xxxx-xxxxxxxxabd4"

}


  • az ad sp 指令可以用 -n 方式指定名稱, 但是我喜歡不指定名稱, 這樣我可以知道是何時建立

  • password 只會這個時候出現, 請記下來後續使用


之前的文章如果 Service Principal 密碼到期, 作法上可能會

  • 使用 az ad sp delete 刪除舊的認証, 然後再建立新的認証


這邊再紀錄另外一種方式, 直接重設 Service Principal 的用戶端密碼


接下來回到 Grafana 這邊


登入 Grafana

點選 Configuration -- > Data sources


點選 Add data source


搜尋 azure, 應該就會看到 Azure Monitor

點選 Azure Monitor



填入相關資訊



點選 Save & test

成功應該會看到相關訊息



大功告成

接下來就可以找時間針對 Azure 資源來觀察了


~ enjoy it




Reference