बढ़ते सीआईएफ ड्राइव देता है: माउंट त्रुटि (22): अमान्य तर्क


44

मैं चलाने की कोशिश कर रहा हूँ:

sudo mount -t cifs //user.my-backup.com /mnt/wal_drive -o iocharset=utf8,rw,credentials=/etc/backupcredentials.txt,uid=postgres,gid=postgres,file_mode=0660,dir_mode=0770

हालाँकि मुझे निम्नलिखित त्रुटि मिलती रहती है:

mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

मैं क्या गलत कर रहा हूं?


1
दो संभावित समस्याएं: आपका स्रोत एक URL है जो या तो समाधान नहीं कर सकता है या सांबा का विज्ञापन नहीं कर रहा है; और, यूआईडी / जीआईडी ​​को संख्यात्मक रूप से व्यक्त करने की आवश्यकता है। क्या आपने संदर्भित manपृष्ठ पढ़ा है ?
डगड्रो

3
माउंट को वास्तव में एक बेहतर त्रुटि संदेश वापस करना चाहिए। यह जानते हुए कि कौन सा तर्क अमान्य है, इस त्रुटि संदेश को इतना अधिक उपयोगी बना देगा।
ग्रेगरी एरेनीस जूल

1
माउंट एक सामान्य त्रुटि देता है क्योंकि विवरण लॉग में हैं। जैसा कि नीचे कहा गया है, पूंछ -f /var/log/kern.log का उपयोग करके समझें कि क्या चल रहा है।
सैम

1
dmesg | tailआपको थोड़ा और बताता है कि कौन सा विकल्प आपको परेशान कर रहा है।
होंगझोउ

जवाबों:


63

शायद यह इस के साथ मदद करता है, mount error(22): Invalid argument... संभव त्रुटि माउंट कमांड पर तर्क / एस (मोड) है।

  1. सामने आई त्रुटियों पर अपने लॉग की जाँच करें।

    tail -f  /var/log/kern.log 
    
  2. अमान्य तर्क को हटा दें


9
इसने मेरे लिए काम किया। मैंने त्रुटि पाई CIFS not working, kernel upgrade:No dialect specified on mountऔर इसे vers=1.0मेरे / etc / fstab ( bbs.archlinux.org/viewtopic.php?id=230952 ) पर जोड़कर हल किया । मुझे संदेह है कि यह कर्नेल 4.13 का उपयोग करने के कारण होता है।
ब्लेहा

जीजी, स्टैकओवरफ्लो के लिए अच्छाई का धन्यवाद। उबंटू पर भी यही समस्या है। मैंने वर्श = 2.0 जोड़ा और यह काम करता है। वर्तमान Mount.cifs 6.4 पर है। शायद कुछ संवर्द्धन के लिए क्रेडेंशियल्स लेकिन अब CIFS में खुदाई नहीं ...
dturvene

6

मुझे लॉग में इस संदेश के साथ आर्क लिनक्स पर एक ही मुद्दा था:

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

मेरे लिए समाधान पुराने संस्करणों को निर्दिष्ट करना था (डिफ़ॉल्ट रूप से यह 3.0 था):

/etc/fstab:

//my-router/share /media/share cifs ver="2.1",rw,soft,uid=ele,gid=ele,file_mode=0770,dir_mode=0770,credentials=/etc/router-credentials.conf 0 0

3

एक और संभावित कारण इसमें मौजूद sec=ntlmहै /etc/fstabऔर यह SMB3 जैसे नए SMB प्रोटोकॉल के साथ असंगतता है।

जबकि ओपी का मामला नहीं है, यह भी mount error(22): Invalid argumentत्रुटियों का कारण बन सकता है , क्योंकि यह मेरे लिए एक पुराने सर्वर को अपग्रेड करने के बाद किया था।

हालांकि kern.logइसमें एक सुझाव भी शामिल है specify vers=1.0 on mount, इसे हटाने या sec=ntlmइसके बजाय बदलने के लिए सुरक्षित हो सकता है । शायद SMB संस्करण और सुरक्षा की स्वचालित बातचीत की अनुमति देने के लिए चूक का उपयोग करें, या जैसे संगत विकल्प निर्दिष्ट करें vers=3.0,sec=ntlmssp

स्पष्ट रूप से यह आपके SMB सर्वर की विशेषताओं पर निर्भर करता है, लेकिन मैं कोशिश करूंगा और vers=1.0जब तक आवश्यक न हो।



2

मेरे मामले में, यह मुद्दा इसलिए था क्योंकि मैंने प्रतीकात्मक लिंक से भरी एक निर्देशिका आरोहित की थी। विंडोज में प्रतीकात्मक लिंक की जांच करने के बाद, मुझे उनके "वास्तविक" रास्ते मिल गए और इसके बजाय उन लोगों को माउंट किया।


2

आप समस्या को हल करने के लिए SMB के लिए संस्करण जानकारी जोड़ सकते हैं। मैंने क्या किया है मैंने वर्स = 1.0 जोड़ा है। यह SMB संस्करण 1 है जो सभी smb ड्राइवरों के साथ काम करता है। आपके मामले के लिए यह कुछ इस तरह दिखेगा

sudo mount -t cifs //user.my-backup.com /mnt/wal_drive -o iocharset=utf8,rw,vers=1.0,credentials=/etc/backupcredentials.txt,uid=postgres,gid=postgre ,file_mode=0660,dir_mode=0770

1

जेसी डेबियन को अपग्रेड करने के बाद पैकेज बदल गया होगा। मैंने guid=0निम्नलिखित fstabमाउंट से हटा दिया और यह सब फिर से सही हो गया।

//x.x.x.x/General/  /usr/local/share/general cifs uid=0,guid=0,rw,credentials=/etc/gen-cifspasswd 0 0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.