https://avatars.githubusercontent.com/u/6058558

程式狂想筆記

解決 Read-only file system 問題與系統掛載錯誤

最近遇到了一些系統問題。當我嘗試掛載 /dev/sdc1 (100GB) 到根目錄時,發生了一些問題,系統顯示為只讀文件系統。

Read-only file system 發生連串問題

Read-only file system 問題

當嘗試創建文件時,系統顯示為只讀文件系統:

1
2
user:~$ touch test
touch: cannot touch 'test': Read-only file system

解決方法

在網路上找到解決方法,可以使用以下指令重新掛載根目錄為可讀寫模式:

1
sudo mount -o remount,rw /

DNS 問題

在嘗試 ping Google 或進行 git pull 操作時,出現 DNS 錯誤:

1
2
3
4
5
6
7
8
9
ping google.com 
# ping: google.com: Temporary failure in name resolution

git pull 
# ssh: Could not resolve hostname github.com: Temporary failure in name resolution
# fatal: Could not read from remote repository.
# 
# Please make sure you have the correct access rights
# and the repository exists.

這個問題是由於 DNS 無效造成的。

如何尋找 TLS 中繼憑證和驗證憑證

最近在專案進行中,我發現 Ubuntu 上的 Flutter 嵌入式網頁中,發現空白頁面。經過檢查,發現是 nginx 沒有設定中繼憑證的問題。由於明天要進行 DEMO,而 MIS 可能無法聯繫到,我需要快速找到中繼憑證。我該怎麼做呢?第一次找到這個問題後,發現有好用的網站可以快速產生中繼憑證,這裡紀錄一下。

使用 .NET 實作 Azure Storage SAS 上傳檔案起手勢

這邊不詳細介紹什麼是 Azure Storage,這裡簡單介紹一下其組成部分,包括 storage accountContainerblob,如下圖所示。

https://user-images.githubusercontent.com/6058558/234599213-21ae8221-bd83-4287-806e-ed464fa61fba.png

詳細資訊可以參考Blob (物件) 儲存體簡介 - Azure Storage | Microsoft Learn

由於專案時間緊迫,我只拿到了 Azure Storage 的 ConnectionString,需要在短時間內完成上傳功能。以下是使用 .NET 實作 Azure Storage SAS 上傳檔案的步驟。

在 Ubuntu 上監控系統錯誤層級 Log 並發送 Discord 通知腳本

最近我在尋找一種方法,讓樹梅派能夠監控系統 log,並在出現錯誤層級 Log 時發送通知。我曾考慮過 Prometheus Alertmanager,但它似乎無法查看 Log。我也看過 Loki,它確實能達到我要的效果,但我不希望建立集中式 Log,因為樹梅派的儲存空間有限。我也考慮過 mtail,但它可能無法正確解析 Log 層級,所以我最終沒有選擇它。至於 openITCOCKPIT,雖然它需要安裝資料庫,但我認為這不適合在樹梅派上進行,儘管官方有提供安裝教學

GMK G3 Mini PC 開箱與使用心得:高性價比的 X86 主機

當樹莓派缺貨時,我在社群中看到有人討論使用 PI4 進行影音轉檔。有人建議使用 N100 主機來替代,因為它的效能和性價比不輸給樹莓派,很多 NodeJS 程式都不適合在 ARM 架構部屬,CI/CD 也很難再 ARM 架構執行。最近我在淘寶上購買了一台 GMK G3 主機,正好可以完成這些東西。

開箱

購買時我選擇了亮綠色,但被告知只有暗綠色可供選擇,這對我沒有影響,所以我還是繼續訂購了。這台主機價格為 599 人民幣,約合台幣 2700 元,而台灣的空機價格約為 4999 元。如果想省錢,可以考慮購買這款主機。

台灣賣的 N100 主機 1TB M2 SSD + 16GB RAM 的配置約為 8000 到 9000 元,最後花費大概 5700 元左右,比台灣賣的便宜許多。畢竟你買主機搭的 RAM 都是沒有終身保固,所以我覺得從淘寶還算划算的。

https://gist.github.com/user-attachments/assets/c91b80f4-8e1f-4c05-acb8-77df66991146

包裝還算滿好的,不用怕運送過程中損壞。

https://gist.github.com/user-attachments/assets/cf7b5ef5-e44e-43e5-947e-871852867e0a
https://gist.github.com/user-attachments/assets/0e8cf50f-0c4b-423b-adee-4718e6fe72c3
https://gist.github.com/user-attachments/assets/d9a6bf0c-657d-47da-9202-9d5f2fc28211
https://gist.github.com/user-attachments/assets/871533fb-f265-4414-8979-480bf2c74b3f

開箱紀錄: Benq ScreenBar Pro 無法裝到我的薄螢幕上

最近我買了一台 PG32UCDM 螢幕,恰逢 Benq 推出了一款新的檯燈,聽說這款檯燈適用於薄螢幕。考慮到我之前使用的 Benq ScreenBar Plus 體驗相當不錯,我便決定嘗試這款新產品。不過,沒想到沒辦法跟我的新螢幕合用,以下是開箱心得。

Windows 11 網路分享小技巧:無線與有線網路的輕鬆分享

我們有時候需要臨時分享網路給另一台電腦,但如果沒有相關設備(如路由器或交換機),這可能會變得相當困難。幸運的是,Windows 11 內建了類似 SNAT 的功能,可以讓我們輕鬆地分享網路。SNAT 是一種網路地址轉換技術,可以讓一台電腦分享其網路連接給其他電腦。在這篇文章中,我將解釋如何使用 Windows 11 的分享網路功能給別的設備連接。

解決 Windows 排程錯誤:操作員或系統管理員已拒絕此要求

最近我在筆電上設定的排程任務都無法正常運行。我發現當筆電蓋上進入休眠模式後,原先設定的排程任務就會執行失敗。更糟糕的是,這種失敗會導致後續的排程任務也無法正常運行,系統會顯示操作員或系統管理員已拒絕此要求的錯誤訊息
https://gist.github.com/assets/75846914/f75d454d-a604-4b00-a533-02dade183744