目录

树莓派 rashbarry

安装系统

Raspberry OS

原生系统是基于Debian的。原生系统默认用户名 pi 密码 raspberry 。使用原生系统可以在刻录之前,ctrl+shift+X 进行系统配置,如网络、开通ssh等。

内核版本

Ubuntu

树莓派安装Ubuntu 参考文章: 1) 2) (普通主机从usb启动安装ubuntu请参考 3)

第一次插电的时候,连不上显示器,回头发现network-config之前改了,也被重新覆盖。把SD卡插回电脑,再改一次,然后断电,重新插电。第二次通电后显示器连接上了。填写网络名需要注意后面的冒号。第一次进不去,启动第二次就好了。

⌘ + ⇧ + X 打开网络设置窗口 network-config 文件需要添加WIFI信息


wifis:
  wlan0:
    dhcp4: true
    optional: true
    access-points:
      <ssid 网络名称>:
        password: "<密码>"
      iPhone:
        password: "12345678"

一定要注意空格。

第一次登录默认的用户名是 ubuntu,密码是 ubuntu。用户没有修改公共区域的权限,需要用root用户登陆,但是root用户默认不允许ssh登陆。详情参阅ubuntu 系统

开机一直停留在 cloud-init 的问题 (需用root身份才能改) touch /etc/cloud/cloud-init.disabled

安装桌面环境 $sudo apt-get install gnome

如果想开机默认进入命令行模式: 输入命令:sudo systemctl set-default multi-user.target 开机默认进入图形用户界面: 输入命令:sudo systemctl set-default graphical.target 。然后重启一下:reboot 如果想暂时回到图形界面,只需要输入命令:startx 从图形界面切换回命令行:Ctrl+Alt+F7

使用$:sudo apt-get install htop进行安装htop工具,查看cpu以及内存使用情况 $ htop

挂载硬盘

lsblk 查看硬盘情况,df -h 查看对应的文件系统。

download

sudo mkdir /mnt/usb
mount /dev/sdb1 /mnt/usb   // 挂载usb到树莓派
mount /dev/sda2 /mnt/hdisk // 挂载移动硬盘到树莓派

开机自动挂载

  1. sudo blkid 查看硬盘ID
  2. 编辑 /etc/fstab 文件,追加两行
UUID=0d6fe93b-b6a0-456f-b11d-91a002b608f0 /mnt/hdisk xfs defaults 0 2
UUID=12037b69-0605-4a19-a5e0-9969de4a8228 /mnt/usb xfs defaults 0 2

第一数字0,0是开机不检查磁盘,1是开机检查磁盘
第二个数2,0表示交换分区,1表示启动分区,2表示普通分区 

备份系统

使用脚本

全部安装完成,稳定运行一段时间以后,就要考虑将系统做一个镜像备份,以便将来的不时之需。4) 5) (无法访问Github的话可以在本站下载脚本 rpi-backup.sh )尤其是当前的树莓上安装并运行了OMV,它安装了很多工具和扩展,重新恢复将会是一件非常痛苦的事情。(脚本有个错误,'s/.*(loop[0-9]+)p.*/\1/g' 原先 [0-9]后面缺一个加号。会导致找不到正确的设备符)

上面的文章已经为我们准备了一份脚本,按照说明就可以将当前的系统做出镜像文件。使用脚本之前检查一下里面的命令,如果没有安装的先安装,例如:

sudo apt-get install dosfstools dump parted kpartx

通过 df -h 查看到自己树莓派上的 boot 和 root 设备分别为 /dev/mmcblk0p1 和 /dev/root (不是 /dev/mmcblk0p2)。进而执行脚本 (注意参数的先后顺序不能搞反)

path-to/rpi-backup.sh /dev/mmcblk0p1 /dev/root

对挂载在 /srv/* 下的数据硬盘在或许要设置 d 标记 6)

# 设置d标记,在ddump命令中就会被忽略
chattr +d /var/spool/squid
# 查看某个目录是否被设置了d标记
lsattr -d /var/spool/squid/

* 发现脚本执行结束后不能删除 tg_Root 目录,需要手工卸载镜像设备,然后才删除

losetup -f --show rpi-20210730-0544.img
# /dev/loop1 显示img中挂载的设备
sudo losetup -d /dev/loop0
sudo losetup -d /dev/loop1
rmdir tgt_Root

dd 命令

关闭树莓,将SD卡插入到Mac系统上7)

# find the sd-card name
diskutil list
# changing /dev/disk1 to your disk's name and path
sudo dd if=/dev/disk1 of=~/PiSDCardBackup.img

* 因为时间很长,因此大概需要显示备份进程。8)

# 管道压缩
sudo dd bs=1M if=/dev/mmcblk0 status=progress | gzip > /srv/ssd/work/ftp/PiOS.img.gz

恢复一个镜像

diskutil unmountDisk /dev/disk1
sudo dd if=~/PiSDCardBackup.img of=/dev/disk1
有个很重要的前提,虽然压缩后的img文件也是只有实际数据的量。但烧录的时候,需要目标盘跟原来的盘一样大小。这就很尴尬了。否则就只能用前面脚本的方法。

检查磁盘

1 下载 smartctl 工具 sudo apt-get install smartmontools 9)

查看帮助文档 man smartctl 或者 smartctl -h

2 检查坏道

sudo fdisk -l 找到盘符, 如 /dev/sda

检查 sudo smartctl -H /dev/sda10

检查镜像

使用 VirtualBox 建立子个新的Linux虚拟系统,然后将镜像拷贝到系统中10)。命令格式为

VBoxManage convertdd rpi.img mypi.vdi

其它

获取 cpu 温度

vcgencmd measure_temp

curl 不通的时候要清理dns缓存

sudo systemd-resolve --flush-caches