public static function symlink($src, $dst)
    {
        try {
            // remove old link
            if (is_link($dst) && readlink($dst) !== $src) {
                unlink($dst);
            }

            if (!is_link($dst)) {

                return symlink($src, $dst);
            }
        } catch (\Exception $e) {
            if (posix_isatty(0)) {
                passthru("sudo ln -s $src $dst", $retval);

                return $retval === 0;
            }
        }
    }