В настоящее время я делаю оба на своем Macbook: я использую VirtualBox в Mac OS X, чтобы играть с различными дистрибутивами Linux, и использую Sabayon Linux в отдельном разделе для разработки. Я сказал бы, что любой выбор, вероятно, будет служить. Конечно, у любого решения есть свои недостатки, поэтому вот как я бы подошел к вашему решению:
- Что именно вам нужно от вашего сервера Linux? Вы упомянули компиляцию и отладку - вы компилируете назначения Project Euler или полное ядро Linux? Различные проекты потребуют разных мощностей. Я занимаюсь разработкой Flex и смог использовать Linux-версию Flex Builder 3 (на основе Eclipse) в VirtualBox на моем Mac. Время от времени это было немного неуклюже, но я смог сделать некоторую солидную работу, и мне не пришлось соваться с двойной загрузкой.
- Нужно ли вам переходить между операционными системами? Это мое основное раздражение при двойной загрузке. Когда я разрабатываю что-то в одной системе, я часто хочу использовать это в другой, и мне приходится перезагружаться. Синхронизация двух разных операционных систем на одном и том же оборудовании - это не очень весело; Я мог бы попробовать смонтировать диски в каждой ОС, но мне никогда не везло с этим.
- Насколько здоровенная среда Linux вам нужна? Если вы собираетесь использовать Emacs/Vim только для разработки, можете ли вы отказаться от X-сервера и просто установить терминальную версию Ubuntu в ВМ? Вам нужны ресурсы вашей системы, чтобы в первую очередь сосредоточиться на управлении настольными системами? Если это так, то установка на отдельный раздел (или другой жесткий диск, как уже упоминали другие), вероятно, будет лучшим вариантом.
- Насколько вы обеспокоены / подготовлены к / для обслуживания системы? Когда я впервые установил Ubuntu на мой Mac (9.04, я считаю), я регулярно сталкивался с проблемами с беспроводным подключением и видео после обновлений ядра. Большую часть времени они были легко решены; В других случаях это была большая боль. В конце концов я переехал в Sabayon, потому что он, казалось, поддерживал аппаратное обеспечение лучше, чем Ubuntu (я был шокирован, поверьте мне), но у меня все еще есть случаи, когда мне приходится исправлять драйверы беспроводной связи. Это не большая боль, ИМХО, но это все еще потраченное время.
В любом случае, чтобы подвести итог, вот что я хотел бы предложить:
Если ваш проект не потребляет ужасного количества ресурсов (например, больших задач компиляции) и не обязательно требует здоровенной среды отображения, рассмотрите виртуальную машину. Мне очень нравится VirtualBox, но есть и другие варианты, конечно. Это также снижает потребность в системном администрировании, если обновление дистрибутива нарушает совместимость с вашим оборудованием, и позволяет вам оставаться в Mac OS X.
Если вашему проекту потребуется много ресурсов, требуется здоровенная среда рабочего стола (например, разработка KDE Plasma :), и требуется бесплатное управление на вашем оборудовании, установите его в отдельный раздел и используйте команду rEFIt. Как уже упоминали другие: убедитесь, что вы устанавливаете загрузчик в тот же раздел, что и дистрибутив Linux ; в противном случае рискует сдуть Mac OS X (что я усвоил нелегко :)
Еще одно замечание, если вы выбираете среду виртуальной машины: если вам нужна среда рабочего стола, подумайте о чем-то более легком, чем Gnome/KDE. Я использовал Openbox при разработке на ВМ, и он работал очень хорошо.