The installer prints "unsupported distribution", you edit one string, and it proceeds until it fails a minute later with a loader error. That sequence is the symptom worth recognising: the first failure was a recognition check, and the second is a compatibility boundary. They are different problems that happen to appear in the same terminal. Editing the check can only ever move you from the first to the second.

The symptom: the installer stops on your derivative

A script that reads a distribution name and refuses to continue is telling you that its author did not test your derivative. That is a support statement rather than a technical fact, and it is often wrong in the sense that the package would run fine.

The trouble starts when the workaround becomes the plan. Changing an identity file makes the check pass, and the package then loads, or fails to load, against the runtime that is actually installed. If it fails there, no amount of further identity editing will help.

So the useful move is to find out which question the installer asked, and then to find out whether the answer would have mattered. Those are two separate investigations and only the second one predicts whether the package will work.

Three versions people call the system version

A distribution release names a packaged environment. A C library version names a runtime implementation and its release. A compiler version names a toolchain. People call all three "the system version" in conversation, and they are not interchangeable in an installer.

cat /etc/os-release
ldd --version | head -1
gcc --version | head -1
uname -m

A prebuilt application expects the runtime present when it was linked. Swapping compilers on the host does not relink it, and a newer toolchain changes nothing about the loader symbols the binary requests. Architecture matters separately again, because a 32-bit package on a 64-bit system fails for reasons no version string explains.

Keep the four outputs with the report. They take ten seconds to collect and they answer most of the questions a maintainer would otherwise ask you by email.

Read the error, not the check

The first launch error is the evidence. A message about a missing shared object, or about a symbol version the loader cannot satisfy, is a runtime dependency problem. A message that repeats the distribution name is the recognition check again, in a different place.

The dynamic linker documentation describes how library lookup works and where the loader searches. Changing a distribution label does not add a directory to that search path, which is why the second failure looks unrelated to the first.

Do not reach for ldd on a downloaded executable as a casual first step. Its own manual warns that it may execute the program under some circumstances, and running an untrusted installer is exactly the case that warning is about.

Why editing the string does not help

Falsifying operating-system identity changes how every program on the machine sees itself. Package managers, support tools and other applications read the same file, and a value that satisfies one installer can confuse something else months later.

Replacing host libraries with files from another distribution is worse. It can break unrelated software, it is invisible to the package manager, and it needs a maintenance plan that nobody writes down. Those changes are not justified by one restrictive installer.

If the check is genuinely a recognition defect, the maintainer can confirm it and describe the supported correction. If it is not a defect, the supported path is a build for your platform, and that answer does not change because the string was edited.

Write a report the maintainer can act on

Record the distribution and release, the architecture, the VPN release, the exact condition that was rejected, and the first runtime error if you got that far. Note whether you modified anything, because a report from a modified system is a different report.

Keep the original installer unchanged and describe the check rather than working around it. That distinction lets the maintainer separate an overly narrow recognition rule from a real binary compatibility boundary, which are two very different bugs with two very different fixes.

If the answer comes back that your platform is unsupported, that is a usable result. It tells you to look for a supported build instead of spending another evening on identity files that were never the problem.

Sɛbɛn minnu bɛ tali kɛ