macOS: abilitare NTFS in scrittura

macOS: abilitare NTFS in scrittura

di Pubblicato: 28 agosto 2017 Aggiornato: 2 novembre 2017 0 commenti

Specie chi come me arriva dal mondo Linux, questa cosa appare come una stramberia bella e buona. Per default il macOS è in grado di leggere il filesystem NTFS ma non di scriverci! In soldoni significa che se avete un hard disk esterno, o ne comprate uno nuovo, al 95% delle probabilità sarà formattato appunto in NTFS.

Il fatto che possa leggere, quindi anche copiare dai suddetti hdd, ma non scrivere, significa che la cosa è decisamente voluta. Esistono dei programmi a pagamento che ovviano la questione, ma grazie a Dio esiste l’Open Source.

La procedura che ho provato funziona al 100% ed è stata testata su macOS Sierra 10.12.6.

Per arrivare al risultato dobbiamo effettuare alcuni passaggi, il primo passo è quello di installare “Fuse for macOS” (ex MacFuse), si tratta di un programma Open Source che ci permetterà di accedere a file system di terze parti.

Scaricate il pacchetto .DMG che trovate nella homepage, avviate con un doppio click, verrà montato un disco virtuale e si aprirà una finestra. Premiamo con un doppio click sull’icona a scatola (vedi foto sotto) e quindi accederemo all’installer vero e proprio.

Personalmente non ho scelto di installare il compatibility Layer, ad ogni modo sarà comunque possibile farlo rilanciando il setup nuovamente. Una volta terminata l’installazione nelle “Preferenze di Sistema” avremo sul fondo una nuova icona chiamata “FUSE“. Questo è il primo passo, poichè “Fuse for macOS” non ha le librerie necessarie per effettuare il mount di NTFS.

Queste librerie rispondo al programma NTFS-3G e la via più facile e sicura è quella di utilizzare un altro programma che si chiama Homebrew.

Homebrew è di fatto l’equivalente dei repository APT in debian, o per chi viene da Windows è un cugino molto alla lontana dello store. In sostanza è una sorta di directory dove è possibile installare software e tenerlo aggiornato. Homebrew è molto utile poiché porta in dote comandi che non sono presenti in macOS, come ad esempio i comandi linux quali wget ed altri.

Per installare Homebrew rimando alla pagina ufficiale del progetto, subito appare la voce “Installa Homebrew” con un comando, copiatelo e incollato sul vostro terminale ( finder ⇒ vai ⇒ utility ⇒ terminale.app ), partirà una procedura che richiederà anche la vostra password poiché necessita di elevarsi a SUDO per installare quanto necessario.

Siamo pronti ad installare NTFS-3G:

brew install ntfs-3g

Ora abbiamo il comando di mount che é posizionato sotto “/usr/local/sbin/mount_ntfs“. Questo significa che se montate ora un disco esterno il sistema operativo utilizzerà ancora il suo comando originale. Per permettere l’automount dovremo sostituire il comando originale del macOS con questo. Ma il sistema di sicurezza SIP, (System Integrity Protection) equiparabile alla lontana di apparmor per chi viene da Linux o UAC per Windows, non lo permette. Quindi dobbiamo effettuare un passaggio di disattivazione e successiva riattivazione.

Per disattivare SIP dobbiamo riavviare il sistema in modalità macOS Recovery, ovvero al riavvio premiamo subito command ⌘ + R.
Scegliamo la lingua italiana, e dal menu in alto avviamo Utilità ⇒ Terminale dove andremo a dare il comando:

csrutil disable

Come da risultato a schermo, andremo ad effettuare un riavvio normale per accedere al sistema operativo. Una volta dentro riprendiamo il nostro terminale ( finder ⇒ vai ⇒ utility ⇒ terminale.app ) dove andremo a per prima cosa ad effettuare una copia di backup del comando di mount_ntfs originale:

sudo mv /Volumes/Macintosh\ HD/sbin/mount_ntfs /Volumes/Macintosh\ HD/sbin/mount_ntfs.ori

E’ possibile che per i modelli privi di SSD “Macintosh HD” sia solo “Macintosh” quindi adeguate il comando di conseguenza.
A questo punto siamo pronti a linkare il comando di NTFS-3G con quello di sistema:

sudo ln -s /usr/local/sbin/mount_ntfs /Volumes/Macintosh\ HD/sbin/mount_ntfs

Abbiamo quasi terminato, poiché dobbiamo riattivare SIP. Prima attacchiamo un disco NTFS esterno per verificare il funzionamento, deve caricarsi in automatico e deve essere possibile leggere e scrivere al suo interno.

Se ciò avviene, andiamo come in precedenza a riavviare il sistema in macOS Recovery, scegliamo la lingua italiana, e dal menu in alto avviamo Utilità ⇒ Terminale dove andremo a dare il comando:

csrutil enable

Riavviamo e da qui in poi potremo caricare qualsiasi disco con filesystem NTFS. Sarebbe stato molto meglio se Apple avesse introdotto direttamente il supporto, ad ogni modo abbiamo potuto imparare come si accede alla console di ripristino e come installare da brew software per sviluppo.

 

Vuoi dire o aggiungere qualcosa?

sezione commenti aperta al pubblico

Non ci sono ancora commenti!

Puoi essere il primo a commentare.

Rispondi