跳转至

Blog

树莓派快速重装

挂载硬盘

查看硬盘

lsblk -f

挂载硬盘

sudo mkdir /DATA
sudo mount /dev/sda1 /DATA
ls /DATA

查看硬盘的 UUID

sudo blkid | grep 'sda1'

修改文件

sudo nano /etc/fstab

写入

UUID=xxxx /DATA ext4 defaults,noatime 0 2

最后测试一下

sudo mount -a

安装 docker

curl -fsSL https://get.docker.com -o install-docker.sh
sudo sh install-docker.sh --mirror Aliyun
sudo systemctl enable docker

使用 docker 镜像

编辑,sudo nano /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.m.daocloud.io",
    "https://dockerproxy.net",
    "https://gcr.m.daocloud.io",
    "https://ghcr.io",
    "https://ghcr.m.daocloud.io",
    "https://quay.io",
    "https://quay.m.daocloud.io"
  ]
}

重启 docker

sudo systemctl daemon-reload
sudo systemctl restart docker

查看是否生效

docker info | grep -A3 "Registry Mirrors"

测试一下是否可行了

sudo docker run --rm hello-world

配置 mihomo

下载 mihomo,从这里可以找到安装包。下载 mihomo-linux-arm64-vx.xx.xx.deb。然后安装

sudo apt install mihomo-linux-arm64-vx.xx.xx.deb

配置配置文件 /etc/mihomo/config.yaml。可以从其他已经有了的复制过去。

实际使用的时候需要另外两个文件,可以从这里下载。下载 geoip.metadb, geosite.dat。放到 /etc/mihomo/目录下面。

基于下面的配置方便快速打开和关闭代理。

proxy() {
    if [ "$1" = "on" ]; then
        sudo systemctl start mihomo
        export https_proxy=http://127.0.0.1:7890
        export http_proxy=http://127.0.0.1:7890
        export all_proxy=http://127.0.0.1:7890
        echo "Proxy is ON"
    elif [ "$1" = "off" ]; then
        sudo systemctl stop mihomo
        unset https_proxy http_proxy all_proxy
        echo "Proxy is OFF"
    else
        echo "Usage: proxy [on|off]"
        echo "Current proxy settings:"
        echo "  http_proxy=$http_proxy"
        echo "  https_proxy=$https_proxy"
        echo "  all_proxy=$all_proxy"
    fi
}

因为其中包含 sudo 的命令,会要求输入密码,所以需要添加文件 sudo nano /etc/sudoers.d/mihomo,写入

kilos ALL=NOPASSWD: /bin/systemctl start mihomo, /bin/systemctl stop mihomo

然后 source .bashrc

配置 casaos

安装 casaos

wget -qO- https://get.casaos.io | sudo bash

配置 frpc

下载 frp_xxx_linux_arm65.tar.gz

sudo mkdir /usr/local/frp
sudo cp frp_xxx_linux_arm64/frpc /usr/local/frp/frpc

frpc.toml 文件移动过去 /usr/local/frp/frpc.toml。 把 frpc.service 文件移动过去 /etc/systemd/system/frpc.service

设置启动

sudo systemctl daemon-reload
sudo systemctl start frpc
sudo systemctl enable frpc

测试一下是否可以同步了

查看电脑状态

添加文件 /usr/local/bin/status,然后 sudo chmod +x /usr/local/bin/status

#!/bin/bash
echo "=========================================="
echo "🌡️  CPU温度: $(vcgencmd measure_temp | cut -d= -f2)"

# 准确的CPU使用率计算
read cpu user nice system idle iowait irq softirq steal guest < /proc/stat
total=$((user + nice + system + idle + iowait + irq + softirq + steal))
CPU_USAGE=$((100 - (idle * 100) / total))
echo "🖥️  CPU使用: ${CPU_USAGE}%"

MEM_PERCENT=$(free | awk 'NR==2{printf "%.1f%%", $3*100/$2}')
MEM_USED=$(free -h | grep Mem | awk '{print $3}')
MEM_TOTAL=$(free -h | grep Mem | awk '{print $2}')
echo "💾 内存使用: $MEM_PERCENT ($MEM_USED/$MEM_TOTAL)"
echo "💿 存储空间: $(df -h / | tail -1 | awk '{print $5 " (" $3 "/" $2 ")"}')"
echo "⏰ 运行时间: $(uptime -p | sed 's/up //')"
echo "=========================================="

安装 Syncthing

windows 下面安装

scoop install syncthing 
scoop install nssm
scoop install sudo

nssm 用来设置 syncthing 开启自启的

用这个命令开始安装

nssm install syncthing

然后路径选择 syncthing 的安装路径,参数写入下面的,需要先创建好 home 参数的路径

--no-console --no-browser --home="C:\Users\<username>\scoop\persist\syncthing\data"

最后点击 install 就可以了。

安装完成了之后开始启动。

sc start syncthing

然后打开网址 http://127.0.0.1:8384。就可以看到服务的运行状态了。

FRP 把服务放到公网

最近使用 tinytinyrss 搭建了一个 RSS 服务,但是希望在外面的时候也可以访问,后面买了一个有 ipv4 的服务器,并且注册了域名

服务器配置

编辑 frps.toml 文件

# 服务器绑定的端口,客户端也要配置这个信息
bindPort = 7000
# 添加一个密码,保证客户端和服务器连接的隐秘性
auth.token = "YourPassword"
# 用于http服务的端口
vhostHTTPPort = 80
# 用于https服务的端口
vhostHTTPSPort = 443

需要注意的是,要保证服务器中这几个端口是开放的。

客户端配置

编辑 frpc.toml 文件

# 服务器的公网IP
serverAddr = "xx.xxx.xxx.xx"
# 服务器的端口,和上面配置要一致
serverPort = 7000
# 认证密码,和上面一致
auth.token = "YourPassword"

[[proxies]]
name = "web1" # 服务名称,应该无所谓吧
type = "http" # 类型,也可以写https
localPort = xxxx # 已经在客户端服务器上部署的服务的IP
customDomains = ["web1.mysite.com"] # 域名,我使用的是子域名

[[proxies]]
name = "web2"
type = "http"
localPort = xxxx
customDomains = ["web2.mysite.com"]

需要添加一下域名解析,我用的是子域名,如果是上面的服务,大概就是这样写

  • 记录类型:A
  • 主机记录:web1.mysite.com
  • 记录值:服务器的 IP 地址,也就是 serverAddr

同理,再添加 web2 的解析

git push 出错

突然 git push 出错了,好像是说 22 端口被封了,解决方案来自GitHub 修改 ~/.ssh/config 文件,添加

Host github.com
    Hostname ssh.github.com
    Port 443
    User git

deepseek 简单测试

使用的是 uv, 只需要运行 uv run test.py 就可以

# /// script
# requires-python = ">=3.10"
# dependencies = [
#     "torch",
#     "transformers",
# ]
# ///

# Use a pipeline as a high-level helper
from transformers import pipeline

messages = [
    {"role": "user", "content": "Who are you?"},
]
pipe = pipeline("text-generation", model="deepseek-ai/DeepSeek-R1-Distill-Qwen-7B")
pipe(messages)

国内可以使用清华镜像加速一下下载安装包的速度

export UV_DEFAULT_INDEX="https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"

Windows 多用户 ssh 权限错误

因为在 Windows 创建了多个账户,然后也给了新创建的账户管理员权限。然后就导致 ssh 连接远程服务器出现权限错误。

解决版本:

  • 找到用户目录下面的.ssh 目录
  • 右键,点开属性
  • 点击安全下面的高级
  • 在权限里面,先把下面的继承关掉,关掉的时候不用删除全部的权限
  • 最后把新创建的账户的权限点击删除就可以了

需要注意的是,不能直接把所有的权限都删除,虽然 ssh 还是可以连接,但是后面在 git push 的时候又提示了权限错误,所以只把一个权限删除就可以了。