Unix на работе. Часть 1: Железо
Открываю серию статей про реальное ежедневное использование Linux и *BSD для работы. Начнем с общих принципов и выбора оборудования.
Про мой путь в Unix тут.
Зачем
Существует определенный уровень знаний в ИТ, выше которого «пользовательские» операционные системы становятся просто неудобны:
при наличии определенных знаний — в терминале можно сделать многократно больше действий за меньшее время чем возюкая мышкой и кликая по иконкам.
Также есть огромное количество специализированного софта для поиска неисправностей в сети, в работе оборудования и просто для разработки — которое либо вообще не существует под «пользовательские» Windows/Mac либо ограничено по функционалу.
Классический пример: Wireshark, который долгое время работал только под Linux/BSD а портированная под Windows версия до сих пор имеет существенные ограничения.
отлаживать, тестировать и разрабатывать под сеть точно лучше из под юникса.
А поскольку большая часть современной разработки ПО так или иначе касается сетевой работы — выбор юникса в качестве основной ОС для работы становится вполне обоснованным.
"Linux is not Unix"
Не хочу касаться даже десятиметровой палкой этого древнего срача про «трушность» линукса, поскольку срачи к работе отношения не имеют.
Если у вас нет опыта ни с линуксом ни с юниксом — начинать стоит все же с линукса.
Если у вас есть опыт, то однозначно будет и юникс и линукс в dual boot, и не врите что у вас не так ;)
Чем именно лучше всего сорвать вашу «юниксоидную девственность» — расскажу в следующей части.
Две системы
все равно придется иметь дело с Windows по работе, опционально — с Mac.
Cлишком много нужного софта остается привязанным к моноплатформе вроде Mac или Windows.
Лично мне нужен в основном Microsoft Office для составления документов. Но бывает что нужен какой-то корпоративный софт, привязанный к домену Active Directory или что-то для монтажа видео, требующее прямой доступ к оборудованию.
Или не дай бог — целый проект на старом .NET со средой разработки.
Вообщем от вендов никуда не деться если вы работаете а не занимаетесь непонятной херней.
В случае Windows все очень просто и красиво:
существуют официальные образы любых поддерживаемых Windows под основные гипервизоры.
Бесплатно. Венды там сразу активированные.
В случае Mac — добро пожаловать в Hackintosh.
У меня тоже есть MacOS в виртуалке, со всей средой разработки, в одной из следующих статей расскажу как это сделать.
Я лично предпочитаю VirtualBox , несмотря на проблемы с производительностью, по той невероятной причине что его исходники открыты и их можно патчить.
Именно так и получил виртуальный Mac под FreeBSD, хотя VirtualBox с фрей в качестве хоста — кошмар Ларри Эллисона никогда не поддерживался.
Оборудование
Наверное уже нет смысла ориентироваться на стационарные компьютеры, поскольку ноутбуки стали достаточно производительными и точно покрывают с головой запросы и сетевого инженера и разработчика ПО.
Мой последний стационарный компьютер для работы остался в уже далеком 2011м году, с тех пор использую исключительно ноутбуки.
Есть вендоры которые откровенно дружат с юниксами (Lenovo и Dell), есть те кто хотя-бы в курсе что их ноутбуки используют юниксоиды (HP).
Но основной массе конечно глубоко фиолетово:
Acer, Asus, Fujitsu, Toshiba, Samsung, MSI — тысячи их и им всем похер.
Дружба = поддерживаемые чипы внутри, к которым есть драйвера и прошивка, как минимум в линуксе. Поэтому шанс нарваться на неподдерживаемый чип сильно выше в оборудовании от Asus или Acer чем от Lenovo или Dell.
Раньше можно было как-то ориентироваться по наименованиям вроде AC 9560 , но их стало так много разных, с разными модификациями что остается только уповать на удачу.
Еще есть отличный способ проверить совместимость до покупки:
записать флешку с live-образом какой-нибудь Ubuntu и попросить в магазине с нее запуститься.
Но теперь же все покупают онлайн, а просить о чем-то продавца это такой-то «стресс» для юной психики. Так что решайте сами.
Рабочая лошадка
У каждого производителя ноутбуков обязательно есть серия «для работы» — это такие рабочие лошадки, без особых затей.
Обращайте внимание на количество слотов под память — это фактически самое важное. Память будет нужна для виртуалок и сред разработки, которые все прожорливее и прожорливее с каждым годом.
Докупаете и ставите максимально доступное количество памяти, обязательно SSD диски.
Сейчас такое делают сразу при покупке в крупных интернет-магазинах, в качестве дополнительной опции. Сами ставят дополнительную память и диски внутрь ноутбука, заклеивают коробку обратно и отправляют вам.
Не рекомендую брать для работы т.н. «ультрабуки» — сверхтонкие, сверхлегкие и так дале:
Все ультрабуки сильно ограничены по памяти, часто чипы памяти вообще впаяны без возможности замены.
запуск игр на линуксе — отдельная номинация специальной олимпиады, это где остаешься дебилом даже после победы.
К работе в каком-либо виде это отношения не имеет, поэтому смысл в выборе такого ноутбука теряется. Половина мощности (и треть цены) подобного устройства приходятся на дискретную видеокарту, которая при отсутствии игр будет простаивать.
поставишь такой на колени и рискуешь никогда не стать папой.
Вообщем нужна именно рабочая лошадка, с дополнительной памятью и хорошими быстрыми дисками.
Не забывайте что покупаемый ноутбук это в первую очередь рабочий инструмент, а не средство самовыражения, поэтому важна его ремонтопригодность и возможность последующей замены компонентов.
Не поверите — диски и память выходят из строя при постоянной активной работе.
Также как и система охлаждения и клавиатура. И все это надо иметь возможность заменить.
В идеале в любых пердях и любыми провинциальными руками, а не в пределах МКАД.
Mac для работы
Остается лишь ответить на вопрос нах#я зачем.
И адекватного ответа у меня для вас нет, поскольку оборудование от Apple работает в сочетании с ОС от Apple.
Это как Инь и Янь, Солнце и Луна или «корпускулярно-волновая теория света» — неразрывно связанные вещи.
Поэтому всерьез обсуждать выбор мака в качестве железа для линукса или BSD не стоит.
Есть у вас есть Мак — работайте в MacOS и будет вам счастье.
Размеры, диагональ и автономность
Я использовал и использую ноутбуки самых разных размеров: от 11' и до 17.3' и могу сказать что самое лучшее для работы это стандартная 14'.
Не 17' гроб, с трудом перемещаемый даже в пределах офиса но и не 9' чудо, в экран которого можно смотреть только одним глазом и прищурившись:
14' ноутбук спокойно влезает в любую сумку и рюкзак, не стесняет при переездах и перелетах.
При этом размера экрана достаточно для любых сред разработки.
На время автономной работы можете спокойно забить:
Реальная разработка — с компиляцией, с запущенными средами разработки, с работой в браузере и мессенджерах и так далее сжирает за пару часов абсолютно любую батарею. Начисто.
Поэтому стандартные 4-6 часов нормальной ежедневной разработки могут быть только при подключении к розетке и каком-то подобии рабочего места:
стол, стул, вай-фай и кофе.
Собирать проект на Scala/Kotlin постоянно косясь одним глазом на индикатор заряда батареи — мягко говоря непродуктивно.
To be continued..
В следующей части расскажу про типичные проблемы, возникающие при работе и доступность софта: что есть, чего нет и где брать.
Продолжение тут.