- 哒康2026-04-2140048
1. 背景
两年前,由于项目上国产化的推进,很多项目现场需要我们适配国产化系统。公司为了节约成本进行测试,需要我提供国产化机器并测试我们的系统并调优。
要知道,在云平台,单单是使用单个国产化的镜像就需要300¥/月,而我们的系统需要大集群支持,累计的镜像成本无疑是一笔巨额的开支。
第一次接到这个任务是要求的arm的国产系统系统,后面再次接到该任务需要x86的,过程是差不多的,所以我写了文档记录了过程并分享,希望能够帮助到需要“解决成本”的你。
2. 下载镜像包上传对象存储
如何安装配置ossutil?
Linux服务器上传文件到阿里云oss对象存储的两种方法ossutil、curl
阿里云-安装ossutil
AMD64版本:
海光64版本:
上传AMD64版本:
D:\Virtualtools\ossutil-v1.7.19-windows-amd64>ossutil cp D:\Virtualmachines\Kylin-Server-V10-SP3-2403-Release-20240426-x86_64_amd.iso oss://images -c D:\Virtualtools\ossutil-v1.7.19-windows-amd64\shanghaiconfig```
ossutil cp D:\Virtualmachines\Kylin-Server-V10-SP3-2403-Release-20240426-x86_64_amd.iso oss://juphoon-images -c D:\Virtualtools\ossutil-v1.7.19-windows-amd64\shanghaiconfig
```上传海光64版本:D:\Virtualtools\ossutil-v1.7.19-windows-amd64>ossutil cp D:\Virtualmachines\Kylin-Server-V10-SP3-2403-Release-20240426-x86_64_haiguang.iso oss://images -c D:\Virtualtools\ossutil-v1.7.19-windows-amd64shanghaiconfig```
ossutil cp D:\Virtualmachines\Kylin-Server-V10-SP3-2403-Release-20240426-x86_64_haiguang.iso oss://juphoon-images -c D:\Virtualtools\ossutil-v1.7.19-windows-amd64\shanghaiconfig
```3. 系统刻盘先用oss创建自定义镜像,利用该镜像创建实例并额外挂载一块数据盘,注意系统盘和数据盘创建的时候都设置成不随实例释放(方便后面卸载);
进入系统安装系统,将系统安装在数据盘中。

账号:root
密码:xxxxxxxxxxxxx
安装成功后直接关机这个实例,卸载他的系统盘和数据盘,改名字或者打个标签以免找不到了。
随便创建一个centos的实例,挂载这两个盘,使用dd命令将额外挂载的数据盘数据全部写入到额外挂载的系统盘中```
[root@iZuf6g3ivu81z9d7fpldmcZ ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 40G 0 disk
├─vdb1 253:17 0 1G 0 part
└─vdb2 253:18 0 39G 0 part
vdc 253:32 0 40G 0 disk
├─vdc1 253:33 0 4.4G 0 part
└─vdc2 253:34 0 8.9M 0 partvdb是额外的数据盘,vdc是额外的系统盘
[root@iZuf6g3ivu81z9d7fpldmcZ ~]# dd if=/dev/vdb of=/dev/vdc bs=1M status=progress
42909827072 bytes (43 GB) copied, 451.840663 s, 95.0 MB/s
40960+0 records in
40960+0 records out
42949672960 bytes (43 GB) copied, 454.86 s, 94.4 MB/s
[root@iZuf6g3ivu81z9d7fpldmcZ ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 40G 0 disk
├─vdb1 253:17 0 1G 0 part
└─vdb2 253:18 0 39G 0 part
vdc 253:32 0 40G 0 disk
├─vdc1 253:33 0 1G 0 part
└─vdc2 253:34 0 39G 0 part
```将系统盘挂回去麒麟v10的机器,释放centos机器并且释放磁盘。4. 优化系统适配阿里云
4.1. 设置系统网络默认为eth0
- 修改网卡名
使用ifconfig查看需要修改的网卡名称(以enp1s0为例),在
/etc/sysconfig/network-scripts/下找到ifcfg-ens6文件,使用如下命令修改文件名```
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-ens6
[root@localhost network-scripts]# mv ifcfg-ens6 ifcfg-eth0
[root@localhost network-scripts]# vi ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=4848f4cb-fe18-4ac3-ba67-6079a14459ad
DEVICE=eth0
ONBOOT=yes
[root@localhost network-scripts]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:16:3e:06:56:0c brd ff:ff:ff:ff:ff:ff
inet 172.24.183.83/20 brd 172.24.191.255 scope global dynamic noprefixroute ens6
valid_lft 315359922sec preferred_lft 315359922sec
inet6 fe80::3c81:7247:acac:79dc/64 scope link noprefixroute
valid_lft forever preferred_lft forever
```- 修改规则在
/etc/udev/rules.d下找到规则文件75-network.rules(如果没有就新建)修改内容如下:
"00:16:3e:06:56:0c"替换成你自己ip a s中"00:16:3e:06:56:0c"的值。```
[root@localhost network-scripts]# cd /etc/udev/rules.d
[root@localhost rules.d]# vi 75-network.rules
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:16:3e:06:56:0c", NAME="eth0"
```其中ATTR后面的值为ens6网卡对应的MAC地址,NAME后面的值为要修改后的网卡名称。- 配置镜像生成实例采用eth0
编辑 grub 配置文件```
为GRUB_CMDLINE_LINUX变量增加2个参数,具体内容如下:
net.ifnames=0 biosdevname=0
[root@localhost rules.d]# vi /etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high audit=0 net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
``重新生成 grub 配置文件``UEFI启动模式
sudo grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
BIOS(Legacy)启动模式(我这里是BIOS)
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
``重启连接查看网卡``
[root@localhost ~]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:16:3e:06:56:0c brd ff:ff:ff:ff:ff:ff
inet 172.24.183.83/20 brd 172.24.191.255 scope global dynamic noprefixroute eth0
valid_lft 315359940sec preferred_lft 315359940sec
inet6 fe80::3c81:7247:acac:79dc/64 scope link noprefixroute
valid_lft forever preferred_lft forever
```4.2. 安装cloud-init参考:
阿里云文档-制作Linux镜像文件
阿里云文档-安装cloud-init
- 确保源服务器已安装Python PIP依赖库。
以安装Python3-pip依赖库为例,Linux部分发行版的安装命令如下。
CentOS/Red Hat Enterprise Linux Ubuntu/DebianOpenSUSE/SUSE
yum和wget前先确保该服务器已经开通公网```
sudo yum -y install python3-pip
``- 运行以下命令下载阿里云版cloud-init。``
wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/cloudinit/cloud-init-19.1.21.tgz
``- 运行以下命令解压cloud-init安装包到当前目录。``
tar -zxvf cloud-init-19.1.21.tgz
``- 进入cloud-init目录下,并安装依赖库。``
cd ./cloud-init-19.1.21
pip3 install -r ./requirements.txt
``这里可能会报错,就是下的太慢了,timeout了,重新在下一下就好了pip3 install -r ./requirements.txt`- 进入cloud-init的tools目录。```
cd ./tools
``- 运行以下命令执行安装cloud-init的脚本deploy.sh。``
说明:
麒麟v10版本是基于CentOS8基础上构建,并且官方无麒麟版本安装,所以指定centos 8进行安装sudo bash ./deploy.sh <issue> <major_version>
bash ./deploy.sh centos 8
```确认cloud-init是否安装成功。若返回
"description": "success",表示安装成功。4.3. 安装virtio驱动
为避免部分服务器、虚拟机或者云主机的操作系统在导入自定义镜像后,创建的ECS实例无法启动,您需要在导入镜像前检查是否需要在源服务器中安装virtio驱动。
检查服务器内核是否支持virtio驱动
运行以下命令,检查当前操作系统内核是否支持virtio驱动,以判断是否需要为自定义镜像安装virtio驱动或将virtio驱动添加到临时文件系统。```
grep -i virtio /boot/config-$(uname -r)
```
根据回显信息判断:
根据输出信息中的参数
CONFIG_VIRTIO_BLK和CONFIG_VIRTIO_NET的取值判断:- 取值均为 y :已正确安装virtio驱动,可直接执行相关文档。
- 没有这两个参数 :未安装virtio驱动,需要手动安装。具体操作,请参见安装virtio驱动。
取值均为 m /取值一个为y一个为m :支持virtio驱动,还需运行以下命令,判断virtio驱动是否已添加到临时文件系统。
- 取值均为 m :运行以下命令,判断virtio驱动是否已添加到临时文件系统。
- 取值一个为y一个为m :为y的驱动已经编译到内核中且正确安装,还需运行以下命令,判断为m的virtio驱动是否已添加到临时文件系统。
- CentOS系列 Ubuntu/Debian系列```
lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
```
- 如上图所示,表示virtio驱动已经添加到临时文件系统中,可直接执行相关文档。
- 否则,需将virtio驱动添加到临时文件系统。如果
CONFIG_VIRTIO_BLK和CONFIG_VIRTIO_NET参数的取值一个为y一个为m ,则只需要判断取值为m 的驱动是否已添加到临时文件系统。参考文档:
阿里云文档-如何为已有自定义镜像安装NVMe驱动?
安装NVMe驱动
a. 运行以下命令,查看系统内核是否已经加载了NVMe驱动。```
cat /boot/config-uname -r| grep -i nvme | grep -v "^#"
```
已经加载
b. 运行以下命令,查看initramfs中是否包含NVMe驱动。```
sudo lsinitrd /boot/initramfs-uname -r.img | grep -i nvme | awk '{print $NF}'
```
不包含
c. 依次运行以下命令,使initramfs支持NVMe驱动。```
mkdir -p /etc/dracut.conf.d
echo 'add_drivers+=" nvme nvme-core "' | sudo tee /etc/dracut.conf.d/nvme.conf > /dev/null
sudo dracut -v -f
``d. 在GRUB中添加NVMe相关的io_timeout` 参数。按i键进入编辑模式,在
GRUB_CMDLINE_LINUX=一行中,添加nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295参数信息。```
sudo vi /etc/default/grub
``````
[root@iZuf6hwfrhipchovcflmzwZ ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high audit=0 net.ifnames=0 biosdevname=0 nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295"
GRUB_DISABLE_RECOVERY="true"
``e. 运行以下命令,使配置的GRUB生效。``
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
``f. 重新运行以下命令,查看是否有NVMe相关的返回信息。``
sudo lsinitrd /boot/initramfs-uname -r.img | grep -i nvme | awk '{print $NF}'
```
好了
4.4. 安装growpart包
安装growpart包使镜像支持在线扩容文件系统,安装后在初始化时会将根分区及文件系统扩容,扩容至实际的系统盘大小。更多信息请参见扩容分区和文件系统(Linux) 。```
yum -y install cloud-utils-growpart.x86_64
```4.5. 安装云助手客户端参考:阿里云文档-在ECS实例中安装云助手Agent
云助手是专为云服务器ECS打造的原生自动化运维工具,阿里云建议您为镜像安装云助手服务,实现云上ECS高效运维```
sudo wget "https://aliyun-client-assist.oss-accelerate.aliyuncs.com/linux/aliyun_assist_latest.rpm"
sudo rpm -ivh --force aliyun_assist_latest.rpm
```4.6. 安装云安全中心Agent参考文档:阿里云文档-安装云安全中心客户端
安装云安全中心的Agent插件后,您的服务器才能受到云安全中心的保护。
- 操作步骤
- 登录云安全中心控制台。在左侧导航栏,选择系统配置 > 功能设置。
- 在客户端页签的未安装客户端子页签下的待安装Agent的服务器列表,单击要安装Agent的服务器操作列的安装客户端,为该服务器安装Agent。
- 您也可以选中多台服务器,单击左下角 一键安装,批量安装Agent。
- Agent插件安装完成约5分钟后,您即可在 资产中心 > 主机资产页面的服务器页签下,查看服务器的 客户端在线情况。已安装Agent的服务器 客户端列的 客户端离线图标会变为 客户端在线图标,表示该服务器已受到云安全中心的安全防护。

- 操作命令(我在控制台装的,就没用下面的命令了)```
wget "https://update2.aegis.aliyun.com/download/install/2.0/linux/AliAqsInstall.sh" && chmod +x AliAqsInstall.sh && ./AliAqsInstall.sh -k=bE**** -r
```4.7. 系统配置参考文档:
阿里云文档-阿里云镜像规范(Linux)
- 配置时钟```
timedatectl status
timedatectl set-local-rtc 0
```- 配置SSHD服务在制作镜像过程中,需要配置SSHD服务。
SSHD服务是Linux系统中的一个服务,用于远程登录和管理Linux系统。SSHD服务通常使用SSH协议(Secure Shell)进行加密通信,以保证远程登录的安全性。修改
/etc/ssh/sshd_config中的配置示例如下:```
UseDNS no
AddressFamily inet
SyslogFacility AUTHPRIV
PermitRootLogin yes
PasswordAuthentication yes
```- 配置Chrony/NTP服务在制作镜像过程中,建议您配置Chrony服务或者NTP服务,配置其中一个服务即可。
Chrony和NTP都是用于同步计算机时钟的网络协议,可以确保时钟同步,以避免时间误差导致的问题。示例命令如下:```
chrony_file=/etc/chrony.conf
cat >$chrony_file <<EOFUse Alibaba NTP server
Public NTP
Alicloud NTP
server ntp.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp1.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp1.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp10.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp11.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp12.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp2.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp2.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp3.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp3.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp4.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp4.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp5.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp5.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp6.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp6.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp7.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp8.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp9.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburstIgnore stratum in source selection.
stratumweight 0.05
Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
Enable kernel RTC synchronization.
rtcsync
In first three updates step the system clock instead of slew
if the adjustment is larger than 10 seconds.
makestep 10 3
Allow NTP client access from local network.
#allow 192.168/16
Listen for commands only on localhost.
bindcmdaddress 127.0.0.1
bindcmdaddress ::1Disable logging of client accesses.
noclientlog
Send a message to syslog if a clock adjustment is larger than 0.5 seconds.
logchange 0.5
logdir /var/log/chrony
#log measurements statistics tracking
EOF
```- 配置MOTD服务在制作镜像过程中,建议您配置MOTD(Message of the Day)服务。
MOTD服务是Linux系统中的一项功能,它可以在用户登录到系统后显示一条欢迎信息或者系统公告。示例命令如下:```
echo -e "\nWelcome to Alibaba Cloud Elastic Compute Service ! \n" > /etc/motd
```- 关闭Firewalld服务在制作镜像过程中,建议您关闭Firewalld服务。Firewalld是一种在Linux系统中管理防火墙规则的服务,云上有安全组做安全防护,您可以关闭防火墙。示例命令如下:```
systemctl disable firewalld --now
```- 配置PIP源如果系统存在PIP源配置,推荐使用阿里云的PIP源地址,以便从阿里云的源中获取到最新的软件包。配置
~/.pip/pip.conf文件的内容如下:```
[global]
index-url=http://mirrors.cloud.aliyuncs.com/pypi/simple/[install]
trusted-host=mirrors.cloud.aliyuncs.com
```- 配置sysctl在制作镜像过程中,建议您配置sysctl参数,便于调整和优化Linux内核的运行参数。
修改
/etc/sysctl.conf内容如下。阿里云建议配置```
vm.swappiness = 0
kernel.sysrq = 1net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_slow_start_after_idle = 0
``实际配置``
[root@localhost ~]# cat /etc/sysctl.confsysctl settings are defined through files in
/usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
Vendors settings live in /usr/lib/sysctl.d/.
To override a whole file, create a new file with the same in
/etc/sysctl.d/ and put new settings there. To override
only specific settings, add a file with a lexically later
name in /etc/sysctl.d/ and put new settings there.
#
For more information, see sysctl.conf(5) and sysctl.d(5).
kernel.sysrq=0
net.ipv4.ip_forward=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.default.secure_redirects=0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_responses=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1
net.ipv4.tcp_syncookies=1
kernel.dmesg_restrict=1
net.ipv6.conf.all.accept_redirects=0
net.ipv6.conf.default.accept_redirects=0modified
kernel.sysrq=1
newconfig
vm.swappiness=0
`sysctl -p` 命令使内核参数修改生效。 - 关闭selinux``` setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config ```- 关闭系统限制``` vi /etc/security/limits.conf * soft nofile 1048576 * hard nofile 1048576 * soft nproc 100000 * hard nproc 100000 * soft core unlimited ```修改前``` [root@localhost ~]# ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 7422 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 7422 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited ```修改后``` [root@iZuf6hwfrhipchovcflmzwZ ~]# ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 7422 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1048576 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 100000 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited ```- 修改密码安全策略``` [root@localhost ~]# cd /etc/security [root@localhost security]# cp pwquality.conf pwquality.conf.bak # 原有配置 [root@localhost security]# grep -v "#" pwquality.conf minlen = 8 dcredit = 0 ucredit = 0 lcredit = 0 ocredit = 0 minclass = 3 palindrome # 修改后配置 [root@localhost security]# grep -v "#" pwquality.conf minlen = 6 # 将密码的最小长度设置为 6 个字符 dcredit = 0 # 不强制要求数字 ucredit = 0 # 不强制要求大写字母 lcredit = 0 # 不强制要求小写字母 ocredit = 0 # 不强制要求特殊字符 minclass = 0 # 不强制要求不同类型的字符 usercheck = 0 # 不检查密码中是否含有用户名 palindrome # 禁止使用回文密码 ```- 清空历史命令``` history -c ```5. 最终镜像 最后将该实例关机,创建成新的镜像,上传oss方便下载或其他环境使用 6. 参考文档 - 创建虚拟机并安装Linux操作系统 安装麒麟Kylin-v10 Arm64版本到阿里云 qemu虚拟机 安装银河麒麟V10 arm架构系统 桌面版 win10安装,qemu虚拟机,搭建麒麟操作系统开发环境 阿里云-创建虚拟机并安装Linux操作系统 - 自定义镜像-阿里云规范 阿里云文档-阿里云镜像规范(Linux) VirtualBox 制作自定义的阿里云镜像方法 阿里云-安装cloud-init 阿里云-安装virtio驱动 - 工具 Linux服务器上传文件到阿里云oss对象存储的两种方法ossutil、curl 阿里云-安装ossutil主楼 - 哒康2026-04-2140048
这篇文章可能大部分读者都用不上,也不会去关心作者写了什么。但我相信有一天,一个像两年前的我那样到处找资料完成"云平台自制镜像"任务的朋友会惊喜的在本站发现这么一篇文章。
- ZYist2026-04-219215
插个眼,业务相关经常装/重装各种国产类unix系统。我在想可不可以上层统一管理一下,一次直接搞一批机器。
- denis20262026-04-2340049
在2027前赶紧学习了,不然到时找不到应对
- a238822026-08-0840050
绝绝子,现在正好要做v11镜像。
- 哒康2026-08-1140048
对文章中有疑问的地方,欢迎评论区交流。
- a238822026-08-1140050
好奇删除了什么,怎么删了这么多。
- a238822026-08-1140050
我自己麒麟v11的镜像后面用的是天翼云的,天翼云可以申请按量付费实例,然后这个云实例他们支持把实例直接做成镜像,然后这个镜像可以导出来用,基本上不用什么额外的设置和安装,这个导出的镜像在别的云也可以正常用
- 南城2026-09-107023
佬,没太看懂,通过这样设置,可以直接在vps中安装不同架构的麒麟系统吗?