Ваша проблема вызвана неправильным размером заголовка CIFS для SMBv2/3 (по какой-то причине, SMBv2 все равно работает )в ядре Linux.
Эта проблема была исправлена в ядре версии 4.12.11 , но, поскольку это не поддерживаемый выпуск ядра, вы решаете установить его или нет на свой страх и риск.
Проверьте https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.12.11, найдите коммит 9e37b1784f2be9397a903307574ee565bbadfd75.
Чтобы установить эту версию ядра (Я вижу, вы используете Ubuntu 16.04):
Получите привилегии суперпользователя:
судо -я
компакт-диск /tmp/
Убедитесь, что в каталоге /tmp/ нет других пакетов.deb:
rm -f *.deb
Загрузите пакеты ядра:
wgethttp://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.11/linux-headers-4.12.11-041211_4.12.11-041211.201709070418_all.deb&& wgethttp://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.11/linux-headers-4.12.11-041211-generic_4.12.11-041211.201709070418_amd64.deb&& wgethttp://kernel.ubuntu.com/~kernel-ppa/mainline/v4.12.11/linux-image-4.12.11-041211-generic_4.12.11-041211.201709070418_amd64.deb
Установите пакеты ядра:
dpkg -Linux -*.deb
Перезагрузите сервер, чтобы загрузить новое ядро.
Вы можете использовать неприятный трюк, чтобы выполнить эту работу, используя шестнадцатеричные коды. Например, в UTF -8 ascii по умолчанию вы можете напечатать '
с \x27
, который является шестнадцатеричным кодом одинарных кавычек.
echo -e "\x27hello\x27"
'hello'
Символ авторского права не является частью таблицы ASCII по умолчанию, но относится к расширенным кодам ASCII. Вы также можете напечатать расширенные символы ascii в виде комбинации шестнадцатеричных кодов
.(по рекомендацииhttp://www.fileformat.info/info/unicode/char/a9/index.htm)
echo -e '\xc2\xa9'
©
Точно так же вы можете использовать эти шестнадцатеричные коды в sed
a="hello ©"
sed 's/\xc2\xa9/??/' <<<"$a" ##replacing copyright symbol with two questionmarks
hello ??
Если \xc2\xa9, что означает символ авторского права, не работает, вы можете попробовать \xe2\x92\xb8, который представляет собой «ЛАТИНСКУЮ ЗАГЛАВНУЮ БУКВУ C В КРУГЛЕ».
Также попробуйте\o251
(использовать строчную букву 'o', а не ноль ).
Всем спасибо.
Я получил решение как на perl:
perl -lape 's/[^[:print:]]*//g'