admin 发布的文章

真正智能、安全、自动化的 Bash 脚本:
✅ 自动检测系统是使用 LVM 还是普通分区
✅ 自动检测哪个磁盘有剩余未分配空间(例如 /dev/sda)
✅ 自动扩展根目录(/)的容量
✅ 无需你手动指定设备名或卷组名
✅ 自动执行 pvresize、lvextend、resize2fs 或 xfs_growfs(取决于文件系统)
✅ 带详细日志与安全确认

#!/bin/bash
set -e

echo "================================================================"
echo "🧠 智能根分区自动扩容脚本"
echo "================================================================"

# 检查是否为 root
if [[ $EUID -ne 0 ]]; then
  echo "❌ 请使用 root 用户运行此脚本。"
  exit 1
fi

echo "🔍 正在检测磁盘和分区信息..."
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
echo

# 获取根分区设备
ROOT_DEV=$(df / | tail -1 | awk '{print $1}')
echo "✅ 根分区设备: $ROOT_DEV"

# 如果是 LVM
if [[ $ROOT_DEV == /dev/mapper/* ]]; then
  LV_PATH="$ROOT_DEV"
  VG_NAME=$(lvdisplay "$LV_PATH" | awk '/VG Name/{print $3}')
  PV_NAME=$(pvdisplay -c | grep "$VG_NAME" | awk -F: '{print $1}')

  echo "✅ 检测到 LVM 结构"
  echo "   ├─ 卷组: $VG_NAME"
  echo "   ├─ 物理卷: $PV_NAME"

  # 获取物理卷所在磁盘
  BASE_DISK=$(lsblk -no pkname "$PV_NAME" | head -n1)
  BASE_DISK="/dev/$BASE_DISK"
  echo "   └─ 所属磁盘: $BASE_DISK"

  # 检查是否有未分配空间
  echo "🔎 检查 $BASE_DISK 是否存在未分配空间..."
  PART_COUNT=$(lsblk -n "$BASE_DISK" | grep part | wc -l)
  LAST_PART=$(lsblk -n "$BASE_DISK" | grep part | tail -n1 | awk '{print $1}')
  LAST_PART_PATH="/dev/$LAST_PART"

  # 检查最后一个分区是否已用尽磁盘空间
  END_SECTOR=$(parted -m "$BASE_DISK" unit s print free | tail -1 | awk -F: '{print $2}')
  if [[ "$END_SECTOR" == "0s" ]]; then
    echo "❌ 没有检测到剩余可用空间。"
    exit 1
  fi

  echo "✅ 检测到剩余空间可用,准备扩展 $LAST_PART_PATH ..."
  read -p "⚠️  是否继续扩展?(y/N): " CONFIRM
  [[ "$CONFIRM" =~ ^[Yy]$ ]] || exit 0

  echo "🧱 正在扩展分区..."
  parted "$BASE_DISK" ---pretend-input-tty <<EOF
resizepart $PART_COUNT 100%
Yes
EOF

  echo "🔄 刷新分区表..."
  partprobe "$BASE_DISK"
  sleep 3

  echo "📈 扩展物理卷..."
  pvresize "$LAST_PART_PATH"

  echo "📈 扩展逻辑卷..."
  lvextend -r -l +100%FREE "$LV_PATH"

  echo "✅ 扩容完成!"
  df -h /
  exit 0

else
  # 非 LVM 情况
  echo "⚙️ 检测到非 LVM 根分区,尝试自动扩展分区..."

  BASE_DISK=$(lsblk -no pkname "$ROOT_DEV")
  BASE_DISK="/dev/$BASE_DISK"
  echo "   ├─ 根分区: $ROOT_DEV"
  echo "   ├─ 所属磁盘: $BASE_DISK"

  echo "🔎 检查剩余未分配空间..."
  parted -m "$BASE_DISK" unit s print free

  echo "⚠️ 非 LVM 扩容风险较高,请确认分区布局!"
  read -p "是否继续扩展根分区到整个磁盘?(y/N): " CONFIRM
  [[ "$CONFIRM" =~ ^[Yy]$ ]] || exit 0

  echo "🧱 正在扩展 $ROOT_DEV ..."
  parted "$BASE_DISK" ---pretend-input-tty <<EOF
resizepart $(lsblk -n "$BASE_DISK" | grep part | grep -n "$(basename $ROOT_DEV)" | cut -d: -f1) 100%
Yes
EOF

  echo "🔄 刷新分区表..."
  partprobe "$BASE_DISK"
  sleep 3

  FS_TYPE=$(blkid -o value -s TYPE "$ROOT_DEV")
  echo "📂 文件系统类型: $FS_TYPE"

  if [[ "$FS_TYPE" == "ext4" ]]; then
    resize2fs "$ROOT_DEV"
  elif [[ "$FS_TYPE" == "xfs" ]]; then
    xfs_growfs /
  else
    echo "❌ 不支持的文件系统类型: $FS_TYPE"
    exit 1
  fi

  echo "✅ 扩容完成!"
  df -h /
fi

7月8日,中国汽车技术研究中心有限公司、清华大学、华为技术有限公司三方联合编写的《汽车智能驾驶技术及产业发展白皮书》正式发布。此书从“产学研”角度联合研判汽车智能驾驶产业发展趋势,明晰智能驾驶发展过程中相关易错、易混的概念,分析智能驾驶相关技术原理与发展水平,研究智能驾驶安全体系建设要求,明确智能驾驶技术产业政策法规与合规要求,阐述以智能驾驶技术为核心的整车智能化路线演变方向。

此书包含“智能驾驶概念与发展辨析”、“智能驾驶技术架构与关键能力”、“智能驾驶行业赋能与场景创新”、“自动驾驶安全体系”、“智能驾驶产业环境与生态构建”、“智能驾驶产业未来展望”几大篇章。

智能驾驶的概念分类

基于工信部牵头制定的GB/T 40429—2021《汽车驾驶自动化分级》,再次明确驾驶自动化0-5级的分类,并且对于当前的技术阶段再次对于2级和3级驾驶自动化进行明确。2级与3级驾驶自动化的核心差异点在于责任主体、系统能力和驾驶员状态监测三个方面,2级车辆能够同时自动进行持续的横向和纵向控制,即车辆具备自动加速、减速以及转向等功能,但驾驶员仍需时刻保持注意力,对车辆进行监督,并在必要时干预车辆,责任主体为驾驶员;3级驾驶自动化的核心特征是在特定设计运行条件(ODD)下,系统可执行全部动态驾驶任务(如高速公路、城市道路等),允许驾驶员在系统运行期间不再持续监管道路环境,可进行有限度的非驾驶活动,但需在系统请求时进行接管,如果3级系统激活期间发生问题,经相关部门认定后,应由责任方承担责任。

截至到本白皮书发布日期,市场上汽车产品均处于2级驾驶自动化及以下阶段,没有达到3级驾驶自动化程度。根据现行交通法规及技术标准,2级驾驶自动化阶段运行必须处于人类驾驶员的持续监管之下,操作主体是驾驶员,若发生交通事故,驾驶员须承担法定责任。尽管标准中已经对驾驶自动化等级做了详细的定义、解释以及边界范围的限定,但在汽车市场的宣传与传播中,仍存在对上述概念混淆使用的乱象,有必要理清相关概念。

此外,也强调了智能驾驶的逻辑架构的概念和数据是智能驾驶发展的核心的发展路径。

PDF格式下载地址: https://pan.baidu.com/s/1VN1OOhRKfdSWjr-t-1hhiw
提取码: kele