Linux

Arch Linux 설치 가이드 4: 개발 환경 설정하기

카루-R 2026. 3. 4. 22:51
반응형
 

환영합니다, Rolling Ress의 카루입니다.

1년만에 다시 쓰는 아치 리눅스 글입니다. 그 사이 저도 리눅스에 대해 많은 것들을 공부하고, 특히 골칫거리였던 Wayland 등과 사투를 벌였네요. 저도 잊기 전에, 글로 기록해두어야겠습니다.

목차

  • 개발 프로그램 설치 및 설정
  • 프로그래밍 언어별 설정

개발 프로그램 설치 및 설정

1. nano 하이라이팅

 

$ sudo nano /etc/nanorc

 

## To include most of the existing syntax definitions, you can do:
include "/usr/share/nano/*.nanorc"
include "/usr/share/nano/extra/*.nanorc"

 

다른 배포판은 nano의 구문 강조가 기본으로 켜져 있지만, 아치리눅스는 그렇지 않습니다. 위 주석을 찾은 뒤, 주석 밑에 두 줄을 추가해주시면 됩니다. 한 줄은 그냥 주석 처리만 되어 있으므로 주석만 풀어주시면 되고, 아래 줄은 직접 추가해주어야 합니다.

vim의 경우 자동으로 highlighting을 지원하기 때문에 해당 작업이 필요하지 않습니다. 다른 배포판과 다르게 vi와 vim이 별개의 프로그램이니 꼭 vim으로 실행하시기 바랍니다. (보통 vi -> vim으로 alias하여 많이 사용합니다)

2. vscode

 

$ yay -S visual-studio-code-bin

vscode 자체는 위와 같이 설치가 가능하지만, wayland에서 사용하기 위해선 code-flags.conf를 설정해주어야 합니다. 여기에 관한 글은 (2)를 참고하세요.

3. anaconda

$ curl -O https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh
$ bash Anaconda3-2024.06-1-Linux-x86_64.sh    # 마지막에서 yes를 입력하고 나가주세요
$ conda config --set auto_activate_base false

AUR에 python-conda와 anaconda 같은 패키지가 있긴 하나, 둘 다 설치가 안 되고 말썽을 부립니다. 이런 경우엔 어쩔 수 없이 공식 사이트에서 받아 설치해야 합니다.

참고로 conda가 최근에 업데이트 되며 libmamba를 사용하도록 바뀌었는데, 구버전을 사용하는 경우 여기서 오류가 생길 수 있습니다. 가능하면 conda를 삭제했다가 새로 설치하시기 바라며, 그럴 수 없으신 분들은 수동으로 mamba 관련 툴을 설치하셔야 합니다.

프로그래밍 언어별 설정

1. C/C++

달리 설정할 건 없습니다. 어차피 AUR 설치 과정에서도 gcc와 g++을 마구 활용하기 때문인데... 혹시라도 없다면 간단하게 설치하실 수 있습니다.

$ sudo pacman -S gcc gcc-libs boost boost-libs

2. C# / VB.NET / F#

.NET이 통합되었죠. 더 이상 .NET Core 등으로 나뉘지 않고 .NET으로 일원화되었습니다.

$ sudo pacman -S dotnet-sdk dotnet-runtime 
$ sudo pacman -S aspnet-runtime # ASP.NET 구동시

3. node.js

$ sudo pacman -S nodejs npm
 

npm은 공식 레포에 있습니다.

4. Java

아치는 기본적으로 OpenJDK만을 지원합니다. Oracle JDK는 AUR에서 받으실 수 있어요. 그리고, intellij도 설치 가능합니다. 커뮤니티 버전은 공식 레포에 있고, Ultimate 버전은 AUR에 있습니다.

$ sudo pacman -S jdk{,21}-openjdk
$ yay -S jdk              # oracle jdk
$ sudo pacman -S intellij-idea-community-edition{,jre}
$ yay -S intellij-idea-ultimate-edition
$ archlinux-java status

- IntelliJ의 경우 현재 jre 패키지가 없으면 실행되지 않습니다.

- archlinux-java는 현재 아치 시스템에서 설치된 모든 Java 환경을 보여줍니다.

5. Python

$ sudo pacman -S python{,-pip} 
$ pip install numpy # 오류!

Python의 경우 위에서 설정한 아나콘다를 쓰시겠지만, 가상환경 없이(!) 쓰시겠다면 신경 써야 할 게 많습니다. pip을 통해 패키지를 설치하려고 하면 아래와 같은 경고 문구가 나오기 때문이에요.

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try 'pacman -S
    python-xyz', where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Arch-packaged Python package,
    create a virtual environment using 'python -m venv path/to/venv'.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip.
    
    If you wish to install a non-Arch packaged Python application,
    it may be easiest to use 'pipx install xyz', which will manage a
    virtual environment for you. Make sure you have python-pipx
    installed via pacman.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.

패키지들 버전이 꼬이는 걸 막고자 나온 장치로 보이는데... EXTERNALLY_MANAGED 파일을 지워버리는 방법이 있고 pip에 옵션을 주는 방법이 있습니다. 다만 이 두 방법 모두 추천하지 않습니다.

$ mkdir ~/.config/pip
$ echo "[global]" >> ~/.config/pip/pip.conf
$ echo "break-system-packages = true" >> !$

정석적인 방법은 이렇게 제한을 우회하는 게 아니라 아치에서 기본으로 제공하는 패키지를 이용하는 겁니다. 쉽게 말하면 아래와 같아요.

$ pip install numpy             # 오류! externally-managed-environment
$ sudo pacman -S python-numpy   # OK

Pytorch와 같은 패키지도 설치할 수 있습니다. AVX2를 지원하는 CPU를 사용하거나(opt) CUDA를 지원하는 GPU를 사용하는 경우(cuda) 해당 하드웨어에 최적화된 Pytorch를 설치할 수 있습니다.

6. Android 개발환경

$ sudo pacman -S android-tools        # fastboot, adb 등
$ yay -S android-sdk-platform-tools   # 기타 다른 platform-tools가 필요한 경우
$ yay -S android-studio

일반적인 "개발자 모드"를 사용하기 위해선 android-tools를 통해 adb, fastboot을 사용할 수 있습니다. 이 외에 AUR에서 android-emulator 및 android-x86-system-image-28 등 에뮬레이터와 시스템 이미지를 사용할 수 있습니다.

반응형