partprobe 与 partx 的详细比较

partprobepartx 的详细比较

partprobepartx 都是 Linux 系统中用于告知内核分区表变更的工具,但它们的使用场景、功能和行为存在差异。以下是这两者的详细比较。

1. 作用

  • partprobe

    • partprobe 用于通知内核分区表已更改。
    • 它是 GNU parted 软件包的一部分,通过扫描磁盘来确保内核更新其内部的分区表,使分区变更生效(如新增、删除、调整分区大小等)。
    • 使用场景 :当你对磁盘分区进行修改后(如使用 fdiskparted 工具),可以使用 partprobe 使这些更改立即生效,而无需重启系统。
  • partx

    • partx 属于 util-linux 软件包,用于在内核中添加、删除或列出分区,但它并不会直接修改磁盘上的分区表。
    • 它既可以作用于块设备 ,也可以作用于分区表文件
    • 使用场景:在不修改磁盘分区表的前提下,管理内核中的分区信息(如新增分区、删除分区或列出分区)。

2. 常用命令

  • partprobe

    • 重新读取磁盘的分区表:

      bash 复制代码
      sudo partprobe /dev/sdX

      这会让内核重新读取指定设备(如 /dev/sda)的分区表。

  • partx

    • 列出分区

      bash 复制代码
      sudo partx --show /dev/sdX

      列出指定设备上的所有分区。

    • 将分区添加到内核

      bash 复制代码
      sudo partx --add /dev/sdX

      将磁盘上的分区添加到内核的分区表中,但不会修改磁盘上的实际分区表。

    • 从内核中删除分区

      bash 复制代码
      sudo partx --delete /dev/sdX

      从内核的分区表中删除指定分区,而不影响磁盘上的分区数据。

    • 处理分区表文件 : 你还可以使用 partx 从分区表文件(如磁盘镜像)中读取分区信息:

      bash 复制代码
      sudo partx --show /path/to/disk-image.img

3. 行为差异

  • partprobe

    • partprobe 直接触发内核重新扫描磁盘的分区表。如果分区表已经被修改(例如使用 fdiskparted),partprobe 会强制内核更新其分区信息。
    • 限制:如果某些分区正在被使用(如已挂载),内核可能无法更新分区表,此时可能需要重启系统才能使更改生效。
  • partx

    • partx 仅在内核层面操作,并不会修改磁盘上的分区表。它只管理内核对分区的视图。
    • partx 尤其适合在无需修改磁盘分区表的情况下动态地在内核中添加或删除分区。

4. 主要区别

功能 partprobe partx
所属软件包 parted 软件包的一部分 util-linux 软件包的一部分
主要用途 重新读取磁盘上的分区表并通知内核 管理内核中的分区信息(添加、删除、列出)
是否修改磁盘上的分区表? 否(仅通知内核) 否(只修改内核的分区视图)
支持分区表文件操作?
可以在内核中添加/删除分区?
典型使用场景 在修改分区后使内核更新分区表 列出、添加或删除内核中的分区,而不影响磁盘

5. 什么时候使用哪一个?

  • 使用 partprobe :当你对磁盘分区进行物理修改后(如通过 fdiskparted 添加、删除或调整分区),想让内核立即生效时使用 partprobe,而不需要重启系统。

  • 使用 partx :当你需要在内核中管理分区(如动态添加或删除分区),但不希望修改实际的磁盘分区表时使用 partx。它也适用于处理分区表文件(如磁盘镜像)。

总结

  • partprobe 是用于重新通知内核,磁盘上的分区表已被更改,让内核同步更新分区信息。
  • partx 是用于在不修改磁盘分区表的情况下,列出、添加或删除内核中的分区。

partprobe 更适合在你实际修改磁盘分区表后使用,而 partx 则适合在需要对内核中的分区表进行动态管理时使用。

相关推荐
2301_819287121 小时前
ce第六次作业
linux·运维·服务器·网络
武汉联从信息2 小时前
如何使用linux日志管理工具来管理oracle osb服务器日志文件?
linux·运维·服务器
Aileen_0v02 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
州周3 小时前
Ftp目录整个下载
linux·服务器·数据库
Jackey_Song_Odd3 小时前
Ubuntu 24.04.1 解决部分中文字符(门、径)显示错误的问题
linux·ubuntu
kaixin_learn_qt_ing3 小时前
Linux export命令
linux
余额不足121383 小时前
C语言基础十六:枚举、c语言中文件的读写操作
linux·c语言·算法
冷曦_sole3 小时前
linux-19 根文件系统(一)
linux·运维·服务器
AI大模型学徒3 小时前
Linux(二)_清理空间
linux·运维·服务器
云川之下3 小时前
【linux】 unshare -user -r /bin/bash命令详解
linux·bash·unshare