Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: silfox2000 в Feb 04, 2020, 22:06



Титла: rsync не трие от папки на кирилица
Публикувано от: silfox2000 в Feb 04, 2020, 22:06
Здравейте,
Странен проблем забелязах с Mint 19.3. rsync не иска да трие файлове от папки с имена на кирилица. Копира новите файлове, но не трие с --delete. От другите папки трие. Пробвах да задам разни параметри за енкодинга с --iconv, но никакъв ефект. Някакви идеи?


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: jet в Feb 05, 2020, 04:35
Я покажи командата в целия и блясък.


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: remotexx в Feb 05, 2020, 05:44
Я че ми стана интересно, а като пуснеш diff дали ги намира/мачва правилно?

По принцип такова нещо се получава при разминаване в кодировка, сравни ли двата локала, локалния и отдалечения. Има и необратими преобразувания, напр. Знакът Ом и гръцкото омега имат подобно изобразяване но различен уникод код и при обръщане в някоя по рестриктивна кодова таблица напр. Гръцка /не й помня номера/ и двете стават омега и после посмъртно омегата не може да стане ом щото тая информация е вече загубена. То дори и уникод към уникод конверсия пак може да се получи същото напр. при конверсия към BMP (base multi lingual plane) Ohm пак става на Omega и след конвертора вече не може да се каже откъде е дошъл, и конверсията е необратима...

Извън това, да не би случайно rsync командата да ти е част от Шел скрипт? Имах предвид че тогава некой спец символи се експандват от шела, като напр. *, вече няма да е * ами ще се замени с имената на всички файлове в директора разпечатани през текущия локал.

Напр. долното ще се експандват от шела, за да не се, се изпуска звездата
Код
GeSHi (Bash):
  1. rsync -a --delete $DIR1/* $DIR2

Също и това го има...  провери дали изобщо ги има в дестинацията
Files that are excluded from the transfer are also excluded from being deleted unless you use the --delete-excluded option or mark the rules as only matching on the sending side (see the include/exclude modifiers in the FILTER RULES section).

И последно провери им правата на тия файлове, да не да нямаш права да триеш там, пробвай да изтриеш един два ръчно, през шела, то през mc ясно че ще стане  :P


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: silfox2000 в Feb 05, 2020, 08:22
Не става дума за отдалечен компютър, а за външен диск, така, че локала си е същия.
Командата е
Код:
rsync -av --delete /folder1/директория на кирилица/ /folder2/директория на кирилица/
Интересното е, че винаги съм го ползвал така и не е имало проблем, но сега забелязах, че една папка не трие файловете в дестинацията. Направих няколко теста и установих, че става дума само за папки на кирилица.
По-интересното е, че сега пробвах в домашната директория тази постановка и си работи отлично. В шах съм.


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: Naka в Feb 05, 2020, 11:29
/folder1/директория на кирилица/

Това не трябва ли да е в двойни кавички? или поне да се ескейпват паузите.
/folder1/директория\ на\ кирилица/

Цитат
If  you  need  to  transfer  a filename that contains whitespace, you can either specify the --protect-args (-s) option, or you’ll need to escape the whitespace in a way that the remote shell will understand.  For instance:

rsync -av host:'file\ name\ with\ spaces' /dest


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: silfox2000 в Feb 05, 2020, 15:02
То е така, но това го дадох като пример. Реално се синхронизират /home/user/Documents/ и /media/user/usbdrive/Documents/
а папките на кирилица се намират в тях. Както казах, всичко работи нормално, освен за тези, които са на кирилица - при тях се копират новите файлове, но не се трият тези, дето ги няма в сорса.


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: remotexx в Feb 05, 2020, 16:32
ами виж им правата... да не би да си ги отварял (като друг потребител) с нещо и после там или ръчен или ауто сейв да им е попрпменил правата. Виж още и разширението, да не да са нещо темп файлове със същото имено *.part

Дава ли ти грешка при изпълнението на командата ако дава е от права вероятно, ако не дава, по някаква причина смята че тези не трябва да се синхронизират...

Files that are excluded from the transfer are also excluded from being deleted unless you use the --delete-excluded option or mark the rules as only matching on the sending side (see the include/exclude modifiers in the FILTER RULES section).


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: Naka в Feb 05, 2020, 19:11
Сложи LC_CTYPE
На някое от тези утф8 локалета и опитай.
bg_BG.utf8
C.UTF-8
en_US.utf8

Когато някоя програма има проблеми с кирилицата (не става въпрос за интерфейса) обикновенно нещата се оправят след

export LC_CTYPE=.........


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: aleximilian в Feb 05, 2020, 20:11
@ silfox2000, нещо не е както трябва.
Освен както колегата споменава за кодировката, може да пробваш с нещо друго. Например с borg имаше и още едно добро, като се сетя ще го допълня.

Въпреки, че при мен с различна кодировка се трият файлове на кирилица.


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: silfox2000 в Feb 05, 2020, 20:27
Нямат проблем с правата - аз съм си собственик, трия си ги нормално и за всеки случай приложих права за цялата папка и това, което е в нея. Грешка не дава никаква, иначе да съм го хванал веднага. Отделно теста в домашната директория мина, т.е. и копира и трие в директрия на кирилица, а и се появи наскоро - не знам точно кога, че го хванах по наличието на стари файлове в бекъпа, но преди си работеше отлично. За капак се случва и на домашния и на служебния компютър - и двата с Минт 19.3. Както казах - в шах съм.
Не си спомням rsync да се е ъпдейтвал, а и гледам, че последната версия е от 2018, та явно е от нещо друго.


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: silfox2000 в Feb 05, 2020, 20:35
Я че ми стана интересно, а като пуснеш diff дали ги намира/мачва правилно?
...
И последно провери им правата на тия файлове, да не да нямаш права да триеш там, пробвай да изтриеш един два ръчно, през шела, то през mc ясно че ще стане  :P

Код:
diff workshop.docx Възлагателен\ фиш.docx
Binary files workshop.docx and Възлагателен фиш.docx differ

rm Възлагателен\ фиш.docx
rm Възлагателен\ фиш.docx
rm: cannot remove 'Възлагателен фиш.docx': No such file or directory

Ми... шах :)


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: malin1 в Feb 05, 2020, 22:51
Възлагателен фиш.docx  са 2 документа и те не съществуват, въпреки че същества нещо като "Възлагателен фиш.docx" , казаха ти го вече. И ти трябва да решиш как да промениш имената на документите си разумно.


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: makeme в Feb 06, 2020, 02:27
Виж номера на инода и пробвай така да го изтриеш:

Код
GeSHi (Bash):
  1. ls -i

За триене:

Код
GeSHi (Bash):
  1. find . -inum ##### -exec rm -i {} \;

Ако го изтрие значи колегите са прави за енкодинга, ако не, може и нещо харда да има проблема.

Другото за което се сещам е да видиш атрибутите: lsattr


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: jet в Feb 06, 2020, 02:48
Ловя се на бас, че файловата система ма външния диск е Майрософтска:
как си я монтирал.


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: Naka в Feb 06, 2020, 11:18
И аз това си мисля. След като на локалното работи без проблеми, а на външният диск има проблеми единствената разлика може да е различни файлови системи и разлика в монтирането.

Той казва, че не е разбрал какво се е променило. Може в един момент след ъпдейт,  линукса да е почнал да монтира външният диск по малко по различен начин.

Виж опциите за монтиране на vfat и ntfs, там имаше някави опции кодировката i utf8.


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: silfox2000 в Feb 06, 2020, 13:31
Файлът си е наред, един е и се трие нормално. Това, което съм показал е, че първо го трия без съобщение за грешка, а после дава, че не съществува такъв файл, т.е. изтрит е, ама така съм го показал, че само аз съм си го разбрал :)
Файловата система е ext4, но въпросът "как я монтирам" ми даде отговора - veracrypt. Сега пробвах с по-стара версия и пак не трие, та явно е от монтирането. Хубавото е, че само папките не трябва да са на кирилица. Сега пробвах и няма проблем, ако файловете са на кирилица. Това е по-добрия вариант, защото папките мога да ги преименувам лесно, но файловете не е добре.

ПС: И папките на кирилица ги трие, само файловете в тях не иска.

ПС 2: Още нещо се изясни. Не трие само ако папката на кирилица е в директорията за синхронизиране. Ако се намира в някоя под-директория, няма проблем  :D Както се казва от весело по-весело.


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: malin1 в Feb 09, 2020, 02:09
Това https://sourceforge.net/p/veracrypt/discussion/general/thread/6db864e1/#d20e не сработва, така ли?


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: silfox2000 в Mar 04, 2020, 22:57
Преди 3-4 дни забелязах, че rsync се ъпдейтна. Викам чакай да видя да не се е оправило - мне, става по-зле.
Дето си остана проблема с папките на кирилица, ами правя опит с нова папка на латиница - Folder с 2 празни файла - 1 и 2. В отдалечената директория правя други 2 празни файла 1 и 3. Първо копира в отдалечената директория фай Untitled Document, което е името по подразбиране на Nemo за нови файлове. След второ изпълнение кoпира вече файл 2, та в отдалечената директория стават файлове 1, 2, 3 и Untitled Document. Изобщо цирка набира скорост и ще сменям rsync, или Линукса, или всичко.


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: jet в Mar 05, 2020, 01:33
От писаниците до тук нищо не става ясно.
Дай я най-накрая командата с която синкваш, иначе си гадаем


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: silfox2000 в Mar 05, 2020, 17:18
Командата ти я написах още като пита първия път.


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: jet в Mar 06, 2020, 02:08
Тази команда дето си написал никога няма да работи - Нака и Малин1 се опитаха да ти намекнат.
Не само, че нищо няма да трие, ами и няма да копира.

Пробвах с тези Възлагателни фишове при мен и си ги трие и вън, и вътре в папката.
сигурен ли си, че в имената на файловете няма * ? + - и кой знае какво още.
И е хубаво да туриш и -s опцията дето Нака е предложил.


дай един изход на:
df  /folder1/директория\ на\ кирилица/
df  /folder2/директория\ на\ кирилица/

И като тои даде устройствата, ги потърси в изхода на:
mount





Титла: Re: rsync не трие от папки на кирилица
Публикувано от: makeme в Mar 06, 2020, 06:28
@silfox2000, с тия един път става, един път не, ми зучи като: пускам го ръчно, пускам го през крон/скрипт. Да не ти е такъв казуса? Там има разлика в env нали знаеш.
Може да обобщиш и до сега какво става и какво не, че прочетох 2 пъти темата и не ми става ясно :) И моля те давай примери само с команди дето рънваш, без скриптове.


Титла: Re: rsync не трие от папки на кирилица
Публикувано от: silfox2000 в Mar 09, 2020, 19:28
Минах изцяло на LUKS. Засега няма проблеми.
Благодаря.