**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
```
fmt::print("Creating symlink {} to {}.\n", symlink_path.string(), main_bin_path.string());
                fs::create_symlink(main_bin_path, symlink_path);
            }
        }
        
        std::string user = options["user"].as<std::string>();
        std::string group = options["group"].as<std::string>();
        if (!group.empty())
        {
            fmt::print("Creating clickhouse group if it does not exist.\n");
            createGroup(group);
        }
        else
            fmt::print("Will not create a dedicated clickhouse group.\n");
        if (!user.empty())
        {
            fmt::print("Creating clickhouse user if it does not exist.\n");
            createUser(user, group);
            if (group.empty())
                group = user;
            
            try
            {
#if defined(OS_DARWIN)
                
#else
                fs::path ulimits_dir = "/etc/security/limits.d";
                fs::path ulimits_file = ulimits_dir / fmt::format("{}.conf", user);
                fmt::print("Will set ulimits for {} user in {}.\n", user, ulimits_file.string());
                std::string ulimits_content = fmt::format(