起因#
最开始使用 Linux 是使用的云服务器,后来就想着自己也能够拥有一个实体的机器,能够随时在线。然后就知道了开发板这种产品,因为钱包有限,精挑细选后选择了香橙派 Zero3。
起初是在上面搭了很多的东西,但是随着时间和一些其他原因就没再怎么维护了。暑假时知道了 QQ 放开了群机器人的权限,于是想再试试用这一块板子搭建群聊机器人。
介绍#
这一块板子是昨年发布的,使用的是全志的 H618 处理器;内存采用了 LPDDR4,拥有 1GB/1.5GB/2GB/4GB 几种规格可选;自带蓝牙和 Wifi 模块;拥有 26 + 13 个 pin 针脚;以太网接口使用的是 RJ45 千兆网口,供电使用 5V3A ,支持 Micro HDMI 的 HDMI 输出。
在当时来说是性价比很高的一块板子。特别是 1G 内存版 99 元,当时有很多人都在讨论。虽然生态不如国外的树莓派,但是树莓派价格被炒起来后有越来越多人转向使用这种所谓的“山寨派”,生态只会越来越好。对我而言就只是一台小型的 Linux 服务器,不需要对硬件进行什么更改,官方也提供了 Ubuntu 的系统镜像,这就已经足够。
开始之前#
需要准备以下东西
- 香橙派本体
- 5V3A 电源和一根type-c电源线
- 一个 TTL 转 USB 模块和三根杜邦线(如果你有 Mico HDMI 线和一个支持 HDMI 的屏幕也可以不用)
- 一张闪迪的 TF 卡(官方推荐的是闪迪,所以我也一直使用的是闪迪的卡,并没有试过其他的)
- 一个读卡器
- 一根网线(可选)
- 有线或者无线网络环境
- 一台电脑
这一块板子以前是使用过的,但是由于 TF 卡用到了别处,所以需要先将卡进行格式化,所有常见的文件系统都可以使用,后面烧录的时候都会统一成 EXT4 的。
烧录 TF 卡#
开发板本身只有一个板载的微型 Linux ,只能用来检查板子有没有坏掉,所以需要烧录一个系统到 TF 卡上然后插到开发板上面。
首先下载并安装官方推荐的烧录工具 balenaEtcher,或者使用 SD Card Formatter。
下载并解压官方的 Ubuntu 镜像。
将 TF 卡使用读卡器连接到电脑上,启动 balenaEtcher,选择镜像文件,需要烧录的存储介质,然后点击「Flash!」 。
等待烧录,烧录结束后会进行验证,可以跳过,但我还是乖乖等一会儿吧,不急这一时。
烧录结束后直接叉掉 balenaEtcher 的窗口然后拔出读卡器即可。
开机!#
将 TF 卡插入开发板后使用杜邦线连接开发板和 TTL 转 USB 模块,然后将 TTL 转 USB 模块插在电脑上。TTL 转 USB 模块一般有 5 个针脚,其中 3.3V 和 5V 的供电不需要插任何东西,其余三个针脚使用杜邦线进行链接。杜邦线的连接方式如下:
- USB 转 TTL 模块的 GND 接到开发板的 GND 上
- USB 转 TTL 模块的 RX 接到开发板的 TX 上
- USB 转 TTL 模块的 TX 接到开发板的 RX 上
下载并安装支持串口通信的终端软件,我使用了 Tabby Terminal。安装好后打开 Tabby Terminal ,点击右上角小齿轮进入设置。配置和连接中点击「 + 新建」按钮,选择「新配置」。弹出的基本配置菜单选择「串口连接」。名称我填了「Orange_Pi_Zero3 (Serial)」,设备的话哪个亮了选哪个,我这里是COM3
,波特率填115200
,其他看选择更改,我直接点击保存了。
现在新建一个窗口,选择 「Orange_Pi_Zero3 (Serial)」 ,然后接通香橙派的电源。此时会开始系统初始化,3 分钟左右就会进入系统。(我这里已经是修改之后了)
进行基本配置#
连接网线,或者使用nmtui
进入图形化无线网络连接界面连接无线网。
连接好网络后首先进行一次apt-get update -y && apt-get upgrade -y
来更新系统基础软件。然后配置ssh
。
配置 SSH#
使用sudo vim /etc/ssh/sshd_config
来编辑 sshd (默认sudo
密码为orangepi
)按照自己的需求进行配置,主要修改的有:
# ssh 端口
Port 22
# 是否允许 Root 直接连接
PermitRootLogin yes
# 是否允许密钥验证登录
PubkeyAuthentication yes
# 是否允许密码验证登录
PasswordAuthentication yes
# 是否允许空密码
PermitEmptyPasswords no
因为我的香橙派是在宿舍这个小内网中使用,不会放在公网上,所以我就就只修改了端口并且允许 Root 直接连接和使用密码验证登录,在公网上建议使用密钥登录并不允许 Root 直接连接。
完成修改后使用Esc进入 vim 的命令模式,然后输入:wq
来保存并退出sshd_config
,然后使用systemctl restart sshd
就生效了。
更改默认用户#
接下来是更改默认用户为我自己常用名he_tong
,有两种方式可以实现,一个是直接将原本的默认用户orangepi
修改为he_tong
,另一个方案是删除orangepi
,新增用户he_tong
。
两种方式都需要用户orangepi
中没有进程在运行,所以需要使用 ssh 连接 root用户:
- 在串口连接中使用
ifconfig
查看香橙派的地址,例如我的192.168.1.181
- 在电脑上新建终端,使用下面指令连接香橙派的 ssh:
ssh -p <端口> root@<香橙派IP>
# 示例
ssh -p 5114 [email protected]
此时会让你输入密码,默认密码orangepi
,成功连接ssh后就可以断掉串口连接了。
切换到root
后顺带使用passwd root
修改root
的密码。然后使用top
查看进程。进入top
后输入u
(小写)筛选用户,输入用户名orangepi
就可以查看orangepi
下面的所有进程了,使用上下选择,使用k
(小写)就可以结束对应的进程。
成功结束orangepi
下的所有进程后就可以开始进行更改或者删除了。
- 更改:
- 更改用户名:
usermod -l <新用户名> <旧用户名>
- 更改用户
home
目录名:usermod -d /home/<新用户名> -m <新用户名>
- 更改用户组名:
groupmod -n <新用户名> <旧用户名>
- 更改用户名:
- 删除后新建:
- 删除用户:
userdel -r <旧用户名>
- 新建用户:
useradd -m <新用户名>
- 删除用户:
修改命令提示符#
我想将root
和he_tong
的命令提示符都修改掉,并且root
使用默认的 bash 作为解析器,而he_tong
使用 zsh。
首先修改 root 的:
- 先将完整地
.bashrc
copy 到root
的家目录:cp /etc/skel/.* ~
- 修改命令提示行部分,我想使用 KALI 的命令提示样式,修改完成保存后后
source ~/.bashrc
即可生效:
# 默认的:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# KALI的:
# The following block is surrounded by two delimiters.
# These delimiters must not be modified. Thanks.
# START KALI CONFIG VARIABLES
PROMPT_ALTERNATIVE=twoline
NEWLINE_BEFORE_PROMPT=yes
# STOP KALI CONFIG VARIABLES
if [ "$color_prompt" = yes ]; then
# override default virtualenv indicator in prompt
VIRTUAL_ENV_DISABLE_PROMPT=1
prompt_color='\[\033[;32m\]'
info_color='\[\033[1;34m\]'
prompt_symbol=@
if [ "$EUID" -eq 0 ]; then # Change prompt colors for root user
prompt_color='\[\033[;94m\]'
info_color='\[\033[1;31m\]'
# Skull emoji for root terminal
prompt_symbol=💀
fi
case "$PROMPT_ALTERNATIVE" in
twoline)
PS1=$prompt_color'┌──${debian_chroot:+($debian_chroot)──}${VIRTUAL_ENV:+(\[\033[0;1m\]$(basename $VIRTUAL_ENV)'$prompt_color')}('$info_color'\u\[\033[0;1m\]'$prompt_symbol''$info_color'\h'$prompt_color')-[\[\033[0;1m\]\w'$prompt_color']\n'$prompt_color'└─'$info_color'\$\[\033[0m\] ';;
oneline)
PS1='${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV)) }${debian_chroot:+($debian_chroot)}'$info_color'\u@\h\[\033[00m\]:'$prompt_color'\[\033[01m\]\w\[\033[00m\]\$ ';;
backtrack)
PS1='${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV)) }${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ';;
esac
unset prompt_color
unset info_color
unset prompt_symbol
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
esac
接下来修改he_tong
的命令解释器为 ZSH
- 切换到用户
he_tong
运行oh-my-zsh
安装脚本(二选一):
# 境外:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 境内:
sh -c "$(curl -fsSL https://install.ohmyz.sh/)"
- 安装主题「Powerlevel10k」:
# 境外:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
# 境内:
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
- 使用主题:
vim ~/.zshrc
# 修改 ZSH_THEME 这一项
ZSH_THEME="powerlevel10k/powerlevel10k"
- 安装插件:
# zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# zsh-history-substring-search
git clone https://github.com/zsh-users/zsh-history-substring-search.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-history-substring-search
# zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# zsh-you-should-use
git clone https://github.com/MichaelAquilina/zsh-you-should-use.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/ zsh-you-should-use
- 启用插件:
vim ~/.zshrc
# 修改 plugins 这一项
plugins=(git copypath zsh-you-should-use zsh-autosuggestions zsh-syntax-highlighting zsh-history-substring-search sudo)
# 使 .zshrc 生效
source ~/.zshrc
最后#
以上就是我配置香橙派的主要历程了,写篇文章还是为了备份一些东西,如果对你有什么启发那更好不过了。😘
参考#
- OrangePi Zero3官方Wiki
- 知乎 Dream 的专栏 - Oh My Zsh, 『 Powerlevel10k 安装 & 配置 』
- 知乎 tongysh 的专栏 - 程序员必备终端神器ohmyzsh的安装与配置过程(保姆级)
本文作者: 褐瞳さん
本文链接: https://hetong-re4per.com/posts/documenting-an-opizero3-use/
版权声明: 本文文字在未特别注明下默认使用 CC BY-NC-SA 4.0 许可协议。