Автоматическая установка удаленной папки при загрузке
Я пытаюсь установить папку Windows на машине Ubuntu при запуске. Я пробовал эту страницу здесь , изменяя / etc / fstab и добавляя к ней sshfs#[email protected]_host:/path/to/directory <local_mount_point> fuse user 0 0
, но он не работает; При запуске я получаю сообщение о том, что установка завершилась неудачно, и я могу нажать S, чтобы пропустить или M, чтобы восстановить вручную.
Я также пробовал эту страницу здесь , добавляя /usr/bin/sshfs -o idmap=user [email protected]_host:/path/to/directory <local_mount_point>
в файл /etc/rc.local, но это не помогает ни ; Ubuntu просто загружается нормально без установки.
У меня есть Cygwin, установленный на моей машине Windows, и я могу запускать все гладко, например sshing без паролей, и устанавливать его вручную. Я также пытался запустить модифицированный файл rc.local $ /etc/rc.local
, и он отлично работает, но я просто не могу получить папку, установленную при запуске.
- SQLite с поддержкой readline на Ubuntu
- Как определить доступное свободное пространство на Ubuntu?
- Автоматически монтировать внешние диски в / media / LABEL при загрузке без входа пользователя в систему?
- Могу ли я создать пользователя SSH, который может получить доступ только к определенному каталогу?
- Отключенное меню Gnome исчезло
Кто-нибудь может мне помочь?
EDIT: удаленным я подразумевал, что папка, которую я пытаюсь установить с моей машины Windows (которая имеет общедоступный IP-адрес), находится не в той же сети. Я использую sshfs, а не nfs.
- Как извлечь текст с помощью OCR из PDF в Linux?
- Настройка взаимодействия с сервером с двумя мониторами поверх клиента с одним монитором
- Могу ли я заставить dpkg игнорировать ошибку, возвращаемую после сценария после установки?
- Как загрузить все зависимости пакета в автономном режиме
- SSH Connection отказано
- Сделать grub сохранить загрузку по умолчанию под обновлениями ядра
- Диспетчер закладок SSH для Linux
- Получение прав на показ для второго пользователя в Ubuntu
На моей машине Ubuntu я изменил свой файл / etc / fstab, добавив эту строку:
//192.168.xx.yy/Public /mnt/PUBNAS nfs rw,_netdev,credentials=/home/myname/.smbcredentials 0 0
Файл .smbcredentials очень прост,
username=myusername password=mypassword
Редактировать:
Поняв, что вы используете sshfs, я протестировал запись / etc / fstab, предложенную на странице вики Arch Linux . Для меня эта запись работала:
[email protected]_OR_IP:/REMOTE/DIRECTORY /LOCAL/MOUNTPOINT fuse.sshfs defaults,_netdev 0 0
Важно, чтобы у вас был доступ к серверу без пароля ( т. Е. С криптографическим ключом). Надеюсь, это компенсирует мою первоначальную ошибку.
Изменить 2:
Если вы хотите, чтобы удаленная папка была смонтирована вами, а не root, что, по общему признанию, было неприятным, вам нужно будет изменить строку / etc / fstab:
[email protected]_OR_IP:/REMOTE/DIRECTORY /LOCAL/MOUNTPOINT fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N 0 0
Я действительно посмотрел на ваш сценарий здесь, и мне интересно, добавили ли вы бит выполнения в этот файл /etc/rc.local, который вы создали изначально (в конце статьи howtoforge.com, которую вы следовали)
chmod +x /etc/rc.local
Теперь перезагрузитесь.
Можете ли вы проверить, выполняется ли rc.local при загрузке? Поместите что-нибудь в это:
Echo 'test' >> /tmp/my.log
Затем посмотрите, есть ли какие-либо ошибки, добавьте команду mount:
&> /tmp/my.log
Возможно, когда вы вручную запускаете файл, вы запускаете его как другого пользователя, чем ядро запускает его как. В этом случае сообщение будет записано в STDERR, которое вы обычно видите в / var / log / messages, если вы не перенаправите его в другом месте с приведенным выше синтаксисом, добавленным к команде.