본문 바로가기
C.W.K.
Stream
Lesson 03 of 05 · published

매일 치는 MacPorts 명령

~12 min · macports, commands, workflow

Level 0입문자
0 XP0/55 lessons0/16 achievements
0/80 XP to next level80 XP to go0% complete

MacPorts의 명령 이름은 단수형인 port야. 시스템을 바꾸는 작업에는 거의 모두 sudo가 필요한데, 강한 격리 모델을 택한 대가라고 보면 돼.

sudo port install <name>으로 port를 설치해. 이름 뒤에 +variant를 붙이면 해당 빌드 옵션을 켜고, -variant를 붙이면 기본 옵션을 꺼. port search <query>는 port를 검색하며, --description을 더하면 이름뿐 아니라 설명까지 검색해. port info <name>은 버전, 의존성, 사용할 수 있는 variants와 홈페이지를 보여 줘.

sudo port selfupdate로 port tree를 새로 고친 뒤 sudo port upgrade outdated로 오래된 port를 모두 올려. 정의를 갱신하는 일과 설치된 패키지를 업그레이드하는 일이 별개이므로, 항상 selfupdate 다음 upgrade 순서를 지켜야 해.

port installed는 설치된 모든 버전을, port installed active는 현재 활성화된 버전만 보여 줘. MacPorts는 여러 버전을 보관할 수 있지만 한 번에 하나만 활성화해. sudo port uninstall inactive로 오래된 비활성 버전을 지우고, sudo port reclaim으로 고아 의존성, 예전 소스 압축 파일, 빌드 디렉터리까지 한꺼번에 정리할 수 있어.

Code

Variants를 골라 설치하기·bash
# install 전에 사용 가능한 variants 찾기
port variants vim
# vim has variants: +python312, +lua, +cscope, -x11, ...

# 명시적 variants 로 install (+ 활성화, - 비활성화)
sudo port install vim +python312 +lua -x11

# 나중에 다른 variants 로 재설치
sudo port uninstall vim
sudo port install vim +python312 +ruby
설치 상태와 업그레이드 대상 확인·bash
# 깐 거 전부
port installed

# 활성 버전만
port installed active

# 뭐가 outdated
port outdated

# 왜 이 port 가 깔렸나 (누가 의존하나)?
port dependents readline
표준 정비 루틴·bash
# '2주마다' MacPorts 위생 루틴
sudo port selfupdate
sudo port upgrade outdated
sudo port uninstall inactive
sudo port reclaim          # 옛 build 디렉토리, 안 쓰는 deps 삭제

External links

Exercise

'port variants ffmpeg' 또는 설치된 다른 port를 대상으로 같은 명령을 실행하고 variants를 전부 읽어 봐. 많은 사용자가 이 기능을 살피지 않은 채 필요한 기능이 왜 빠졌는지 의아해해. variant 하나를 골라 켠 상태와 끈 상태로 각각 다시 설치하고 결과를 비교해 봐.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.