Fra le applicazioni che ho segnalato qualche tempo fa c’era MacFusion, ovvero un’interfaccia grafica per configurare e usare MacFuse, uno filesystem “user-level”.
Quest’applicazione mi interessava come supporto alle procedure di installazione, per limitare al massimo l’interazione via shell remota. Volevo capire se era una cosa fattibile e se ne valeva la pena, anche tenendo conto delle limitazioni segnalate nelle FAQ.
Per l’uso di MacFusion sono richiesti Mac OS X 10.5 e MacFuse. Avrei voluto installare quest’ultimo tramite MacPorts ma purtroppo è una versione troppo vecchia (1.7 contro l’attuale, 2.0.x); si tratta comunque di un’operazione velocissima, che non richiede nemmeno il riavvio, per cui anche l’installazione manuale è alla portata di chiunque. Il pacchetto comprende, oltre all’estensione del kernel e alle varie librerie, un comodo pannello di controllo:

MacFusion invece consiste solo nell’applicazione e, se lo desideriamo, dell’eventuale icona nella barra dei menu.
A questo punto possiamo definire i volumi remoti. L’operazione è molto semplice e riporto quindi solo gli screenshot per la configurazione dell’SSHFS, che credo si commentino da soli:



Fin qui abbiamo parlato dell’uso più standard, quello che copre il 90% dei casi. Ma per essere utile nelle installazioni bisogna verificare se è possibile l’uso da linea di comando.
La versione distribuita sul dmg non contiene nessuno strumento per il terminale ma è scaricabile dalla repository svn. Il link riporta anche le istruzioni per il suo uso, molto semplice; altrettanto semplice diventa la sua integrazione nelle operazioni di deployment.
A questo punto abbiamo tutti i pezzi necessari e funzionanti. Vale la pena di usarli nel deployment? A mio parere, dipende dall’approccio alla sicurezza che viene usato sul server di destinazione: se facciamo tutto come root, a partire dall’ssh iniziale, allora non cambia praticamente nulla; se entriamo come utente “normale” e poi usiamo sudo, va ancora peggio, perché l’uso di sudo è ovviamente escluso a priori; infine, se abbiamo impostato i privilegi — magari tramite acl — in modo tale che l’utente dell’ssh possa anche portare a termine l’installazione senza sudo allora possiamo trarne qualche beneficio.
In quest’ultimo caso, il vantaggio principale consiste nell’avere a disposizione l’intero “arsenale” della propria macchina locale per operare sul volume del server remoto. Viceversa, il difetto principale è che l’uso dell’SSHFS può non essere una soluzione completa: se l’installazione prevede il riavvio di un qualche processo dovremo comunque usare l’ssh.
Tuttavia, anche se non ne ho fatto l’uso esteso che pensavo, mi sono trovato più di una volta nella necessità di usare MacFusion per verifiche o interventi “al volo” e rimane uno strumento di grande utilità.