标签: ext3

我如何知道一个分区是 ext2、ext3 还是 ext4?

我只是格式化的东西。一张磁盘我格式化为 ext2。另一个我想格式化为ext4。我想测试他们的表现。

现在,我如何知道分区中的文件系统类型?

linux ext4 ext2 ext3

129
推荐指数
7
解决办法
19万
查看次数

告诉 fs 现在从已删除的文件中释放空间

有没有办法告诉内核现在返还可用磁盘空间?就像在 /proc/ 中写入内容一样?使用 Ubuntu 11.10 和 ext4。

这可能是一个古老而重复的主题。只有当我的编辑器无法保存我打开的源代码文件时才注意到 0 空间后,令我恐惧的是文件夹列表中现在有 0 字节大小,我继续疯狂删除。

我从用户和 root 中删除了 100 MB 的大文件,并且还做了一些硬链接。

就在我这样做之前apt-get clean,/var/cache/apt/archives 中有超过 900MB,现在只有 108KB:

# du
108 /var/cache/apt/archives
Run Code Online (Sandbox Code Playgroud)

一个小时后仍然没有可用空间并且无法保存我在编辑器中打开的宝贵文件,但请注意以下差异:

# sync; df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda4             13915072  13304004         0 100% /
Run Code Online (Sandbox Code Playgroud)

有什么建议?我关闭了一些服务/进程,但不确定如何检查谁可能正在积极占用磁盘空间。

更多信息

# dumpe2fs  /dev/sda4
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              884736
Block count:              3534300
Reserved block count:     176715
Free blocks:              422679
Free inodes:              520239
First …
Run Code Online (Sandbox Code Playgroud)

ext4 disk-usage ext3 proc df

77
推荐指数
6
解决办法
25万
查看次数

块大小和簇大小之间的差异

我有一个关于块大小和簇大小的问题。关于我所读到的内容,我假设如下:

  • 块大小是一个块的物理大小,多为 512 字节。没有办法改变这一点。
  • 簇大小是操作系统可读写的块的最小大小。如果我创建一个新的文件系统,例如 ext3,我可以使用开关 -b 指定这个最小的块大小。几乎所有像 dumpe2fs、mke2fs 这样的程序都使用块大小作为集群大小的名称。

如果我有以下输出:

$ stat test
File: `test'
Size: 13            Blocks: 4          IO Block: 2048   regular file
Device: 700h/1792d  Inode: 15          Links: 1
Run Code Online (Sandbox Code Playgroud)

大小是以字节为单位的实际空间,块是物理使用的块(每个 512 字节),IO 块与创建 FS 时指定的块大小有关,这是否正确?

filesystems ext3 terminology block-device

28
推荐指数
1
解决办法
4万
查看次数

如何压缩目录

每隔一段时间,一些应用程序就会疯狂运行并用大量文件填充目录。一旦我们修复了错误并清理了文件,即使其中只有 20-30 个文件,目录也会保持大 (>50MB)。

是否有一些命令可以压缩目录而无需重新创建它?

加分项:巨大的空目录会影响该目录的访问性能吗?我假设它确实如此,但也许它不值得打扰。ls在这样的目录上做似乎更慢。

filesystems ext3

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

不会出现在 /dev/disk/by-uuid 或 blkid 中的驱动器的 UUID

我有一个未收到 UUID 的 USB 驱动器。当我查看 /dev/disk/by-uuid 的内容时,它不存在。分区所在的开发点位于 /dev/sdb 上。我可以在 /dev/disk/by-path 下看到 sdb。此外,当使用 blkid 时,我的输出为零。我假设我收到了返回的错误代码。

有没有办法获得这个分区的 UUID?

的结果 fdisk -l /dev/sdb:

Disk /dev/sdb: 320.1 GB, 320072932352 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142446 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00082145

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   625141759   312569856   83  Linux
Run Code Online (Sandbox Code Playgroud)

分区表和分区是用gparted创建的,所以它被分区并运行命令mkfs.ext3。

fsck -n …

mount ext3 fstab uuid disk

21
推荐指数
3
解决办法
7万
查看次数

如何搜索具有不可变属性集的文件?

出于配置审核的原因,我希望能够在我的 ext3 文件系统中搜索具有不可变属性集(通过chattr +i)的文件。我找不到任何find可以执行此操作的选项或类似选项。在这一点上,恐怕我必须编写自己的脚本来解析lsattr每个目录的输出。是否有提供更好方法的标准实用程序?

find ext3

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

创建文件系统时的大文件功能

在为包含 flac 格式的视频和音频等大文件的分区创建文件系统时,使用-T largefile标志有用吗?

我使用该标志和不使用该标志测试了相同的分区,并使用tune2fs -l [partition],我检查了启用了“large_file”的“文件系统功能”。那么,没有必要使用-T 标志 largefile吗?

filesystems large-files ext4 ext2 ext3

20
推荐指数
2
解决办法
3万
查看次数

在 fstab 中增加“commit”的优缺点

过去我做过很多晦涩的系统优化,但在我powertop告诉我应该将 USB 端口设置为autosuspend后,我摆脱了其中的大部分,这迫使它们永久休眠,并且在我意识到更高swappiness的好处之后.

但是今天,在查看 时/etc/fstab,我注意到我已经commit=60//home设置了选项。我记得这是对笔记本电脑的优化,以减少对磁盘的写入量,从而节省电池。但后来我开始担心这可能会导致数据丢失(有时我的电池断开连接,然后在启动时fsck告诉我几个孤立的 inode)。

在寻找这个选项的解释时,我得出了以下解释(第二个似乎与我之前的理解相矛盾):

$ man mount | awk '/commit=/,/^$/'
commit=nrsec
    Sync all data and metadata every nrsec seconds. The default value is 5 seconds.
    Zero means default.
Run Code Online (Sandbox Code Playgroud)

https://forums.gentoo.org/viewtopic-p-4088752.html

commit=60 停止“立即”(默认为 5 秒)写入优先级,在几秒钟后缓存写入。这在重读和写混合在一起的情况下是很好的,在这种情况下,用户希望读取优先,以便处理器可以保持忙碌而不是在等待写入完成之前暂停,然后才能继续读取。

我见过的一个真实世界的例子是等待几秒钟 Gnome 下拉菜单出现,似乎没有任何原因。原因是磁盘忙于写入,因此CPU必须等待写入完成才能从磁盘中获取所有数据才能显示菜单。

提交到底有什么作用?增加它真的有好处吗(比如响应能力和节能)?它真的会导致数据丢失吗?

ext4 mount ext3 fstab

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

EXT3:如果块大小为 4K,为什么 ls -l 显示的文件大小低于该大小?

如果在包含一个字母的文件上运行 ls -l,它的大小将显示为 2B。如果您的文件系统是 4k 块,我认为它会将文件四舍五入到块大小?是不是因为 ls -l 实际上是从 inode 读取字节数?在 Linux 2.6 Kernel GNU utils 中,您在什么情况下会被四舍五入以阻止答案与实际字节数答案?

linux ls filesystems ext3

16
推荐指数
3
解决办法
9772
查看次数

ext3 文件系统使用什么挂载选项来最大程度地减少数据丢失或损坏?

我有一个嵌入式设置,使用 initramfs 作为根文件系统,但使用安装在紧凑型闪存 IDE 驱动器上的自定义 ext3 分区。因为面对断电时的数据完整性是整个设置中最重要的因素,所以我使用了以下选项进行挂载(以下是我的/etc/fstab文件中的条目

<file system> <mount pt> <type> <options>                         <dump><pass>
/dev/sda2     /data      ext3   auto,exec,relatime,sync,barrier=1 0     2
Run Code Online (Sandbox Code Playgroud)

我通过在互联网上阅读这些选项获得了这些选项。我担心的是,/proc/mounts给出以下内容:

/dev/sda2 /data ext3 rw,sync,relatime,errors=continue,user_xattr,acl,
barrier=1,data=writeback 0 0
Run Code Online (Sandbox Code Playgroud)

我从阅读中了解到,我想data=journal为我的挂载使用选项,因为这提供了最好的数据损坏保护。但是,从特定 ext3 选项的手册页中,mount它对写回选项进行了以下说明:

不保留数据排序 - 数据可能会在其元数据提交到日志后写入主文件系统。
据传这是最高吞吐量的选择。它保证内部文件系统的完整性,但是它可以允许旧数据在崩溃和日志恢复后出现在文件中。

我对此感到非常困惑 - 手册页似乎表明为了文件系统完整性,我想指定data=writeback选项,mount但我发现的大多数其他参考文献(包括一些关于嵌入式 linux 的已出版书籍)建议我应该使用data=journal. 我使用的最佳方法是什么?写入速度根本不是问题——数据完整性才是问题。

mount ext3 journaling

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

标签 统计

ext3 ×10

ext4 ×4

filesystems ×4

mount ×3

ext2 ×2

fstab ×2

linux ×2

block-device ×1

df ×1

disk ×1

disk-usage ×1

find ×1

journaling ×1

large-files ×1

ls ×1

proc ×1

terminology ×1

uuid ×1