Linux – 工作機取代計畫

選擇適合的 Linux 桌面版本

總言之就是分為 Ubuntu / Debian 兩大發行版,桌面環境分為 KDE / Gnome / Xfce / Lxde,然後就開始選擇要怎麼搭配

最後 Hoyo 選擇 kubuntu 是 Ubuntu + KDE 的組合,因為沒錢玩遊戲,所以只要 Linux 可以上網、看影片、寫程式就很足夠了

kubuntu 中文

設定

選擇 fcitx ,重新開機

將 fcitx(實用工具) 將入 設定 → 啟動與關閉 → autostart

開始選單 → 設定 → Fcitx 設定,增加 chinese 新酷音輸入法

終端機

LINE

Linux 可以看訊息和文字回覆就很棒了

KWrite

需要另外裝

點擊行為

Quick Settings 或 工作空間行為  → Clicking files or folders → Selects them

AnyDesk

到官網下載,使用「軟體安裝」開啟即可

PhpStorm

下載 .tar.gz 自訂版本

使用 snap 安裝最新版

桌面建立捷徑 (shortcut)

程式捷徑

Samba 網路芳鄰

網址捷徑

顯示桌面

登入鑰匙圈

軟體更新後無法進入圖形界面

執行軟體更新後不能進入圖形界面,可是可以 Alt + F2 可以進入文字操作,使用 dmesg 出現「random: crng init done」 或是其他錯誤,只要可以文字登入,就很大機率是驅動程式的問題,移除驅動程式後安裝 xorg 版本即可

Media Player

從 Gnome 安裝 KDE

127 total views, 8 views today

HOYO 的 2021 回顧

公司

  • EMS 班班有冷氣從三月開始,終於到學校運作了,這一年大部分的時間都是花在 IPC 這上面
  • 接觸 OrangePi
  • 接觸 WT32-ETH01
  • 利用 ESP8266 製作燈控設定工具
  • 設計 ESP / Pi 的 Gateway MQTT 架構
  • 接觸 MongoDB
  • 接觸 Flutter

個人

  • 小朋友都上外縣市大學,家裡只剩兩口子
  • 在台科電 2 年多的日子累積以及 EMS 的經驗,到 MOPCON 2021 分享了「用愛發電;為愛鼓掌」
    主要議程 | MOPCON 2021
  • 這輩子第一次工作的健康檢查,有紅字,明明都已經 168 斷食又有在家鍛鍊了,應該是時間太短了,還要繼續加油
  • 第一次去海底撈,就當作花錢看變臉吧
  • 開始嘗試下廚,從台南名產台糖粿開始
  • 買了啞鈴回家嚕鐵
  • 因為小朋友都離家以及疫情關係,今年沒有全家過夜出遊的行程,非常的失敗

2021 代表字

離別是為了再相聚

108 total views, 2 views today

Orange Pi 4 – 燒錄 Android

燒錄 Android

買回來就是 Android,如果使用 Linux 覆蓋 emmc 或是系統毀損,可以使用以下步驟還原 Androic

執行 SDDiskTool,勾擇「固件升級」,選擇下載的 Android Image 「開始創建」

完成後 SD 卡插入 OrangePi 4 開機,按照畫面操作即可

420 total views, 2 views today

Keepalived –

參考

安裝

Debian 11

設定

參考文件有關 virtual_router_id 的範圍是錯的,是 1 ~ 255

編輯設定檔

172.16.1.175

172.16.1.173

  • virtual_router_id 同一組必須設定相同
  • state MASTER/BACKUP 角色
  • priority 當故障時接手優先順序,數字越大越高
  • virtual_ipaddress 虛擬出來的共同 IP

啟動及使用

2 台電腦都使用

啟動後,順利的話 172.16.1.39 就會由 2 台中的其中一台設定為虛擬 ip,網路中斷另一台就會自動設定該 ip 接手服務

454 total views, 1 views today

MariaDB – Spider 分片

安裝 Spider 存儲引擎

查詢 SPIDER 存儲引擎是否支援

設定

172.16.1.175 – Spider 主機

更新

建立分表規則

172.16.1.170 – backend1

172.16.1.173 – backend2

從 Spider 主機執行資料庫讀寫,

刪除

Error 1429: Unable to connect to foreign data source

73 total views, no views today

Python – RS485 + Modbus UART 半雙工切換傳送、接收教學

RS485

雙線、半雙工,如果使用的是 TTL, UART 這類的訊號轉換器,需要自己控制傳送、接收切換,切換的好不好是關鍵

Modbus

RS485 大多使用 Modbus RTU,格式如下

Name Length (bits) Function
Start 28 At least 3½ character times of silence (mark condition)
Address 8 Station address
Function 8 Indicates the function code; e.g., read coils/holding registers
Data n × 8 Data + length will be filled depending on the message type
CRC 16 Cyclic redundancy check
End 28 At least 3½ character times of silence between frames

CRC 參考資源

Modbus 通訊第一個程式門檻就是計算 CRC,這裡有大大寫好的可以直接套用

原始範例

list 陣列版

Python 使用 list 資料型態程式會比較靈活,因此實務上使用都是直接使用 list

完整的 Modbus 範例

RS485 為半雙工通訊,讀取、寫入必須自己根據字元數計算後控制模式,時序控制非常重要,不能使用 .flush(),那是全雙工用的功能

326 total views, 1 views today

MariaDB – 斷電資料庫無法啟動修復過程

MariaDB 版本 10.3.25 其他版本相關指令、操作不保證成功

當遇到 MariaDB 資料庫毀損時,Hoyo 使用了以下步驟恢復運作,此方法使用的是重建 mysql 資料庫的方式,使用者的資料庫必須有備份,等重建完成之後再恢復使用者帳號以及匯入資料庫備份

這個方法可行是可行,不過 mysql_secure_installation 這個指令需要人工干涉,所以要將流程自動化還需要調整

以下自動化參考了 /usr/bin/mysql_secure_installation 內作法

指定 mysql 執行時帳號、密碼

.my.cnf

資料庫整理

刪除匿名帳號以及 test 資料庫,接下來就是自己的使用者帳號以及資料庫

fix.sql

重建及匯入

fix.sh

  1. 將資料庫停止服務
  2. 刪除整個資料庫目錄
  3. 執行 mysql_install_db 不能加參數,Hoyo 測試的結果是增加參數就無法正常執行
  4. 啟動資料庫服務
  5. 修改 root 密碼
  6. 將剛剛編輯的 fix.sql 匯入
  7. 解壓縮原先備份資料庫
  8. 將備份資料庫匯入

357 total views, 1 views today

使用 SSH 當作跳板瀏覽網頁

參考

Linux 電腦普遍沒有 UI 顯示而採用 SSH 這類的遠端管理方式,這篇介紹的是連到 SSH Server 後以此為跳台瀏覽網頁,說不清楚請看以下架構圖


(https://www.tunnelsup.com/how-to-create-ssh-tunnels/)

PuTTY

Session 一樣寫入連線主機的 IP & Port

Conection → SSH → Tunnels 增加本機常駐的 port ,Destination 選擇 Dynamic

plink (a command-line interface to the PuTTY back ends)

如果使用 plink 就可以使用指令執行,不需要開啟 GUI

FoxyProxy

為了讓瀏覽器可以快速切換 Proxy 環境或是增加可切換功能,可以使用 FoxyProxy 外掛套件,Chrom & FireFox 皆支援,basic 版本以 Hoyo 的需求就夠用了

手動設定勾選 SOCKS proxy,address : localhost,port 9005,也就是上面 -D 參數設定數字

使用時,點擊 FoxyProxy 圖示進行切換至 Use proxy Default for all URLs 即可使用 ssh tunnel 通道

472 total views, 1 views today

Linux – ZeroConfNetworking

Windows 設定 DHCP 時,沒有 DHCP 服務時會自己產生一個 169.254.x.x 的 IP,Linux 遇到沒有 DHCP 服務除了開機不斷重試浪費時間之外,失敗後什麼 IP 都沒有,導致臨時要使用 IP 連線都沒有辦法。

Linux 該如何在使用 DHCP 卻沒有 DHCP 分配 IP 的情況還可以像 Windows 產生一組 IP ?

參考資源

Windows 使用的是 Zero-configuration networking (zeroconf) 技術, RFC3927 ,Apple Bonjour 也是相同的技術

安裝

Hoyo 在 DietPi 上測試時是裝 avahi-autoipd,網路上大多是教安裝 avahi-daemon,實際裝過不知道用途為何

avahi-autoipd 安裝完就完成了,預設設定有一些問題不過問題不大可以正常使用,Hoyo 是打算就這樣使用

實際使用

沒有 DHCP

接上網路線或是 DHCP 恢復後

eth0:avahi 網路會消失

設定檔

/etc/dhcp/dhclient-enter-hooks.d/avahi-autoipd

問題

登入時需要 Ctrl + C 中斷

256 total views, 1 views today

CentOS 7 – 在 CentOS7 安裝 Python3.8.4

參考

安裝

事前準備

如果有安裝舊版先移除,sqlite 要先安裝,否則 python3 裝完還需要重新 make 才能添加

模組安裝

321 total views, 2 views today