树莓派安装tailscale

Tailscale 是一个 VPN 服务,可以让你的树莓派通过安全链接互联制连接到其他设备。以下是在树莓派上安装 Tailscale 的步骤:

  1. 更新树莓派的软件包列表:sudo apt update
  2. 安装 Tailscale:curl https://tailscale.com/install.sh | SH_INSTALL_DATA_DIR=/var/lib/tailscale sudo bash
  3. 启动 Tailscale 服务:
  4. sudo systemctl enable tailscaled
  5. sudo systemctl start tailscaled
  6. 如果你还没有 Tailscale 帐号,你需要在浏览器中访问 https://login.tailscale.com 来注册一个帐号。
  7. 在你的树莓派设备上,登录 Tailscale 控制台:sudo tailscale up
  8. 如果你的设备已经被 tailscale 控制台认证,它将会被自动添加到你的网络中。
  9. 完成安装后,你可以通过运行以下命令来检查 Tailscale 状态:tailscale status

以上步骤会引导你完成在树莓派上安装和设置 Tailscale 的过程。需要注意的是,在实际使用时,你可能需要根据你的网络环境和需求进行相应的配置调整。

关于docker及容器

docker开机自动启动容器,以homeassistant为例(设置为只要docker守护进程启动,容器就会自动重启):

docker update --restart=always homeassistant

解释:

Docker 容器在默认情况下不会在系统启动时自动启动。这是因为 Docker 容器有自己的生命周期,并且在创建容器时,你需要明确指定是否要在启动 Docker 守护进程时自动启动容器。

解决方法:

  1. 使用 docker run 命令时,加上 --restart 选项来指定重启策略。例如:docker run -d --restart=always 容器镜像这里的 -d 表示后台运行,--restart=always 表示无论退出代码是什么,只要 Docker 守护进程启动,容器就会自动重启。
  2. 如果容器已经运行,你可以使用 docker update 命令来更新容器的重启策略。例如:docker update --restart=always 容器名或ID
  3. 如果你使用的是 Docker Compose,可以在 docker-compose.yml 文件中为服务设置 restart: always。例如:services:your-service:image:容器镜像restart:always

确保你的 Docker 版本支持该功能,并且在启动容器之前或更新容器配置后,检查 Docker 守护进程是否配置为在启动时自动启动:

sudo systemctl enable docker

以上步骤可以确保在系统启动时自动启动 Docker 容器。

andoq 安装openwrt

玩客云刷Armbian->安装Docker->安装openwrt / 安装青龙面板 极简教程(成功率高 拿走不谢)_armbian安装openwrt-CSDN博客

#安装docker可视面板
docker run --restart always --name fast -p 8081:8081 -d -v /var/run/docker.sock:/var/run/docker.sock wangbinxingkong/fast
#打开网卡混杂模式 
ip link set eth0 promisc on
#创建网络:你的网络是多少段 X 就填多少,其他的数字不要乱改!
docker network create -d macvlan --subnet=192.168.X.0/24 --gateway=192.168.X.1 -o parent=eth0 macnet
#拉取镜像
docker pull jyhking/onecloud:1.1
#然后配置一下
docker run -itd --name=OneCloud --restart=always --network=macnet --privileged=true jyhking/onecloud:1.1 /sbin/init

#路由后台查看openwrt的ip地址->直接网页登陆IP 【账号:root 密码:password】 

树莓派中装docker,docker中装openwrt – 知乎 (zhihu.com)

自定义固件安装

scp openwrt-03.20.2024-rockchip-armv8-panther_x2-rootfs.tar.gz [email protected]:/root/

gunzip openwrt-03.20.2024-rockchip-armv8-panther_x2-rootfs.tar.gz
#使用docker import命令导入到docker,把镜像命名为openwrt
docker import openwrt-03.20.2024-rockchip-armv8-panther_x2-rootfs.tar openwrt
#检查镜像是否导入成功
docker image ls
#创建docker网络
#打开网卡混杂模式,使网卡可以接收任何流量
ip link set eth0 promisc on
#上面的命令是临时性的,重启失效。如果打算把openwrt设置成开机自动启动的话,需要改成永久有效。编辑/etc/rc.local文件,添加一行:

ip link set eth0 promisc on
#创建docker网络,网络驱动程序为macvlan,网络命名为openwrt,子网和网关根据实际情况修改
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=eth0 openwrt
创建docker容器
使用docker run创建容器,命令格式:docker run [选项] 镜像名 命令。

docker run --restart always --name openwrt -d --network openwrt --privileged openwrt /sbin/init

openwrt基本配置
openwrt启动后,执行docker exec进入容器

docker exec -it openwrt /bin/sh
修改openwrt的root密码

passwd
编辑openwrt的/etc/config/network文件,在config interface 'lan' 一节,把设备改成eth0,把其中的ip并改成想要的ip,这里改成192.168.0.254。添加一行网关:option gateway '192.168.0.1'其他无用配置也可以删掉
重启openwrt网络,使修改生效。

service network restart

设置一下开机自动启动

docker update --restart=always openwrt
docker update --restart=always homeassistant

不加ha会导致ha启动失败

Linux清除历史命令

在Linux中,可以通过清除特定的历史文件或者修改特定的环境变量来清除历史命令。历史命令通常保存在当前用户的家目录下的一个隐藏文件中,即.bash_history

要清除当前用户的历史命令,可以使用以下命令:

history -c

如果想要永久地清除历史记录,需要删除.bash_history文件:

rm ~/.bash_history

另外,如果你使用的是其他shell,比如zsh或者csh,历史文件可能会有不同的名称,如~/.zsh_history~/.history

请注意,这些方法只会影响当前用户,如果需要清除其他用户的历史记录,需要相应提升权限,并且指定对应的用户家目录。

如果你想要临时阻止某些命令出现在历史记录中,可以在命令行执行命令时使用history -c,或者在执行命令时使用空格或其他字符(如;)分隔命令,这样执行时不会被加入到历史记录中。例如:

echo"This command will not be in history" ; history -c ; echo"Neither will this"

上述命令中的echo语句不会出现在历史记录中,因为它们被分隔了。

密码保护:aptool

此内容受密码保护。如需查阅,请在下列字段中输入您的密码。