Як змусити з'єднання CIFS відключити


149

У мене на комп'ютері Linux встановлена ​​частка CIFS. Сервер CIFS відключений, або підключення до Інтернету не працює, і все, що стосується монтажу CIFS, зараз займає кілька хвилин, і його не можна видалити під час очікування. Я навіть не можу запустити ls у своєму домашньому каталозі, тому що всередині монтажу CIFS є вказівник посилання, і ls намагається слідувати за ним, щоб вирішити, якого кольору він повинен бути. Якщо я спробую вимкнути його (навіть з -fl), процес розумування висить так само, як і у ls. Навіть sudo kill -9 не може його вбити. Як змусити ядро ​​відключити?


Відповіді:


186

Я використовую ледачий unmount: umount -l(це малі літери L)

Ледачий відключення. Відключіть файлову систему від ієрархії файлової системи зараз та очистіть усі посилання на файлову систему, як тільки вона більше не зайнята. (Потрібно ядро ​​2.4.11 або новішої версії.)


42
Спочатку це не спрацювало для мене. Після експериментів деякий час (в новому віртуальному терміналі кожен раз) я прийшов з цим: sudo umount -a -t cifs -l. Або це зробило трюк, або на перший випадок знадобився певний час (120-ті? 300-ті?). Я отримав багато попереджень про заблокованість умуту більше 120 секунд.
Петро Ярич

2
І тоді мені довелося вбити всі висячі умути, перш ніж я можу знову змонтуватися.
Петро Ярич

13
Мені також потрібно було, sudo umount -a -t cifs -l щоб він працював.
Джома

4
Це не дуже спрацювало для мене. Я спробував усе вище, і кріплення cifs зникло з мого списку / etc / mtab, але його неможливо перерахувати, тому воно є марним. Монтаж cifs замикається, коли мій комп'ютер призупиняє себе, поки змонтовано частку cifs.
DH4

Я погоджуюсь, umount -a -t cifs -l було те, що мені теж потрібно було, щоб подолати жахливий THX "Хост вниз".
Пух

70

umount -a -t cifs -l

працював як шарм для мене на CentOS 6.3. Це врятувало мене перезавантаження сервера.


8
Ви НЕ заперечуєте б зупинитися на те , що -aі -lперемикачі, і як вони допомагають?
Ісаак

10
-a і -t cifs відключає всі файлові системи cifs. краще вказати той, який потрібно відключити
dwery

2
Це ідеально, якщо ви встановлені через веб-переглядач файлів і не можете знайти порушну точку монтажу - за умови, що ви не заперечуєте, щоб він демонтував усе!
шавлія

1
Дякую, це сьогодні заощадило багато часу!
агам

13

На RHEL 6 це спрацювало:

umount -f -a -t cifs -l 

Це спрацювало, дочекавшись повних 30 хвилин (таймаут), перш ніж я зміг перерахувати. Напевно, найкраще робити м'яке кріплення, як вказує jnice.
XMAN

11

Це працює для мене (Ubuntu 13.10 Desktop на сервері Ubuntu 14.04): -

 sudo umount -f /mnt/my_share

Монтується с

 sudo mount -t cifs -o username=me,password=mine //192.168.0.111/serv_share /mnt/my_share

де serv_share - це налаштоване і вказане у файлі smb.conf.


6

У мене це питання було протягом дня, поки я не знайшов справжнього вирішення. Замість того, щоб намагатися змусити відкрутити папку smb, яку висіли, встановіть її за допомогою опції "soft". Якщо процес спробує підключитися до папки, яка недоступна, вона через певний час припинить спробу.

м'який Зробіть кріплення м'яким. Помилка виклику файлової системи через кілька секунд.

mount -t smbfs -o soft //username@server/share /users/username/smb/share

stat /users/username/smb/share/file
stat: /users/username/smb/share/file: stat: Operation timed out

Можливо, це не справжня відповідь на ваше запитання, але це рішення проблеми


19
Якщо ви подивитесь, man mount.cifsви помітите, що softце насправді за замовчуванням.
Бендж

2

Спробуйте umount -f / mnt / share. Працює добре з NFS, ніколи не пробував CIF.

Крім того, погляньте на автофіксатори, він зможе встановити частку лише при доступі до неї та відключить її від потойбічного світу.

На сайті www.howtoforge.net є хороший підручник


5
на жаль -f не працює з CIFS. умунт все ще просто висить.
smoofra

2

У мене була дуже схожа проблема з davfs. На сторінці man umount.davfsя знайшов, що -f -l -n -r -vваріанти ігноруються umount.davfs. Щоб змусити відключити моє кріплення davfs, довелося використовувати umount -i -f -l /media/davmount.


1

Існує опція -f, що потрібно спробувати:

umount -f /mnt/fileshare

Ви вказуєте параметр '-t cifs' для монтажу? Також переконайтеся, що ви не визначаєте "жорсткий" варіант для монтажу.

Ви також можете розглянути fusemb , оскільки файлова система буде працювати в просторі користувачів, ви можете її вбити, як і будь-який інший процес.


4
-як і -не допоможе, умунт все ще висить.
smoofra

Ви перезавантажилися з моменту додавання опції '-t cifs' для монтажу? Я не думаю, що ви можете зробити що-небудь, щоб виправити застряглий момент монтажу зараз, ваша єдина надія - спробувати встановити це способом, більш стійким до відмови в майбутньому.
Кріс Атлі

1
umount -f -t cifs -l /mnt &

Будьте обережні &, нехай umountбіжить у фоновому режимі. umountспочатку від'єднає файлову систему, тож ви нічого не знайдете /mnt. Якщо ви запускаєте dfкоманду, то це буде umount /mntнасильно.


-2

На RHEL 6 це також працювало для мене:

umount -f -a -t cifs -l FOLDER_NAME


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.