Да это - природа NFS. Клиенты будут ожидать неограниченно долго, чтобы ресурс NFS возвратился. Хотите верьте, хотите нет, это разработано для прокладывания себе путь!
Лучший подход должен был бы, вероятно, использовать инструмент такой как autofs
автосмонтировать NFS совместно используют по мере необходимости, вместо того, чтобы сохранить их смонтированными неограниченно долго.
Как @Patrick указанный в комментариях можно сократить это поведение при помощи soft
опция при монтировании долей NFS.
выборка из источника: http://www.tldp.org/HOWTO/NFS-HOWTO/client.html
мягкий
Если запрос файла перестанет работать, то клиент NFS сообщит об ошибке процессу на клиентской машине, запрашивающей доступ к файлу. Некоторые программы могут обработать это с самообладанием, большинство не будет. Мы не рекомендуем использовать эту установку; это - рецепт для поврежденных файлов и потерянных данных. Вы не должны особенно использовать это для почтовых дисков---при оценке почты которая является.
трудно
Программа, получающая доступ к файлу на NFS, смонтировала, что файловая система зависнет, когда сервер откажет. Процесс не может быть прерван или уничтожен (кроме "верным уничтожением"), если Вы также не указываете, предают земле. Когда сервер NFS назад будет онлайн, программа продолжится без помех от того, где это было. Мы рекомендуем использовать трудно, предаем земле в смонтированных файловых системах всего NFS.
В Вашем /etc/fstab
файл
# device mountpoint fs-type options dump fsckord
...
master.foo.com:/home /mnt/home nfs rw,soft 0 0
...
Вам нужно удалить .
После Найти
, как это означает, что сначала ищет ваш текущий каталог, а затем все, что находится в $ ScriptPath
.
Bash-завершение
(который доступен в Cygwin, Debian, Ubuntu и, без сомнения, многие другие распределения) поддерживает SCP
Auto-завершение, до тех пор, пока оболочка Может получить доступ к требуемому серверу без подсказки (он использует SSH
в пакетном режиме, см. Ручной страницу SSH_CONFIG (5)
.
Самый простой способ включить это использовать SSH-Agent
. Вероятно, это включено по умолчанию вашей рабочей средой; Просто попробуйте
ssh-add
, чтобы добавить ключ по умолчанию на текущий запущенный агент (если есть). Если агент не работает, вы можете начать один, запустив
eval $(ssh-agent)
после того, как ваша клавиша будет известна агенту, вы сможете автоматически завершить SCP
команды, включающие серверы, которые вы можете получить доступ к ключу.
Я почти уверен ZSH
также поддерживает SCP
автоматическое завершение с одинаковыми оговорками; Необходимая поддержка находится в ZSH-Common
пакет в Debian. Он должен быть включен в вашем .zshrc
, хотя и с чем-то вроде
autoload -U compinit && compinit
(который загружает все поддерживаемые завершения).
ZSH имеет удаленный SCP
завершения, но вам необходимо убедиться, что вы не используете псевдоним для некоторой функции обертки, как не официальный GLOB_SCP
, или если у вас есть один, можно добавить тот же механизм завершения:
compdef glob_scp=scp
Вы заметите, что ZSH
будет правильно процитировать специальные символы, такие как *
, когда необходимо (хотя это может выглядеть странно). В настоящее время Bash-завершение
не делает этого , хотя сбои должны быть необычными.
В качестве альтернативы, в частности, с оболочками, которые не имеют удаленного SCP
, вы можете использовать SFTP
или SSHFS
:
SFTP
его собственная система завершения. SSHFS
позволяет устанавливать удаленный каталог через SSH, так что достаточно использовать CP
с обычной системой завершения.