问题标签 [apfs]

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.

0 投票
0 回答
220 浏览

file - 如何修复 APFS 损坏?

几周前,我将一些目录从旧的外置硬盘复制到我的 iMac。由于这个古老的硬盘驱动器状态不佳,我最终得到了一些损坏的文件。

我设法删除了它们,但有些仍然存在。

一开始以为只是文件权限或者字符编码的问题,没想到居然不是。我已经阅读了 stackoverflow 中关于其他 unix 系统上类似问题的每一篇文章。

这里有一些截图,你会很容易理解这个问题。

那是我的操作系统和坏文件:

介绍

即使重写后,我也无法删除任何内容:

无法删除或修改不存在的文件

我不能chmod。Chmod 向我展示了一些我不知道存在的幽灵文件。

不能chmod。 这些文件是从哪里来的??

我也不能 chown :

也吐不出来。

这是一个加密的 APFS 分区:

加密分区

由于此 FS 损坏(退出错误代码 8),我无法运行任何磁盘工具修复。这在我的 Mojave USB 安装程序上也不起作用,错误代码相同。

磁盘援助

我无法使用 FireVault 解密分区,它永远停留在 0%。

我从来没有见过这样的事情。你认为我们应该怎么做?

0 投票
1 回答
66 浏览

macos - rsync - 相同的大小、内容、所有者、组、权限、时间 - 但它想要复制

rsync - 相同的大小、内容、所有者、组、权限、时间 - 但它想要复制

使用 macOS 莫哈韦。在源目录(apfsper ?)中使用默认文件系统,在目标目录( per )df中使用 FAT32 。msdosdf

没有想法。

0 投票
1 回答
120 浏览

c++ - 在 ofstream 写入期间检测到空间不足,stream.fail() 无法工作

我目前正在编写 DOD5220.22-M 的实现。下面的代码用于将二进制零写入文件,直到磁盘完全装满。

所以问题在于使用 statvfs,它检测到 3800158208 字节(约 3.82gb)的可写空间。但是,写入过程将在 3.77gb 处停止,并且将永远停留在那里。驱动器在此操作之前被格式化为 APFS,因此它是完全空的。

如您所见,我尝试使用 stream.fail() 来检测此类错误,但这似乎根本不起作用。系统是运行 g++8 和 C++17 的 MacOS

我错过了什么?statvfs 检测到的可写空间是否比现有空间多,还是我做错了什么?

还有一种方法可以在每次迭代时不检查 stream.fail() 的情况下编写吗?

提前致谢。

0 投票
1 回答
6921 浏览

macos - 在 MacOS/APFS 上使用 Dropbox Smart Sync 释放磁盘空间的延迟 - 潜伏着什么危险?

正如Dropbox 所解释的,智能同步是一项“帮助您节省硬盘空间的功能。从您的计算机访问 Dropbox 帐户中的每个文件和文件夹,几乎不使用硬盘空间。......使用智能同步,内容您的计算机可作为仅在线、本地或混合状态文件夹使用。”

昨晚和今天早上,我将大量文件从外部磁盘移动到我的 MacBook(MacOS Mojave 版本 10.14.4)上的 Dropbox 文件夹中,然后将这些 Dropbox 文件夹选择为“仅限在线”。这些文件很快与云端的 Dropbox 同步——我看到它们出现在共享 Dropbox 的台式计算机的本地文件夹中——但灰色图标(“仅限在线”)在 Finder 中显示需要很长时间。(二十多个小时后,两个较大的文件夹仍然显示蓝色图标,表示“正在同步”,尽管它们的内容早已出现在另一台计算机上。)

随着警报的增加,我看到添加到 Dropbox 的每个新目录都会将 MacBook 上使用的空间量增加到危险水平 (93%),即使标记为“仅限在线”的大型目录继续同步到 Dropbox 云。我只能通过将一些内容移回外部磁盘来恢复可用空间。

令人困惑的是,关于真正剩余多少空间的信息并不一致。 df显示58 GB 可用

同时About this Mac => Storage显示232 GB 可用

一位消息人士称,“关于这台 Mac 中的存储选项卡......可能很有用,因为它是哪些类型的数据占用存储空间的唯一指南,但当您想知道有多少空间已使用或空闲时任何卷或磁盘,使用磁盘工具:它更有可能是准确的。” 然而,令人困惑的是,我的磁盘工具显示了两个结果:

  • 已使用 433.68 GB,其他卷上 3.95 GB,免费 62.45 GB
  • 容量 500.07 GB,可用:232 GB(169.55 GB 可清除),已用:433 GB

正如 Dropbox 所解释的, “将文件设置为仅在线将在几分钟内释放硬盘驱动器上的空间(只要您的计算机在线并且能够同步到 Dropbox)。但是:... macOS 10.13 (High Sierra) 使用... APFS . 使用 APFS,操作系统会拍摄文件系统和可用硬盘空间的快照。在您使用 Smart Sync 将 Dropbox 文件设置为仅在线后,这些快照可能不会更新。这意味着您使用 Smart 释放的硬盘空间如果此快照尚未更新,同步可能不会立即反映或可用。操作系统最终应释放此硬盘空间,但这需要的时间可能会有所不同。这不是 Dropbox 特有的行为,而是 macOS 的设计行为。” 在 APFS 上,“ 仅在线文件使用硬盘驱动器上的少量空间来存储有关文件的信息,例如其名称和大小。这比完整文件使用的空间更少。”实际上,标记为“仅在线”的文件继续显示其非零(在线)大小(例如,lsos.path.getsize()) 就好像它们仍然在本地可用一样。

我认为这是一个 MacOS(即 APFS)问题,并非特定于 Dropbox。

我的问题:如果 Disk Utility 显示232 GB "available"但只有62.45 GB "free",后果是什么?如果我要向磁盘添加另外 100 GB 的文件,会发生不好的事情吗?

我当然不愿意仅仅“作为一个实验”添加比空间更多的内容,但看看这会如何无意中发生。

0 投票
0 回答
226 浏览

macos - 如何在 macOS 上计算 APFS 卷上的“可清除”磁盘?

我的应用程序需要知道 APFS 卷上的可用空间。

从 macOS High Sierra 和 APFS 开始,操作系统似乎可以“保留”可清除的磁盘空间。

使用 NSFileManager 函数时,它只返回“真正的”可用空间:

在此处输入图像描述

我的问题:如何计算或估计这个“可清除”的可用空间?

0 投票
0 回答
366 浏览

ios - iOS:[NSData writeToFile:atomically:YES] 线程安全吗?

我试图弄清楚如果我使用[NSData writeToFile:atomically:YES]来自多个线程的方法写入同一个文件会发生什么。线程完成写入文件后,是否保证文件不会损坏?

为简单起见,您可以假设文件系统是 APFS (iOS 11+)。

这个问题也与NSFileManager's 相关[replaceItemAtURL:withItemAtURL:backupItemName:options:resultingItemURL:error:]

0 投票
1 回答
185 浏览

macos - 外部 SSD 中 APFS 卷的自定义路径

我有外部 SSD,里面有 APFS 卷,当插件这个自动挂载在/Volumes/Workspace. 有办法定义在预定义的路径中自动挂载吗?

0 投票
1 回答
48 浏览

macos - macos 中目录重命名的意外行为(其他 posix 风格?)

基本上,在 Python 或 bash 中,我可以在该目录中将目录重命名为不同的名称:此时,在目录中,旧名称仍然显示,但实际上重命名已经发生。

在带有 APFS 的 macos 上,这发生在我正在编写的 Python 脚本中,该脚本根据我使用的特定命名约定重命名目录,我注意到了这种行为。

我将其发布为 posix/shell/macos,因为我有一半希望在 Linux 下也会发生这种情况,并且我从 zshell 中得到了相同的一般行为。

假设我有一个目录foo

我将其重命名为 bar withmv foo bar

但是现在,让我们 cd 进入该目录并在那里执行重命名。

所以,现在,在 内bar,我已将其重命名为zoom. 它没有出错。在本地,apwd表明我仍在同一目录中。我可以做一个ls并且我不在一个无效的目录中,某些命令有时可以让我进入。

然而,上一层的树讲述了一个不同的故事。

并且 cd 到当前目录失败

以薛定谔的名义,发生了什么?文件系统底层的 inode 方案 APFS 是否提供此功能?不同的文件系统,例如 ext4 也会表现出相同的行为吗?

更新:如果我的测试目录中有一个单独的文本文件,我可以cat在本地重命名之前和之后的文件内容,所以它不仅仅是外壳 - 文件系统也可以协作。当前目录仍然有效且可操作(这符合@that other guy's answer)。

0 投票
2 回答
140 浏览

macos - 远程文件“存根”如何在带有 APFS 的 Mac 上工作?

iCloud Drive和 OneDrive for Mac都支持远程文件(或OneDrive 所称的“按需文件” )。

  • 这些文件出现在 Finder 中,并且表现得像真实文件(具有奇怪的快速查看行为)。
  • 检查员显示他们的真实大小加(4 KB on disk)或相似。

还:

  • 终端似乎不了解 iCloud 远程大小:
  • 但它理解 OneDrive 的(文件显示0 bytes on disk在 Finder 中):

带有云图标的 iCloud Drive 屏幕截图和

令人失望的是,我在网上找不到有关这些文件的任何信息。官方的Apple 文件系统参考似乎没有为此显示任何明确的端点。

  • 它们是如何工作的?
  • 这是公共 macOS API 还是 APFS 的功能?这是否依赖于 APFS?
0 投票
1 回答
669 浏览

macos - 带有 APFS 的 macOS:终端中的写时复制

我正在编写一些将备份数据组装到一个目录中的小脚本。然后将目录内容上传到云服务,然后我们可以将其删除。我想知道如何通过cp终端中的命令来利用 APFS 的写时复制功能。

Finder 做得很好。但是如果我运行cp Largefile LargeFileCopy它需要永远复制文件并相应地使用空间。