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

  1. 安装服务./iothub iotsvc install,启动并设置开机启动

  2. 生成 license.dat 文件:g lcs

  3. 创建软链接:

    1
    2
    
    ln -s /home/pi/iothub/g /bin/g
    ln -s /home/pi/iothub/iothub /bin/iothub
    
  4. 建立定时器: * * * * * g

  5. 浏览器首页设为 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

个性化定制ubuntu18