一、前言

因现场OS与厂商应用不兼容,且鉴于信创国产化要求,替换目标系统选用:UOS Desktop 20,基于此,本文将记录下UOS(Uniontech OS)下系统初始化配置及VGPU NVIDIA-Linux下驱动安装过程,用以指导相关同学参考借鉴!

关联资源:官网、Uos开发者模式权限申请、官方 Nvidia 显卡驱动、常见问题、信创国测目录、服务器版下载、UOS教程、deepin论坛、deepin官网、FAQ、UOS v20 1050d发布和兼容说明、LVM作为虚拟机底层磁盘格式应用、清华镜像站、

二、配置过程

2.1、网络配置

1)图形化界面配置IP信息

打开控制中心,点击网络,配置【有线网络】,启用即可:



注:经测试打开和关闭开发者模式两项功能目前只能在amd和arm架构的机器上执行


出于安全考虑,默认安装完毕统信UOS操作系统之后是没有root权限的,我们可以自己去设置里面打开开发者模式,然后获取root权限

2)使用命令行配置IP信息

进入/etc/network目录,编辑interfaces(需要root权限,获取root权限需要开发者模式获取授权);之后再修改interfaces配置文件即可:

vi /etc/network/interfaces  //配置如下

auto lo
iface lo inet loopback

auto eth0
address 172.16.1.100
netmask 255.255.255.0
gateway 172.16.1.254
dns 8.8.8.8

#启动网卡服务 
/etc/init.d/networking restart
#验证
ip a
nmcli dev show #查看网络设备的配置详情
nmcli device status #网络设备的连接状态

#DNS解析,对于Linux中默认解析为ipv6地址的,解释:RFC 3484 定义了 IPv6 源地址选择算法中的 优先级(Precedence) 规则,用于在多地址场景下决定优先使用哪个源地址。默认配置:precedence ::1/128 50(IPv6 的 localhost);::/0(匹配所有全局 IPv6 地址)分配优先级值 40,所有未明确匹配其他规则的全局 IPv6 地址(如公网地址 2001:db8::1)默认使用此优先级,优先级低于 ::1/128(50),值越大优先级越高,因此系统会优先选择环回地址,其次才是全局地址;根据RFC3484协议Linux默认情况下IPv6优先级高于IPv4,应用程序优先使用IPv6地址。更多参看:https://www.rfc-editor/rfc/rfc3484 10.3小节。
#getent 是一个用于访问系统数据库的命令,通常用于获取与网络有关的信息,比如用户、组、主机名、服务等。getent 可以访问多种系统数据库,包括:passwd:用户账户信息。group:组信息。hosts:主机信息。services:网络服务信息。protocols:网络协议信息。networks:网络信息;getent 会考虑 /etc/nsswitch.conf 配置文件,以确定在哪些数据库中搜索信息。
#用法:getent [database] [key]  #常见的有 passwd、group、hosts
getent hosts example  # 查看解析结果,应该优先返回IPv4地址,可以通过检查/etc/gai.conf文件来调整优先级,precedence ::ffff:0:0/96 100,使得IPv4映射的IPv6地址(即以::ffff:0:0/96开头的地址)优先级高于其他IPv6地址‌,然后nmcli networking off && nmcli networking on
sysctl -a | grep ipv6 | grep prefer  # 查看 IPv6 地址选择策略
getent ahostsv4 example
getent ahostsv6 example
dig example +short    # 使用dig命令查看解析结果,同样应该优先返回IPv4地址
dig AAAA example +short

3)nmcli命令配置(或nmtui交互式图形化配置)

nmcli connection show  //查看当前网络连接
NAME                UUID                                  TYPE      DEVICE 
Wired Connection 1  6b3fe44b-6744-773d-da06-45944ff05fb0  ethernet  ens3 
nmcli connection modify "Wired Connection 1" ipv4.addresses 172.16.1.100/32 1pv4.gateway 172.16.1.1 ipv4hod ipV4.dns 223.5.5.5 ipv4.method manual
#激活链接
nmcli connection up "Wired Connection 1"


#其他
nmcli networking或n #显示NM是否接管网络
nmcli n on  #关闭服务
nmcli n off
nmcli c up/down dev  #关闭连接
nmcli general status #nmcli g s
nmcli general host
nmcli general hostname newhostname #nmcli g h newhostname
nmcli c s --active  #nmcli c s -a
nmcli c s dev
nmcli c modify 设备名 [+ | -]选项 选项值  #nmcli c m 设备名 [+ | -]选项 选项
nmcli c m ens3 ipv4.address 192.168.2.1/24   # 修改 IP 地址和子网掩码
nmcli c m ens3 +ipv4.addresses 192.168.2.10/24
nmcli c m ens3 ipv4.method manual             # 修改为静态配置,默认是 auto;注意:修改method前,要先修改address
nmcli c m ens33 ipv4.method ""  			  #使用空引号""代替选项值,可以将选项设回默认值
nmcli c m ens3 ipv4.gateway 192.168.2.2       # 修改默认网关
nmcli c m ens3 ipv4.dns 192.168.2.1           # 修改 DNS
nmcli c m ens3 +ipv4.dns 8.8.8.8			  # 添加一个 DNS
nmcli c m ens3 ipv6.method ignored            # 将 IPv6 禁用,针对CentOS8,三个可选项:disabled、auto、manual
nmcli c m ens192 connection.autoconnect yes     # 开机启动
nmcli c add type 连接类型 选项 选项值  #新增连接:nmcli c a type 连接类型 选项 选项值,
#connection.id(别名 con-name):连接名;
#connection.interface-name(别名 ifname):设备名;
#connection.autoconnect(别名 autoconnect):是否开机自启,其值只能是 yes 或 no,默认 yes
nmcli c a type ethernet con-name ens3 ifname ens3
nmcli c delete ens3 #nmcli c de ens3,delete 不简写为d 是为了不与 down 冲突
nmcli c reload  # 或nmcli c r
nmcli c load ifcfg-ens3
nmcli connection  load  /etc/systemd/network/ifcfg-ens3
nmcli connection   monitor  connect——UUID
nmcli d sh         # show 不可简写为 s,否则与 status 冲突
nmcli d sh ens3
nmcli d connect ens3
nmcli d disconnect ens3  #或nmcli d d ens3
nmcli d reapply ens3  #或nmcli d r ens33

4)ip命令临时添加

ip addr add 172.16.1.100/32  dev enp30

5)配置多网卡bond主备模式

#模式:mode=1,即: (active-backup) Active-backup policy(主-备份策略)需要交换机配置
#特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的
apt install ifenslave

#关闭&禁用NetworkManager
systemctl stop NetworkManager
systemctl disabled NetworkManager

#修改配置文件
vi /etc/modules
bonding mode=1 miimon=100
#配置2:
vi /etc/modprobe.d/aliases-bond.conf
alias bond0 bonding miimon=100 mode=1
#配置3:
vi  /etc/network/interfaces

 auto bond0

 iface bond0 inet static

 address 172.16.1.240

 netmask 255.255.255.0

 broadcast 172.16.1.255

 gateway 172.16.1.1

 slaves enp5s0f0 enp5s0f1 enp5s0f2 enp5s0f3

 bond_mode 1

 bond_miimon 100  #以毫秒为单位指定 MII 链接监控的频率。这在需要高可用性时有用,因为 MII 是用来验证网卡是否激活

 bond_downdelay 200  #以毫秒为单位指定从链接失败到禁用该链接前要等待的时间

 bond_updelay 200   #以毫秒为单位指定启用某个链接前要等待的时间。该数值必须是在 miimon 参数值指定值的倍数

#重启网络
systemctl restart networking.service

6)其他

#安装无线网卡驱动,统信UOS默认安装了wireless-tools软件包,以实现无线网络的系统支持
udo apt-get install wireless-tools
#lsusb 查看无线网卡使用的芯片方案
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU Tablet
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
#检查蓝牙
lsmod | grep blue

#安装 mesa-vulkan-drivers 驱动程序包,Vulkan1是一个跨平台的2D、3D绘图的底层图形API(应用程序接口),由AMD开发制定标准。这相当于Windows系统下的DirectX,macOS系统下的Metal;平常我们在电脑上玩的3D游戏,需要图形API的支持才能正常实现
sudo apt-get install mess-vulkan-drivers

#允许使用鼠标选中复制+高亮配色+修改默认配色
sudo vim /root/.vimrc #修改如下
set mouse-=a
syntax on
colorscheme delek
#如果退格键无法实现删除功能,继续在/root/.vimrc中添加
sudo vim /root/.vimrc
set backspace=2

#查看模块
lsmod | awk '{print $1}' | xargs -I {
   
   } modinfo -F filename {
   
   } | xargs -I {
   
   } find /lib/modules/$(uname -r) -name {
   
   }

2.2、SSH配置

sudo apt install openssh-server –y
sudo /etc/init.d/ssh start
ps -e | grep ssh

systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2024-12-06 10:18:35 CST; 2h 53min ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 4580 (sshd)
    Tasks: 1 (limit: 4915)
   Memory: 3.0M
   CGroup: /system.slice/ssh.service
           └─4580 /usr/sbin/sshd -D

Dec 06 10:18:35 ais-yiyang sshd[4580]: Server listening on :: port 22.
Dec 06 10:18:51 ais-yiyang sshd[4624]: pam_deepin_authentication(sshd:auth): IsMFA: '0', Username: 'admin'
Dec 06 10:18:51 ais-yiyang sshd[4624]: pam_deepin_authentication(sshd:auth): index(7) out of limit type
Dec 06 10:18:51 ais-yiyang sshd[4624]: pam_deepin_authentication(sshd:auth): index(30) out of limit type
Dec 06 10:18:51 ais-yiyang sshd[4624]: pam_deepin_authentication(