2026/02/25

昨天升版PVE 9 時有台guest開不起來
訊息如下






一開始以為是os不支援新的virtio版本
把nic換成 e1000或rtl8139都還是相同問題
由於因為程式的原因 這台必須跑x32的os
想說是不是這個原因 於是就把cpu 從 defult 換成 kvm32
再開几就正常了
看起來是pve 9預設已經不支援x32的cpu了 要使用必須手動指定

2026/2/21 06:40 有二台switch down

一開始覺得很怪

還在過年期間 應該不會有人上班而且亂接線才對

以往發生這個問題都是loop

看了log又沒有

週一到現場測試

用fluke測試竟然是通的 但接到別台switch還是不通

直接換了一條 crossover的線 就通了

第一次碰到這種問題

switch本身的跳線偵測几制壞了

2026/02/14

PDM在migrate時
就算 source 跟 destination 在同一個 nfs 的目錄
也會copy 一個新檔案再把舊的砍了
有點多餘
還是直接移轉conf 比較快
使用sshfs同時掛進來 mv 醬應該最快

移轉LXC比較方便

2026/02/12
























昨天在裝dell server時發現這個有趣的東西
把type a的線接上後 就可以用以下的資訊登入

Username: root
Password: calvin
Alternative USB IP: 169.254.0.1 (for direct connection via USB NIC) 

2026/02/10

最近google一直出現要停用pop3收信的通知

所以找個之後能處理信件的方法 找到了 imapsync 


https://github.com/imapsync/imapsync


因為是用 perl 寫的 可以直接下載來執行或跑docker

如果要直接執行需要補很多perl的元件

所以選擇跑docker

mail server 打開 imaps

設定檔案如下 將所有監聽埠開啟

/etc/dovecot/conf.d/10-master.conf

service imap-login {

  inet_listener imap {

    port = 143

  }

  inet_listener imaps {

    port = 993

    ssl = yes

  }

}


service pop3-login {

  inet_listener pop3 {

    port = 110

  }

  inet_listener pop3s {

    port = 995

    ssl = yes

  }

}


設定 SSL 策略


為了讓 110 與 143 也能正常運作,你的 SSL 設定不能過於強硬。 編輯 /etc/dovecot/conf.d/10-ssl.conf:

ssl = yes 


允許不加密的連線同時支援強制加密連線


重啟 dovecot


再來google 要使用 應用程式專用密碼 而不是登入密碼

所以要開啟二階段驗証並設定 應用程式專用密碼


















以上都設定完成後 同步指令如下

測試先 dry run

docker run gilleslamiral/imapsync imapsync --host1 mail.abc.tw --port1 993 --user1 test --password1 your_passwd --host2 imap.gmail.com --user2 user@google.com --password2 your_app_password --ssl1 --ssl2 --dry


實際執行

docker run gilleslamiral/imapsync imapsync --host1 mail.abc.tw --port1 993 --user1 test --password1 your_passwd --host2 imap.gmail.com --user2 user@google.com --password2 your_app_password --ssl1 --ssl2


只同步收件夾

docker run gilleslamiral/imapsync imapsync --host1 mail.abc.tw --port1 993 --user1 test --password1 your_passwd --host2 imap.gmail.com --user2 user@google.com --password2 your_app_password --ssl1 --ssl2  --folder INBOX


同步後刪除來源端信件

docker run gilleslamiral/imapsync imapsync --host1 mail.abc.tw --port1 993 --user1 test --password1 your_passwd --host2 imap.gmail.com --user2 user@google.com --password2 your_app_password --ssl1 --ssl2 --delete1 --expunge1


執行後刪除container

docker run --rm gilleslamiral/imapsync imapsync --host1 mail.abc.tw --port1 993 --user1 test --password1 your_passwd --host2 imap.gmail.com --user2 user@google.com --password2 your_app_password --ssl1 --ssl2 --delete1 --expunge1

2026/02/07

docker run 裡的 -v 一定要加 如果不加 升級重裝後資料就會消失

如果不指定 預設存放資料路徑就會是

/var/lib/docker/volumes

如果說明裡要加 -v 但沒加

也會在上述路徑產生一個隨几目錄

但docker rm 後並不會自動刪除

所以必須檢查那些目錄沒用到 進行手動清理

2026/02/05

使用 docker 來跑 duplicati


 docker run -d \

  --name=duplicati \

  -e PUID=1000 \

  -e PGID=1000 \

  -e TZ=Asia/Taipei \

  -e SETTINGS_ENCRYPTION_KEY=YOUR_KEY \

  -e DUPLICATI__WEBSERVICE_PASSWORD=YOUR_PWD \

  -p 8200:8200 \

  -v /tmp/backups:/backups \

  -v /tmp/source:/source \

    lscr.io/linuxserver/duplicati:latest

2026/02/04

每個星期都有forti的消息
早上要登入
竟然出現
看起來很大條



2026/02/02

最近几天在測 openclaw (不知道會不會再改名)
想說先使用免費的模型
於是到aistudio申請了一支key
在安裝時匯入
但安裝後chat一直沒有回應
看了後台 發現如下圖的404 not found



















查了一下才發現因為輸入key後選擇了 gemini 1.5 應該是不支援了

用以下指令查一下目前支援那些模型
 
curl https://generativelanguage.googleapis.com/v1beta/models?key=YOUR_API_KEY


選了 gemini-2.5-flash

先測試一下

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=YOUR_API_KEY \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[{"text": "你好,請確認你現在的版本。"}]
      }]
    }'

回應如下

{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "text": "您好!\n\n我是一個大型語言模型,由 Google 訓練。\n\n像我這類的模型並沒有像軟體那樣具體的「版本號碼」。我會定期更新和改進,所以可以說我總是在最新的狀態。"
          }
        ],
        "role": "model"
      },
      "finishReason": "STOP",
      "index": 0
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 8,
    "candidatesTokenCount": 51,
    "totalTokenCount": 519,
    "promptTokensDetails": [
      {
        "modality": "TEXT",
        "tokenCount": 8
      }
    ],
    "thoughtsTokenCount": 460
  },
  "modelVersion": "gemini-2.5-flash",
  "responseId": "VfF_acThDKO-vr0PwpjrsQ8"
}


但實際跑後又出現上圖右边的情況 

429 too many requests

看來不太可能用免費的模型來玩了

2026/01/27

現在只要開ftp就會被弱掃列入中風險
但又因為某些原因沒辦法全部使用ssh
所以改用ftps
步驟如下

先建立一支私憑証

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

更改權限 不讓其他人讀取

chmod 600 /etc/ssl/private/vsftpd.pem

修改/etc/vsftpd/vsftpd.conf 在最後加上

# 啟用 SSL
ssl_enable=YES

# 指定剛產生的 .pem 檔案路徑
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

# 其他加密設定
force_local_data_ssl=YES
force_local_logins_ssl=YES

重新啟動 vsftpd

systemctl restart vsftpd

2026/01/16

今天升到 linux mint 22.3
發生一件很累人的事
本來使用的ibus輸入法不見了
爬了文才看到有人反應了


要叫出做要到 系統設定 鍵盤 裡去新增回來

但新增回來後又出現一個更煩的問題

右下角的提示當切為中文後就只會出現中

完全不知道現在用的是那倉頡或注音

看來只能改用fcitx了

但fcitx的切換順序不像之前用的ibus 

可以單純使用 ctrl + space 循環切換

目前是改成用 ctrl + space 中英切換

切換成中文後再使用 ctrl + shift 切換不同的中文輸入法

2026/01/09

ruckzuck真的是個好東西

解決了winget的大部分問題

可以在 win server上用

win10 LTSC 可以用

不需要使用登入帳號就能用

可以使用SYSTEM這個帳號 

所以從 protect 往client下指令也不受限制

https://ruckzuck.tools/

2026/01/08

docker用久了要重新啟動忘了當時如何下參數
雖然可以用 history來找
但時間長也有可能會找不到
使用 runlike是最快的方式

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike [容器名稱或ID]

找出來後直接複制貼上即可

2026/01/07

這几天在測 speedtest-tracker

可以定時測速度 看有沒有問題並發出告警

原本一直卡在時區的問題

最後才解決 要指定 DISPLAY_TIMEZONE 這個參數

docker 指定如下


docker run -d --name speedtest-tracker --restart unless-stopped     -p 8080:80     -p 8443:443     -e PUID=1000    -e PGID=1000    -e APP_KEY=base64:N5NKnBNwETh5u40Btf0upZLVA=    -e SPEEDTEST_SCHEDULE="*/10 * * * *"     -e PRUNE_RESULTS_OLDER_THAN=180 -e DISPLAY_TIMEZONE=Asia/Taipei -e DB_CONNECTION=sqlite     lscr.io/linuxserver/speedtest-tracker:latest


如果要加上mail通知 及保存數据 再修改如下

docker run -d \

  --name speedtest-tracker \

  --restart unless-stopped \

  -p 8080:80 \

  -p 8443:443 \

  -v /你的路徑/config:/config \

  -e PUID=1000 \

  -e PGID=1000 \

  -e APP_KEY=base64:N5NKnGtGUOFlfJmvTO409if0upZLVA= \

  -e SPEEDTEST_SCHEDULE="*/10 * * * *" \

  -e PRUNE_RESULTS_OLDER_THAN=180 \

  -e DISPLAY_TIMEZONE=Asia/Taipei \

  -e DB_CONNECTION=sqlite \

  -e MAIL_MAILER=smtp \

  -e MAIL_HOST=10.0.0.1 \

  -e MAIL_PORT=25 \

  -e MAIL_USERNAME="speedtesttraker" \

  -e MAIL_PASSWORD="" \

  -e MAIL_FROM_ADDRESS="speedtesttraker@aaa.com" \

  -e MAIL_FROM_NAME="Speedtest Tracker" \

  lscr.io/linuxserver/speedtest-tracker:latest



https://github.com/alexjustesen/speedtest-tracker

2026/01/02

今天打開PDM看到這個




















查了一下是自簽的憑証過期了
想說就砍掉重加
重加出現











到forum上找了一下
發現要把之前PDM在原來node的token砍掉

1) Visit the target PVE.
2) Select Datacenter.
3) Select Permission->API Token.
4) You will then find the API Token that PDM created. Delete it.

昨天才突然發現PVE9多了 Pull from OCI Registry
可以直接下載 docker來用
但不是所有 docker image都下載的到
簡單下載 ubuntu 2404來比較
跟lxc比起來少了100M
更精簡了




2025/12/26

最近在試以下二個監控工具 

hertzbeat 功能完整 可是超吃資源

開起來啥都沒做就直接吃掉1G的ram

管理介面無法修改admin密碼

必須去改設定檔


uptimekuma 功能簡單 介面也不錯


https://uptimekuma.org/

https://hertzbeat.apache.org/




2025/12/24

今天本來想在 portainer上匯入 其他 host 備分出來的 container 

結果在 image import 時一直出現以下錯誤













手動下指令看看

docker load --input 1224.tar 

invalid archive: does not contain a manifest.json

沒有指定名稱

我在管理介面上也沒有地方讓我指定名稱啊

重下指令

docker import 1224.tar test

醬就可以了

docker images -a


test:latest   fab5274bc293      855MB             0B    

用這個image跑個新的container
   
docker run -p 5678:5678 -d fab5274bc293 -it /bin/bash

2025/12/23

如何讓 Portainer 連到遠端的 docker host

官方建議使用 agent 的方法



 













在遠端几器安裝好 agent 後再連線 如下圖


docker run -d \

  -p 9001:9001 \

  --name portainer_agent \

  --restart=always \

  -v /var/run/docker.sock:/var/run/docker.sock \

  -v /var/lib/docker/volumes:/var/lib/docker/volumes \

  -v /:/host \

  portainer/agent:2.33.6