Як ділитися файлами через локальну мережу?


65

У мене є робочий стіл (Ubuntu 13.04 і Win 7 Home Premium) і ноутбук (Ubuntu 12.04) , обидва мають адаптери WiFi. У мене також є підключений до Інтернету Wi-Fi маршрутизатор, до якого обидва мої комп'ютери можуть отримати доступ.

Я хочу ділитися файлами між моїм робочим столом та ноутбуком за допомогою WiFi (подібно до домашньої групи в Windows 7, але без використання кабелів Ethernet) . Як це налаштувати?

Я хочу поділитися файлами за допомогою обох ОС, якщо хтось має інформацію про обмін файлами з будь-якою з ОС, будь ласка, дайте відповідь!



1
Це не дублікат, оскільки він запитує про обмін файлами між Ubuntu та Windows, а також машинами Ubuntu та Ubuntu. Зверніть увагу, на робочому столі є і Ubuntu, і Windows. Коли він завантажується на Ubuntu, а ноутбук має Ubuntu, у вас є Ubuntu для спільного використання файлів Ubuntu.
user68186

Відповіді:


77

Налаштування мережі

Підключіть і робочий стіл, і ноутбук до маршрутизатора WiFi, використовуючи стандартні настройки. Щоб перевірити, що обидва комп'ютери підключені, перевірте, чи можете ви потрапити в Інтернет з обох комп'ютерів.

Необов’язково. У налаштуваннях маршрутизатора перегляньте локальні IP-адреси, призначені для робочого столу та ноутбука. Вони можуть виглядати як 192.168.0.100 або 192.168.1.199. Якщо є можливість призначити ці конкретні IP-адреси постійно в маршрутизаторі, ви можете це зробити.


Windows → Ubuntu

Крок 1 На ноутбуці створіть папку, якою ви хочете поділитися. Може бути папка під назвою "Загальнодоступна", виберіть її, якщо хочете. Клацніть правою кнопкою миші піктограму папки та виберіть "Параметри спільного доступу". Відкриється нове вікно:

введіть тут опис зображення

Поставте прапорець "Надіслати цю папку".

Ви також можете встановити два інших поля "Дозволити іншим створювати та видаляти файли в цій папці". Це дозволить користувачеві Windows настільного ПК створювати та видаляти файли в цій папці.

Поле "Доступ до гостей" не пояснює. Це може бути корисно, якщо ваш ідентифікатор користувача Windows точно не відповідає вашому ідентифікатору користувача Ubuntu.

Це може сказати вам, що служба спільного доступу не встановлена:

введіть тут опис зображення

Клацніть «Встановити сервіс» і дозвольте встановити програмне забезпечення, вказавши пароль для облікового запису користувача ноутбука, коли буде запропоновано. Можливо, вам буде запропоновано встановити більше програмного забезпечення, як-от libpam-smbpass. Встановіть все програмне забезпечення. Він попросить вас перезапустити служби та натисніть Так.

Крок 2. Відкрийте вікно властивостей папки "Загальнодоступне", клацнувши правою кнопкою миші на ньому. Перейдіть на вкладку дозволів і переконайтеся, що це виглядає так:

введіть тут опис зображення

Натисніть кнопку "Змінити дозволи докладених файлів" і переконайтесь, що це виглядає так:

введіть тут опис зображення

Тепер ви маєте змогу редагувати файли, створені в ubuntu, у папці "Загальнодоступні" ноутбука в Провіднику Windows.

Однак якщо ви створили файл у Windows та помістили його у загальнодоступну папку ноутбука, можливо, ви не зможете відкрити цей файл, коли потрапите до ноутбука. Це відбувається тому, що Windows та Ubuntu не розуміють права власності на файли один одного та їх дозволів. Так у ноутбуці Ubuntu створений Windows файл належить "Ніхто". Вам доведеться відкрити Nautilus як адміністратор та змінити права власності та читання-запису, перебуваючи у ноутбуці.

Крок 3. Перейдіть до Windows на настільному комп’ютері та відкрийте Провідник Windows , Клацніть на трикутнику поруч із Мережею на панелі ліворуч. Із випадаючого списку ви зможете вибрати ім’я портативного комп'ютера під управлінням Ubuntu .

Тепер ви маєте змогу бачити вашу спільну папку (скажімо, "загальнодоступна") з ноутбука в Windows Explorer. Клацніть папку "Загальнодоступне" і побачте файли в папці. Ви повинні мати можливість копіювати файли із загальнодоступної папки Ubuntu у локальну папку Windows.

Ось покрокове керівництво з деякими додатковими подробицями.


Ubuntu → Windows

Крок 1. Налаштуйте спільний доступ до папок Windows за допомогою методів, доступних для Windows. виконайте кроки у посиланні, наведеному вище для частини Windows.

Крок 2 Відкрийте термінал у ноутбуці Ubuntu, натиснувши Ctrl+ Alt+ Tта введіть:

sudo -H gedit /etc/samba/smb.conf

і шукайте рядок:

;   name resolve order = lmhosts host wins bcast

і відредагуйте так, щоб виглядати так

   name resolve order = bcast lmhosts host wins 

Зауважте, немає; на початку відредагованого рядка. Збережіть файл та закрийте gedit. Введіть наступні два рядки (по одному), щоб зупинитись і почати самбу:

sudo stop smbd
sudo start smbd

Крок 3 На ноутбуці відкрийте Nautilus, браузер файлів і натисніть Мережа на панелі ліворуч. Клацніть на "Огляд мережі". Клацніть по значках у головному вікні мережі Nautilus та знайдіть свій робочий стіл Windows та загальну папку. Переконайтесь, що ви можете скопіювати файли з цієї папки та до неї.

Див. Статтю "Не вдалося отримати список спільних ресурсів із сервера" під час перегляду спільної роботи з Nautilus для ознайомлення з редагуванням smb.conf.


Ubuntu → Ubuntu

Завантажте робочий стіл на Ubuntu.

Як на робочому столі, так і на ноутбуці виконайте наступне, щоб переконатися, що ssh-сервер вбудований:

Відкрийте термінал, натиснувши Ctrl+ Alt+ Tі введіть

sudo apt-get install openssh-server

Введіть свій пароль, коли буде запропоновано. Курсор не переміститься при введенні пароля. Це нормально.

Це встановить ssh-сервер, якщо він ще не встановлений. Якщо він уже встановлений, він нічого не зробить.

Спочатку робочий стіл:

Відкрийте Nautilus і знайдіть пункт меню "Інші місця". У нижній частині знайдіть Підключення до сервера:

sftp з'єднання [7]

У розділі Адреса сервера введіть:

sftp://laptop_user_id@laptop_name.local/home/laptop_user_id

де laptop_user_idідентифікатор користувача, який ви створили на своєму ноутбуці. Ви можете знайти свій ідентифікатор користувача, ввівши whoamiтермінал. І laptop_nameце ім’я, яке ви дали ноутбуку під час встановлення Ubuntu.

Якщо ви хочете поділитися розділом на другому жорсткому диску робочого столу, у розділі Адреса сервера Введіть:

sftp://desktop_user_id@desktop_name.local/path/to/the/mount/point/of/the/partition/in/second/hard/drive

Замініть path/to/.../driveфактичним шляхом.

Крім того, якщо ви знаєте локальну IP-адресу свого ноутбука, ви можете замінити laptop_name.localлокальну IP-адресу ноутбука.

Натисніть Connect. Ви побачите діалогове вікно з паролем:

Пароль для SSH

Введіть пароль, пов’язаний із ноутбуком_user_id та виберіть, чи потрібно запам'ятати пароль чи ні. Знову натисніть Connect.

Тепер вам слід побачити домашню папку ноутбука.

Зауважте, що на лівій панелі Наутілуса починається новий запис у розділі Мережаlaptop_user_id . Клацніть правою кнопкою миші та виберіть "Додати закладку", щоб створити постійну закладку для домашньої папки вашого ноутбука в Nautilus на робочому столі.

Дивіться на цій сторінці фотографії з більш старої версії.

Тепер ноутбук

Виконайте той самий процес, що і вище на робочому столі.


Я спробую метод Ура і відповім U, до цього часу дуже дякую У за відповідь! -для користувача68186
Gaurav

2
:) Готово, я встановив SSH на своєму ноутбуку, як сказав U, і моя робота виконана, тепер я бачу свій ноутбук на своєму робочому столі та мій робочий стіл на своєму ноутбуку, велике спасибі і дякую U дуже багато часу, який U витратив на це питання.
Гаурав

2
@Gaurav Samba - це сервіс, який працює у фоновому режимі. Не існує графічного інтерфейсу користувача під цим іменем. Ось чому ви не знайдете його в Dash. На якому кроці ти застряєш? Чи можете ви бачити спільну папку в Windows від Ubuntu? Чи можете ви бачити спільну папку в Ubuntu в Windows?
user68186

1
Зауважте, що для Ubuntu до Ubuntu вікно введення "Підключитися до сервера" тепер з’являється внизу сторінки "Інші локації" для останніх версій файлів (Nautilus) і на диво легко пропустити - askubuntu.com/a/851681
bonger

1
@bonger Дякую! Я оновив текст і малюнок, щоб відобразити зміни.
user68186

3

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

HTTP-сервер

HTTP - це протокол, який використовується для доступу до звичайних веб-сайтів, тому кожна ОС була змушена його реалізувати!

Знайдіть свій IP на вихідному комп’ютері, наприклад 192.168.0.10. На Ubuntu:

ifconfig

Створіть сервер у каталозі, який містить файл, який ви хочете перенести:

python -m SimpleHTTPServer 8080

На комп’ютері, що приймає, відкрийте браузер і відвідайте:

192.168.0.10:8080

Тепер ви можете перейти через каталоги до потрібного файлу.

Я не впевнений, чи цей метод швидкий / надійний, але це один із найпростіших у налаштуванні та переносний.

Швидші альтернативи обговорюються на веб- сайті: https://stackoverflow.com/questions/12905426/what-is-a-faster-alternative-to-pythons-simplehttpserver

rsync

Між двома комп'ютерами Ubuntu, це чудовий варіант: https://en.wikipedia.org/wiki/Rsync

Спочатку переконайтеся, що ви можете SSH з одного комп'ютера на інший:

ssh server-username@192.168.0.10

Ви можете створити новий обліковий запис для користувача, якщо хочете зберегти свій пароль приватним.

Можливо, вам доведеться запустити на сервері та клієнті:

sudo apt-get install ssh

Потім, як тільки вам вдалося увійти в систему, скопіюйте файли з сервера на клієнта просто зробіть:

rsync -av server-username@192.168.0.10:/full/path/to/remote/directory .

Кілька каталогів можна скопіювати за один раз, як пояснено на https://unix.stackexchange.com/questions/308810/copying-multiple-files-using-rsync-over-ssh :

rsync -av 'server-username@192.168.0.10:/full/path/to/remote/directory "/full/path/to/remote/directory with space"' .

Це найнижчий загальний метод знаменника: найбільш надійний, ефективний, широко доступний Linux і безпека покладається на добре відомі дозволи файлів + користувацькі схеми.

На думку Windows, це може бути непростим:

NFS

Знову переважно для двох машин Ubuntu, це SAMBA для Linux, з підтримкою, вбудованою в ядро ​​Linux: https://en.wikipedia.org/wiki/Network_File_System

В основному це дозволяє вам mountпапку з сервера на гостях.

Налаштування та усунення несправностей потенційно трохи складніше rsync, але, безумовно, можливо, це хороша стаття: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on- ubuntu-16-04

Можливо, є також якась реалізація Windows: https://docs.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview, але, напевно, Microsoft повинна надати кращу підтримку свого власного протоколу SMB.


1
sudo apt-get install servefile

servefile ідеально підходить для випадкового обміну, він працює на сервері http на порту 8080 (якщо не вказано -p < port >), тому він може швидко спілкуватися з будь-яким пристроєм із браузером.

Приклади:

  • servefile filename # Просто подає файл


    Я отримую 3 URL-адреси, тому що у мене є 3 IP-адреси від 3-х різних локальних мереж, як правило, ви отримаєте всього 1, але це дивовижно, це вам це показує.

  • servefile -u ~ / Фотографії # Давайте завантажимо файли у папку Зображення

    завантажувати файли

  • servefile -l ~ / Фотографії # Обслуговує вміст папки

    вміст папки

  • servefile -tc gzip ~ / Pictures # побудуйте файл tar з будь-якого файлу чи папки та стисніть його на льоту

    введіть тут опис зображення

До речі, за допомогою цього методу я досяг швидкості передачі 1 Гбіт / с (максимальна швидкість моєї локальної мережі).

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