Как выбрать лучший дистрибутив Linux для программирования и разработки
Выберите правильный дистрибутив для программирования дзен.
Ключевые выводы
- Fedora — рекомендуемый дистрибутив для разработчиков, известный своей стабильностью и хорошо укомплектованными репозиториями. Для тех, кто предпочитает скользящий дистрибутив, идеально подходят почти голые производные Arch, такие как EndeavourOS или ArcoLinux.
- Стабильность имеет решающее значение для профессиональных разработчиков программного обеспечения, как с точки зрения самого дистрибутива Linux, так и с точки зрения стоящей за ним организации. Крупные сообщества и активные участники помогают более эффективно выявлять и решать проблемы.
- Большой выбор инструментов разработчика, фреймворков и IDE, хранящихся в репозиториях вашего дистрибутива, также имеет решающее значение для программирования в Linux.
У разработчиков есть особый набор требований к их операционной системе, таких как производительность и доступ к широкому спектру инструментов разработки. Зная это, можем ли мы выбрать «лучший» дистрибутив Linux для программистов?
Подходит ли Linux для разработки программного обеспечения?
Когда-то Linux часто называли операционной системой для разработчиков. Это не рекомендовалось для обычного или нетехнического пользователя. Чтобы использовать Linux, нужно было хотя бы частично разбираться в коде. Возможно, это и было справедливо для Linux в самые дни его существования, но уже давно это не так. Такие дистрибутивы, как Ubuntu, Pop!_OS и Linux Mint, облегчили путь новичкам в мир Linux.
Конечно, разработчики Linux тоже все еще здесь, потому что Linux — отличная платформа для разработки. Linux обеспечивает конфиденциальность, стабильность и производительность. У вас есть доступ ко всем необходимым инструментам разработки, причем бесплатно. В окне терминала у вас есть выбор гибких языков сценариев, позволяющих автоматизировать процессы сборки, тестирования и многое другое.
Если в дистрибутиве, который вы используете, по умолчанию не установлен определенный инструмент, обычно достаточно запустить менеджер пакетов и установить его. Все части вашей цепочки инструментов находятся на расстоянии не более одной команды.
Linux также поддерживает контейнеризацию с помощью таких решений, как Docker и Vagrant, а также систем управления контейнерами, таких как Kubernetes. Это упрощает и ускоряет развертывание и управление изолированными средами, которые используют гораздо меньше ресурсов, чем классические виртуальные машины.
Практически любой дистрибутив Linux можно адаптировать так, как вы хотите, и существует множество дистрибутивов Linux на выбор. Но некоторые дистрибутивы ближе к тому, что вам нужно в качестве платформы разработки, прямо из коробки, что экономит вам некоторую работу. Все, что вам нужно сделать, это использовать менеджер пакетов, чтобы завершить цепочку инструментов и адаптировать ее к вашему рабочему процессу.
Учитывая, что Linux настолько настраиваемый и податливый, имеет ли вообще смысл называть некоторые дистрибутивы лучшими для разработки, чем другие? Я считаю, что да, но нам нужно подойти к этому под другим углом. Вместо перечисления набора дистрибутивов и сравнения плюсов и минусов их разработки, давайте рассмотрим, что вам нужно от вашей системы разработки, а затем посмотрим, сделает ли это какой-либо дистрибутив очевидным выбором.
Вам нужна конфиденциальность, стабильность и производительность
Следует учитывать два типа стабильности. Одним из них является надежность экземпляра Linux, работающего на вашем компьютере, будь то на оборудовании, на виртуальной машине или в контейнере. Зависания системы и дампы ядра ядра отнимают у вас время, создают стресс и снижают вашу производительность.
В худшем случае они могут даже потерять вашу работу, заставив вас заново делать то, над чем вы работали во время сбоя. Работа над нестабильным дистрибутивом Linux явно невозможна. Вам нужно выбрать как можно более надежный дистрибутив.
Это подводит нас ко второму типу стабильности. Вам необходимо учитывать стабильность организации, стоящей за распространением. Это не обязательно должна быть корпоративная организация, такая как Canonical или Red Hat, но у нее должно быть достаточное количество членов сообщества, чтобы вы могли быть уверены, что она не иссякнет и не умрет, и что исправления и обновления будут выпускаться в Своевременное устранение проблем, ошибок и уязвимостей.
Дистрибутивы с большими активными сообществами и множеством участников, как правило, выявляют проблемы раньше, потому что они больше следят за дистрибутивом. Им также удается решить их раньше, потому что у них больше ресурсов.
В скользящих дистрибутивах уже есть механизмы и процессы для распространения исправлений и обновлений среди своих пользователей раньше, чем в традиционных дистрибутивах с точечными выпусками. Обратной стороной является то, что скользящие распределения могут привносить собственную нестабильность. Как ни странно, это не всегда плохо.
Поскольку скользящий выпуск постоянно обновляется, вы как можно раньше получите уведомление о любых предстоящих изменениях, которые повлияют на ваш рабочий процесс, проект разработки или конечный продукт. Затем вы можете решить эту проблему, изменив процесс сборки, обойдя его в своем коде, обновив или найдя новые инструменты, или что-то еще, что вам нужно сделать.
Что касается сценариев, в Linux вы избалованы выбором. Вы можете установить столько различных терминальных оболочек, сколько захотите, и переключаться между Bash, csh, Zsh, Fish и всеми остальными по мере необходимости.
Если вы хотите компилировать сложные проекты в разумные сроки, вам понадобится приличный компьютер. Подумайте о быстром процессоре, твердотельных накопителях и большом количестве оперативной памяти. Это окажет огромное влияние на скорость ваших компиляций, гораздо большее, чем ваш выбор дистрибутива Linux. Это не значит, что вы хотите иметь раздутый, перегруженный дистрибутив на своем компьютере для разработки — вы этого не делаете — но большие и легкие победы заключаются в аппаратном обеспечении.
А если вы собираетесь использовать контейнеры или виртуальные машины, большой прирост скорости будет также обеспечен за счет вашего процессора, жестких дисков и оперативной памяти.
Есть ли в Linux инструменты разработки?
Нет недостатка в инструментах разработки, фреймворках и IDE для Linux. Вы даже можете установить Visual Studio Code, бесплатный редактор кода от Microsoft.
В Linux поддерживается каждый язык и парадигма, о которых вы только можете подумать. Фактически, многие из них начали свою жизнь с Linux. Это не значит, что те, которые вам нужны, будут предустановлены на вашем компьютере с Linux, но вы можете легко их добавить.
Если пакет находится в репозиториях вашего дистрибутива, вы можете установить его с помощью менеджера пакетов. Иногда они выпускаются в виде FlatPak, AppImage или Snap. Если исходный код доступен, вы можете клонировать их репозиторий Git (или загрузить файл TAR) и собрать инструмент на своем собственном компьютере.
Если этих решений не существует, обычно вы можете загрузить установочный пакет с веб-сайта инструмента. Обычно они предоставляют загрузку файлов DEB для дистрибутивов на основе Debian, файлов RPM для дистрибутивов, основанных на Red Hat, а иногда и файлов TAR, содержащих исходный код.
Подозреваемые, которые подходят под профиль программирования в Linux
Поэтому мы ищем стабильный и не раздутый дистрибутив. Мы не хотим сбоев и не хотим тратить ресурсы процессора на ненужные фоновые процессы. У нашего дистрибутива должно быть большое, активное и полное энтузиазма сообщество. Поддержка корпорации тоже не помешает.
У него должны быть хорошо укомплектованные репозитории. Если он использует менеджер пакетов RPM или DEB, тем лучше. Если веб-сайт позволяет напрямую загружать установочные файлы, эти два формата пакетов всегда поддерживаются.
Дистрибутив, который наиболее точно соответствует этому описанию, — Fedora. Он имеет завидную и оправданную репутацию стабильного продукта, пользуется поддержкой Red Hat, и если какое-то программное обеспечение доступно для Linux, оно доступно и для Fedora. Он также быстр и не имеет проблем с раздуванием и телеметрией, что преследует Ubuntu. Чтобы начать, перейдите на страницу загрузки Fedora Workstation.
Fedora — это точечный выпуск. Если вы предпочитаете скользящий дистрибутив, вероятно, лучше использовать одну из почти «голых» производных Arch, например EndeavourOS или ArcoLinux, чем сам Arch. Кажется, что катастрофы всегда происходят незадолго до наступления крайних сроков. Если вам необходимо переустановить операционную систему, вам необходимо подготовиться к работе в кратчайшие сроки.
Если вы используете виртуальные машины или контейнеры, вы можете подумать, что операционная система хоста менее важна, чем клиенты. Это может быть и в случае с программным обеспечением, которое вы создаете и используете. Но помните, что ваш гипервизор или контейнерная платформа работают на вашем дистрибутиве хост.
Этот фундамент должен быть непоколебимым.