【Linux-搞机】阿里云添加麒麟V10x86架构的镜像

哒康 2026-04-21 17:02 1

1. 背景


两年前,由于项目上国产化的推进,很多项目现场需要我们适配国产化系统。公司为了节约成本进行测试,需要我提供国产化机器并测试我们的系统并调优。


要知道,在云平台,单单是使用单个国产化的镜像就需要300¥/月,而我们的系统需要大集群支持,累计的镜像成本无疑是一笔巨额的开支。


第一次接到这个任务是要求的arm的国产系统系统,后面再次接到该任务需要x86的,过程是差不多的,所以我写了文档记录了过程并分享,希望能够帮助到需要“解决成本”的你。


2. 下载镜像包上传对象存储


如何安装配置ossutil?


Linux服务器上传文件到阿里云oss对象存储的两种方法ossutil、curl


阿里云-安装ossutil


AMD64版本:


https://iso.kylinos.cn/web_pungi/download/cdn/9D2GPNhvxfsF3BpmRbJjlKu0dowkAc4i/Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso


海光64版本:


https://iso.kylinos.cn/web_pungi/download/cdn/9D2GPNhvxfsF3BpmRbJjlKu0dowkAc4i/Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso


上传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 part
# vdb是额外的数据盘,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



  1. 修改网卡名


使用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


  1. 修改规则


/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后面的值为要修改后的网卡名称。



  1. 配置镜像生成实例采用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



  1. 确保源服务器已安装Python PIP依赖库。


以安装Python3-pip依赖库为例,Linux部分发行版的安装命令如下。


CentOS/Red Hat Enterprise Linux Ubuntu/DebianOpenSUSE/SUSE


yum和wget前先确保该服务器已经开通公网


sudo yum -y install python3-pip


  1. 运行以下命令下载阿里云版cloud-init。


wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/cloudinit/cloud-init-19.1.21.tgz


  1. 运行以下命令解压cloud-init安装包到当前目录。


tar -zxvf cloud-init-19.1.21.tgz


  1. 进入cloud-init目录下,并安装依赖库。


cd ./cloud-init-19.1.21
pip3 install -r ./requirements.txt

这里可能会报错,就是下的太慢了,timeout了,重新在下一下就好了pip3 install -r ./requirements.txt



  1. 进入cloud-init的tools目录。


cd ./tools


  1. 运行以下命令执行安装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_BLKCONFIG_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_BLKCONFIG_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插件后,您的服务器才能受到云安全中心的保护。



  1. 操作步骤



  • 登录云安全中心控制台。在左侧导航栏,选择系统配置 > 功能设置。

  • 在客户端页签的未安装客户端子页签下的待安装Agent的服务器列表,单击要安装Agent的服务器操作列的安装客户端,为该服务器安装Agent。

  • 您也可以选中多台服务器,单击左下角 一键安装,批量安装Agent。

  • Agent插件安装完成约5分钟后,您即可在 资产中心 > 主机资产页面的服务器页签下,查看服务器的 客户端在线情况。已安装Agent的服务器 客户端列的 客户端离线图标会变为 客户端在线图标,表示该服务器已受到云安全中心的安全防护。




  1. 操作命令(我在控制台装的,就没用下面的命令了)


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 <<EOF
# Use 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 iburst

# Ignore 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 ::1

# Disable 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 = 1

net.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 = 2

net.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.conf
# sysctl 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=0
# modified
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. 参考文档



  1. 创建虚拟机并安装Linux操作系统


安装麒麟Kylin-v10 Arm64版本到阿里云


qemu虚拟机 安装银河麒麟V10 arm架构系统 桌面版


win10安装,qemu虚拟机,搭建麒麟操作系统开发环境


阿里云-创建虚拟机并安装Linux操作系统



  1. 自定义镜像-阿里云规范


阿里云文档-阿里云镜像规范(Linux)


VirtualBox 制作自定义的阿里云镜像方法


阿里云-安装cloud-init


阿里云-安装virtio驱动



  1. 工具


Linux服务器上传文件到阿里云oss对象存储的两种方法ossutil、curl


阿里云-安装ossutil

最新回复 (8)
  • 哒康 楼主 04-21 17:12
    1

    这篇文章可能大部分读者都用不上,也不会去关心作者写了什么。但我相信有一天,一个像两年前的我那样到处找资料完成"云平台自制镜像"任务的朋友会惊喜的在本站发现这么一篇文章。

  • ZYist 04-21 18:27
    2

    插个眼,业务相关经常装/重装各种国产类unix系统。我在想可不可以上层统一管理一下,一次直接搞一批机器。

  • denis2026 04-23 22:27
    3

    在2027前赶紧学习了,不然到时找不到应对

  • a23882 08-08 22:19
    4

    绝绝子,现在正好要做v11镜像。

  • 哒康 楼主 08-11 18:01
    7

    对文章中有疑问的地方,欢迎评论区交流。

  • a23882 08-11 21:51
    8

    好奇删除了什么,怎么删了这么多。

  • a23882 08-11 21:52
    9

    我自己麒麟v11的镜像后面用的是天翼云的,天翼云可以申请按量付费实例,然后这个云实例他们支持把实例直接做成镜像,然后这个镜像可以导出来用,基本上不用什么额外的设置和安装,这个导出的镜像在别的云也可以正常用

  • 南城 09-10 16:31
    10

    佬,没太看懂,通过这样设置,可以直接在vps中安装不同架构的麒麟系统吗?

* 帖子来源Linux.do
返回