**Use case**

It prints:
```
ClickHouse has been successfully installed.

Start clickhouse-server with:
 sudo clickhouse start
```

But if clickhouse-server is already running, let's print:
```
ClickHouse has been successfully installed.

Restart clickhouse-server with:
 sudo clickhouse restart
```
binary_self_path.string());
        fs::path binary_self_canonical_path = fs::canonical(binary_self_path);
        
        
        fs::path prefix = options["prefix"].as<std::string>();
        fs::path bin_dir = prefix / options["binary-path"].as<std::string>();
        fs::path main_bin_path = bin_dir / "clickhouse";
        fs::path main_bin_tmp_path = bin_dir / "clickhouse.new";
        fs::path main_bin_old_path = bin_dir / "clickhouse.old";
        size_t binary_size = fs::file_size(binary_self_path);
        bool old_binary_exists = fs::exists(main_bin_path);
        bool already_installed = false;
        
        if (old_binary_exists && binary_self_canonical_path == fs::canonical(main_bin_path))
        {
            already_installed = true;
            fmt::print("ClickHouse binary is already located at {}\n", main_bin_path.string());
        }
        
        else if (old_binary_exists && binary_size == fs::file_size(main_bin_path))
        {
            fmt::print("Found already existing ClickHouse binary at {} having the same size. Will check its contents.\n",
                main_bin_path.string());
            if (filesEqual(binary_self_path.string(), main_bin_path.string()))
            {
                already_installed = true;
                fmt::print("ClickHouse binary is already located at {} and it has the same content as {}\n",
                    main_bin_path.string(), binary_self_canonical_path.string());
            }
        }