이 글의 저자는 수년간 리눅스에서 .NET을 사용해 왔습니다. 처음에는 콘솔 애플리케이션을 통해 "Hello Linux!"를 출력하며 약간의 감명을 받았지만, Web API 애플리케이션을 실행하면서 완전히 만족하게 되었습니다. 그 이후로는 윈도우보다 리눅스를 주로 사용하게 되었으며, 필요한 모든 개발 도구를 리눅스나 도커(Docker)에서 활용하고 있습니다.
리눅스에서 .NET 개발을 위해 사용하는 도구로는 VS 코드(VS Code), 파워셸(PowerShell), 라이더(Rider), 도커, 데이터그립(DataGrip) 등이 있습니다. 주로 우분투(Ubuntu)를 사용하지만, 수세(Suse), 민트(Mint), 레드햇(RedHat), 가루다(Garuda) 등 다양한 배포판에서도 .NET은 원활하게 동작합니다. 리눅스를 처음 시도하는 경우에는 별도의 컴퓨터를 사용하거나 VirtualBox나 VMWare와 같은 가상 머신 소프트웨어를 사용하는 것을 추천합니다.
.NET SDK는 여러 버전을 설치하여 사용할 수 있으며, 저자는 수동 설치를 선호합니다. 모든 NuGet 패키지는 리눅스에서 잘 작동하고, AOT 컴파일도 가능합니다. IDE로는 VS 코드와 라이더를 사용하며, 윈도우에서와 차이를 느끼지 못합니다. 데이터베이스 작업을 위해 디비버(DBeaver)와 데이터그립을 사용하고, Git 및 GitHub CLI도 문제없이 활용하고 있습니다.
데이터베이스는 도커 이미지를 사용하여 실행하며, 필요에 따라 RabbitMQ, Redis, Kafka와 같은 서비스도 도커로 관리합니다. 브라우저는 파이어폭스(Firefox), 크롬(Chrome), 크로미움(Chromium), 엣지(Edge), 브레이브(Brave), 오페라(Opera) 등 다양한 옵션을 사용할 수 있습니다. 문서 작업은 리브레오피스(LibreOffice)를 사용하지만, 때때로 파워포인트(PowerPoint)를 사용하기 위해 윈도우가 설치된 오래된 노트북을 이용합니다.
전체적으로 리눅스에서 .NET 개발은 원활하며, 대부분의 도구와 서비스가 지원됩니다. 필요한 경우를 제외하고는 윈도우를 거의 사용하지 않으며, 리눅스 환경에서 개발 업무를 효율적으로 수행하고 있습니다.