烧录镜像
下载镜像。https://dietpi.com/
sudo dd if=./DietPi_RPi-ARMv8-Buster.img of=/dev/mmcblk0 bs=200MB
sudo sync
sudo sync
注意:如果不指定 bs 参数,写入速度非常慢。
配置
-
使用串口进行登陆,不是很友好。也可能是跟我使用的 extraputty 工具有关系。
-
首次启动比较慢,要等 3 - 5分钟左右。(我的设备是 raspberry pi 3 model B)
用户名密码: root / dietpi
默认安装了 htop。从下图中可以看到,进程不多,很精简。
基础软件
默认未提供 vim / git 等软件支持。(rpi 跑 apt 有些吃力,每次安装读软件列表搞半天)
apt install vim git
魔法上网
安装经常断流。来吧,开魔法!
安装 privoxy:
apt install privoxy
安装 shadowsocks:
apt install shadowsocks-libev
安装 v2ray-plugin:
宿主机开魔法下载v2ray-plugin。https://github.com/shadowsocks/v2ray-plugin/releases/download/v1.3.1/v2ray-plugin-linux-arm64-v1.3.1.tar.gz
利用 dropbear 上传文件。
# diepi 默认不支持 scp,使用 ssh 代替,如下命令在 host 主机执行
cat v2ray-plugin-linux-arm64-v1.3.1.tar.gz | ssh root@192.168.0.64 "cat > v2ray.tar.gz"
dietpi 下执行:
tar xzf v2ray.tar.gz
mv ./v2ray-plugin_linux_arm64 /usr/bin/v2ray-plugin
配置 shadowsoks,创建 /etc/shadowsocks-libev/xxx.json,配置需要参考服务端完成。
{
"server":"url.com",
"mode":"tcp_and_udp",
"server_port": 443,
"local_address":"0.0.0.0",
"local_port":1080,
"password":"password",
"method":"aes-256-gcm",
"plugin":"v2ray-plugin",
"plugin_opts":"tls;tls;mux=10;fast-open;host=url.com;path=/s",
"plugin_args": "",
"timeout":60,
"fast_open":true
}
按下图修改 privoxy,开启 http 代理:
配置全局代理
编辑 ~/.profile
,追加如下内容。
# Proxy
#PROXY_SERVER=http://192.168.0.10:1080
PROXY_SERVER=http://127.0.0.1:8118
export https_proxy=$PROXY_SERVER
export http_proxy=$PROXY_SERVER
git config --global http.proxy $PROXY_SERVER
git config --global https.proxy $PROXY_SERVER
# for APT package management
cat << EOF > /tmp/proxy.conf
Acquire {
HTTP::proxy "$PROXY_SERVER";
HTTPS::proxy "$PROXY_SERVER";
}
EOF
sudo mv /tmp/proxy.conf /etc/apt/apt.conf.d/proxy.conf
sudo chown root:root /etc/apt/apt.conf.d/proxy.conf
这样在终端中执行诸如 curl 等软件都会自动通过代理网络走,节约生命。部分不支持利用全局变量进行代理的,可能需要手动指定代理端口。
其他
查看本地监听的端口服务
netstat 已不建议使用。可以使用 ss 代替。
ss -atulpn
搭建 vim runtime 环境
git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime && sh ~/.vim_runtime/install_awesome_vimrc.sh
查看 dd 进度
pkill -USR1 -x dd
dietpi 和 raspbian lite 的对比
点击图片查看原链接
SSH / tar / pipe 互相拷贝文件 (不使用 scp)
ssh taget "tar czpf - /some/important/data" | tar xzpf - -C /new/root/directory
tar cpf - /some/important/data | ssh target "tar xpf - -C /some/directory/"
交叉编译工具链
rpi 官网工具链编译出来的程序需要使用静态编译的方式方能适配 dietpi。否则无法运行并报如下错误提示:
root@DietPi:~# ./util/test/test_hw
-bash: ./util/test/test_hw: No such file or directory
测试程序采用了 automake 进行构建,可以增加静态编译的选项使其可以工作,修改很简单。编译结果比动态链接增大了 100% (900K - 1.8M)。