星期五, 9月 29, 2023

Mountpoint for Amazon S3 with openSUSE Leap 15.5 小記

 


Mountpoint for Amazon S3 with openSUSE Leap 15.5 小記


OS: openSUSE Leap 15.5 on GCP


今天要來實作 Mountpoint for Amazon S3  安裝與掛載於 openSUSE Leap 15.5


這次的 OS 我使用 openSUSE Leap 15.5 on GCP


Mountpoint for Amazon S3 套件安裝的部份, 可以參考官方文件


可以顯見的是, openSUSE Leap Linux 沒有在 RPM 支援的 linux 清單內, 如果用上述的 RPM 來進行安裝, 可能會遇到下列的錯誤訊息



Problem: nothing provides 'fuse-libs' needed by the to be installed mount-s3-1.0.1-1.x86_64

 Solution 1: do not install mount-s3-1.0.1-1.x86_64

 Solution 2: break mount-s3-1.0.1-1.x86_64 by ignoring some of its dependencies



但是不要擔心 openSUSE Leap 15.5 使用 Other Linux distributions 方法 - 安裝OK


下載相關檔案

# wget https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.tar.gz


建立相關目錄

# mkdir -p  /opt/aws/mountpoint-s3


解壓縮到剛剛建立的目錄

# tar  -C  /opt/aws/mountpoint-s3  -xzf  ./mount-s3.tar.gz


因為是實驗的關係, 先用 export 將這個路徑放到指令的路徑變數

# export  PATH=$PATH:/opt/aws/mountpoint-s3/bin


測試指令並檢查版本

# mount-s3  --version


mount-s3 1.0.2


驗證的部份與 AWS CLI  相關設定一樣

 

下載與安裝 AWS CLI

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


# unzip  awscliv2.zip 


# ./aws/install


You can now run: /usr/local/bin/aws --version


進行相關設定

# /usr/local/bin/aws  configure  --profile default


AWS Access Key ID [None]: YOUR_KEY_ID

AWS Secret Access Key [None]: YOUR_ACCESS_KEY

Default region name [None]: YOUR_WORK_REGION

Default output format [None]:


  • 這邊請填入該帳號的 AKSK, 然後選常用的 Region

  • 會在 ~/.aws/credentials 與 ~/.aws/config 建立相關設定


測試相關指令

使用剛剛裝的 aws cli 列出目前 S3 的目錄


# /usr/local/bin/aws  s3  ls  --profile  default


2022-11-08 01:45:58 sakana-cloudtrail-logs-20210714


建立掛載目錄

# mkdir  /mnt/s3-mount-test


沒有掛載前先觀察資訊

# ls  /mnt/s3-mount-test/


使用 mount-s3 指令進行掛載 AWS S3

# mount-s3  sakana-cloudtrail-logs-20210714  /mnt/s3-mount-test/  --profile  default --allow-delete


bucket sakana-cloudtrail-logs-20210714 is mounted at /mnt/s3-mount-test/


  • 加上 --allow-delete 之後才可以刪除檔案


觀察相關資訊

# ls  /mnt/s3-mount-test/


AWSLogs


# mount


mountpoint-s3 on /mnt/s3-mount-test type fuse (rw,nosuid,nodev,noatime,user_id=0,group_id=0,default_permissions)


進行相關測試


# mkdir  /mnt/s3-mount-test/sakanatest


# ls  /mnt/s3-mount-test/


AWSLogs  sakanatest


我仿照 Blog 上面的作法, 到高速公路局的網站截了一些路況圖


透過 cp 指令把他複製到我們掛載的目錄

# cp  /home/sakanamax/2023-09-29\ 10-5*  /mnt/s3-mount-test/sakanatest/


觀察資訊

# ls  /mnt/s3-mount-test/sakanatest


2023-09-29 10-51-29 的螢幕擷圖.png  2023-09-29 10-52-06 的螢幕擷圖.png  2023-09-29 10-52-41 的螢幕擷圖.png

2023-09-29 10-51-48 的螢幕擷圖.png  2023-09-29 10-52-21 的螢幕擷圖.png


觀察 AWS S3 console



果然有同步


# cd  /mnt/s3-mount-test/sakanatest/


# ffmpeg  -framerate  10  -pattern_type  glob  -i  "*.png"  sakana.gif


  • ffmpeg 指令可以透過 #zypper install ffmpeg 安裝


以下是我得到的結果 :)


最後來解決重開機掛載的問題, 解法就是用 Service 的方式來做


# vi   /etc/systemd/system/mount.service


[Unit]

Description=Mountpoint for Amazon S3 mount

Wants=network.target

AssertPathIsDirectory=/mnt/s3-mount-test


[Service]

Type=forking

User=root

Group=root

ExecStart=/opt/aws/mountpoint-s3/bin/mount-s3  sakana-cloudtrail-logs-20210714   /mnt/s3-mount-test --profile default --allow-delete

ExecStop=/usr/bin/fusermount  -u  /mnt/s3-mount-test


[Install]

WantedBy=default.target


  • 這邊要注意掛載路徑

  • 然後安裝方法不同 mount-s3 的路徑也會不同

  • user / group 要找時間 Lab


進行測試

# umount  /mnt/s3-mount-test


起動服務

# systemctl  start  mount.service 


觀察資訊

# systemctl  status  mount.service 


● mount.service - Mountpoint for Amazon S3 mount

     Loaded: loaded (/etc/systemd/system/mount.service; disabled; vendor preset: disabled)

     Active: active (running) since Fri 2023-09-29 03:15:42 UTC; 9s ago


接下來設定開機啟動服務即可

# systemctl  enable  mount.service 


Created symlink /etc/systemd/system/default.target.wants/mount.service → /etc/systemd/system/mount.service.


# systemctl  is-enabled  mount.service 


enabled


又多學一招


~ enjoy it


Reference:


星期一, 9月 04, 2023

openSUSE Leap 15.5 安裝小記

openSUSE Leap 15.5 安裝小記



openSUSE Leap 15.4 Lifetime 到 2023/11 


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


安裝前處理

  • 使用 imagewriter 建立 openSUSE 安裝USB

  • 整理 /home/sakana 目錄

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

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

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



Google Chrome:116

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:2.59.5


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


安裝方式紀錄 

# zypper  addrepo  --refresh  https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.5  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 的檔案指定用 freemind  開啟


新增 Packman 套件庫:


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


#yast2  repositories


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


Firefox Sync:

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



Telegram desktop:


使用 Web 的方式來使用 Telegram



播放器:


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 的筆數


python3.11 安裝: 


系統預設是裝 python3.6

所以我透過 #yast2  sw_single 安裝 python311

觀察目前的設定

# ls  -l  /usr/bin/python3


lrwxrwxrwx 1 root root 9 Mar 16 17:12 /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.4


  • 這個時候可以發現已經從 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


ansible 安裝: 2.9.27


#zypper  install  ansible


變更主機名稱:


#yast2 lan



Dropbox 158.4.4564版 :


openSUSE Leap 15.5 預設不支援 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.1


參考 


匯入 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.13.15


安裝參考



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


# unzip  awscliv2.zip


# ./aws/install


# aws --version


aws-cli/2.13.15 Python/3.11.4 Linux/5.14.21-150500.53-default exe/x86_64.opensuse.15 prompt/off


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

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



Google Cloud SDK ( gcloud )安裝: 444


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

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

  • 看看目前最新的版本號


使用一般使用者安裝


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


> tar  zxvf  google-cloud-sdk-444.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



Docker 安裝: 23.0.6


#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

現在使用 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 (之前都還沒用到)



這樣又可以再戰一年 :p


~ enjoy it


參考