Проблема с рекурсивной загрузкой файлов с смонтированного компакт-диска - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь рекурсивно загрузить удаленную папку (диск с диском смонтирован в эту папку), но происходит сбой, вероятно, из-за имен файлов, отличных от ascii:

> sftp mati@mati
mati@192.168.1.3's password:
Connected to mati@mati.

sftp> cd "/run/media/mati/Marcin Zielinski/"
sftp> ls -l
dr-x------    1 mati     mati         2048 Aug 23  2017 K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE
(...)

sftp> get -r "K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE"
Fetching /run/media/mati/Marcin Zielinski/K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/ to K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE
Retrieving /run/media/mati/Marcin Zielinski/K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE
Couldn't open local file "K1 - B\303\223G NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/1 - K1-B\303\263g nie daje tandety, ale to co najlepsze.mp3" for writing: Permission denied
Download of file /run/media/mati/Marcin Zielinski/K1 - B\303\223G NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/1 - K1-B\303\263g nie daje tandety, ale to co najlepsze.mp3 to K1 - B\303\223G NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/1 - K1-B\303\263g nie daje tandety, ale to co najlepsze.mp3 failed
(...)

Я вижу, что не-ascii буквы переводятся, например, Ó - это \303\223 в сообщении об ошибке, и, вероятно, именно поэтому оно не работает (ОБНОВЛЕНИЕ: это не причина). Как я могу рекурсивно загрузить всю папку с помощью sftp?

Когда я загружаю файлы, используя обозначение folder/*, все работает нормально (имена файлов не переводятся):

sftp> get -r "K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE"/*
Fetching /run/media/mati/Marcin Zielinski/K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/1 - K1-Bóg nie daje tandety, ale to co najlepsze.mp3 to 1 - K1-Bóg nie daje tandety, ale to co najlepsze.mp3
/run/media/mati/Marcin Zielinski/K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/1 - K1-Bóg nie daje tandety, ale to co najlepsze.mp3                                      100% 2395KB  97.7MB/s   00:00
Fetching /run/media/mati/Marcin Zielinski/K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/2 - K1-Bóg nie daje tandety, ale to co najlepsze.mp3 to 2 - K1-Bóg nie daje tandety, ale to co najlepsze.mp3
/run/media/mati/Marcin Zielinski/K1 - BÓG NIE DAJE TANDETY, ALE TO, CO NAJLEPSZE/2 - K1-Bóg nie daje tandety, ale to co najlepsze.mp3                                      100% 4585KB 107.6MB/s   00:00
(...)

На локальном и удаленном хостах работает Manjaro x64.

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Проблема с разрешениями каталогов на удаленном сервере. У них нет разрешения на «запись», поэтому я не могу сохранять в них файлы во время загрузки. Я скопировал весь каталог в /tmp/cd_disc, изменил все разрешения: chmod -R u+w /tmp/cd_disc, и тогда я мог без проблем загрузить /tmp/cd_disc через sftp.

0 голосов
/ 05 сентября 2018

Клиент sftp и сервер sftp должны быть настроены для кодировки UTF8.

Как только это будет сделано, оно должно работать правильно.

...