前言
心心念念了一个学期,最终还是全款买下一个香橙派,型号为 OrangePi 3 LTS。
本来想买树莓派的,可惜溢价太严重了,于是只好用香橙派来代替了。
因为经常折腾系统,所以肯定会多次重置,就写了一篇配置文章,留着以后重置后复制粘贴用,也就是备份了。
以下所有命令都是以Ubuntu系统为准
资料
Orange Pi 3 LTS地址:Orange Pi 3 LTS-Orange Pi官网-香橙派(Orange Pi)开发板,开源硬件,开源软件,开源芯片,电脑键盘
用户手册和原理图:用户手册和原理图_免费高速下载|百度网盘-分享无限制 (baidu.com)
烧录
材料:内存卡一个(8G起步)
工具软件:
- 烧录软件:balenaEtcher – Flash OS images to SD cards & USB drives
- 格式化内存卡软件:https://www.sdcard.org/downloads/formatter/eula_windows/SDCardFormatterv5_WinEN.zip
过程没啥好说的,直接看用户文档。先下载镜像,再格式化内存卡,然后通过烧录软件将镜像烧录进去。香橙派会自动选择加载内存卡里系统。
可参考好友文章:制作Linux启动盘 – Clif's Blog (new-epoch-meta.com)
配置
桌面服务
因为桌面服务功耗太高了,所以平时就关闭了,也可以直接下载服务器版本镜像使用
sudo orangepi-config
选择 System
,Desktop
,Stop
。
关闭后记得重启生效
reboot
WiFi连接
没有最基本的网络,那么远程连接都不行,所以先进行网络连接
打开无线
nmcli radio wifi on
列出可用的 WiFi 网络
nmcli device wifi list
选择要连接的 WiFi 网络
nmcli device wifi connect SSID password PASSWORD
查看连接
nmcli con show
断开连接
nmcli con down yourSSID
重新连接
nmcli con up yourSSID
将 SSID
替换为要连接的 WiFi 网络的名称,将 PASSWORD
替换为该网络的密码。如果该网络不需要密码,则无需提供 password
部分。
请注意,使用
nmcli
连接 WiFi 需要您的系统上安装了 NetworkManager,并且您具有适当的权限来进行网络连接操作。
用户配置、SSH连接
系统初始用户名和密码都是 orangepi
, 如果要更改root密码,使用 passwd
命令即可
passwd
通过命令查看ip地址,然后ssh连接香橙派
ifconfig
Vim配置
Vim
肯定是使用频率最高的东西之一了,所以得好好配置
vim /etc/vim/vimrc #这里是全部用户都一样
syntax on set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set cindent
set nu
set ruler
set cursorline
set cursorcolumn
set cuc cul
更加全局详细的配置:Vim基本配置 – Echo (liveout.cn)
.bashrc 配置
.bashrc
文件位于Linux系统用户的主目录中。该文件是用户特定的bash shell配置文件
用于定义用户的环境变量、别名和其他定制内容
alias ls='ls --color=auto' #文件和文件夹设置不同的颜色
alias ll='ls -l' # ll -> ls -l
最后别忘了运行 source ~/.bashrc
来使修改生效。
更换软件源
因为香橙派官方用的就是 清华源
,所以就不换了。如果要更换,步骤如下
备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
打开配置文件
sudo vim /etc/apt/sources.list
选择合适的源,这里以
阿里云
为例deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
更新软件源
sudo apt update
UFW配置
安装
sudo apt install ufw
查看状态
sudo ufw status verbose
启动
sudo ufw enable
关闭
sudo ufw disable
开启/禁用相应端口或服务举例
sudo ufw allow 80 #允许外部访问80端口
sudo ufw delete allow 80 #禁止外部访问80端口
sudo ufw allow from 192.168.1.1 #允许此IP访问所有的本机端口
sudo ufw deny smtp #禁止外部访问smtp服务
sudo ufw delete allow smtp #删除上面建立的某条规则
#要拒绝所有的TCP流量从10.0.0.0/8 到192.168.0.1地址的22端口
sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22
#可以允许所有RFC1918网络(局域网/无线局域网的)访问这个主机(/8,/16,/12是一种网络分级):
sudo ufw allow from 10.0.0.0/8
sudo ufw allow from 172.16.0.0/12
sudo ufw allow from 192.168.0.0/16
默认情况下,UFW 阻塞了所有进来的连接,并且允许所有出去的连接。这意味着任何人无法访问你的服务器,除非你打开端口。运行在服务器上的应用和服务可以访问外面的世界。
默认的策略定义在/etc/default/ufw
文件中,并且可以通过使用sudo ufw default <policy> <chain>
命令来修改。
Git配置
一般系统都装有Git,所以就记录下配置信息
配置用户信息
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
配置文本编辑器
git config --global core.editor "vim"
配置 Git 的颜色输出
git config --global color.ui true
可参考好友文章:Ubuntu20.04下安装Docker – Clif's Blog (new-epoch-meta.com)
Docker安装
文档里有相关教程,这里我复制下来,方便粘贴
sudo apt updat
sudo apt-get install -y ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
检查 docker
的状态
systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-08-24 10:29:22 UTC; 26min ago
Docs: https://docs.docker.com
Main PID: 3145 (dockerd)
Tasks: 15
CGroup: /system.slice/docker.service
└─3145 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.soc
测试 docker
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
256ab8fe8778: Pull complete
Digest:
sha256:7f0a9f93b4aa3022c3a4c147a449ef11e0941a1fd0bf4a8e6c9408b2600777c5
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correct
设置 docker
仓库为国内源
vim /etc/docker/daemon,json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn"
]
}
重启 docker
服务
sudo systemctl restart docker
LAMP架构
买了这个,肯定得搭建一个网站玩玩,所以先配置好相关环境,之前已经写过了,直接看这篇文章
WordPress/Typecho博客搬迁教程 – Echo (liveout.cn)
查看温度
毕竟长时间运行,温度得注意点,但是官方给的查看命令太长了,所以就写了个脚本
后来发现可以安装相关包,然后通过sensors命令查看,安装过程补充在脚本后面
CPU
#!/bin/bash
temp=$(cat /sys/class/thermal/thermal_zone0/temp)
temp=$((temp/1000))
# 定义颜色代码
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m'
if ((temp >= 70)); then
echo -e "CPU温度: ${RED}${temp}°C${NC}"
else
echo -e "CPU温度: ${GREEN}${temp}°C${NC}"
fi
GPU
#!/bin/bash
temp=$(cat /sys/class/thermal/thermal_zone1/temp)
temp=$((temp/1000))
# 定义颜色代码
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m'
if ((temp >= 70)); then
echo -e "GPU温度: ${RED}${temp}°C${NC}"
else
echo -e "GPU温度: ${GREEN}${temp}°C${NC}"
fi
顺便买了个散热套装
补充
才发现可以安装相应的软件包查看温度,命令如下
安装
sudo apt install lm-sensors
选择监控范围
sudo sensors-detect
查看温度
sensors
存储
Linux系统不像Windows可以自动识别外置存储设备,需要自己手动挂载,所以挂载硬盘肯定是必修课了。
下面是一些常用的磁盘管理命令,精简版。
du
disk usage
,用来展示磁盘使用量的统计信息
du -s
-s
选项,是 –summarize 的缩写形式,其作用是对 du 的每一个给定参数计算其磁盘使用量,我们来看例子。
[roc@roclinux ruanjian]$ du -sh *
3.4M curl-7.34.0.tar.gz
41M soft
6.8M wordpress-4.4.1.tar.gz
du -c
而-c
选项,是 –total 的缩写形式,它表示的是针对输出的各个对象来计算其磁盘使用量的总和。比如,我们想计算当前文件夹下所有后缀是 tar.gz 的文件的磁盘使用量总和,那么命令是这样的:
[roc@roclinux ruanjian]$ du -ch *.tar.gz
3.4M curl-7.34.0.tar.gz
6.8M wordpress-4.4.1.tar.gz
11M 总用量
当然,-c
选项也可以计算文件和文件夹的混合求和:
[roc@roclinux ruanjian]$ du -ch curl-7.34.0.tar.gz soft
3.4M curl-7.34.0.tar.gz
41M soft
45M 总用量
df
disk free
命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
df
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda6 29640780 4320704 23814388 16% /
udev 1536756 4 1536752 1% /dev
tmpfs 617620 888 616732 1% /run
none 5120 0 5120 0% /run/lock
none 1544044 156 1543888 1% /run/shm
df -h
-h选项,通过它可以产生可读的格式df命令的输出:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 29G 4.2G 23G 16% /
udev 1.5G 4.0K 1.5G 1% /dev
tmpfs 604M 892K 603M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.5G 156K 1.5G 1% /run/shm
lsblk
List block devices
,列出所有块设备
root@orangepi3-lts:/opt# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 4K 1 loop /snap/bare/5
loop1 7:1 0 68.5M 1 loop /snap/core22/807
loop2 7:2 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop3 7:3 0 46.4M 1 loop /snap/snapd/19459
mmcblk2 179:0 0 7.3G 0 disk
├─mmcblk2p1 179:1 0 2G 0 part
├─mmcblk2p2 179:2 0 16M 0 part
├─mmcblk2p3 179:3 0 16M 0 part
├─mmcblk2p4 179:4 0 32M 0 part
├─mmcblk2p5 179:5 0 2G 0 part
├─mmcblk2p6 179:6 0 300M 0 part
├─mmcblk2p7 179:7 0 16M 0 part
├─mmcblk2p8 179:8 0 16M 0 part
├─mmcblk2p9 179:9 0 32M 0 part
├─mmcblk2p10 179:10 0 2G 0 part
├─mmcblk2p11 179:11 0 16M 0 part
├─mmcblk2p12 179:12 0 64M 0 part
├─mmcblk2p13 179:13 0 2M 0 part
├─mmcblk2p14 179:14 0 32M 0 part
├─mmcblk2p15 179:15 0 16M 0 part
└─mmcblk2p16 179:16 0 768M 0 part
mmcblk2boot0 179:32 0 4M 1 disk
mmcblk2boot1 179:64 0 4M 1 disk
mmcblk0 179:96 0 119.4G 0 disk
└─mmcblk0p1 179:97 0 118.2G 0 part /var/log.hdd
/
zram0 252:0 0 992.4M 0 disk [SWAP]
zram1 252:1 0 50M 0 disk /var/log
zram2 252:2 0 0B 0 disk
mnt
mount
命令是经常会使用到的命令,它用于挂载Linux系统外的文件。
挂载设备的过程:
获取设备名称
fdisk -l
建立挂载点目录
cd /mnt mkdir usb
挂载设备
mount /dev/sdb1 /mnt/usb
PS:若文件名因含有中文出现乱码,可用以下命令解决
mount -o iocharset=cp936 /dev/sdb1 /mnt/usb
umount
卸载设备
umount /dev/sdb1
umount /mnt/usb
内网穿透
通过 frp
实现内网穿透,前提是有一台公网服务器,作为服务端使用
以上两篇结合着看就够了~
frp下载地址:https://github.com/fatedier/frp/releases
参考文档:概览 | frp (gofrp.org)
结尾
目前就这些了,等到有其他需要备份的信息再补上
来问问使用的体验如何,我的是4B顶配,但还是感觉卡~
我是关掉桌面服务,单纯用来折腾些小项目啥的,目前没有啥压力
主频能到多少?
没注意过^^
有钱
树莓派都成了期货了,溢价太离谱了。
我也想买个香橙派,不过最近没什么使用场景,搁置啦。
哈哈,确实,主要是用来学习些linux东西。
PS:树莓派现在好像恢复原价了,如果想购买可以看下哦~