Проблемы разрешения Greyhole

Если Вы хотите открыть целый файл (который требует), но покажите только часть его в окне редактора, используйте сужение. Выберите часть буфера, который Вы хотите продолжить работать и нажать C-x n n (narrow-to-region). Скажите “да”, если Вы получаете подсказку об отключенной команде.Пресса C-x n w (widen) видеть целый буфер снова. При сохранении буфера полный файл выбран: все данные все еще там, сужение только ограничивает то, что Вы видите.

Если Вы хотите просмотреть часть файла, можно вставить его в текущий буфер с shell-command с аргументом префикса (M-1 M-!); выполните соответствующую команду для извлечения желаемых строк, например. .

Существует также функция Lisp insert-file-contents который может взять диапазон байта. Можно вызвать его с M-: (eval-expression):

(insert-file-contents "huge.txt" nil 456789000 456791000)

Обратите внимание, что можно столкнуться с целочисленным пределом размера (версия - и зависимый платформы, проверьте значение most-positive-fixnum).

В теории было бы возможно записать режим Emacs, который загружает и сохраняет части файлов прозрачно по мере необходимости (хотя предел на целочисленные размеры сделал бы использующие фактические файловые смещения невозможными на 32-разрядных машинах). Единственным усилием в том направлении, о котором я знаю, является VLF (ссылка GitHub здесь).

2
10.11.2013, 17:28
2 ответа

Владелец символьной ссылки и полномочия не важны. Это - полномочия конечного файла, которые имеют значение для Samba (и порождают полномочия папок).

Так как можно создать файлы на долях, полномочиях в /mnt/hdd0/shares наверняка в порядке.

И когда Greyhole перемещают файлы в /mnt/hdd0/gh, это воспроизведет владельца файла и полномочия исходного файла, таким образом, новый файл в /mnt/hdd0/gh/ShareName/* будет иметь корректные полномочия.

Это оставляет папки, которые Greyhole не создал сам как возможный источник проблем. А именно, /mnt/hdd0/gh сама папка, по крайней мере (плюс любая папка, которая уже была там для начала, если Вы не запустили с пустой папки.

Зафиксировать:

sudo find /mnt/hdd0/gh -type d -exec chmod 755 "{}" \;
sudo find /mnt/hdd0/gh -type f -exec chmod 644 "{}" \;
sudo chown -R your_user:sambashare /mnt/hdd0/gh

Если это не разрешает Вашу проблему, предоставьте больше информации об определенном файле, с которым у Вас есть проблема. Например, создайте новый файл в корне Вашей телевизионной доли и покажите вывод ls -la /mnt/hdd0/gh/TV (по крайней мере, части о Вашем тестовом файле, и о . и ..).


И вынудить новые файлы и папки быть, находящимися в собственности группы sambashare, используйте группу, липко-разрядную для папок:

sudo find /mnt/hdd0/gh -type d -exec chmod g+s "{}" \;

Это вынудит все новые файлы и папки использовать ту же группу в качестве существующих папок, и так как Вы изменили владельца группы на sambashare выше, все новые файлы будут иметь владельца группы, которого Вы хотите.

1
27.01.2020, 22:22

Это очень напоминает проблему полномочий, Ваше содержание должно быть перезаписываемо пользователю самбы, не только владельцу файлов.

Я думаю, что необходимо попытаться создать ACL так, чтобы все новые файлы были бы автоматически добавлены к sambashare группе.

Этот ответ мог бы быть полезен для получения сделанного: https://stackoverflow.com/a/6550059

0
27.01.2020, 22:22

Теги

Похожие вопросы