View Full Version : Vedere video su cartella condivisa con samba
Ciao a tutti!
Sono finalmente riuscito a condividere con samba una cartella del mio vecchio pc (purtroppo nonostante le interfacce grafiche di kde4 lo ho dovuto fare editando a mano il file smb.conf). Il problema e che se provo a vedere i filmati presenti su tale cartella dall'altro mio pc collegato in lan ottengo i seguenti risultati:
-kaffeine prova a cercare i codec e poi da errore non aprendo il file
-vlc prima di aprirlo copia il file in una cartella temporanea e poi lo apre.
E' possibile fare in modo che il file venga aperto senza necessità di copiarlo in locale accedendo direttamente alla risorsa di rete?
Grazie,
Xwang
ma con altri tipi di file funziona ?
Gimli[2BV!2B]
17-05-2009, 13:52
Io di solito monto la condivisione che mi interessa:
mount -t cifs //IP.DELLA.MACCHINA.SAMBA/CONDIVISIONE /mnt/CARTELLA -o username=UTENTE,password=PASS,rw,uid=UID,gid=GID
/mnt/CARTELLA devi crearla prima.
UTENTE e PASS sono dell'utente Samba/Win
UID e GID sono due numeri che identificano l'utente a cui vuoi dare accesso a /mnt/CARTELLA; usa il comando id con quell'utente per vederli.
In un altro pc invece ho provato autofs (http://www.linux-consulting.com/Amd_AutoFS/autofs.html); non l'ho usato tantissimo, ma non mi sembra malaccio.
In pratica esegue automaticamente il mount illustrato sopra quando si accede ad una particolare cartella.
C'è da dire che le mie macchine non sono dei mostri, quindi non se ne parla di riprodurre file ad alta risoluzione in questa maniera, mentre audio e video standard funzionano perfettamente.
;27495971']Io di solito monto la condivisione che mi interessa:
mount -t cifs //IP.DELLA.MACCHINA.SAMBA/CONDIVISIONE /mnt/CARTELLA -o username=UTENTE,password=PASS,rw,uid=UID,gid=GID
/mnt/CARTELLA devi crearla prima.
UTENTE e PASS sono dell'utente Samba/Win
UID e GID sono due numeri che identificano l'utente a cui vuoi dare accesso a /mnt/CARTELLA; usa il comando id con quell'utente per vederli.
In un altro pc invece ho provato autofs (http://www.linux-consulting.com/Amd_AutoFS/autofs.html); non l'ho usato tantissimo, ma non mi sembra malaccio.
In pratica esegue automaticamente il mount illustrato sopra quando si accede ad una particolare cartella.
C'è da dire che le mie macchine non sono dei mostri, quindi non se ne parla di riprodurre file ad alta risoluzione in questa maniera, mentre audio e video standard funzionano perfettamente.
Ho provato e funziona. Mi puoi dare maggiori informazioni su autofs (non ho capito se oltre ad eseguire il mount in automatico all'accesso della cartella, esegue anche l'umount quando non la si usa più o si spegne il pc)? Se, come ho trovato in rete aggiungessi al file fstab la riga per montare in automatico, cosa succede se all'avvio del pc il server non è accessibile?
Grazie,
Xwang
Gimli[2BV!2B]
18-05-2009, 01:33
autofs
Se si ha un kernel ricompilato assicurarsi di avere attivi:
File systems -> Kernel automounter version 4 support (also supports v3)
File systems -> Network File Systems-> CIFS support (advanced network filesystem, SMBFS successor)
Installare autofs. Cercarlo nel gestore software della distribuzione in questione, non dovrebbe mancare.
Controllare i file forniti, a noi serve /etc/auto.smb o /etc/auto.cifs:
ls /etc/auto.*
Editare il file /etc/auto.master, da qui in poi poniamo di usare auto.smb, aggiungiamo la riga:
/smb /etc/auto.smb
/smb sarà il punto di mount, il secondo "argomento" il file usato per il mount.
Creare la radice di mount:
mkdir /smb
Assicurarsi di dare accesso al nostro utente: opzioni uid e gid.
Editare il file /etc/auto.smb, cercare la riga che definisce le mountopts, aggiungere le due opzioni se mancanti:
mountopts="-fstype=cifs,uid=1000,gid=1000"
Rendere eseguibile il file:
chmod 755 /etc/auto.smb
Creare il file delle credenziali.
Consultare /etc/auto.smb: cosa c'è scritto nella riga che inizia con credfile?
Esempio: credfile="/etc/auto.smb.$key"
Nome file credenziali: /etc/auto.smb.IP_O_HOSTNAME (ip od hostname (http://unixhelp.ed.ac.uk/CGI/man-cgi?hosts) dei pc che forniscono le condivisioni)
Contenuto:
username=UTENTE
password=PASS
Limitare al minimo diritti credenziali:
chmod 600 /etc/auto.smb.IP_O_HOSTNAME
Riavviare il demone:
/etc/init.d/autofs restart
Incrociare le dita per il collaudo. Entrare nella directory:
/smb/IP_O_HOSTNAME
(Per questo è utile associare nomi agli ip dei pc che forniscono le condivisioni modificando /etc/hosts)
Questo è il file /etc/auto.smb Debian su cui ho basato la spiegazione:#!/bin/bash
# $Id: auto.smb,v 1.3 2005/04/05 13:02:09 raven Exp $
# This file must be executable to work! chmod 755!
key="$1"
mountopts="-fstype=cifs"
smbopts=""
credfile="/etc/auto.smb.$key"
for P in /bin /sbin /usr/bin /usr/sbin
do
if [ -x $P/smbclient ]
then
SMBCLIENT=$P/smbclient
break
fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e $credfile ]; then
mountopts="$mountopts,credentials=$credfile"
smbopts="-A $credfile"
else
smbopts="-N"
fi
$SMBCLIENT $smbopts -gL $key 2>/dev/null| awk -v key="$key" -v opts="$mountopts" -F'|' -- '
BEGIN { ORS=""; first=1 }
/Disk/ { if (first) { print opts; first=0 }; sub(/ /, "\\ ", $2); print " \\\n\t /" $2, "://" key "/" $2 }
END { if (!first) print "\n"; else exit 1 }
'
L'umount vien fatto automaticamente.
Usando fstab con auto, se il server non è raggiungibile, si avrà un'attesa di svariati secondi seguita da un errore; probabilmente potrebbero esserci rallentamenti durante lo spegnimento in caso di mount corretto (correggibile riordinando l'esecuzione degli script di spegnimento).
Ok, credo di aver scritto più o meno tutto.
Perfetto! Ho seguito la guida e ha funzionato al primo colpo. Grazie mille,
Xwang
Gimli[2BV!2B]
18-05-2009, 22:35
Fantastico!
Come ho detto l'ho usato qualche volta e non ho notato problemi, nel caso dovessi trovare qualcosa che non va, segnalalo.
Gimli[2BV!2B]
20-05-2009, 21:55
Patch per auto.smb (Debian) che da una marcia in più in caso di sistemi Win con impostazioni "di fabbrica".*** /etc/auto.smb.BAK 2009-05-20 22:37:56.000000000 +0200
--- /etc/auto.smb 2009-05-20 22:38:18.000000000 +0200
***************
*** 29,35 ****
$SMBCLIENT $smbopts -gL $key 2>/dev/null| awk -v key="$key" -v opts="$mountopts" -F'|' -- '
BEGIN { ORS=""; first=1 }
! /Disk/ { if (first) { print opts; first=0 }; sub(/ /, "\\ ", $2); print " \\\n\t /" $2, "://" key "/" $2 }
END { if (!first) print "\n"; else exit 1 }
'
--- 29,35 ----
$SMBCLIENT $smbopts -gL $key 2>/dev/null| awk -v key="$key" -v opts="$mountopts" -F'|' -- '
BEGIN { ORS=""; first=1 }
! /Disk/ { if (first) { print opts; first=0 }; sub(/ /, "\\ ", $2); gsub(/\$$/, "\\$", $2); print " \\\n\t /" $2, "://" key "/" $2 }
END { if (!first) print "\n"; else exit 1 }
'
Per applicarla o si modifica manualmente il file, oppure:
cp /etc/auto.smb /etc/auto.smb.BAK
patch -p0 /etc/auto.smb < auto.smb.patch
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.