ubuntu系统设置
安装系统
系统安装时勾选openssh-server
,账号pi
,密码1qaz2wsx
。分区2个,数据区挂载到 /home
升级内核5.4
安装桌面
但默认启动到命令行
安装nvidia驱动
nvidia显卡驱动为470.82,适配GTX3060,及早期的GeForce RTX2060
参考:ubuntu安装nvidia显卡
安装配置5G模块
要求开机自动拨号
优化系统
开启 root 远程登录
修改 /root/.profile,追加cd /home/pi
,使root登录后自动跳转到/home/pi
禁用自动更新及通知
设置环境变量和别名
添加:/etc/profile.d/gitis.sh
1
2
3
4
5
6
7
8
9
10
11
|
export HISTTIMEFORMAT='%F %T '
alias ll='ls -alFh'
alias cdt='cd /usr/share/plymouth/themes/'
alias cdg='cd /media/sf_k/_src/_go'
alias cdp='cd /home/pi'
alias cdv='cd /home/pi/var'
alias s='systemctl'
alias d='docker'
alias dc='d compose'
alias dcu='dcu(){ dc -p $1 -f /home/pi/iothub/docker/docker-compose-$1.yaml up -d; };dcu'
alias dcd='dcd(){ dc -p $1 -f /home/pi/iothub/docker/docker-compose-$1.yaml down --rmi all; };dcd'
|
取消开机等待网络
配置时区,同步时间
windows系统将硬件时间作为本地时间,ubuntu也这么设置,就解决了双系统时两个时间不一致的问题。
设置 open file limits 为102400
安装软件
安装完成后,默认使用DHCP可上网,如不能上网需先配置网络,因为所有软件均为在线安装。
更换阿里源加速安装
安装辅助工具软件
1
2
|
# ntpdate 之后与容器一致
apt install -y wpasupplicant ethtool nfs-common ntpdate cifs-utils lrzsz zip unzip dos2unix lm-sensors ethstatus
|
安装 chrome
替换 vim-tiny 为 vim
1
2
|
apt remove vi-common
apt install vim
|
安装 .net core
可以不用,装上仅为支持外部采集
1
2
3
4
5
6
|
wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod -f
apt-get install apt-transport-https
apt-get update
apt-get install -y aspnetcore-runtime-2.1
|
安装 moby 和 iotedge
参考:在 Linux 上使用 X.509 证书创建和预配 IoT Edge 设备
并设置别名d,并让docker开机自动运行。修改docker源为阿里源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
cp ./microsoft-prod.list /etc/apt/sources.list.d/
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
apt-get update
apt-get install moby-engine -y
#原来是可选的,现在跟随moby-engine安装了
#apt-get install moby-cli -y
apt-get install iotedge -y
# 编辑 /etc/docker/daemon.json
{
"registry-mirrors": ["https://igfti3m2.mirror.aliyuncs.com"]
}
#下载iotedge镜像,或导入
mcr.microsoft.com/azureiotedge-agent:1.0
|
下载必要的镜像,必要的只有第一个。
1
2
|
microsoft/dotnet:2.1-aspnetcore-runtime
jenserat/samba-publicshare #为共享备用
|
开启一个samba容器,然后关闭它,留作备用。
1
2
3
4
5
6
|
docker run --name smb -it \
-p 137-139:137-139 -p 445:445 -P \
-v /home/pi/var:/srv \
jenserat/samba-publicshare
docker stop smb #停止
|
安装 wvdial:i386 并配置拨号
参考:ubuntu使用4Gsim卡上网
安装测试软件
参考:ubuntu硬件测试,把需要的软件均安装,增加t指令快速压力测试。
网络
配置IP
按此模板修改/etc/netplan/*.yaml
,将所有IP配置为192.168.3.175,使用netplan apply
生效。
配置全局DNS
采集基础组件
部署 iothub
-
安装服务./iothub iotsvc install
,启动并设置开机启动
-
生成 license.dat 文件:g lcs
-
创建软链接:
1
2
|
ln -s /home/pi/iothub/g /bin/g
ln -s /home/pi/iothub/iothub /bin/iothub
|
-
建立定时器: * * * * * g
-
浏览器首页设为 127.0.0.1
安装 docker compose
建立镜像 gitis/iot
防火墙设置
1
2
3
|
ufw allow from 172.17.0.0/8
ufw allow 22/tcp
ufw allow 2000,3000,4000,5000,5678/tcp
|