mirror of
https://github.com/yuaotian/go-cursor-help.git
synced 2025-06-08 04:22:06 +08:00
feat: Add system ID backup and modification for Linux and Mac scripts
- Implemented `backup_system_id()` function for both Linux and Mac scripts - Added system ID backup with timestamped files and detailed information - Introduced machine-id modification for Linux systems - Added system UUID modification option for Mac systems - Enhanced logging and user interaction for system ID changes
This commit is contained in:
parent
719b418b7f
commit
1c898ec594
@ -112,6 +112,32 @@ check_and_kill_cursor() {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 备份系统 ID
|
||||||
|
backup_system_id() {
|
||||||
|
log_info "正在备份系统 ID..."
|
||||||
|
local system_id_file="$BACKUP_DIR/system_id.backup_$(date +%Y%m%d_%H%M%S)"
|
||||||
|
|
||||||
|
# 获取并备份 machine-id
|
||||||
|
{
|
||||||
|
echo "# Original Machine ID Backup" > "$system_id_file"
|
||||||
|
echo "## /var/lib/dbus/machine-id:" >> "$system_id_file"
|
||||||
|
cat /var/lib/dbus/machine-id 2>/dev/null >> "$system_id_file" || echo "Not found" >> "$system_id_file"
|
||||||
|
|
||||||
|
echo -e "\n## /etc/machine-id:" >> "$system_id_file"
|
||||||
|
cat /etc/machine-id 2>/dev/null >> "$system_id_file" || echo "Not found" >> "$system_id_file"
|
||||||
|
|
||||||
|
echo -e "\n## hostname:" >> "$system_id_file"
|
||||||
|
hostname >> "$system_id_file"
|
||||||
|
|
||||||
|
chmod 444 "$system_id_file"
|
||||||
|
chown "$CURRENT_USER:$CURRENT_USER" "$system_id_file"
|
||||||
|
log_info "系统 ID 已备份到: $system_id_file"
|
||||||
|
} || {
|
||||||
|
log_error "备份系统 ID 失败"
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# 备份配置文件
|
# 备份配置文件
|
||||||
backup_config() {
|
backup_config() {
|
||||||
# 检查文件权限
|
# 检查文件权限
|
||||||
@ -170,6 +196,22 @@ generate_new_config() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# 修改系统 machine-id
|
||||||
|
if [ -f "/etc/machine-id" ]; then
|
||||||
|
log_info "正在修改系统 machine-id..."
|
||||||
|
local new_machine_id=$(uuidgen | tr -d '-')
|
||||||
|
|
||||||
|
# 备份原始 machine-id
|
||||||
|
backup_system_id
|
||||||
|
|
||||||
|
# 修改 machine-id
|
||||||
|
echo "$new_machine_id" | sudo tee /etc/machine-id > /dev/null
|
||||||
|
if [ -f "/var/lib/dbus/machine-id" ]; then
|
||||||
|
sudo ln -sf /etc/machine-id /var/lib/dbus/machine-id
|
||||||
|
fi
|
||||||
|
log_info "系统 machine-id 已更新"
|
||||||
|
fi
|
||||||
|
|
||||||
# 将 auth0|user_ 转换为字节数组的十六进制
|
# 将 auth0|user_ 转换为字节数组的十六进制
|
||||||
local prefix_hex=$(echo -n "auth0|user_" | xxd -p)
|
local prefix_hex=$(echo -n "auth0|user_" | xxd -p)
|
||||||
local random_part=$(generate_random_id)
|
local random_part=$(generate_random_id)
|
||||||
|
@ -106,6 +106,26 @@ check_and_kill_cursor() {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 备份系统 ID
|
||||||
|
backup_system_id() {
|
||||||
|
log_info "正在备份系统 ID..."
|
||||||
|
local system_id_file="$BACKUP_DIR/system_id.backup_$(date +%Y%m%d_%H%M%S)"
|
||||||
|
|
||||||
|
# 获取并备份 IOPlatformExpertDevice 信息
|
||||||
|
{
|
||||||
|
echo "# Original System ID Backup" > "$system_id_file"
|
||||||
|
echo "## IOPlatformExpertDevice Info:" >> "$system_id_file"
|
||||||
|
ioreg -rd1 -c IOPlatformExpertDevice >> "$system_id_file"
|
||||||
|
|
||||||
|
chmod 444 "$system_id_file"
|
||||||
|
chown "$CURRENT_USER" "$system_id_file"
|
||||||
|
log_info "系统 ID 已备份到: $system_id_file"
|
||||||
|
} || {
|
||||||
|
log_error "备份系统 ID 失败"
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# 备份配置文件
|
# 备份配置文件
|
||||||
backup_config() {
|
backup_config() {
|
||||||
if [ ! -f "$STORAGE_FILE" ]; then
|
if [ ! -f "$STORAGE_FILE" ]; then
|
||||||
@ -146,6 +166,26 @@ generate_new_config() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# 修改系统 ID
|
||||||
|
log_info "正在修改系统 ID..."
|
||||||
|
|
||||||
|
# 备份当前系统 ID
|
||||||
|
backup_system_id
|
||||||
|
|
||||||
|
# 生成新的系统 UUID
|
||||||
|
local new_system_uuid=$(uuidgen)
|
||||||
|
|
||||||
|
# 尝试修改系统 UUID (需要用户确认)
|
||||||
|
log_warn "注意:修改系统 UUID 需要重启系统才能生效"
|
||||||
|
log_warn "是否要修改系统 UUID?(y/N)"
|
||||||
|
read -r choice
|
||||||
|
if [[ "$choice" =~ ^[Yy]$ ]]; then
|
||||||
|
sudo nvram SystemUUID="$new_system_uuid"
|
||||||
|
log_info "系统 UUID 已更新,请重启系统以应用更改"
|
||||||
|
else
|
||||||
|
log_info "跳过系统 UUID 修改"
|
||||||
|
fi
|
||||||
|
|
||||||
# 将 auth0|user_ 转换为字节数组的十六进制
|
# 将 auth0|user_ 转换为字节数组的十六进制
|
||||||
local prefix_hex=$(echo -n "auth0|user_" | xxd -p)
|
local prefix_hex=$(echo -n "auth0|user_" | xxd -p)
|
||||||
local random_part=$(generate_random_id)
|
local random_part=$(generate_random_id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user