Не получается скопировать файл на смартфон.

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
MiK13
Сообщения: 1180
ОС: Linux Debian

Не получается скопировать файл на смартфон.

Сообщение MiK13 »

Работал в линуксе. Подошёл племянник, попросил скопировать файл на его смартфон.
Подключил его к USB порту, разрешил связываться.
Я через mount увидел, что он смонтировался. "Зашёл в нужный каталог. Пытаюсь скопировать в него файл -- выскакивает, что не может этого сделать,

Shell

cp: невозможно создать обычный файл '/run/user/1000/gvfs/mtp:host=%5Busb%3A007%2C004%5D/Card/Паліфанічны дыптых - Full Score.pdf': Неподдерживаемая операция
Говорит, что в винде нет никаких проблем скопировать файл.
Более того, каталоги создаются. Но файлы в них не копируются.
В чём может быть проблема?
Смартфон -- Samsung. Galaxy A6.

P.S. Подумал, что, может быть, что-то прояснит strace cp .., но было уже поздно.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Не получается скопировать файл на смартфон.

Сообщение Hephaestus »

MiK13 писал:
17.03.2019 00:31
В чём может быть проблема?
В имени копируемого файла (пробелы, кодировка, символы, отличные от латиницы)
В драйвере файловой системы.
В опциях монтирования.
В правах доступа.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Не получается скопировать файл на смартфон.

Сообщение s.xbatob »

Ну, M$, придумавший этот мутный протокол MTP, как всегда, постарался. :wacko:
А если серьёзно, действительно надо было с помощью strace посмотреть чего же не поддерживается. Вообще идея монтировать сетевые устройства порочная и регулярно приводит к подобным неприятностям.
А GVFS действительно его смонтировал (и это показывает mount)? У меня KDE, он обходится без монтирования — и всё работает, по крайней мере на Honor 8. На старом планшете и телефоне спотыкается, только это выглядит по-другому: операция зависает.
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2390
ОС: gentoo fluxbox

Re: Не получается скопировать файл на смартфон.

Сообщение yoricI »

Универсальный метод: на компе sshd, на телефоне total commander с плагином sftp. И без всяких mtp jmtpfs etc.
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Не получается скопировать файл на смартфон.

Сообщение MiK13 »

s.xbatob писал:
17.03.2019 15:06
А GVFS действительно его смонтировал (и это показывает mount)?
Обычно при подключении внешних устройств у меня выскакивает окно с информацией об этом.
В этот раз я такого окна не увидел. Посмотрел dmesg -- увидел, что система его обнаружила.
Выдал mount и среди прочих строк нашёл строку с gvfs (почему-то она была в середине.
Вышел в mc на этот каталог. Племянник подтвердил. что это его смартфон.
Попытался скопировать -- и получил "операция не поддерживается"

Сейчас проверил со своим смартфоном Blackview BV6000. В mount увидел строку

Shell

gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
Попробовал создать каталог -- создался. "Вошёл" в него. Попробовал скопировать тот же файл -- в mc выскочило:

Shell

┌────────────────────────────────────── Ошибка ──────────────────────────────────────┐
│ Невозможно сменить режим доступа к целевому файлу "/run/user/1000/~Full Score.pdf" │
│ Неподдерживаемая операция (95) │
├────────────────────────────────────────────────────────────────────────────────────┤
│ [ Пропустить ] [ Пропустить всё ] [ Повторить ] [ Прервать ] │
└────────────────────────────────────────────────────────────────────────────────────┘
(
Но файл скопировался (по-моему, и тогда был код 95, но файл не копировался)
Сейчас племянника нет. Если придёт, попробую ещё раз скопировать файл на его смартфон. И посмотреть, что выдаст strace cp ...
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Не получается скопировать файл на смартфон.

Сообщение s.xbatob »

Насчёт смены прав файла (режима доступа и владельца) — так и должно быть: ни протокол, ни ФС на телефоне такое не поддерживает. Только cp без ключа -a это менять и не пытается.
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Не получается скопировать файл на смартфон.

Сообщение MiK13 »

yoricI писал:
17.03.2019 16:44
Универсальный метод: на компе sshd, на телефоне total commander с плагином sftp. И без всяких mtp jmtpfs etc.
Спасибо, попробую. sshd у меня стоит,total commander я себе ставил, скажу и племяннику, чтобы поставил.
Тогда сможет сам забирать себе всё, что захочет.
Впрочем, думаю, что и по обычному ftp сможет забирать.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2660
ОС: Gentoo

Re: Не получается скопировать файл на смартфон.

Сообщение ormorph »

Ну я обычно в ручную монтирую, у меня автоматическое монтирование не выставлено, хотя скорее всего из за того что не использую гном.
Обычно монтирую с помощью simple-mtpfs.

Shell

$ simple-mtpfs каталог
До сих пор копировало нормально.
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2390
ОС: gentoo fluxbox

Re: Не получается скопировать файл на смартфон.

Сообщение yoricI »

MiK13 писал:
17.03.2019 17:25
по обычному ftp сможет забирать.
Ну если *ftpd запустить. а зачем, если есть ssh. И да, wifi или провод тоже нужен, доступ в сеть.
Последний раз редактировалось yoricI 17.03.2019 21:37, всего редактировалось 1 раз.
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Не получается скопировать файл на смартфон.

Сообщение s.xbatob »

yoricI писал:
17.03.2019 17:41
а зачем, если есть ssh
Действительно, зачем использовать специальный протокол, когда можно через ###? :g:

А проще всего передать через Bluetooth. Хотя и медленно. И в телефоне всё для этого есть изначально.
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2390
ОС: gentoo fluxbox

Re: Не получается скопировать файл на смартфон.

Сообщение yoricI »

Специальный - это mtp? ### - это что-то неприличное, или как раз mtp? :-)
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Не получается скопировать файл на смартфон.

Сообщение s.xbatob »

yoricI
специальные - это ftp, sftp, obex ftp, obex push, да и smb/cifs, mtp тоже.
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2390
ОС: gentoo fluxbox

Re: Не получается скопировать файл на смартфон.

Сообщение yoricI »

s.xbatob
Я ж написал ssh, а sftp вроде через это и работает?
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Не получается скопировать файл на смартфон.

Сообщение s.xbatob »

yoricI
Нет. Хотя sftp и был разработан как расширение ssh-2, но на самом деле это отдельный протокол, работающий поверх любого безопасного канала.
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Не получается скопировать файл на смартфон.

Сообщение MiK13 »

Сейчас возникла другая проблема.
Племянник попросил что-то распечатать с его смартфона. Подключил его. Я командой mount посмотрел куда он смонтировался. Вызвал mc, перешёл в этот каталог, затем последовательно дошёл до нужного. Пытаюсь в него "зайти" -- всё висит.
Помню, что однажды такое было. Ему надоело ждать, он сказал, что в винде у него таких проблем нет и отключил смартфон от USB.
При этом в окне nc у меня появился большой список файлов .jpg. Я тогда предположил, что он просто очень долго читал этот каталог.
Сейчас решил подождать гораздо дольше. Но каталог так и не открылся.
lsof -cmc выдало

Shell

mc 4877 mik139 cwd unknown /run/user/1000/gvfs/mtp:host=%5Busb%3A004%2C004%5D/Card/DCIM/Camera (stat: Permission denied)
mc 4877 mik139 rtd DIR 8,23 4096 2 /
mc 4877 mik139 txt REG 8,23 1020760 429141 /usr/bin/mc
mc 4877 mik139 mem REG 8,23 31744 916307 /lib/x86_64-linux-gnu/librt-2.24.so
...
mc 4877 mik139 6u CHR 136,8 0t0 11 /dev/pts/8
mc 4877 mik139 7r FIFO 0,10 0t0 729509 pipe
mc 4877 mik139 8w FIFO 0,10 0t0 729509 pipe
mc 4877 mik139 9r unknown /run/user/1000/gvfs/mtp:host=%5Busb%3A004%2C004%5D/Card/DCIM/Camera (stat: Permission denied)
Смущает stat: Permission denied. Почему?
Попробовал зайти в этот каталог от рута. Но

Shell

root@MDD49:/run/user/1000# ls -l
ls: невозможно получить доступ к 'gvfs': Отказано в доступе
итого 0
srw-rw-rw- 1 mik139 mik139 0 мар 27 20:35 bus
drwx------ 2 mik139 mik139 60 мар 27 22:21 dconf
drwx--x--x 2 mik139 mik139 60 мар 27 20:35 gdm
drwx------ 2 mik139 mik139 140 мар 27 20:35 gnupg
d????????? ? ? ? ? ? gvfs
drwx------ 2 mik139 mik139 100 мар 27 20:35 keyring
drwx------ 2 mik139 mik139 80 мар 27 20:36 pulse
drwxr-xr-x 3 mik139 mik139 100 мар 27 20:35 systemd
То есть даже руту не даётся доступа. И на kill -9 4877 система никак не реагирует. Давал несколько раз. Процесс не снимается.

Что тут можно сделать?
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Не получается скопировать файл на смартфон.

Сообщение Hephaestus »

MiK13 писал:
27.03.2019 22:30
Смущает stat: Permission denied. Почему?
Попробовал зайти в этот каталог от рута. Но
MiK13 писал:
27.03.2019 22:30
То есть даже руту не даётся доступа.
Такое вполне возможно, если владелец каталогов - не рут,
а некий другой "пользователь" с неким UID, которого в Вашей системе, возможно, вообще нет.
Если там NTFS, то не исключены всякие сюрпризы.
MiK13 писал:
27.03.2019 22:30
Что тут можно сделать?
Чтобы, скажем, руту зайти в каталог, нужно стать владельцем.
Просто так менять владельца негоже, ибо эти каталоги - часть другой системы - неизвестно, чем это кончится.
Вывод: Поколдовать с опциями монтирования, чтобы каталоги обрели "правильного владельца" и нужные права доступа на время присоединения к Вашей системе.

Насчет того, что зависает при считывании.
Такое бывает с внешними устройствами (например, с флешками) и не только с ними - порой файлы не считываются за разумное время, но и не отваливаются по таймауту. И да, действительно, kill не помогает.
Я лично грешу на физику.
А в Вашем случае я склонен думать, что причина в сочетании USB-соединения и драйвера ФС, особенно, если ФС "неродная".
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20796
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Не получается скопировать файл на смартфон.

Сообщение Bizdelnick »

Hephaestus писал:
27.03.2019 23:10
драйвера ФС, особенно, если ФС "неродная".
Так MTP же, причём тут ФС?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Не получается скопировать файл на смартфон.

Сообщение MiK13 »

Hephaestus писал:
27.03.2019 23:10
Такое вполне возможно, если владелец каталогов - не рут, а некий другой "пользователь" с неким UID, которого в Вашей системе, возможно, вообще нет.
Да, тут, похоже, что-то вроде этого.
Я часто сталкиваюсь с подобным на работе. Монтирую ФС "сервера" по sshfs от своего имени на каталог ~/Server. Если, по какой-то причине, становлюсь рутом, то в mc этот каталог вижу красным со знаком вопроса впереди. Зайти не могу. В общем логично.
Но тут ситуация немного другая. "Сервер" знает, кто к нему подключается. Так как я ввожу имя и пароль.
При подключении смартфона я ничего не ввожу. Система монтирует его сама. Как fuse.
Hephaestus писал:
27.03.2019 23:10
Если там NTFS, то не исключены всякие сюрпризы.
Там не NTFS, что-то другое. Возможно FAT, но доступ -- через ПО смартфона. Может быть Samsung что-то намудрил. А может быть и Google. Но к другим каталогам доступ получается. Правда, мне удалось только читать из них, хотя на свой Blackview BV6000 я писал.
Hephaestus писал:
27.03.2019 23:10
MiK13 писал:
27.03.2019 22:30
Что тут можно сделать?
Поколдовать с опциями монтирования, чтобы каталоги обрели "правильного владельца" и нужные права доступа на время присоединения к Вашей системе.
Проблема в том, что каталоги находятся на смартфоне. А там Android.
На старом планшете, с Android 4.0, я, может быть, и мог бы что-нибудь сделать. Там есть эмулятор терминала с линуксовым CLI и "стандартной" клавиатурой. И su не требует пароля. В более новых андроидах, такого, похоже, нет.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Не получается скопировать файл на смартфон.

Сообщение /dev/random »

Hephaestus писал:
27.03.2019 23:10
Такое вполне возможно, если владелец каталогов - не рут,
а некий другой "пользователь" с неким UID, которого в Вашей системе, возможно, вообще нет.
Нет, дело не в этом. Для рута владелец каталога не имеет значения. Попробуйте от пользователя создать каталог и установить на него права 000 ("всё запрещено всем"). Владелец не сможет туда войти, пока не вернёт права, а рут сможет.

Тут ситуация другая. К FUSE по умолчанию имеет доступ тот и только тот, кто её подмонтировал, независимо от прав, а стандартная система проверки прав игнорируется. См. опции монтирования allow_root и allow_other (для отключения этой специальной проверки), а также default_permissions (для включения стандартной). Но будьте осторожны с этими опцями, некоторые файловые системы на базе FUSE становятся уязвимыми при монтировании с allow_other и/или малопригодными для использования при монтировании с default_permissions. Кроме того, файловая система имеет возможность подвесить любую программу, которая к ней обращается, а это значит, что пользователь, которому позволено монтировать FUSE с allow_root/allow_other, может подвесить процессы, запущенные от имени рута, если они попытаются эту ФС в каких-то целях просканировать. Поэтому по умолчанию монтировать с опциями allow_root и allow_other имеет право только рут.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Не получается скопировать файл на смартфон.

Сообщение Hephaestus »

/dev/random писал:
28.03.2019 08:17
Для рута владелец каталога не имеет значения. Попробуйте от пользователя создать каталог и установить на него права 000 ("всё запрещено всем"). Владелец не сможет туда войти, пока не вернёт права, а рут сможет.
Да, проверил, действительно рут заходит в каталог с правами 000.
Но я готов поклясться своей треуголкой, что сталкивался с ситуацией, когда даже рут не имел прав доступа, пока не стал владельцем. Насколько я могу вспомнить, это проявлялось на ФС от другой системы. А вот было ли это при использовании FUSE или чего-то ещё - уже не помню.
Bizdelnick писал:
27.03.2019 23:21
Так MTP же, причём тут ФС?
Каюсь, грешен, не знаю, что за зверь MTP. Подумал, раз происходит монтирование, то и обращение к ФС происходит каким-то образом.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
algri14
Сообщения: 1369
ОС: Mageia 5.1 & 8 x86_64, KDE

Re: Не получается скопировать файл на смартфон.

Сообщение algri14 »

Добавлю и свой опыт, андроид-китайфон Doopro C1
При его монтировании (КДЕ) предлагается 2 варианта входа. Если выберу 1-й, то не смогу заходить повсеместно, доступ в половину мест закрыт. Если выберу 2-й вариант, то доступ открыт везде, особо не копался, возможно где-то и закрыто, ведь вход от юзера.
Но вот как то так, надо будет ещё из винды зайти, будет ли так же два варианта предложено или только один, позже отпишусь
Спасибо сказали:
Ответить