Come posso montare una sottodirectory su un disco rigido in Linux?


13

Supponiamo che io abbia due dischi rigidi (A, B) e le seguenti directory:

  • / Var / www
  • / Var / www / upload

Attualmente se carico un file su / var / www OR / var / www / upload; verrà salvato nell'unità A.

Come faccio a fare in modo che la cartella / var / www / upload punti nell'unità B. Quindi, se carico un file su / var / www / upload, questo verrà salvato nell'unità B ma quando carico un file su / var / www, verrà salvato nell'unità A.

Risposte:


23

Supponevo che il disco A non fosse montato come filesystem di root (/). Se lo è, basta ignorare le linee con driveA.

Modifica il tuo / etc / fstab:

/ dev / diskA / var / www / auto default 1 2
/ dev / diskB / var / www / upload impostazioni predefinite automatiche 1 2

Puoi sostituire "auto" con il filesystem che hai su quella partizione, ma quanto sopra dovrebbe funzionare comunque.

Se i dischi A e B sono montati altrove, puoi provare il collegamento simbolico:

ln -s / path / to / driveA_mountpoint / var / www /
ln -s / path / to / driveB_mountpoint / var / www / upload

Nota: / var / www e la directory "upload" su driveA non devono esistere o falliranno.

Personalmente preferisco usare l'opzione bind di mount:

mount -o bind / var / www / / path / to / driveA_mountpoint
mount -o bind / var / www / upload / path / to / driveB_mountpoint

Prendi in considerazione la modifica di / etc / fstab, probabilmente è il modo migliore.


3
Questa risposta presuppone che l'unità a non sia l'unità principale. se A è l'unità root, devi solo creare una directory vuota (/ var / www / upload), quindi creare una voce fstab per l'unità b nell'esempio sopra.
Roy Rico,

3
@minder - per mettere un innesto nel tuo /etc/fstab:/path/orig /new/path/mount bind defaults 0 0
warren,

1
Hai un refuso nel primo blocco di codice: /dev/diskB /ver/www/uploadvervar
Frederic Leitenberger il

3

l'hard disk B è montato? Se è,

ln -s /path/to/hard/drive/B/mount/point /var/www/upload

Altrimenti

mount -t <fstype> -o defaults /dev/<hard driver B> /var/www/upload

questo funzionerà, ma penso che aggiungerlo a fstab sarà una soluzione migliore perché rimonterà quando la macchina si avvia mentre non sarebbe nell'esempio.
Roy Rico,
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.