Utilizzare un supporto removibile per la partizione home per averla sempre a disposizione, anche su pc con memorie molto limitate (EEEPC e simili).Lo scopo di questa mini-mini-guida e' quello di permettere l'utilizzo di un supporto removibile per la partizione /home senza riavviare il computer ed in modo automatico.
L'idea e' quella di poter utilizzare la partizione /home presente nel nostro computer o quella presente in un dispositivo removibile.
Il motivi che mi hanno spinto a fare questo sono molto semplici:
1- poter avere sempre con me la mia partizione /home indipendentemente dal computer che sto utilizzando;
2- il mio piccolo EEEPC e' davvero comodo, ma in 4Gb non e' che si riesca a metter poi tanta roba;
3- perche' non provarci??
Per prima cosa dobbiamo riuscire a riconoscere con esattezza il supporto removibile che dovra' contenere la nostra partizione /home.
Per questo potete consultare la guida Configurare Udev di Topio1970
Fondamentalmente si tratta di installare il pacchetto sysfsutils e tramite il comando
determinare il numero seriale del supporto removibile.
Tutte le operazioni seguenti devono essere effettuate da utente root:
1- Creiamo la cartella /mnt/local_home
2- Creiamo il file /root/script/external_home con l'editor di testo preferito come segue
#!/bin/bash
# Uccidi i processi dell'utente per sicurezza
killall -u UTENTE
# Smonto la home locale
umount /home
# Monto la /home dell'dispositivo esterno
mount -t auto /dev/RemHome /home
# Monto la home "locale" in /mnt/locale_home
mount -t auto /dev/hda3 /mnt/local_home
3- Creiamo il file /root/script/local_home con l'editor di testo preferito come segue
#!/bin/bash
# Uccidi i processi del mio utente
killall -u UTENTE
umount /dev/RemHome
umount /mnt/local_home
mount -t auto /dev/hda3 /home
3- Creare il file /etc/udev/rules.d/00_local.rules con l'editor di testo preferito come segue
# Regole al momento dell'attacco del disco
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{serial}=="SERIALE", SYMLINK+="RemHome", RUN+="/root/script/external_home"
Una volta avviato il computer, se si effettua il login ci si trova nella /home locale del computer.
Se prima di effettuare il login inseriamo il dispositivo removibile, dopo pochi istanti possiamo effettuare il login, ma questa volta ci troviamo direttamente sulla /home contenuta nel dispositivo removibile, e la "vecchia" /home e' nella cartella /mnt/local_home.
Chiusa la sessione, effettuiamo il login da root ed eseguiamo lo script /root/script/local_home, ora possiamo nuovamente effettuare il login sulla /home locale.
Naturalmente questo schema e' abbastanza grezzo, ma non ho avuto molto tempo per lavorarci. Sarebbe carino poter montare la partizione /home locale in un altro mount point anche se questa non e' su una partizione dedicata.
L'aspetto interessante e' che in questo modo possiamo trasportare la nostra fidata /home su tutti i nostri computer, anche su quei piccoli computer come l'EEEPC che hanno memorie ormai ridicole per un utilizzo comune.
Ringrazio ancora Ntropia e Stemby per le discussioni e i suggerimenti!
Commenti
Inviato da ntropia il Ven, 11/07/2008 - 07:34.
"Take me /home, country road..."
Hai avuto un'idea, ti sei rimboccato le maniche e ti sei fatto la strada da te. I miei complimenti, perché la guida è scritta molto bene, con chiarezza e seguendo le regole della formattazione. Un meritato 9.
Veniamo ai suggerimenti.
Come mi disse il mio luminoso maestro: "Con Unix puoi fare tutto... solo la maionese, ogni tanto viene così così..."
-"Strade? Dove stiamo andando non c'è bisogno di strade"
Assumendo che sulla chiavetta risieda un solo utente ramingo, in caso di assenza di una partizione dedicata, potresti scendere al livello della directory del medesimo per fare tutte le operazioni, senza dover scomodare l'intera /home. A questo punto, invece di montare alternativamente le partizioni /home /dev/RemHome, avresti due opzioni:
-Opzione 1.
-Opzione 2.
Te ne freghi e modifichi la riga dell'utente nel file /etc/password cambiando il valore della home con directory montata sul momento /home/utente_mobile.
-Uscita indolore
Ho cercato di trovare una soluzione che ti permetta di fare il logout liberamente e smontare tutto senza dover necessariamente tornare alla console testuale.
L'idea che mi piace di più finora è creare un file in /usr/share/xsessions/ che aggiunga fra i menù di scelta delle sessioni di qualunque greeter grafico un'opzione che esegue lo script di smontaggio della home mobile.
Volendo ne potresti aggiungere anche uno che fornisca la scelta di una sessione "mobile", che esegua il montaggio appena prima di lanciare il WM.
eNjoy
Chi ha intendimento conti il numero della Bestia, perché è un numero d'uomo; e il suo numero è...
rw-rw-rw-
Inviato da ferretti75 il Ven, 11/07/2008 - 11:01.
Re: "Take me /home, country road..."
Bella guida i miei + vivi complimenti . L'idea è molto originale e comoda .
Un paio di dubbi/problemi :
1 - Secondo me, a meno di non essere root di tutte le macchine che usi, non puoi garantire che il nome utente sia lo stesso su tutte le macchine . Il problema è ovviamente risolvibile modificando il lo script sulle macchine ... ma mi piacerebbe qualcosa di + dinamico ( magari un parametro che viene passato da udev ? )
2 - Corollario al problema di cui sopra : non puoi garantire che il GID sia lo stesso su tutte le macchine che usi ergo bisogna modificare lo script che monta il disco prevedendo un chown -R UTENTE
per il resto ... mi sà che ti ruberò l'idea ( per andare dai clienti con un disco usb e lavorare sempre nel mio ambiente preferito ) .
Ancora complimenti !!!
apt-get -a beer
Inviato da marcosan il Ven, 11/07/2008 - 12:29.
Re: "Take me /home, country road..."
Beh...grazie a tutti e spero che possa tornare utile qualcuno!!
Per i problemi menzionati, appena avro' un po di tempo ci pensero', al momento ho gia' fatto qualche salto mortale per scrivere queste poche righe...
Ciao a tutti!
"La matematica e' l'arte di dare lo stesso nome a cose diverse."
H.Poincare (1854-1912).