core: 删除网络配置文件中的 Generated by cloud-init. Changes will be lost. 字样

This commit is contained in:
bin456789 2025-02-24 22:05:27 +08:00
parent a686959012
commit 9732c8557d
No known key found for this signature in database
GPG Key ID: EE301B386DE6C11B

View File

@ -758,6 +758,12 @@ del_empty_lines() {
sed '/^[[:space:]]*$/d'
}
del_head_empty_lines_inplace() {
# 从第一行直到找到 ^[:space:]
# 这个区间内删除所有空行
sed -i '1,/[^[:space:]]/ { /^[[:space:]]*$/d }' "$@"
}
get_part_num_by_part() {
dev_part=$1
echo "$dev_part" | grep -o '[0-9]*' | tail -1
@ -1804,13 +1810,13 @@ EOF
create_swap_if_ram_less_than 2048 $os_dir/swapfile
# 解压系统
apk add tar xz
apk add tar xz pv
# shellcheck disable=SC2154
download "$img" $os_dir/gentoo.tar.xz
echo "Uncompressing Gentoo..."
tar xpf $os_dir/gentoo.tar.xz -C $os_dir --xattrs-include='*.*' --numeric-owner
pv -f $os_dir/gentoo.tar.xz | tar xpJ --numeric-owner --xattrs-include='*.*' -C $os_dir
rm $os_dir/gentoo.tar.xz
apk del tar xz
apk del tar xz pv
# dns
cp_resolv_conf $os_dir
@ -1975,6 +1981,11 @@ EOF
# 删除网卡名匹配
sed -i '/^Name=/d' $os_dir/etc/systemd/network/10-cloud-init-eth*.network
# 删除 Generated by cloud-init. Changes will be lost.
# 并删除头部的空行
sed -i '/^# Generated by cloud-init/d' $os_dir/etc/systemd/network/10-cloud-init-eth*.network
del_head_empty_lines_inplace $os_dir/etc/systemd/network/10-cloud-init-eth*.network
# 清理
rm -rf net.cfg out
apk del cloud-init
@ -2467,7 +2478,7 @@ create_part() {
umount_pseudo_fs() {
os_dir=$(realpath "$1")
dirs="/proc /sys /dev /run /sys/firmware/efi/efivars"
dirs="/proc /sys /dev /run"
regex=$(echo "$dirs" | sed 's, ,|,g')
if mounts=$(mount | grep -Ew "on $os_dir($regex)" | awk '{print $3}' | tac); then
for mount in $mounts; do
@ -2970,7 +2981,17 @@ create_network_manager_config() {
sed -i -e '/^may-fail=/d' -e 's/^method=dhcp/method=auto/' \
/out/etc/NetworkManager/system-connections/cloud-init-eth*.nmconnection
cp /out/etc/NetworkManager/system-connections/cloud-init-eth*.nmconnection $os_dir/etc/NetworkManager/system-connections/
# 删除 # Generated by cloud-init. Changes will be lost.
# 删除 org.freedesktop.NetworkManager.origin=cloud-init
# 并删除头部的空行
sed -i \
-e '/^# Generated by cloud-init/d' \
-e '/^org\.freedesktop\.NetworkManager\.origin=cloud-init/d' \
/out/etc/NetworkManager/system-connections/cloud-init-eth*.nmconnection
del_head_empty_lines_inplace /out/etc/NetworkManager/system-connections/cloud-init-eth*.nmconnection
cp /out/etc/NetworkManager/system-connections/cloud-init-eth*.nmconnection \
$os_dir/etc/NetworkManager/system-connections/
# 清理
rm -rf /out
@ -3855,7 +3876,7 @@ install_fnos() {
# 复制系统
info "Extract fnos"
apk add tar gzip pv
pv -f /iso/trimfs.tgz | tar zx -C /os --numeric-owner
pv -f /iso/trimfs.tgz | tar zxp --numeric-owner --xattrs-include='*.*' -C /os
apk del tar gzip pv
# 挂载 /os/boot/efi
@ -5575,7 +5596,7 @@ install_windows() {
mkdir -p $drv/gce/$name
link=$(grep -o "/pool/.*-google-compute-engine-driver-$name.*\.goo" /tmp/gce.json)
wget $gce_repo$link -O- | tar -xzf- -C $drv/gce/$name
wget $gce_repo$link -O- | tar xz -C $drv/gce/$name
# 没有 win6.0 文件夹
# 但 inf 没限制