小编som*_*ega的帖子

ext5 何时到来或者 ext4 何时更新以支持大型(巨型)SSD?

Nimbus ExaDrive 100TB SSD已经上市,200TB SSD即将推出。您可以在此处阅读,ext4 支持高达 256 TB。硬件达到这个限制只是时间问题。

他们会更新 ext4 还是会有 ext5?会发生什么?

ssd ext4

17
推荐指数
3
解决办法
1万
查看次数

如何在 Linux 上确定 CD 的彩虹书颜色?

我已将 CD 放入驱动器中。如何在 Linux 上找到彩虹书颜色(红皮书/黄皮书/蓝皮书/...)?

linux removable-storage

11
推荐指数
1
解决办法
1479
查看次数

检测应用程序执行逻辑错误的工具

我想检测应用程序执行逻辑中的错误。例如:

  • 忘记调用free()返回的地址malloc()
  • 没有关闭返回的文件句柄open()
  • 无效标志传递给open()
  • 传递给的文件句柄无效poll()
  • write()调用未打开写入的 fd
  • 将无效标志传递给open()例如 open("/etc/fstab", 4)
  • 调用close()无效的 fd
  • ...

我想还有数百个。

ftrace也许该工具可以类似于或运行strace,但包含错误调用的内核日志也足够了。

programming debugging control-flow

5
推荐指数
1
解决办法
895
查看次数

是否可以卸载分区表?

是否可以卸载分区表,以便我在 /dev 中只看到 sda 而不是 sda1 和 sda2?

背景:

我知道没有安装分区表。但我没有找到更好的名字。

我经常使用dd来覆盖硬盘或 USB 笔。但他们经常有一些分区。覆盖后,我仍然可以使用lsblk看到旧的(不再存在的)分区表。

我知道可以使用partprobe重新读取分区表。

但是我想知道是否可以覆盖usb pen之前卸载分区表。因为我不希望程序在用dd覆盖时访问损坏的分区。

partition partition-table

3
推荐指数
1
解决办法
231
查看次数

使用 tar 创建完整驱动器的存档

我想备份我的全新电脑的整个驱动器。

我尝试了这个命令:

sudo tar -czvf disk.tar /dev/nvme0n1
Run Code Online (Sandbox Code Playgroud)

但1秒后就结束了。

存档中的 nvme0n1 文件为 0 字节。

这里有什么问题吗?

编辑:

我之前总是在分区上运行此命令,因此我没有(已删除的)文件:

dd if=/dev/zero of=moh bs=100M
rm moh
Run Code Online (Sandbox Code Playgroud)

tar

2
推荐指数
1
解决办法
5892
查看次数

使用dd检测坏道

在我出售旧硬盘之前,我完全读取和写入磁盘以验证它没有坏扇区。

我总是这样写:

dd if=/dev/zero of=/dev/sdb bs=100M status=progress
Run Code Online (Sandbox Code Playgroud)

但是我的电脑有 32GB 内存,当 dd 退出时,很多数据可能在缓存中。

有没有办法查看操作系统何时无法将缓存写入磁盘(在 dd 终止后)?

dd 在退出之前刷新缓存的正确选项是什么?同步,fsync 还是 fdatasync?

请不要建议磁盘检查工具。dd 对我来说已经足够了。

dd badblocks

2
推荐指数
1
解决办法
1329
查看次数

显示磁盘或分区是 BIOS 可启动还是 UEFI 可启动

我有一个笔式驱动器或磁盘,可以在以下位置访问它

/dev/sda
Run Code Online (Sandbox Code Playgroud)

分区位于

/dev/sda1
/dev/sda2
/dev/sda...
Run Code Online (Sandbox Code Playgroud)

我想知道磁盘本身和每个分区:

  • 是经典的可启动(BIOS 启动模式/UEFI 之前)(我认为使用了 MBR)
  • 它是 UEFI 可启动的吗(我想那时没有使用 MBR)
  • 以上都不是
  • 以上两者

我知道有 fdisk,但它不支持 GPT,所以我不能将它用于 GPT 磁盘。并且parted只显示“启动”标志,但它不告诉它是BIOS可启动还是UEFI可启动。

我知道这个任务不会那么困难,因为每个现代 BIOS 都可以列出可启动设备,并且还显示它是否是 UEFI。

boot bios uefi

1
推荐指数
1
解决办法
4596
查看次数

如何grep“find -print0”输出?

我试过这个:

find /usr/lib -print0 | grep zip | xargs -0 -I{} echo "found file: {}"
find /usr/lib -print0 | grep --null zip | xargs -0 -I{} echo "found file: {}"
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为 grep 只说有一个二进制文件匹配。我希望 grep 输出以空字符结尾的行。

是否可以在不更改整个命令的情况下解决此问题?我知道可以使用find -name ... -exec .... 但如果我现有的命令可以得到修复,那就太好了。

linux shell grep find xargs

0
推荐指数
1
解决办法
239
查看次数