Windows to Linux DC++ configuration migration? Prevent re-hashing by modifying paths?

Hello, i have saved the client configuration files C:\Users\me\AppData\Roaming\ApexDC++ and moved to Linux.
Now i have installed EiskaltDC since ApexDC does not seem to be in repositories.
Files seems to be the same in /home/me/.config/eiskalt*
So i copied it over. I could now find some sed command to turn Windows paths into Linux ones in config files.
https://www.reddit.com/r/linux4noobs/comments/6cle2e/help_using_sed_to_turn_a_windows_path_into_a/
https://stackoverflow.com/questions/23529669/how-to-change-a-windows-path-to-a-linux-path-in-all-files-under-a-directory-usin

But now the problem is with HashData.dat where i do not know if contains paths that needs to be replaced. I read that for binary files can be used bbe instead of sed, though i am unsure how i would use that utility for this replacement.

Is HashIndex.xml file paths all i need to modify so i do not need to rehash terabytes of data on slow HDD? Do you suggest any command?

Comments

  • wdcwdc
    edited October 2020

    it not helped to just replace paths in HashIndex.xml (assuming i did it correctly - file="HashIndex.xml" && sed -r -i 's|C:|/data|' $file && sed -i 's|\|/|g' $file ) as the HashIndex.xml was resetted when i added new Linux shared directory from within DC client interface, Options and the data began re-hashing despite file has was already in HashData.dat (maybe under different path which is mentioned in the file?).
    When i tried to also adjust list of shared directories in DCPlusPlus.xml. It not reseted the HashIndex file, but still shown many thousands of files to be rehashed (i think rough size of my total shared filels).

    UPDATE: maybe it required rehashing due to the file being on different compressed filesystem.. 🙄 i have not tried to enable debug log.

    Possibly no way to prevent re-hashing all the data?

  • edited November 2020

    Start simple - try comparing the hash files from Windows and Linux for a single folder with 1-2 files inside.
    Also, remember that Linux is by default case sensitive, while Windows usually doesn't care filename case.

  • thx, note that the windows encoding names can be different from Linux, for example one have to replace it like this:
    sed -i "s|Czech_Czech Republic.1250|UTF-8|g" ~/.config/eiskaltdc++/Favorites.xml
    (list of favorite hubs setting UTF-8 where the encoding is Czech... one can also manually change encoding in each hub properties on Favorite hubs page in GUI.)

Sign In or Register to comment.