问题标签 [btrfs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 在 linux 上安装软件后捕获系统更改,用于打包和部署
我正在开发一个工作流程,用于在 Linux 上安装不以 RPM 形式提供的软件,并捕获系统更改,然后将其打包为 RPM 以供内部部署。
我这样做的一个想法是利用 btrfs,在安装之前拍摄快照,在安装之后拍摄快照,区分快照,然后使用它(带有一些常识性排除)来构建 rpm。
有没有更明显的方法来做到这一点?
linux - BTRFS & F2FS 用户空间实用程序交叉编译
是否有任何网络链接/文档描述了交叉编译 btrfs 和 F2fs 用户空间实用程序的步骤?有什么步骤吗?基于 arm 的板的特殊调整建议。(AM335x)?
filesystems - BTRFS 和 ZFS 快照如何工作?
更具体地说,他们如何设法查看整个子卷并记住它的所有内容(文件、文件大小、文件夹结构),同时将其放入如此少量的数据中。
rsync - 带备份的 Btrfs 快照
有没有办法通过在第一次备份时复制整个磁盘来备份 btrfs 文件系统,然后复制快照文件而不是使用 rsync(或者这是一个坏主意)?
docker - 带有 btrfs ubuntu 的 docker
我需要帮助才能使用 btrfs 启动 docker deamon。
当我尝试使用 -s btrfs 启动它时,它不想启动。尝试使用 btrfs 启动 docker 守护程序时,日志中有错误(错误的文件系统?)。
我使用 ubuntu 作为操作系统:
我在 /var/lib/docker2 上使用 btrfs 安装了一个新分区。
我安装了 1.6.2 docker 版本:
我编辑了“/lib/systemd/system/docker.service”文件,它看起来像这样:
我在 /etc/default/docker 文件中插入了 2 个选项:
当我尝试手动启动 docker deamon 时,日志中会出现此错误:
这是整个日志文件:
btrfs - 如何修复 btrfs 根 inode 错误
运行btrfsck
,或更正式地,btrfs check --repair
给出此输出,说明存在根 inode 错误。修复命令不能修复问题,重新运行将显示相同的输出。该系统是完全可安装和可操作的,但我无法对分区执行高级操作(调整大小)。
linux - 以编程方式创建根目录具有特定所有者的 btrfs 文件系统
背景
我有一个测试脚本,可以动态创建和销毁文件系统,用于一套性能测试。
为了避免以 root 身份运行脚本,我有/dev/testdisk
一个特定用户拥有的磁盘设备testuser
,以及一个合适的条目/etc/fstab
:
这允许普通用户安装和卸载磁盘。
问题
我希望我的脚本(testuser
以/dev/testdisk
testuser
这可以在不以 root 身份运行脚本并且不诉诸sudo
脚本内的权限提升(使用)的情况下完成吗?
与其他文件系统的比较
使用 ext{2,3,4} 可以创建一个根目录归当前用户所有的文件系统,使用以下命令:
我想避免的解决方法(如果可能)
我知道我可以使用该btrfs-convert
工具将现有的(可能为空的)ext{2,3,4} 文件系统转换为 btrfs 格式。我可以在我的脚本中使用这个解决方法(首先创建一个 ext4 文件系统,然后立即将其转换为 brtfs),但如果有办法直接创建 btrfs 文件系统,我宁愿避免使用它。
ubuntu - 如何将 /var/log 移动到 btrfs 子卷?(ubuntu 15.04 桌面)
我正在尝试移动 /var/log/。到它自己的子卷。我已经尝试了很多事情,但是 /etc/fstab 条目从来没有像我希望的那样。我在这里使用的示例/spam
是因为我不想在解决这个问题时丢弃日志文件。我的问题在下面用粗体表示。
我不会让你厌烦那些不起作用的东西。但这是我所在的位置:
我的 OpenSUSE 机器(因此有不同的 UUID)从以下fstab
条目中安装了一堆子卷:
如果我在我的 Ubuntu 机器上尝试这个,它不会启动。strace
来自单用户模式的节目mount(2)
失败并显示:
此外,如果我 df 目录,我会得到:
我的第一个问题:我错过了什么? 出了点问题,因为它行为不端。 第二个问题:我在正确的地方发帖吗? 谢谢!
更新1:
linux - btrfs ioctl:从用户空间获取文件校验和
我想获取与特定文件相关的 BTRFS 校验和,但遗憾的是我没有找到合适的 ioctl 来执行此操作。有可能吗?如果是这样,该怎么做?在类似于 rsync 行为的情况下,我需要存储校验和以尝试减少 CPU 负载。
docker - Docker容器中大文件的微小变化会产生巨大的层
我正在使用 docker 在我的本地开发环境中拥有版本控制的数据库(例如,能够快照/恢复数据库状态)。由于我的工作性质,我需要它。我不能使用事务来实现我想要的[原因之一 - 一些语句是 DDL]
所以,我有一个带有一个大文件的 docker 容器(MySQL Inno db 文件)
如果我稍微更改这个文件(比如更新表中的行),然后提交容器,将创建新层,并且该层的大小将是这个大文件的大小,即使文件中只有几个字节发生了变化。
我理解它的发生是因为 docker 文件是“原子”结构,如果文件被修改,它的副本会在新层中创建,并且该层稍后会包含在图像中
有没有办法改变这种行为并让 Docker 在文件级别存储差异,例如,如果 10 GiG 文件的 10 个字节被更改,创建大小小于 10 GiG 的层?
Mb 我可以使用其他一些存储引擎吗?[哪个?] 我也不是很依赖 docker,所以我什至可以切换到 rkt,问题是 - 你们认为它有帮助吗?(mb图像格式不同,可以存储文件内容级别的差异)