小编Gnu*_*rou的帖子

btrfs:分配了巨大的元数据

我有一个 256GB 的 SSD 磁盘,我将 ext4 root FS 转换为 btrfs。我删除了 ext4 备份子卷,启用压缩并递归地进行碎片整理以在所有文件上启用它。

btrfs fi df / 有一个让我担心的输出:

Data: total=148.00GB, used=106.11GB
System: total=32.00MB, used=16.00KB
Metadata: total=65.00GB, used=2.04GB
Run Code Online (Sandbox Code Playgroud)

如果我正确理解输出,65GB(我磁盘的 1/4!)保留用于元数据,不可用于存储文件。如果这是正确的,那将是对我磁盘空间的巨大浪费。我理解正确吗?可以调整磁盘的元数据分配部分的大小吗?

linux ssd hard-drive btrfs

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

如何使用 zsh 中的 bash 'source' 一个 shell 脚本?

我正在使用 zsh 并且非常喜欢它,但是与 Android 源代码一起工作很多,它具有需要正确评估 bash 的编译脚本。这些脚本需要在编译之前获取并定义编译期间使用的环境变量和 shell 函数。

Zsh 无法获取这些文件,并且如果我尝试在emulate bash每次点击空格时尝试发出我的 shell 变得非功能性并出现大量这些错误(我正在使用 oh-my-zsh,也许这是一个原因?):

url-quote-magic:24: bad pattern: ( ):/(|/localhost)/*
Run Code Online (Sandbox Code Playgroud)

有没有办法让我不切换到 bash 来评估这些文件,或者调用 bash 实例并将其在采购期间定义的新环境变量/函数导入我的 zsh 会话?或者我注定每次需要在 Android 上工作时都切换到 bash?

编辑:找到了我自己问题的答案。使用另一个 shell 获取文件似乎是不可能的,但是在 Android 宏文件失败的情况下,这个页面带来了一个修复:

http://nilvec.com/building-cyanogen-from-source/

基本上,简单的设置unsetopt nomatch将要求 zsh 停止抱怨不匹配的通配符,这足以使脚本完成。仍然会留下一个错误,关于使用completebash 内部命令为一个 Android 宏添加完成功能,但这里绝对不是关键。

bash zsh oh-my-zsh

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

标签 统计

bash ×1

btrfs ×1

hard-drive ×1

linux ×1

oh-my-zsh ×1

ssd ×1

zsh ×1