точка монтирования sshfs без ранее созданной папки

Я хочу использовать sshfs для монтирования папок с моего сервера на мой ноутбук.

Я делал это, создавая каталог, например, монтируя каталог под своим рабочим столом.

mkdir ~/Desktop/mount

а затем я бы использовал sshfs для монтирования к этому

sshfs user@ipaddress:path/to/file ~/Desktop/mount -o volname=Something

Это прекрасно работает. За исключением того, что я должен сначала создать этот каталог. Я написал скрипт, чтобы сделать каталог для меня и смонтировать его

umount ~/Desktop/mount
rm -rf ~/Desktop/mount
mkdir ~/Desktop/mount
sshfs [email protected]:$1 ~/Desktop/mount -o volname=$1

Тогда проблема заключается в попытке сделать несколько монтирований. Итак, я пересмотрел приведенный выше код, чтобы сделать несколько монтирований

umount ~/Desktop/$1
rm -rf ~/Desktop/$1
mkdir ~/Desktop/$1
sshfs [email protected]:$1 ~/Desktop/$1 -o volname=$1

Нет, проблема в том, что иногда у меня остается от 4 до 5 пустых папок.

Есть ли способ сделать это монтирование без необходимости каждый раз создавать папку.

РЕДАКТИРОВАТЬ: я также не хочу создавать скрипт для его размонтирования. Я хотел бы использовать системные вызовы извлечения.


person Cripto    schedule 10.08.2012    source источник


Ответы (1)


Нет, для успешного монтирования необходимо иметь содержащую папку.

Увидев, что вы нацелены на папку на рабочем столе, я предполагаю, что вы ищете аналогичное поведение системы рабочего стола (например, gnome) при использовании средств «монтирования сервера».

Чтобы добиться этого с помощью gnome-virtual-filesysem (GVFS), вы можете вместо этого ввести эту команду.

gvfs-mount sftp://user@host:port 

Он создаст папку в .gvfs под названием «sftp для пользователя на хосте», где вы устанавливаете пользователя и хост. Кроме того, он должен появиться под окнами вашего проводника Nautilus.

Gvfs-mount использует GIO из Glib, что является особенностью Gnome. В этой библиотеке он может отслеживать папку монтирования и таким образом удаляет ее после размонтирования.

Чтобы размонтировать соединение gvfs, использование немного отличается от обычного монтирования, поскольку для этого используется двоичный файл gvfs-mount.

ls ~/.gvfs
>> outputs
/home/user/.gvfs/sftp for user on host
# to umount: (-u in short)
gvfs-mount --unmount "/home/user/.gvfs/sftp for user on host"
person mschr    schedule 10.08.2012
comment
Ах. Спасибо за вклад, но я использую ноутбук Mac. У меня нет gvfs. Нет, я не могу получить это (легко). - person Cripto; 10.08.2012
comment
я боюсь, что вы не можете Glib довольно обширен. Я не уверен, но я думаю, что можно было бы скомпилировать свою собственную версию, но ваш Mac должен быть настроен с такими вещами, как automake, m4, gcc и т. д. Посмотрите в этом поиске Google alturl.com/57unn для материала gnome.org или на macports.org здесь alturl.com/pbggd - person mschr; 10.08.2012