TrueNAS Scale- Не удалось клонировать репозиторий git

Вопрос или проблема

У меня установлена TrueNAS scale ElectricEel-24.10.1 на виртуальной машине Proxmox. Моя цель заключается в том, чтобы одна из моих общих папок содержала мои репозитории git, которые синхронизированы с моим аккаунтом на GitHub.

Общие папки монтируются в etc/fstab как:

`//192.168.0.10/ArduinoCode /media/TrueNAS/ArduinoCode cifs credentials=/etc/samba/credentials,rw,iocharset=utf8,file_mode=0777,dir_mode=0777,nounix,vers=3.0 0 0

Когда я пытаюсь клонировать, появляется следующее сообщение:

guy@linuxPc:/media/TrueNAS/ArduinoCode$ git clone https://gitub.com/YYYY/Arduino Cloning into 'Arduino'... error: chmod on /media/TrueNAS/ArduinoCode/Arduino/.git/config.lock failed: Operation not permitted fatal: could not set 'core.filemode' to 'false'

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

  1. Когда общая папка была создана, она принадлежала пользователю и группе root.
  2. guyd — это пользователь, подключенный на ПК, и определен как пользователь и группа в TrueNAS. Когда я создаю папку mkdir test в этой общей папке, она принадлежит root

drwxrwxrwx 2 root root 0 Jan 10 08:39 test

возможно, это связано с этим?

Буду признателен за любую помощь

Ответ или решение

Ваша проблема с клонированием репозитория Git на TrueNAS Scale, установленной на виртуальной машине Proxmox, скорее всего связана с проблемами прав доступа и владельца файловой системы. Давайте разберем это более подробно и предложим возможные решения.

Диагностика проблемы

  1. Ошибки при клонировании:
    При попытке клонирования репозитория Git вы получаете сообщение об ошибке:

    error: chmod on /media/TrueNAS/ArduinoCode/Arduino/.git/config.lock failed: Operation not permitted
    fatal: could not set 'core.filemode' to 'false'

    Это указывает на то, что Git не может изменить права доступа к файлу config.lock. Причина может заключаться в том, что у пользователя недостаточно прав на запись в эту директорию.

  2. Проблемы с владельцем и группой:
    Вы заметили, что любые созданные в этой общей папке файлы и директории принадлежат root. Это недопустимо, так как пользователь, от имени которого выполняется Git, должен иметь права записи.

Решения

  1. Настройка правильного пользователя и группы:
    Вы должны убедиться, что монтируемая директория использует правильные UID и GID для доступа. Попробуйте изменить запись в /etc/fstab следующим образом:

    //192.168.0.10/ArduinoCode /media/TrueNAS/ArduinoCode cifs credentials=/etc/samba/credentials,rw,iocharset=utf8,file_mode=0777,dir_mode=0777,nounix,vers=3.0,uid=1000,gid=1000 0 0

    Здесь uid=1000 и gid=1000 должны быть заменены на актуальные UID и GID вашего пользователя, выполняющего команду Git.

  2. Перемонтирование файловой системы:
    После обновления /etc/fstab, выполните команду:

    sudo mount -a

    Это перемонтирует все файловые системы и применит изменения, выполненные в файле fstab.

  3. Проверка прав и совместимость с Git:
    После перемонтирования, проверьте права доступа к директории:

    ls -la /media/TrueNAS/ArduinoCode

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

  4. Проверка параметров TrueNAS:
    Убедитесь, что на стороне TrueNAS пользователь guyd настроен с достаточными правами доступа к SMB-шаре. Возможно, есть необходимость настроить ACL (Access Control List) для вашей общедоступной папки для освобождения определенных ограничений.

Заключение

Эти шаги помогут вам разрешить проблему с клонированием репозитория на TrueNAS Scale. Если проблема persistирует, проверьте дополнительно журнал ошибок TrueNAS и Git для более детализированной информации. Удачи!

Оцените материал
Добавить комментарий

Капча загружается...