unix
February 7, 2023

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 для работы

Да это тоже можно сделать:

возможно запустить и линукс и *BSD на оборудовании Apple.

Остается лишь ответить на вопрос нах#я зачем.

И адекватного ответа у меня для вас нет, поскольку оборудование от Apple работает в сочетании с ОС от Apple. 

Это как Инь и Янь, Солнце и Луна или «корпускулярно-волновая теория света» — неразрывно связанные вещи.

Поэтому всерьез обсуждать выбор мака в качестве железа для линукса или BSD не стоит.

Есть у вас есть Мак — работайте в MacOS и будет вам счастье.

Размеры, диагональ и автономность

Я использовал и использую ноутбуки самых разных размеров: от 11' и до 17.3' и могу сказать что самое лучшее для работы это стандартная 14'.

Не 17' гроб, с трудом перемещаемый даже в пределах офиса но и не 9' чудо, в экран которого можно смотреть только одним глазом и прищурившись:

14' ноутбук спокойно влезает в любую сумку и рюкзак, не стесняет при переездах и перелетах.

При этом размера экрана достаточно для любых сред разработки.

На время автономной работы можете спокойно забить:

Реальная разработка — с компиляцией, с запущенными средами разработки, с работой в браузере и мессенджерах и так далее сжирает за пару часов абсолютно любую батарею. Начисто.

Поэтому стандартные 4-6 часов нормальной ежедневной разработки могут быть только при подключении к розетке и каком-то подобии рабочего места:

стол, стул, вай-фай и кофе.

Собирать проект на Scala/Kotlin постоянно косясь одним глазом на индикатор заряда батареи — мягко говоря непродуктивно.

To be continued..

В следующей части расскажу про типичные проблемы, возникающие при работе и доступность софта: что есть, чего нет и где брать.

Продолжение тут.