ReCoder (recoder) wrote,
ReCoder
recoder

Category:
  • Mood:

Игровой сервер

Как известно, программист - это такой работник умственного труда, который на работе старается спрограммировать всё побыстрее, чтобы наконец пойти домой и попрограммировать для удовольствия. А как же тут попрограммировать для души, когда домашний игровой комп сыграл в ящик, не гудит и не мигает лампочками? Пришлось выделить из семейного бюджета солидную сумму на покупку нового компа в серьёзной конфигурации: Ryzen 7, RTX видеокарта, 32G памяти, все дела.

Прошло несколько недель (COVID всё же на дворе), и настал светлый день. Уставший FedEx'овец в маске дотащил здоровую коробку, и не спрашивая росписи о доставке, умчал вдаль шурша опавшими листьями. Коробку распаковали, комп собрали, подвели питание, включили - он загудел, засверкал светодиодными лентами через боковое стекло. Красота!

Тут меня начал мучать соблазн - ну что я, не настоящий программист что ли? Не пропадать же такой вычислительной мощности только для вечерних загонялок в Doom! Надо поднять нормальную Linuxовую виртуальную машину для разработки, а может даже и несколько, чтобы сделать себе devel, staging, и production.

Выключил комп, засел с блокнотиком, долго изучал опыт современных домашних умельцев в интернетах. И в следующий раз включил комп только когда в блокнотике появился удовлетворительный дизайн домашнего сервера.

Теперь буду записывать себе на память инструкции по поднятию домашней системы:

Итак, после первого входа в систему мне захотелось сохранить это свежедефлорированное состояния. Умельцы с Reddit'a порекомендовали Macrium Reflect. Попробовал забэкапить диски - получилось. А насколько хорошо получилось - проверим после первой попытки восстановить сохранённое.

Дальше надо было накатывать софт и тут я очень кстати вспомнил, что под Винду тоже бывают пакетные установщики. Быстро нашёл "Chocolatey" и его автоматизацию в виде BoxStarter. Сделал конфигурационный gist на Гитхабе, запустил волшебную команду:

> start https://boxstarter.org/package/nr/url?https://gist.githubusercontent.com/recoder/9d5c4e5b959dc50d8a856dd2f2b501a8/raw/2c265bcd9089dbe8f5f33eb52f3e8b4bf9f19ebc/nexus.box

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

Дальше пошла тяжёлая артиллерия. Пришло время поднимать виртуальные машины. В очередной раз проштудировав реддитских мудрецов, решил пойти нативным путём, подняв родной майкрософтовский Hyper-V:

DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V

Но не тут-то было! Оказалось что на Win10 Home некоторое подмножество фич откручено заботливыми маркетологами. Вновь пришлось обращаться к мировому разуму за советом, и совет оказался прост: надо просто взять и восстановить открученное:

dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

После чего DISM совершенно штатным образом устанавливает нормальный Hyper-V!

А раз пошла такая пьянка - то можно и нормальный встроенный Линукс (Убунту например) себе поднять, в три команды:

DISM /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
DISM /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2

А чтобы закрепить этот программистский фьюжн, я накатил внутри Linux'a практически полноценный FAR. Надо сказать, что в FAR'e я программирую последние 25 лет, так что для меня FAR - это "наше всё". И устанавливается всё просто на раз:

sudo apt-get install -y gawk m4 libwxgtk3.0-gtk3-dev libpcre++-dev libxerces-c-dev libspdlog-dev libuchardet-dev libssh-dev libssl-dev libsmbclient-dev libnfs-dev libneon27-dev libarchive-dev cmake g++ git
git clone https://github.com/recoder/far2l
cd far2l
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DUSEWX=no -DCMAKE_BUILD_TYPE=Release ..
make -j4 && sudo make install

После этого можно удовлетворённо попить чайку и переходить к следующей стадии.

Tags: coding, home-server, techno-fetish
Subscribe

Posts from This Journal “home-server” Tag

  • Не только игровой сервер

    Продолжаю настройку домашнего сервера. Хотелось научиться запускать на нём небольшие домашние self-hosted сервисы. Перво-наперво я себе поставил…

promo recoder august 1, 2018 12:09 36
Buy for 100 tokens
Не так давно Фейсбук научил меня ещё одной классификации людей, в дополнение к стратегам и тактикам, интерналистам и экстерналистам, и разным морально-политическим приверженцам. Впервые эта классификация описана ещё двадцать лет назад Картером и Сэнджером в книге The Programmer's Stone…
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 4 comments