2026年7月23日 星期四

請透過 Squid Proxy 下載 docker hub 公開 image

 #異動 docker 設定
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
Environment="HTTP_PROXY=http://squid:3128"
Environment="HTTPS_PROXY=http://squid:3128"
Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.example.com"
EOF

#重新載入設定並重啟 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

#確認是否生效
sudo docker info | grep -i proxy

Squid Proxy 開放網址
auth.docker.io
registry-1.docker.io
production.cloudfront.docker.com

透過 Squid Proxy 下載 ollama models

#編輯 /etc/systemd/system/ollama.service
[Service] 區塊中加入
Environment="HTTPS_PROXY=http://squid:3128"
Environment="HTTP_PROXY=http://squid:3128"

# 重新載入並重啟 Ollama
sudo systemctl daemon-reload
sudo systemctl restart ollama

#確認是否生效
sudo systemctl show ollama --property=Environment


Squid Proxy 開放網址
ollama.com
registry.ollama.ai
.cloudflarestorage.com

2026年7月20日 星期一

Proxmox VE local vm snt 設定範例

 #!/bin/sh
iptables -F -t nat
echo "1" > /proc/sys/net/ipv4/ip_forward

OIF=vmbr0
IIF=vmbr9
SNIP=172.16.255.0/24

# 1. 建立 NAT:將來自 vmbr9 網段的封包,在從 vmbr0 出去時轉換為 vmbr0 的 IP
iptables -t nat -A POSTROUTING -o ${OIF} -s ${SNIP} -j MASQUERADE

# 2. 允許 eth9 到 eth0 的轉發流量 (建立連線)
iptables -A FORWARD -i ${IIF} -o ${OIF} -s ${SNIP} -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# 3. 允許從 eth0 回到 eth9 的已建立連線流量 (回應封包)
iptables -A FORWARD -i ${OIF} -o ${IIF} -d ${SNIP} -m state --state ESTABLISHED,RELATED -j ACCEPT

#NAT PORT
OPORT=8007
IPORT=8007
IIP=172.16.255.1

iptables -t nat -A PREROUTING -i ${OIF} -p tcp --dport ${OPORT} -j DNAT --to-destination ${IIP}:${IPORT}

# 2. 確保轉發鏈允許該流量通過 (如果你的 FORWARD 預設是 DROP)

iptables -A FORWARD -p tcp -d ${IIP} --dport ${IPORT} -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

OPORT=8443
IPORT=8443
IIP=172.16.255.2

iptables -t nat -A PREROUTING -i ${OIF} -p tcp --dport ${OPORT} -j DNAT --to-destination ${IIP}:${IPORT}

iptables -A FORWARD -p tcp -d ${IIP} --dport ${IPORT} -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Proxmox VE 7/8/9 initrd 損毀無法開機

mkdir /mnt/pve
mount /dev/pve/root /mnt/pve
#mount /dev/sda2 /mnt/pve/boot/efi   # <--- EFI 分區代號

for i in dev proc sys run;do mount -o bind /${i} /mnt/pve/${i};done
chroot /mnt/pve

# 為所有已安裝的 Kernel 重新生成 initrd 映像檔
update-initramfs -u -k all

# 適用於 PVE 7/8/9 使用 proxmox-boot-tool 的系統)
proxmox-boot-tool refresh
update-grub
exit

umount -R /mnt/pve
reboot

2026年7月17日 星期五

Proxmox VE 9.x Alternative Names 重新自動掃描與產生

# 刪除 PVE 指令產生的設定
rm -f /usr/local/lib/systemd/network/50-pve-*.link
rm -f /usr/local/lib/systemd/network/50-pmx-*.link

# 刪除系統安裝時的設定
rm -f /etc/systemd/network/50-pve-*.link
rm -f /etc/systemd/network/50-pmx-*.link

#更新開機映像檔
update-initramfs -u -k all

#掃描並自動產生全新 Pinning
pve-network-interface-pinning generate

#更新開機映像檔
update-initramfs -u -k all

IPMI 網路 dhcp 重新取得 IP

 ipmitool lan set 1 ipsrc static && ipmitool lan set 1 ipsrc dhcp

2026年7月2日 星期四

Task Spooler 使用摘要

Debian 13 安裝
apt install task-spooler

新增任務到佇列
tsp 指令

查看目前佇列狀態
tsp

查看特定任務的輸出
tsp -c jobid

即時追蹤任務輸出
tsp -t jobid

刪除或取消任務
tsp -r jobid

調整任務的優先順序
ts -u jobid

調整並行數量
ts -S 數量

環境變數
TS_SOCKET