{"id":135,"date":"2017-04-18T22:15:03","date_gmt":"2017-04-19T01:15:03","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2017\/04\/novo-sistema-de-arquivos-da-apple\/"},"modified":"2026-09-08T10:31:55","modified_gmt":"2026-09-08T13:31:55","slug":"novo-sistema-de-arquivos-da-apple","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/es\/2017\/04\/novo-sistema-de-arquivos-da-apple\/","title":{"rendered":"Novo Sistema de Arquivos da Apple"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro apontando o diagrama do sistema de arquivos com volumes compartilhando o mesmo cont\u00eainer\" src=\"\/wp-content\/uploads\/2026\/09\/apfs-v2.webp\" width=\"1486\" height=\"856\" \/><\/p>\n<div style=\"background:#fff8e1;border-left:4px solid #8b1a1a;padding:.8em 1em;margin:1em 0\"><strong>Nota (2026):<\/strong> Texto original de abril de 2017, quando o APFS tinha acabado de chegar no iOS 10.3 e ainda n\u00e3o era o disco de boot do Mac. Nove anos depois \u00e9 o sistema de arquivos de <em>todo<\/em> dispositivo Apple \u2014 iPhone, iPad, Watch, Apple TV, Mac (Tahoe 26). HFS+ sobrou para instalador boot\u00e1vel; o macOS 28 deixa de aceitar HFS+ criptografado.<\/div>\n<p>A Apple anunciou o <strong>APFS<\/strong> (Apple File System) na WWDC 2016. Em mar\u00e7o de 2017 o iOS 10.3 converteu o flash do iPhone sem o usu\u00e1rio perceber. Em setembro do mesmo ano o High Sierra fez o mesmo no SSD do Mac. O HFS+, de 1998 (e o HFS de 1985), nasceu na era do disquete. O APFS nasceu para NAND, clones e criptografia.<\/p>\n<p><!-- more --><\/p>\n<h2>O que o HFS+ n\u00e3o aguentava mais<\/h2>\n<p>O pr\u00f3prio documento da Apple dizia: HFS e HFS+ foram desenhados quando arquivo se media em kilobytes e o disco era um prato girando. Hoje o iPhone guarda centenas de GB em flash de baixa lat\u00eancia, o Mac clona VMs, o Time Machine tira foto do volume a cada hora. Journal do HFS+ n\u00e3o \u00e9 copy-on-write; hard link de diret\u00f3rio (o truque velho do Time Machine) n\u00e3o existe no APFS; timestamp de um segundo n\u00e3o serve para SSD que grava milh\u00f5es de arquivos.<\/p>\n<p>Dominic Giampaolo, um dos arquitetos, j\u00e1 tinha feito o filesystem do BeOS olhando para os buracos do HFS. O APFS \u00e9 esse acerto de contas \u2014 fechado, no hardware que a Apple controla.<\/p>\n<h2>Container, volume, espa\u00e7o compartilhado<\/h2>\n<p>A pe\u00e7a que muda o mapa mental: um <strong>container<\/strong> APFS \u00e9 a parti\u00e7\u00e3o. Dentro dele cabem v\u00e1rios <strong>volumes<\/strong> que <em>dividem o espa\u00e7o livre<\/em>. N\u00e3o \u00e9 \u201cMacintosh HD = 500 GB e Data = 500 GB\u201d. \u00c9 um pool. O volume do sistema e o volume de dados crescem e encolhem no mesmo tanque.<\/p>\n<p>No Mac atual o layout t\u00edpico \u00e9:<\/p>\n<ul>\n<li><strong>Preboot \/ Recovery \/ VM<\/strong> \u2014 volumes de sistema, o usu\u00e1rio quase n\u00e3o v\u00ea.<\/li>\n<li><strong>Macintosh HD<\/strong> \u2014 sistema selado (Signed System Volume, s\u00f3 leitura desde o Catalina\/Big Sur).<\/li>\n<li><strong>Data<\/strong> \u2014 home, apps, o que voc\u00ea grava.<\/li>\n<\/ul>\n<p>No Mac, para ver o container de verdade:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">diskutil list\ndiskutil apfs list\n<\/code><\/pre>\n<h2>Copy-on-write, clone e snapshot<\/h2>\n<p>Gravar um arquivo n\u00e3o pisa no bloco antigo: escreve noutro e atualiza a \u00e1rvore. Da\u00ed saem tr\u00eas coisas que o HFS+ n\u00e3o tinha de gra\u00e7a:<\/p>\n<ul>\n<li><strong>Clone:<\/strong> duplicar um arquivo de 20 GB \u00e9 instant\u00e2neo e quase n\u00e3o gasta disco \u2014 os dois nomes apontam para os mesmos blocos at\u00e9 algu\u00e9m mudar um deles.<\/li>\n<li><strong>Snapshot:<\/strong> foto do volume num instante. O Time Machine local e o update do macOS (volume selado) vivem disso. Reverter um snapshot arbitr\u00e1rio no Disk Utility ainda \u00e9 limitado; o <code data-no-translation=\"\">tmutil<\/code> cobre o Data.<\/li>\n<li><strong>Crash:<\/strong> metadado CoW + checksum. N\u00e3o \u00e9 ZFS\/Btrfs com scrub de tudo, mas \u00e9 outro mundo em rela\u00e7\u00e3o ao journal do HFS+.<\/li>\n<\/ul>\n<p>Criptografia \u00e9 nativa (AES-XTS), por volume, com mais de uma chave \u2014 FileVault deixou de ser um \u201ccofre aparafusado\u201d em cima do HFS+.<\/p>\n<p>Detalhes que importam no dia a dia: timestamp em nanossegundo, arquivo esparso de verdade, volume case-insensitive no Mac (o padr\u00e3o) e case-sensitive no iOS e no Time Machine em APFS.<\/p>\n<h2>E no Linux?<\/h2>\n<p class=\"translation-block\">O kernel ainda <strong>n\u00e3o<\/strong> monta APFS de f\u00e1brica. O caminho comunit\u00e1rio \u00e9 o m\u00f3dulo <a href=\"https:\/\/github.com\/linux-apfs\/linux-apfs-rw\">linux-apfs-rw<\/a> (pacote Ubuntu <code>apfs-dkms<\/code>), s\u00f3 leitura por padr\u00e3o; escrita \u00e9 experimental e pode corromper o container. FileVault\/APFS encrypted o m\u00f3dulo <em>n\u00e3o abre<\/em>. O howto passo a passo \u2014 HFS+ com <code>hfsprogs<\/code>, APFS com DKMS, senha no <code>apfs-fuse<\/code> \u2014 est\u00e1 em <a href=\"\/es\/2017\/04\/hd-do-mac-ubuntu\/\">Parti\u00e7\u00e3o do Mac no Ubuntu<\/a>.<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\"># Ubuntu: identificar e montar leitura\nlsblk -f\nsudo apt install apfs-dkms linux-headers-$(uname -r)\nsudo modprobe apfs\nsudo mkdir -p \/mnt\/mac\nsudo mount -t apfs -o ro \/dev\/sdXY \/mnt\/mac\n<\/code><\/pre>\n<h2>O que sobrou do HFS+<\/h2>\n<p>Em 2026 o HFS+ ainda existe para <strong>instalador boot\u00e1vel<\/strong> do macOS. Disco Time Machine velho em HFS+ journaled continua montando no Mac. A Apple j\u00e1 avisou: a partir do <strong>macOS 28<\/strong>, volume HFS+ <em>criptografado<\/em> deixa de ser suportado \u2014 converte-se para APFS criptografado no Disk Utility, sem precisar descriptografar antes (exceto backup do Time Machine nesse formato).<\/p>\n<p>Disco externo que precisa conviver com Windows continua sendo o caso do <strong>exFAT<\/strong>. APFS fora do ecossistema Apple ainda \u00e9 o patinho feio: Linux experimental, Windows via Paragon pago.<\/p>\n<h2>Referencias<\/h2>\n<ul>\n<li><a href=\"\/es\/2017\/04\/hd-do-mac-ubuntu\/\">Parti\u00e7\u00e3o do Mac no Ubuntu<\/a> \u2014 montar HFS+ e APFS no Linux<\/li>\n<li><a href=\"https:\/\/developer.apple.com\/documentation\/foundation\/file_system\/about_apple_file_system\">Apple \u2014 About Apple File System<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/linux-apfs\/linux-apfs-rw\">linux-apfs-rw<\/a><\/li>\n<li>WWDC 2016 session 701 (o an\u00fancio original)<\/li>\n<\/ul>\n<p>O APFS n\u00e3o pediu licen\u00e7a ao usu\u00e1rio em 2017: o iPhone acordou convertido. Nove anos depois, o \u201c\u00f3rg\u00e3o vital\u201d que ningu\u00e9m v\u00ea \u00e9 o que deixa clone, snapshot e FileVault parecerem m\u00e1gica \u2014 e o que ainda d\u00e1 trabalho quando o disco cai num Linux.<\/p>","protected":false},"excerpt":{"rendered":"<p>A Apple anunciou o APFS (Apple File System) na WWDC 2016. Em mar\u00e7o de 2017 o iOS 10.3 converteu o flash do iPhone sem o usu\u00e1rio perceber. Em setembro do mesmo ano o High Sierra fez o mesmo no SSD &#8230; <a title=\"Novo Sistema de Arquivos da Apple\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/es\/2017\/04\/novo-sistema-de-arquivos-da-apple\/\" aria-label=\"Read more about Novo Sistema de Arquivos da Apple\">Read more<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[75,74,2,52],"tags":[77,165,164,4,53],"class_list":["post-135","post","type-post","status-publish","format-standard","hentry","category-apfs","category-apple","category-linux","category-mac","tag-apfs","tag-filesystem","tag-hfs","tag-linux","tag-mac"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/comments?post=135"}],"version-history":[{"count":5,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/135\/revisions"}],"predecessor-version":[{"id":1364,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/135\/revisions\/1364"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/media?parent=135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/categories?post=135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/tags?post=135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}