Есть ли способ сохранить права при использовании подключенного NTFS-диска в Ubuntu?
В своей работе по веб-разработке я использую Ubuntu почти исключительно. Но бывают случаи, когда мне нужно загрузить Windows - проверить компоновку в IE, перенести компиляцию в Photoshop - и я хочу иметь возможность делиться всей средой localhost между ними.
Вот мой текущий рабочий процесс:
В Ubuntu:
- rsync каталог сайта, с которого я работаю
/var/www
в/windows/wamp/www
(где /windows - это место монтирования моего раздела Windows NTFS, как указано в fstab). - Rsync базы данных MySQL из
/var/lib/mysql
в/windows/wamp/bin/mysql/{mysql version}/data
,
Завершите работу, загрузите Windows, отредактируйте файлы, сохраните, перезапустите снова. Вернувшись в Ubuntu, найдите измененные файлы и верните rsync в /var/www
, игнорируя изменения разрешений, которые произошли при перемещении файлов в раздел NTFS.
Мне не нравится хранить две копии всей моей среды разработки, и я не люблю вручную их синхронизировать. В идеале я хотел бы скопировать всю мою папку /var/www в раздел Windows и сделать ссылку на нее, и сделать то же самое для моих баз данных. Но изменения разрешений, которые происходят, не вызывают головной боли при этом.
Итак, мой вопрос состоит из двух частей, я думаю:
- Есть ли способ скопировать файлы из разделов диска ext4 в разделы NTFS, которые поддерживают разрешения Unix таким образом, чтобы их можно было синхронизировать обратно?
или же,
- Есть ли лучший способ разделить всю среду локального хоста между разделами Windows и Linux?
3 ответа
Если раздел используется совместно с Ubuntu и Windows, вы можете использовать ntfs-3g.usermap для создания файла пользовательской карты.
Предположим, что раздел /dev/sdXn смонтирован в / NTFS
1) Размонтировать раздел
sudo umount /dev/sdXn
2) запустите ntfs-3g.usermap (он создаст файл UserMapping в текущем каталоге)
sudo ntfs-3g.usermap /dev/sdXn
3) перемонтировать
sudo mount /dev/sdXn
4)* скопировать файл UserMapping
sudo mkdir /NTFS/.NTFS-3G
sudo cp UserMapping /NTFS.NTFS-3G/
Теперь все должно работать. По крайней мере, у меня это сработало в Ubuntu 11.10
На последней (23.12.2015) странице Tuxera предлагается копирование в /.NTFS-3G/
:
Полученный файл сопоставления записывается в файл UserMapping в текущем каталоге. Чтобы файл можно было использовать, сначала подключите том, затем скопируйте UserMapping в /.NTFS-3G/UserMapping в смонтированном каталоге, затем размонтируйте том и снова подключите его.
Так что-то вроде этого:
sudo mkdir /.NTFS-3G
sudo cp UserMapping /.NTFS-3G/
Ну, у вас есть несколько вариантов.
Во-первых, вы можете попробовать fsdriver
http://sourceforge.net/projects/ext2read/
Я не знаю, насколько хорошо этот драйвер будет работать, но если он это сделает, я бы пошел по этому пути, поскольку вы используете в первую очередь Ubuntu.
Другой вариант - монтировать раздел ntfs с разрешениями linux. Вам нужно будет добавить строку в fstab, аналогичную
UUID=12102C02102CEB83 /media/windows ntfs-3g auto,users,permissions 0 0
Измените ваш uuid на ваш раздел Windows (используйте sudo blkid
)
Предполагая, что это работает, вы можете использовать ссылку или монтировать привязку (опять же, запись в fstab)
/media/windows/www /var/www none defaults,bind 0 0
Недостатком второго метода является то, что Ubuntu не собирается отлаживать раздел NTFS, если есть проблема с файловой системой.
Изменить: еще одно потенциальное решение - запустить Windows в Virtualbox (или KVM) и использовать общую папку или общую сетевую папку (samba).
Удачи
Это работало для меня на Lubuntu 15.10
- Откройте терминал
Ctrl+ Alt+ T
- Размонтируйте диск ntfs (замените sdx на ваш диск; у меня sda3)
sudo umount / dev / sdx
- Отредактируйте fstab так, чтобы использовался ntfs-3g (Ubuntu поставляется с установленным leafpad; в других ditro вы можете использовать gedit или другой текстовый редактор)
sudo leafpad / etc / fstab
- Перейдите с ntfs на ntfs-3g. Что-то вроде этого:
# Вход для / dev / sdx:
UUID = 3844444444004444 / mnt / имя диска ntfs-3g по умолчанию, авто 0 0
Сохрани и закрой
Смонтировать все диски
sudo mount -a
- Откройте файловый браузер с правами root. (lubutu поставляется с установленным pcmanfm, однако для других дистрибутивов у вас может быть установлен другой файловый браузер)
sudo pcmanfm
- Перейдите к нужной папке и щелкните правой кнопкой мыши на ней, чтобы открыть окно "Свойства файла". Перейдите на вкладку "Разрешения" и выберите то, что вам нужно.
- Нажмите OK, тогда все должно быть так, как вы хотите. (Я тоже перезагрузился, но я не думаю, что требуется)