Appearance
树莓派到手装完系统后的操作记录:
1.安装vim,[修改vim无法复制的问题]
(https://ayhz.art/article/1213)
sudo apt-get install vim
pi@raspberrypi2:~ $ whereis vim
vim: /usr/bin/vim /etc/vim /usr/share/vim /usr/share/man/man1/vim.1.gz
pi@raspberrypi2:~ $ cd /usr/share/vim
pi@raspberrypi2:/usr/share/vim $ ls
addons registry vim90
pi@raspberrypi2:/usr/share/vim $ cd vim90/
pi@raspberrypi2:/usr/share/vim/vim90 $ ls
autoload compiler delmenu.vim filetype.vim ftplugin.vim import indoff.vim macros optwin.vim print synmenu.vim vimrc_example.vim
bugreport.vim debian.vim doc ftoff.vim ftplugof.vim indent keymap menu.vim pack scripts.vim syntax
colors defaults.vim evim.vim ftplugin gvimrc_example.vim indent.vim lang mswin.vim plugin spell tutor
pi@raspberrypi2:/usr/share/vim/vim90 $ cd ~
pi@raspberrypi2:~ $ sudo vim /usr/share/vim/vim90/defaults.vim2.修改源,改为清华源
pi@raspberrypi2:~ $ sudo vim /etc/apt/sources.list
pi@raspberrypi2:~ $ sudo vim /etc/apt/sources.list.d/raspi.list
pi@raspberrypi2:~ $ sudo apt update -y
pi@raspberrypi2:~ $ sudo apt upgrade -y
pi@raspberrypi2:~ $ systemctl --user daemon-reload && \
systemctl --user restart rpi-connect.service3.修改root用户密码:
pi@raspberrypi2:/etc/apt/sources.list.d $ sudo passwd root
New password:
Retype new password:
passwd: password updated successfully
pi@raspberrypi2:/etc/apt/sources.list.d $ sudo passwd --unlock root
Usage: passwd [options] [LOGIN]
Options:
-a, --all report password status on all accounts
-d, --delete delete the password for the named account
-e, --expire force expire the password for the named account
-h, --help display this help message and exit
-k, --keep-tokens change password only if expired
-i, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-l, --lock lock the password of the named account
-n, --mindays MIN_DAYS set minimum number of days before password
change to MIN_DAYS
-q, --quiet quiet mode
-r, --repository REPOSITORY change password in REPOSITORY repository
-R, --root CHROOT_DIR directory to chroot into
-S, --status report password status on the named account
-u, --unlock unlock the password of the named account
-w, --warndays WARN_DAYS set expiration warning days to WARN_DAYS
-x, --maxdays MAX_DAYS set maximum number of days before password
change to MAX_DAYS4.安装docker:https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/
常规安装 sudo curl -sSL https://get.docker.com | sh失败,
pi@raspberrypi2:~ $ sudo curl -sSL https://get.docker.com | sh
curl: (28) Failed to connect to get.docker.com port 443 after 134152 ms: Couldn't connect to server问题还是在于网络,于是设置了HTTPS_PROXY和HTTP_PROXY,还是不行
pi@raspberrypi2:~ $ export HTTP_PROXY=http://192.168.1.7:10809
pi@raspberrypi2:~ $ export HTTPS_PROXY=http://192.168.1.7:10809
pi@raspberrypi2:~ $ sudo curl -sSL https://get.docker.com | sh
# Executing docker install script, commit: 6d9743e9656cc56f699a64800b098d5ea5a60020
+ sudo -E sh -c apt-get update -qq >/dev/null
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sudo -E sh -c install -m 0755 -d /etc/apt/keyrings
+ sudo -E sh -c curl -fsSL "https://download.docker.com/linux/debian/gpg" -o /etc/apt/keyrings/docker.asc
+ sudo -E sh -c chmod a+r /etc/apt/keyrings/docker.asc
+ sudo -E sh -c echo "deb [arch=arm64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" > /etc/apt/sources.list.d/docker.list
+ sudo -E sh -c apt-get update -qq >/dev/null
W: Failed to fetch https://download.docker.com/linux/debian/dists/bookworm/InRelease Could not connect to download.docker.com:443 (2a03:2880:f102:183:face:b00c:0:25de), connection timed out Could not connect to download.docker.com:443 (185.60.216.169), connection timed out
W: Some index files failed to download. They have been ignored, or old ones used instead.
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin >/dev/null
E: Package 'docker-ce' has no installation candidate
E: Package 'docker-ce-cli' has no installation candidate
E: Unable to locate package containerd.io
E: Couldn't find any package by glob 'containerd.io'
E: Couldn't find any package by regex 'containerd.io'
E: Unable to locate package docker-compose-plugin
E: Package 'docker-ce-rootless-extras' has no installation candidate
E: Unable to locate package docker-buildx-plugin
pi@raspberrypi2:~ $ sudo curl -sSL https://get.docker.com | sh
# Executing docker install script, commit: 6d9743e9656cc56f699a64800b098d5ea5a60020
+ sudo -E sh -c apt-get update -qq >/dev/null
W: Failed to fetch https://download.docker.com/linux/debian/dists/bookworm/InRelease Could not connect to download.docker.com:443 (2a03:2880:f102:183:face:b00c:0:25de), connection timed out Could not connect to download.docker.com:443 (185.60.216.169), connection timed out
W: Some index files failed to download. They have been ignored, or old ones used instead.
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sudo -E sh -c install -m 0755 -d /etc/apt/keyrings
+ sudo -E sh -c curl -fsSL "https://download.docker.com/linux/debian/gpg" -o /etc/apt/keyrings/docker.asc
+ sudo -E sh -c chmod a+r /etc/apt/keyrings/docker.asc
+ sudo -E sh -c echo "deb [arch=arm64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" > /etc/apt/sources.list.d/docker.list
+ sudo -E sh -c apt-get update -qq >/dev/null
W: Failed to fetch https://download.docker.com/linux/debian/dists/bookworm/InRelease Could not connect to download.docker.com:443 (2a03:2880:f102:183:face:b00c:0:25de), connection timed out Could not connect to download.docker.com:443 (185.60.216.169), connection timed out
W: Some index files failed to download. They have been ignored, or old ones used instead.
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin >/dev/null
E: Package 'docker-ce' has no installation candidate
E: Package 'docker-ce-cli' has no installation candidate
E: Unable to locate package containerd.io
E: Couldn't find any package by glob 'containerd.io'
E: Couldn't find any package by regex 'containerd.io'
E: Unable to locate package docker-compose-plugin
E: Package 'docker-ce-rootless-extras' has no installation candidate
E: Unable to locate package docker-buildx-plugin找到清华大学镜像站docker的安装教程:https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/
教程使用注意:比较人性化的提供了是否使用sudo,ipv4还是v6,系统发行版本等选项可以进行更改,
我们使用树莓派的官方系统,所以参考 Debian/Ubuntu/Raspbian 用户
如果我们没有选择sudo,则需要切换至root用户安装,刚安装的树莓派系统只有pi用户,使用pi用户登录后
sudo passwd root更改root用户密码,
sudo passwd --unlock root解锁root用户,
sudo -i切换root用户
5.设置静态ip
dhcp的方式参考:https://blog.csdn.net/m0_47673868/article/details/132410559,如下,我使用最新版的树莓派系统,似乎没有启用dhcpd服务,所以并没有用
sudo vim /etc/dhcpcd.conf
interface wlan0
static ip_address=192.168.1.42/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
interface eth0
static ip_address=192.168.1.142/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1使用nmcli的方式:Linux 中 nmcli 命令使用详解_linux shell_脚本之家
Linux
pi@raspberrypi2:~ $ systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; preset: enabled)
Active: active (running) since Thu 2024-07-18 20:03:24 CST; 9min ago
Docs: man:NetworkManager(8)
Main PID: 677 (NetworkManager)
Tasks: 3 (limit: 3910)
CPU: 881ms
CGroup: /system.slice/NetworkManager.service
└─677 /usr/sbin/NetworkManager --no-daemon
Jul 18 20:03:37 raspberrypi2 NetworkManager[677]: <info> [1721304217.3022] device (docker0): state change: unavailable -> disconnected (reason 'connection-assumed', sys-iface-state: 'extern>
Jul 18 20:03:37 raspberrypi2 NetworkManager[677]: <info> [1721304217.3045] device (docker0): Activation: starting connection 'docker0' (62dc214c-0abe-45d8-9356-b7d5cbcfc558)
Jul 18 20:03:37 raspberrypi2 NetworkManager[677]: <info> [1721304217.3048] device (docker0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'external')
Jul 18 20:03:37 raspberrypi2 NetworkManager[677]: <info> [1721304217.3054] device (docker0): state change: prepare -> config (reason 'none', sys-iface-state: 'external')
Jul 18 20:03:37 raspberrypi2 NetworkManager[677]: <info> [1721304217.3059] device (docker0): state change: config -> ip-config (reason 'none', sys-iface-state: 'external')
Jul 18 20:03:37 raspberrypi2 NetworkManager[677]: <info> [1721304217.3065] device (docker0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'external')
Jul 18 20:03:37 raspberrypi2 NetworkManager[677]: <info> [1721304217.3115] device (docker0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'external')
Jul 18 20:03:37 raspberrypi2 NetworkManager[677]: <info> [1721304217.3120] device (docker0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'external')
Jul 18 20:03:37 raspberrypi2 NetworkManager[677]: <info> [1721304217.3133] device (docker0): Activation: successful, device activated.
Jul 18 20:03:38 raspberrypi2 NetworkManager[677]: <info> [1721304218.1935] agent-manager: agent[0bc0c5cb61420b66,:1.37/org.freedesktop.nm-applet/1000]: agent registered
pi@raspberrypi2:~ $ sudo nmcli -p connection show
======================================
NetworkManager connection profiles
======================================
NAME UUID TYPE DEVICE
-------------------------------------------------------------------------------------------------------------------
Wired connection 1 634f57f4-a4d9-30e1-8956-ba928c97993e ethernet end0
preconfigured 0c10eaa9-8ee6-4d24-8d22-3816213d80dd wifi wlan0
lo bbba6acb-90bc-4b4c-8e83-162fadd39ba9 loopback lo
docker0 1cec0f18-62b3-4610-afea-56ec33d18822 bridge docker0
pi@raspberrypi2:~ $ hostname -I
192.168.1.8 192.168.1.3 172.17.0.1 2409:8a55:51a1:5150:b536:a16b:a3b:600b 2409:8a55:51a1:5150:4213:8ea:ed34:ded7
# IP地址/24之前的
sudo nmcli c mod 'Wired connection 1' ipv4.addresses 192.168.2.2/24 ipv4.method manual
# 网关
sudo nmcli con mod 'Wired connection 1' ipv4.gateway 192.168.0.1
# DNS服务器
sudo nmcli con mod 'Wired connection 1' ipv4.dns "192.168.0.1"
# 更新有线网络,需要在插网线模式下才能更新成功
sudo nmcli c down 'Wired connection 1' && sudo nmcli c up 'Wired connection 1'
pi@raspberrypi2:~ $ sudo nmcli -p connection show
======================================
NetworkManager connection profiles
======================================
NAME UUID TYPE DEVICE
-------------------------------------------------------------------------------------------------------------------
Wired connection 1 634f57f4-a4d9-30e1-8956-ba928c97993e ethernet end0
preconfigured 0c10eaa9-8ee6-4d24-8d22-3816213d80dd wifi wlan0
lo ca554f79-c94a-44fd-bf2f-95e7b1cd5784 loopback lo
docker0 62dc214c-0abe-45d8-9356-b7d5cbcfc558 bridge docker0
pi@raspberrypi2:~ $ sudo nmcli connection modify "preconfigured" ipv4.addresses 192.168.1.42/24 ipv4.method manual
pi@raspberrypi2:~ $ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:c2:f8:ee:5a txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
end0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.8 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::1645:eed0:2d18:6916 prefixlen 64 scopeid 0x20<link>
inet6 2409:8a55:51a1:5150:b536:a16b:a3b:600b prefixlen 64 scopeid 0x0<global>
ether dc:a6:32:5c:74:0a txqueuelen 1000 (Ethernet)
RX packets 195037 bytes 12078246 (11.5 MiB)
RX errors 0 dropped 184128 overruns 0 frame 0
TX packets 3808 bytes 293965 (287.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 34 bytes 3358 (3.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 34 bytes 3358 (3.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.3 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::afad:4a8f:7e05:e97e prefixlen 64 scopeid 0x20<link>
inet6 2409:8a55:51a1:5150:4213:8ea:ed34:ded7 prefixlen 64 scopeid 0x0<global>
ether dc:a6:32:5c:74:0b txqueuelen 1000 (Ethernet)
RX packets 1436 bytes 188822 (184.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 855 bytes 76272 (74.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
pi@raspberrypi2:~ $ sudo nmcli c down 'preconfigured' && sudo nmcli c up 'preconfigured'
Connection 'preconfigured' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
pi@raspberrypi2:~ $ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:c2:f8:ee:5a txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
end0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.8 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::1645:eed0:2d18:6916 prefixlen 64 scopeid 0x20<link>
inet6 2409:8a55:51a1:5150:b536:a16b:a3b:600b prefixlen 64 scopeid 0x0<global>
ether dc:a6:32:5c:74:0a txqueuelen 1000 (Ethernet)
RX packets 195856 bytes 12141695 (11.5 MiB)
RX errors 0 dropped 184494 overruns 0 frame 0
TX packets 4339 bytes 335441 (327.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 34 bytes 3358 (3.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 34 bytes 3358 (3.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.42 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::afad:4a8f:7e05:e97e prefixlen 64 scopeid 0x20<link>
inet6 2409:8a55:51a1:5150:4213:8ea:ed34:ded7 prefixlen 64 scopeid 0x0<global>
ether dc:a6:32:5c:74:0b txqueuelen 1000 (Ethernet)
RX packets 1439 bytes 189138 (184.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 900 bytes 82046 (80.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
pi@raspberrypi2:~ $
sudo nmcli connection modify 'Wired connection 1' ipv4.addresses 192.168.1.142/24 ipv4.method manual
sudo nmcli c down 'Wired connection 1' && sudo nmcli c up 'Wired connection 1'这样使用dhcp不行的时候,使用nmcli的方式修改有线和wifi的静态ip,这样三个修改完之后,同时再修改笔记本的ip为静态的。方便我们给树莓派开代理,否则动态的ip每次都要修改,尤其docker的代理设置更不方便,每次需要重启docker.
为raspberry也设置静态服务时发现,它既没有启用dhcpd也没有启用NetworkManager
关于这点:如何使用树莓派Bookworm系统中配置网络的新方法NetworkManager 说的很清楚,即Bookworm 版本系统中,将使用多年的 dhcpcd 换成了 NetworkManager(以前是在rasp-config中可选)
所以我查看系统发行版本,果然是bullseye而非Bookworm,于是使用raspi-config启用NetworkManager服务,然后再使用nmcli启用静态ip,另外,使用nmtui也可以通过NetworkManager进行配置
不过,尴尬的是raspberry通过raspi-config配置使用NetworkManager后就连接不上ssh了,ip地址也找不到
pi@raspberrypi:~ $ systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled)
Drop-In: /usr/lib/systemd/system/NetworkManager.service.d
└─10-dhcpcd.conf
Active: inactive (dead)
Docs: man:NetworkManager(8)
pi@raspberrypi:~ $ systemctl status dhcpd
Unit dhcpd.service could not be found.
pi@raspberrypi:~ $ nmtui
NetworkManager is not running.
pi@raspberrypi:~ $ arch
aarch64
pi@raspberrypi:~ $ cat /proc/device-tree/model
Raspberry Pi 4 Model B Rev 1.2pi@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
pi@raspberrypi:~ $ sudo raspi-config连接网线之后重新连接ssh,ifconfig发现wlan0没有ipv4,而且sudo nmcli connection show没有wlan0
pi@raspberrypi:~ $ ifconfig
br-ca6290c2c50a: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.19.0.1 netmask 255.255.0.0 broadcast 172.19.255.255
ether 02:42:58:54:a3:3c txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 fe80::42:faff:fe02:47b1 prefixlen 64 scopeid 0x20<link>
ether 02:42:fa:02:47:b1 txqueuelen 0 (Ethernet)
RX packets 17 bytes 1568 (1.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 48 bytes 10022 (9.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
docker_gwbridge: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255
ether 02:42:49:13:54:b9 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.6 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::e292:bd12:ad8d:7a3c prefixlen 64 scopeid 0x20<link>
inet6 2409:8a55:51a1:5150:29c0:bb72:d3e9:fcb7 prefixlen 64 scopeid 0x0<global>
ether dc:a6:32:74:3c:77 txqueuelen 1000 (Ethernet)
RX packets 304 bytes 32842 (32.0 KiB)
RX errors 0 dropped 151 overruns 0 frame 0
TX packets 163 bytes 20877 (20.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 122 bytes 14550 (14.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 122 bytes 14550 (14.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth8adfb82: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::78b7:ecff:fe3e:dff7 prefixlen 64 scopeid 0x20<link>
ether 7a:b7:ec:3e:df:f7 txqueuelen 0 (Ethernet)
RX packets 17 bytes 1806 (1.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58 bytes 11476 (11.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vethfd6fb43: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::9c79:b3ff:fe83:bef0 prefixlen 64 scopeid 0x20<link>
ether 9e:79:b3:83:be:f0 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 43 bytes 5834 (5.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether a2:bf:83:a9:2e:eb txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
pi@raspberrypi:~ $ sudo networkctl list
WARNING: systemd-networkd is not running, output will be incomplete.
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback n/a unmanaged
2 eth0 ether n/a unmanaged
3 wlan0 wlan n/a unmanaged
4 docker_gwbridge bridge n/a unmanaged
5 br-ca6290c2c50a bridge n/a unmanaged
6 docker0 bridge n/a unmanaged
8 vethfd6fb43 ether n/a unmanaged
10 veth8adfb82 ether n/a unmanaged
8 links listed.
pi@raspberrypi:~ $ sudo nmcli connection show
NAME UUID TYPE DEVICE
Wired connection 1 865e1185-89a7-3539-af55-bf06065b89d9 ethernet eth0
docker0 b4234078-9016-4c21-962d-2ce79b66bf57 bridge docker0
br-ca6290c2c50a ac576ffc-6ca3-4387-929b-005d74b62537 bridge br-ca6290c2c50a
docker_gwbridge 8a62ae80-766f-483f-b675-a297ed127d78 bridge docker_gwbridge
sudo nmcli connection modify 'Wired connection 1' ipv4.addresses 192.168.1.141/24 ipv4.method manual
sudo nmcli c down 'Wired connection 1' && sudo nmcli c up 'Wired connection 1'使用 sudo ifconfig wlan0 up尝试启用,还是不起作用,于是我试着再次 sudo raspi-config配置无线SSID,配置后就可以使用了,不知道原因.可能是bug?
pi@raspberrypi:~ $ sudo nmcli connection show
NAME UUID TYPE DEVICE
Wired connection 1 865e1185-89a7-3539-af55-bf06065b89d9 ethernet eth0
CMCC-A1-1102 d81636d3-cddd-48a1-9a1b-ea7d084d4284 wifi wlan0
docker0 b4234078-9016-4c21-962d-2ce79b66bf57 bridge docker0
br-ca6290c2c50a ac576ffc-6ca3-4387-929b-005d74b62537 bridge br-ca6290c2c50a
docker_gwbridge 8a62ae80-766f-483f-b675-a297ed127d78 bridge docker_gwbridge
sudo nmcli connection modify 'Wired connection 1' ipv4.addresses 192.168.1.141/24 ipv4.method manual
sudo nmcli c down 'Wired connection 1' && sudo nmcli c up 'Wired connection 1'
sudo nmcli connection modify 'CMCC-A1-1102' ipv4.addresses 192.168.1.41/24 ipv4.method manual
sudo nmcli c down 'CMCC-A1-1102' && sudo nmcli c up 'CMCC-A1-1102'这样就可以了。
但是注意:在 输入密码的时候一定要注意键盘的大小写,刚才因为键盘不知道什么时候切换了大写连输了好多次密码都错误,最后打字的时候才发现是大写了,真的应该给capsLock也加一个指示灯或者输入法应该有标识大小写。
这样我们的三块树莓派分别设置了静态ip为41,42和43,对应如果接了有线的话就是141,142和143.
接下来给笔记本设置静态ip,同时尝试树莓派docker安装docker,以及git代理
6.docker配置本地docker registry和代理解决docker镜像无法访问的问题:
(1).配置docker registry的insecure-registries(默认docker pull是https会报错):
pi@raspberrypi3:~ $ sudo vim /etc/docker/daemon.json
pi@raspberrypi3:~ $ cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://xiangpeach123456.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.1.43:5000"]
}
pi@raspberrypi3:~ $ systemctl daemon-reload
pi@raspberrypi3:~ $ systemctl restart docker
pi@raspberrypi3:~ $ docker pull 192.168.1.43:5000/minio/mc:RELEASE.2021-04-22T17-40-00Z(2)配置docker代理,这里局域网内的笔记本开了代理,在参数设置中允许来自局域网的连接√,并且笔记本设置ipv4手动固定为192.168.1.40,默认socks5代理端口号是10808,则http代理端口号为10808+1=10809,如下设置之后且192.168.1.40正常开启着代理,才可正常访问docker registry
sudo mkdir -p /etc/systemd/system/docker.service.d
pi@raspberrypi3:~ $ sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://192.168.1.40:10809"
Environment="HTTPS_PROXY=http://192.168.1.40:10809"
Environment="NO_PROXY=localhost,127.0.0.1,192.168.1.41,192.168.1.42,192.168.1.43,.ayhz.art,.tuna.tsinghua.edu.cn"
pi@raspberrypi3:~ $ sudo systemctl daemon-reload
pi@raspberrypi3:~ $ sudo systemctl restart docker
pi@raspberrypi3:~ $ docker pull shellspec/openwrt6.docker安装配置frpc因为更改了树莓派的ip,可能导致之前的镜像有一些问题,打了tag之后还是不行。
另外代理也必须开全局才行,而且速度有点慢
pi@raspberrypi2:~ $ sudo docker pull 192.168.1.43:5000/snowdreamtech/frpc:0.52.1
Error response from daemon: manifest for 192.168.1.43:5000/snowdreamtech/frpc:0.52.1 not found: manifest unknown: manifest unknown
pi@raspberrypi2:~ $ sudo docker pull snowdreamtech/frpc:0.52.1
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: TLS handshake timeout
pi@raspberrypi2:~ $ sudo docker pull snowdreamtech/frpc:0.52.1
0.52.1: Pulling from snowdreamtech/frpc
579b34f0a95b: Pull complete
114d621e9ab5: Pull complete
Digest: sha256:7dd470795c91ae3f8ae3a18ea58e40b4ded1b4981b749f29f904a6976bea2960
Status: Downloaded newer image for snowdreamtech/frpc:0.52.1
docker.io/snowdreamtech/frpc:0.52.1一通操作之后,发现raspberrypi和raspberrypi1反而无法连接到frps了,不知道什么原因,是因为docker代理吗?
7.树莓派之间开启密钥免密登录。
📅2024-08-02
发现pi和pi1死活无法连接到服务器
考虑尝试同时配置dns服务器
sudo nmcli connection modify "CMCC-A1-1102" ipv4.method manual ipv4.addresses 192.168.1.41/24 ipv4.gateway 192.168.1.1 ipv4.dns 223.5.5.5
sudo nmcli c down "CMCC-A1-1102" && sudo nmcli c up "CMCC-A1-1102"
pi@raspberrypi2:~ $ sudo nmcli -p connection show
======================================
NetworkManager connection profiles
======================================
NAME UUID TYPE DEVICE
-------------------------------------------------------------------------------------------------------------------
preconfigured 0c10eaa9-8ee6-4d24-8d22-3816213d80dd wifi wlan0
lo a1a6c426-06ff-4f04-8e93-70ff8c7fe0d2 loopback lo
docker0 61ea8905-07f0-4b53-87b5-8587a0c3a7f3 bridge docker0
Wired connection 1 634f57f4-a4d9-30e1-8956-ba928c97993e ethernet --
sudo nmcli connection modify "preconfigured" ipv4.method manual ipv4.addresses 192.168.1.42/24 ipv4.gateway 192.168.1.1 ipv4.dns 223.5.5.5
sudo nmcli c down "preconfigured" && sudo nmcli c up "preconfigured"果然是这个问题,立即frpc就能连上了!!!pi和pi2都正常了
注意不同的地址ip不要重复了。
之前在pi2上根据清华源安装了docker,今天想执行docker-compose命令却发现没有这个命令
再次执行了之前的
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin结果却说已安装,于是执行如下名称重新安装docker-compose成功
sudo apt-get update && sudo apt-get install docker-compose