You're absolutely right — what happened makes perfect sense now that you mention it.
Even though both CentOS and Ubuntu use case-sensitive file systems by default, the issue likely came from the tool used during the transfer — in this case, WinSCP on Windows. Since Windows treats A/ and a/ as the same folder, WinSCP (depending on its settings) may have silently merged those directories when copying from CentOS to your local system or directly to the new Ubuntu server.
This kind of behavior can cause exactly what you described: all files that should have been in distinct folders (A/ and a/) end up in a single folder, breaking osTicket’s attachment path references.
💬 Same happened to me — I had unzipped the backup on Windows before uploading it to the new Linux server, and later realized I only had one folder per letter. So, for example, if the merged folder was A/, then any files that originally lived under a/ couldn't be found by osTicket.
I solved it by using a PowerShell script to split and reorganize the files by casing before uploading them separately to Linux.
🛡️ Lesson learned: When migrating between Linux systems, especially when case sensitivity matters (as with osTicket attachments), it's best to:
Use Linux-native tools (rsync, scp, or tar) for transfers.
Avoid doing intermediate copies or decompression on Windows or any tools that operate in a case-insensitive environment (like WinSCP or FileZilla on Windows).
Double-check folder structures after migration using find, diff, or even tree.
Thanks again for sharing the solution — it's a subtle but critical detail that can trip up a lot of us during migrations!