Какая у вас основная операционная система для работы?

Ответ

Мой основной стек — Linux-системы, так как они составляют основу современной инфраструктуры и облачных сервисов.

  • Для продакшн-серверов и большинства инструментов: Я работаю с RHEL/CentOS/Rocky Linux и Ubuntu/Debian. Первые — для корпоративных сред, где критична стабильность и долгосрочная поддержка (например, для внутренних Kubernetes-кластеров, баз данных). Вторые — для быстроразвивающихся cloud-native инструментов и Docker-образов из-за свежих пакетов.
  • Для локальной рабочей станции: Использую macOS. Это дает идеальный баланс: Unix-подобная командная строка (zsh/bash), на которой работают все основные DevOps-инструменты (kubectl, helm, terraform, ansible, docker), и при этом удобный десктоп для повседневных задач. Инструменты вроде Homebrew отлично справляются с установкой софта.

Практический пример: Написание скрипта, который должен корректно работать и на моем Mac, и на Linux-серверах. Я всегда проверяю совместимость:

#!/usr/bin/env bash
# Проверка ОС для корректной установки пакетов
set -euo pipefail

case "$(uname -s)" in
    Linux*)
        # Для Ubuntu/Debian
        if command -v apt-get &> /dev/null; then
            sudo apt-get update && sudo apt-get install -y jq curl
        # Для RHEL/CentOS
        elif command -v yum &> /dev/null; then
            sudo yum install -y jq curl
        fi
        ;;
    Darwin*)
        # Для macOS через Homebrew
        brew install jq curl
        ;;
    *)
        echo "Unsupported OS"
        exit 1
        ;;
esac

# Далее идет кроссплатформенная логика скрипта

Работа с Windows ограничивается администрированием Windows-серверов через PowerShell Remoting или использованием WSL2 для локальной разработки, если проект этого требует.

Ответ 18+ 🔞

А, ну вот, наконец-то вопрос по делу, а не про какую-то хрень! Слушай, тут всё просто, как три копейки, но с нюансами, ёпта.

Мой основной полигон, где я всё и кручу-верчу — это, само собой, Linux. Потому что, бля, весь современный мир на нём и держится: облака, сервера, контейнеры — везде эта пингвинья морда. Но не всё так однозначно, есть же разные задачи.

  • Для всего серьёзного, что в продакшне: Тут два лагеря, и оба надо знать, а то будешь выглядеть как полный ебанько. С одной стороны — RHEL, CentOS или Rocky Linux. Это когда нужна стабильность овердохуища, поддержка на десять лет вперёд и ничего лишнего не дёргается. Базы данных, всякие корпоративные штуки, внутренние кубернетесы — сюда. С другой — Ubuntu/Debian. Это когда надо быстро развернуть какую-нибудь мартышлюшку cloud-native, где пакеты посвежее должны быть. Очень много готовых Docker-образов от них пляшут.
  • А вот для своей тачки, за которой я сижу: Тут я выбрал macOS. И знаешь почему? В рот меня чих-пых, это идеальный компромисс! С одной стороны — под капотом нормальная, человеческая, Unix-подобная консоль, где все мои любимые палочки-выручалочки (kubectl, helm, terraform) работают как родные. С другой — не надо, блядь, взъёбываться с драйверами на ноутбук или искать софт, которого нет. Homebrew решает почти всё. Удобно, ёпта.

Вот, смотри, реальный пример из жизни, чтобы не быть голословным. Пишешь ты скрипт, который должен и у тебя на маке запуститься, и на сервере в облаке. Надо же понимать, где ты находишься, а то подозрение ёбать чувствую, что кто-то про это забудет и потом будет орать, что "на моей машине работало!".

#!/usr/bin/env bash
# Проверка ОС для корректной установки пакетов
set -euo pipefail

case "$(uname -s)" in
    Linux*)
        # Для Ubuntu/Debian
        if command -v apt-get &> /dev/null; then
            sudo apt-get update && sudo apt-get install -y jq curl
        # Для RHEL/CentOS
        elif command -v yum &> /dev/null; then
            sudo yum install -y jq curl
        fi
        ;;
    Darwin*)
        # Для macOS через Homebrew
        brew install jq curl
        ;;
    *)
        echo "Unsupported OS"
        exit 1
        ;;
esac

# Далее идет кроссплатформенная логика скрипта

Видишь? Просто, но эффективно. А то доверия ёбать ноль к скриптам, которые в лоб apt-get вызывают.

Ну а Windows... Хуй с горы, честно говоря. Я с ней пересекаюсь только в двух случаях: либо когда надо админить какой-нибудь виндовый сервак через PowerShell (это отдельный ад, ёперный театр), либо когда какой-нибудь разработчик приходит и говорит "а у меня проект только на Windows". Ну, тогда WSL2 в помощь, манда с ушами, но хоть работает. В остальном — да похуй.