树莓派 Raspberry Pi 4B 初体验

背景

网上一句话说树莓派买回来都是吃灰的,这句话真没错,刚买回来的时候新鲜感还是挺强的,下镜像、安系统,做完这些之后就搁置了。
最近忽然又来了兴趣,之前装系统和简单配置都忘了,现在再玩一遍,来记录一下。

准备工作

格式化SD卡

工具:DiskGenius
参考文章:树莓派SD卡格式化

操作步骤:

  1. 下载好解压,进入软件目录,DiskGenius.exe 双击打开
  2. 找到SD 对应磁盘,如果已有分区,先删除所有分区,然后点击【保存更改】
    树莓派 Raspberry Pi 4B 初体验_第1张图片
  3. 选中磁盘,点击【新建分区】,打开新建分区弹窗,选择 FAT32,点确定
    树莓派 Raspberry Pi 4B 初体验_第2张图片
  4. 点击【保存更改】,保存更改完之后会提示是否立即格式化新建分区
    树莓派 Raspberry Pi 4B 初体验_第3张图片

选择系统

参考:树莓派各类操作系统大全,ubuntu 20.04、ubuntu-mate 20.04、raspbian三个系统对于树莓派4的不同

很多介绍各系统差异的文章,这里就不细说了,Ubuntu MATE 和 Ubuntu 标准版略有差别;
我选择 Ubuntu 标准版适用 Raspberry Pi 服务器版本
树莓派 Raspberry Pi 4B 初体验_第4张图片

镜像写入工具

工具:Win32 Disk Imager
参考:树莓派安装各种Ubuntu版本及系统推荐

操作步骤:

  1. 安装Win32 Disk Imager

  2. 解压 Ubuntu 系统,得到 img 文件
    解压

  3. 打开Win32DiskImager,选择下载的 img 文件,选择内存卡磁盘,点【写入】,等待写入成功
    树莓派 Raspberry Pi 4B 初体验_第5张图片

问题记录
写入镜像后,提示要可移动磁盘要格式化
在写入镜像之后,进入 Windows 文件资源管理器看到 system-boot 分区和可移动磁盘分区,并提示可移动磁盘分区要格式化之后才能使用,查了一下,可能分区没有弄好,使用 DiskGenius 先删除SD卡中的所有分区,新建分区并格式化,然后再烧录镜像就没有问题了

配置

SSH

想在第一次开机就能 开启 ssh 功能,在 Windows 资源管理中打开 system-boot 分区,新建一个 ssh 的文件,来打开系统的 SSH 服务
树莓派 Raspberry Pi 4B 初体验_第6张图片

增加 WIFI 配置

参考:Linux之wpa_supplicant.conf文件详解
新建 wpa_supplicant.conf 文件

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
ap_scan=1
fast_reauth=1
country=CN
 
network={
  ssid="WIFI名称"
  psk="WIFI密码"
}

不过这个好像不适用安装 Ubuntu 系统,配置后没效果

一根网线连接树莓派

参考:一根网线直连树莓派
由于没有外设,也不能进路由器查看IP,可以用网线连接树莓派和电脑,这样就能查看树莓派对应的 IP 了,然后可以通过 SSH 连接到树莓派,上面参考文档写的很详细了,这里还是记录一下具体操作吧。

  1. 在电脑右下角 WIFI 图标位置右击,选择【打开“网络和Internel”设置】,在打开的窗口中选择【更改适配器选项】,打开网络连接窗口;

  2. 可以看到以太网连接,这个就是连接的树莓派,在【WLAN】上右击,选属性,打开【属性】弹窗;
    树莓派 Raspberry Pi 4B 初体验_第7张图片

  3. 选择【共享】,勾选两个复选框允许,选择共享以太网,然后关闭打开的窗口;
    树莓派 Raspberry Pi 4B 初体验_第8张图片

  4. 打开命令行工具,输入指令arp -a,找到 IP 为 192.168.137.1,下面第一个 IP 一般就是树莓派的IP,如果看不到,把树莓派重启下试试
    树莓派 Raspberry Pi 4B 初体验_第9张图片

  5. 通过 SSH 服务连接树莓派,我电脑装了 Git,Git Bash Here 有 SSH 功能,图个方便在 Windos 资源管理器中右击打开 Git Bash Here;
    语法:ssh 用户名@服务器地址

ssh [email protected]

树莓派 Raspberry Pi 4B 初体验_第10张图片
6. 我安装的是 Ubuntu server 镜像,首次进入 Ubuntu 的初始用户名/密码为:ubuntu/ubuntu,密码输入完之后会提示设置新密码

问题记录
SSH 连接不上树莓派
经过反复测试,打开网络连接窗口,将以太网,先禁用,再启用可解决,一次不行再试一次,在终端输入指令arp -a,看到 192.168.137.1,下面第一个 IP 发生改变应该就可以了
树莓派 Raspberry Pi 4B 初体验_第11张图片

优化树莓派系统

查看系统版本

# 系统版本
cat /etc/issue

# 内核版本
uname -a

更新源

  1. 备份原始源文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  1. 编辑软件源文件
sudo vim /etc/apt/sources.list
  1. 添加镜像源
  2. 更新
sudo apt-get update
sudo apt-get upgrade

参考:Ubuntu20.04更换软件源
国内软件源:
清华大学开源软件镜像站
阿里镜像站

ubuntu查看ip地址

参考:ubuntu 连接 WIFI
查询过后知道 18.04 之后 ubuntu 更换了网络管理工具,以前用ifconfig命令,现在要用ip命令

ip a
# 或
ip addr

ifconfig查看 IP 地址方法,在终端中输入,但是报错,提示没有安装 net-tools 工具

ubuntu@ubuntu:~$ ifconfig
Command 'ifconfig' not found, but can be installed with:
sudo apt install net-tools

根据提示,安装 net-tools,再查看就可以了

sudo apt install net-tools

安装 nginx

# 安装
sudo apt-get install nginx

# 启动
sudo /etc/init.d/nginx start

# 重启
sudo /etc/init.d/nginx restart

# 停止
sudo /etc/init.d/nginx stop

在浏览器中输入树莓派的 IP 地址,能看到 nginx 页面表示安装成功。

内网穿透

参考:树莓派内网穿透方法大全
简单来说就是将内网(本地)的 web 应用通过 nat 穿透到公网上,这样就能在公网访问内网中的数据;内网穿透主要有 ngrok 和 frp 两种。

其他配置

如果安装的是桌面版系统,可通过指令sudo apt-get install xrdp 来安装 xrdp 服务,实现 Windows 远程桌面访问树莓派

配置WIFI连接

参考:树莓派ubuntu20.04链接wifi

安装 NetworkManager 网络管理

更多nmcli命令请参考:NetworkManager (简体中文)

安装network-manager,然后通过命令行界面(nmcli)管理网络

# 安装
sudo apt install network-manager

# 查看网络连接
nmcli
编辑 NetworkManager.conf 文件
sudo vim /etc/NetworkManager/NetworkManager.conf

managed=false修改为managed=true
树莓派 Raspberry Pi 4B 初体验_第12张图片
重启 NetworkManager 服务

# 启动服务

# ubuntu 22.04
sudo systemctl restart NetworkManager

# ubuntu 18.04
sudo systemctl restart network-manager

# 查看状态(ubuntu 22.04)
systemctl status NetworkManager

查看要配置的网卡

ls /sys/class/net

# 打印网口名
# eth0  lo  wlan0
# wifi 网卡为 wlan0

# 或使用 ip addr 查看网卡
编辑配置文件

netplan 为默认的网络管理器。
进入/etc/netplan/目录会有*.yaml的配置文件,我的是 Servers 版本,里面有一个50-cloud-init.yaml文件

sudo vim /etc/netplan/50-cloud-init.yaml

默认配置

# 50-cloud-init.yaml
network:
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    version: 2

增加wifis网口配置

network:
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    wifis:
        wlo1:  # 网口,是动态的,可能不是 wlo1,通过`ls /sys/class/net`查看
            dhcp4: true
            access-points:
                "WIFI名称":
	                password: "WiFi密码"
    renderer: NetworkManager
    version: 2

应用配置

sudo netplan apply

此时已经可以通过nmcli管理网络了

或使用命令连接WiFi
参考:ubuntu命令连接wifi
ubuntu 查看网卡状态命令_Ubuntu 16.04通过命令行连接Wi-Fi

查看设备状态

参考:Ubuntu20.04使用nmcli配置网络连接

nmcli -p device

# 查看连接状态
nmcli connection

# 或
ifconfig -a

树莓派 Raspberry Pi 4B 初体验_第13张图片

设置静态IP

sudo vim /etc/netplan/50-cloud-init.yaml
设置网线连接的网口为静态 IP

将 dhcp 关闭,增加 ip、网关、DNS地址

network:
    ethernets:
        eth0:
            dhcp4: false
            addresses: [192.168.137.182/24]
            optional: true
            routes:
                to: default
                via: 192.168.137.1
            nameservers:
                    addresses: [192.168.137.1,8.8.8.8]

Ubuntu 22.04 多网卡IP配置

配置多网卡IP的时候,需要注意一下默认网关只能设置一个,将内网 routes 注释掉,只保留一个 default

出现这个报错,就是配置了多个 default:
** (generate:13113): WARNING **: 08:53:25.086: Problem encountered while validating default route consistency.Please set up multiple routing tables and use routing-policy instead.
Error: Conflicting default route declarations for IPv4 (table: main, metric: default), first declared in wlan0 but also in eth0

network:
    ethernets:
        eth0:
            dhcp4: false
            addresses: [192.168.137.182/24]
            optional: true
            # routes:
            # - to: default
            # via: 192.168.137.1
            nameservers:
                addresses: [192.168.137.1,8.8.8.8]
    wifis:
        wlan0:
            dhcp4: false
            addresses: [172.18.75.7/24]
            optional: true
            routes:
              - to: default
                via: 172.18.75.1
            nameservers:
                addresses: [114.114.114.114,8.8.8.8]
            access-points:
                "WIFI名称":
	                password: "WiFi密码"
    renderer: NetworkManager
    version: 2
运行命令应用新配置,立即生效
sudo netplan apply

持续更新中。。。

你可能感兴趣的:(ubuntu,服务器,linux)