2011-07-18 13 views
40

sto cercandoChe cosa significa cifs_mount fallito w/codice di ritorno = -22 indicare

sudo mount -t cifs //<server>/<share> -o [email protected],password=**** /mnt/<mountpoint> 

messaggio di errore:

mount: wrong fs type, bad option, bad superblock on //server/share, 
     missing codepage or other error 
     In some cases useful info is found in syslog - try 
     dmesg | tail or so 

Lo syslog ha

CIFS VFS: cifs_mount failed w/return code = -22 

Sono in grado di montare la stessa quota su un altro sistema centos. Posso eseguire il ping del server, è stata creata la directory del punto di montaggio.

risposta

9

Forse spostare il bersaglio?

sudo mount -t cifs -o [email protected],password=**** //<server>/<share> /mnt/<mountpoint> 

O forse this solution? (metodi di Ubuntu, Debian)

sudo apt-get install smbfs 

OR per CentOS, RedHat, Fedora prova:

2

solo l'esperienza del problema su RHEL 5. Non è necessario installare il pacchetto Samba, solo il samba-client e qualsiasi dipendenza.

10

per RHEL/CentOS installare il pacchetto - "cifs-utils"

+0

Su Ubuntu 12.10 ha lavorato anche per me. –

24

Ah, il temuto -22. Fondamentalmente questo sembra essere usato come un catchall per "qualcosa non ha funzionato", anche se tecnicamente si riferisce a come argomento non valido.

Il client IMHO fa un lavoro molto povero di dirvi il problema reale. (Potrebbe non essere colpa sua - non ha sempre accesso a tali informazioni).

Tuttavia, hai controllato i registri sul server/macchina a cui ti stai connettendo?

ero la connessione a un server samba OS X, e ho imparato da quello che ho trovato nei log là che è stato necessario specificare le opzioni aggiuntive sotto -o come segue:

nounix,sec=ntlmssp

Tra le cose queste impostazioni abilitano "consenti nomi lunghi" e "ignorano le terminazioni dei nomi dei file UNIX" ... sec serve per specificare i flag di sicurezza.

Un'altra possibilità è che si sta tentando di accedere a un filesystem di un tipo che mount.cifs non può effettivamente gestire.

+0

https://bugzilla.redhat.com/show_bug.cgi?id=832741 e https://bbs.archlinux.org/viewtopic.php?id=160047 descrivono entrambi sec = ntlm come necessario in molti casi. – rektide

+4

Il bit OS X qui è piuttosto importante ... questo lo ha risolto anche per me. Veramente quei messaggi di errore che sono così oscuri e inutili sono davvero inquinanti e oscurano i rapporti sui problemi e le soluzioni per i problemi correlati. – Marius

+0

Questo è davvero un codice di errore molto aspecifico. Nel mio caso è saltato fuori quando provavo a montare attraverso un'interfaccia che aveva un ip che il server non avrebbe ascoltato (che sembra essere sempre problematico con smb/cifs). Una volta che il client aveva una sola interfaccia (con un ip nella stessa rete che il server ascoltava) il problema scomparve. – h7r

9

Ho avuto un problema simile su Ubuntu 12.04 con il pacchetto "mount" (versione 2.20.1-1ubuntu3). È successo quando stavo cercando di montare la condivisione del server usando il suo nome host rahter rispetto al suo IP.

Un altro modo per risolvere il problema su Ubuntu era installare il pacchetto cifs-utils. In questo modo ho anche potuto montare la condivisione di samba usando la stessa riga di comando (o fstab) ma con nome host.

sudo mount -t cifs //hostname/share -o username=user,password=pwd /mnt/share 
+5

L'installazione di cifs-utils ha risolto il problema. Conosci la causa principale? – demonkoryu

+1

Anche l'installazione di cifs-utils ha corretto il problema! – HeatfanJohn

+0

Per buona misura ho installato cifs-utils e pacchetti suggeriti. Che ha fatto per me. Ubuntu 12.10 sudo apt-get --install-suggerisce installa cifs-utils – orkoden

43

mi sono imbattuto in questo problema quando si utilizza un nome host e risolto utilizzando un indirizzo IP. Per esempio.:

uso

mount -t cifs //192.168.1.15/share 

anziché

mount -t cifs //servername/share 

Un'altra possibile soluzione è quella di installare

cifs-utils

.

+0

Su alcuni sistemi è necessario installare 'samba3-cifsmount' invece di' cifs-utils'. –

+0

'cifs-utils' ha funzionato in Debian (jessie) – transistor1

+0

' cifs-utils' ha funzionato anche in Ubuntu 12.04 – chronospoon

7

Ho appena effettuato un'installazione pulita di Ubuntu 12.04 LTS e ho cercato di collegare il mio HTPC Linux.

Risolto eseguendo: sudo apt-get install cifs-utils quindi rimontandolo.

3

Ho installato Ubuntu Server 12.10 x64 come VM VMware, in esecuzione su OS X 10.8 (Mountain Lion).

Su Mac, in PREFERENZE DI SISTEMA> CONDIVISIONE> CONDIVISIONE FILE (on), ho aggiunto una cartella da condividere. Per i miei test, ho creato una nuova cartella all'interno della mia cartella pubblica chiamata "ubuntu".

In Ubuntu, ho emesso i seguenti comandi:

sudo mkdir /media/target 
sudo mount.cifs //10.0.20.3/ubuntu /media/target -o username=davidallie,nounix,sec=ntlmssp,rw 

Ubuntu mi ha spinto per la password e, una volta entrati, montati la cartella. Allora ho fatto funzionare:

df -H 

che mi ha permesso di verificare i supporti e montare-punti.

1

Forse è troppo tardi, ma la soluzione più semplice descritta in kernel bug 50631: nell'ultimo codice, parametro unc mount obbligatorio. lavori comando modificato per me:

sudo mount -t cifs //<server>/<share> -o [email protected],password=****,unc=\\\\<server>\\<share> /mnt/<mountpoint> 
1

Prova eseguire il comamnd:

$modinfo cifs 


filename:  /lib/modules/3.2.0-60-virtual/kernel/fs/cifs/cifs.ko 
version:  1.76 
description: VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Windows 
license:  GPL 
author:   Steve French <[email protected]> 
srcversion:  9435BBC2F61D29F06643803 
depends:   
intree:   Y 
vermagic:  3.2.0-60-virtual SMP mod_unload modversions 686 
parm:   CIFSMaxBufSize:Network buffer size (not including header). Default: 16384 Range: 8192 to 130048 (int) 
parm:   cifs_min_rcv:Network buffers in pool. Default: 4 Range: 1 to 64 (int) 
parm:   cifs_min_small:Small network buffers in pool. Default: 30 Range: 2 to 256 (int) 
parm:   cifs_max_pending:Simultaneous requests to server. Default: 32767 Range: 2 to 32767. (int) 
parm:   echo_retries:Number of echo attempts before giving up and reconnecting server. Default: 5. 0 means never reconnect. (ushort) 
parm:   enable_oplocks:Enable or disable oplocks (bool). Default:y/Y/1 (bool) 

Se il vostro ottenere alcun errore, allora cifs non è installato. Basta controllare con il tuo amministratore. Ho pensato che potesse essere d'aiuto.

4

CIFS restituisce il codice "-22" in molti casi (non solo argomenti non validi).

Per me i keyutils installazione ha fatto il trucco:

apt-get install keyutils 

mia distribuzione è "Ubuntu 14.04.2 LTS".

ho capito questo, aumentando il livello di dettaglio di registrazione di CIFS:

echo 7 > /proc/fs/cifs/cifsFYI 
# disable again via: 
#echo 0 > /proc/fs/cifs/cifsFYI 

Documentazione sulla maschera di bit ("7") per cifsFYI può essere trovato qui: https://www.kernel.org/doc/readme/Documentation-filesystems-cifs-README

Dopo aver provato a montare una volta di più dmesg incluse informazioni più utili:

Dec 7 12:34:20 pc1471 kernel: [ 5442.667417] CIFS VFS: dns_resolve_server_name_to_ip: unable to resolve: 

Un altro collegamento forse utile:

012.

http://vlkan.com/blog/post/2015/01/08/smb-mount-troubleshoot/

+1

Grazie per il suggerimento per il debug! Stavo usando il valore 9 come trovato da qualche parte e non era prolisso. 7 ha fatto il trucco su Ubuntu 14.04! – Apteryx

1

È necessario installare cifs-utils prima, proprio come segue: sudo yum install cifs-utils