gli sparsebundles possono essere bloccati per renderli di sola lettura?


5

Con i file sparseimage, posso impostare l'attributo Locked in 'Get Info' per impedire di modificarne il contenuto. Farlo con gli Sparsebundles non ha alcun effetto.

Al momento sto memorizzando il mio sparsebundle all'interno di un'immagine sparsa per ottenere questa funzionalità di blocco facile.

Sto trascurando un modo più semplice di leggere solo il mio volume sparsebundle?

Risposte:


5

Sembra che Finder non applichi il Bloccato flag (o modifica dei permessi nel file Ottenere informazioni dialogo per quella materia) in modo ricorsivo per l'intero pacchetto. Se questo è qualcosa di cui hai bisogno regolarmente, potresti voler scrivere un servizio per i seguenti suggerimenti, in modo che tu possa farlo dal Finder al posto del Terminale.


È possibile rimuovere le autorizzazioni di scrittura sul pacchetto sulla riga di comando eseguendo chmod:

chmod -R a-w 

Digita questo comando (includendo un carattere spazio finale), quindi trascina l'icona per il pacchetto sparse nella finestra Terminale. Dovrebbe assomigliare a questo, a seconda del nome del pacchetto sparse e del luogo in cui è memorizzato:

chmod -R a-w /path/to/container.sparsebundle

Correre chmod -R u+w /path/to/container.sparsebundle per ottenere nuovamente i permessi di scrittura. Questi comandi potrebbero richiedere del tempo per i grossi bundle sparsi.


In alternativa, puoi impostare il bloccato segnala su tutti i file nel bundle eseguendo il comando chflags:

chflags -R uimmutable /path/to/container.sparsebundle

Per ripristinare, corri chflags -R nouimmutable /path/to/container.sparsebundle.


Puoi sempre montare il pacchetto anche in sola lettura, per impedire solo temporaneamente le modifiche. Per fare ciò, esegui quanto segue in Terminale:

hdiutil attach /path/to/container.sparsebundle -readonly

Nota che dovrai sempre montarlo in questo modo per evitare modifiche.


Se riesci a tollerare l'immagine utilizzando un punto di montaggio diverso dal solito, puoi eseguire la configurazione del sistema per montare sempre questa immagine in sola lettura.

Innanzitutto, determinare l'UUID del volume. Montare il fascio sparse e correre diskutil list sulla riga di comando. Cerca una voce con lo stesso nome del tuo volume, come la seguente:

/dev/disk8
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        *102.4 MB   disk8
   1:        Apple_partition_map                         32.3 KB    disk8s1
   2:                  Apple_HFS Disk Image              102.4 MB   disk8s2

In questo esempio, il volume appare come "Immagine disco" nel Finder. Nota l'identificativo a destra ( disk8s2 ). È necessario inserirlo per il seguente comando dopo /dev/:

diskutil info /dev/disk8s2

Cerca la linea che inizia con Volume UUID e annota il valore alla sua destra, ad es. D7C6180C-2178-32EF-98E6-7FB71AED2ABC

Ora abbiamo solo bisogno di creare un punto di montaggio personalizzato. Di solito, ogni volume è montato in /Volumes, ma quei punti di montaggio vengono cancellati durante lo smontaggio e il successivo tentativo di montaggio di un volume a cui si fa riferimento fstab fallirà perché il mount point non esiste. Quindi crea una cartella denominata "Immagine" nella tua home directory.

Ora possiamo OS X montarlo sempre in sola lettura. In Terminal, corri sudo vifs e inserisci la tua password. Presumo che tu sia abbastanza familiare con vi / vim, se no, ora è un buon momento per leggerlo.

Aggiungi una linea come la seguente, sostituendo i valori corretti per UUID e il punto di mount applicabile al tuo sistema:

UUID=D7C6180C-2178-32EF-98E6-7FB71AED2A56 /Users/danielbeck/Image hfs ro

Quindi salva e chiudi. Ora puoi montare l'immagine con un doppio clic, verrà visualizzata nel Finder e sarà di sola lettura.


Wow, grazie per questa risposta approfondita! In linea di principio, cosa ne pensi della mia conservazione dello spasebundle in una sparseimage che posso bloccare? Utilizzo uno sparsebundle in modo da poter eseguire il backup incrementale delle modifiche a un volume di rete. C'è qualche pericolo che sto trascurando nel fare questo?
noop

@noop Dipende dal tuo caso d'uso. Potrebbero esserci problemi con l'utilizzo della CPU, dato che stai attraversando due livelli di dischi virtuali invece di uno. Inoltre, è necessario assicurarsi che l'immagine sparsa corrisponda sempre al pacchetto in termini di limite di dimensioni (e la relativa mappa delle partizioni quando si passa & gt; 2TB) quando si modifica il contenuto del pacchetto sparse. Se stai modificando molto il contenuto dell'immagine, la compattazione (ovvero il recupero dello spazio su disco attualmente non utilizzato nel pacchetto sparse) sarà più impegnativa a causa della natura nidificata della soluzione.
Daniel Beck

non posso decidere ora tra continuare con il mio approccio sparseimage / sparsebundle, o usare hdiutil -readonly. grazie comunque per i tuoi approfondimenti.
noop
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.