По умолчанию функция USERSHARE
samba отключена в Fedora. Включение его недостаточно, так как libshare в ZFSOnLinux требует установки определенного пользовательского пути
.
Чтобы заставить его работать, установите следующее в /etc/samba/smb.conf
:
[global]
usershare path = /var/lib/samba/usershares
usershare max shares = 100
usershare allow guests = yes
usershare owner only = no
Затем сделайте каталог / var / lib / samba / usershares
как root:
mkdir -p /var/lib/samba/usershares
После перезапуска smb
и nmb
zfs set sharemb = on
будет работать.
$ echo foo |shasum -a 256
b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c -
^^
Обратите внимание, что в выводе shasum
перед именем файла есть два пробела. Когда ввод берется со стандартного ввода, shasum
печатает тире в качестве имени файла.
Если вы запустите echo foo | shasum | od -c
, вы можете проверить это, а также увидеть новую строку в конце. Однако новая строка удаляется подстановкой команды, поэтому ее явное удаление с помощью tr
ничего не делает. (см. здесь и здесь)
Два пробела и тире — это три символа, которые вызывают разницу в ваших счетах.
Чтобы получить только хэш, вы можете использовать расширения параметров, чтобы удалить все после первого пробела, например.:
$ h=$(echo foo | shasum -a 256)
$ h=${h%% *}
$ printf ">%s<\n" "$h"
>b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c<
${var%%pattern}
расширяется до значения var
с удалением самого длинного суффикса, соответствующего pattern
.