Etc
리눅스 마스터 2급 정리(8) - 에디터 활용과 프로그램 설치
하다보면 되겠지
2025. 5. 10. 22:10
에디터 활용
개요
- 리눅스에서 지원하는 편집기로는 vi, emacs, pico, gedit, xedit 등이 있음
- 버퍼 기반 편집기 방식의 장단점
- 장점: 사용자가 잘못 편집 시 해당 편집을 중지하여 원본 파일 보존 가능
- 단점: 외부적인 원인으로 갑자기 편집기가 종료되었을 경우 수정 내용 손실
pico
pico <옵션> [파일명]
- 워싱턴 대학에서 개발된 유닉스 기반의 텍스트 에디터
- 메뉴 선택 방식의 편집기로, 원도우의 메모장과 유사
- 자유 소프트웨어 라이센스가 아니기 때문에 소스 수정이 불가능함
- 기능이 부족하고 업데이트가 잘 되지 않음
- 복제 버전인 nano 편집기가 존재
emacs
- 리차드 스톨만이 개발, 이후 제임스 고슬링이 LISP 언어로 기능 추가 개발
- 매크로 기능이 존재
- 단순 편집기를 넘어 소스 코드 작성 모드에 특화된 통합 개발 환경을 제공
vi
- 리눅스 배포판과 유닉스에 기본적으로 포함되어 있음
- mode형 편집기(명령, 입력, 편집)
vim
- vi 편집기와 호환되며 다양한 기능을 추가함
- 디양한 색상을 사용해 가시성을 높이고, ex모드에서 히스토리 기능을 제공함
- 확장된 정규 표현식 문법, 다중 되돌리기, 문법 검사 기능 지원
gedit
- 자유 소프트웨어 편집기로, 마이크로소프트, 윈도우, 맥OS X에서 사용 가능
- GNOME(GUI) 데스크톱 환경에서 사용 가능하며 UTF-8과 호환됨
- 그래픽 기반이기 때문에 CLI에서 사용 불가
nano
- 단축키 기반의 메뉴(편집기 하단에 표시)
프로그램 설치
리눅스 소프트웨어 설치
- 설치 방법
- 배포판에서 제공하고 있는 패키지 매니저 혹은 레퍼지토리를 활용해 설치
- 오픈소스 코드를 직접 컴파일하여 사용
- 패키지 관리 프로그램
패키지 매니저를 활용한 설치
rpm(Redhat Package Manager)
- 패키지 확장명: .rpm
- 프로그램 패키지 파일 형식: 패키지명-버전(주버전.부버전.패치번호)-릴리즈번호.페도라버전.아키텍처
(EX: sendmail-8.12.3.-5.fc11.i586.rpm) - 커널 패키지 파일 형식: 패키지명-버전(주버전.부버전.패치번호)-릴리즈번호.CentOS버전.아키텍처
(EX: kernel-3.5.0-327.el7.x76_x64.rpm) - 패키지 관리 명령: rpm <옵션> 패키지명
yum(Yellowdog Updater Mofiied)
- 레포지토리에 접속하여 패키지 관리. 즉, 인터넷 기반으로 설치하므로 네트워크 필요
- RPM 의존성 문제를 해결하기 위한 유틸리티
- 페도라 22 이후 yum 문제점을 보완한 dnf로 전환되고 있음
- 패키지 관리 명령: yum <옵션> [패키지명]
dpkd
- 데비안의 low level 패키지 관리 도구
- 패키지 설치 및 제거 시 rpm과 같은 의존성 문제 발생할 수 있음
- deb 패키지 형식: 패키지이름_버전-릴리즈버전-리버전_아키텍처.deb
- dpkg <옵션> [패키지명.deb]
apt-get(Advanced Package tool Get)
- 데비안 계열 리눅스의 패키지 관리 도구
- dpkg의 의존성 문제를 해결(/etc/apt/source.list 파일 참조)
- 패키지 유형(바이너리, 소스), 저장소 주소(URL), 우분투 버전 정보, 카테고리로 구성
aptitude
- 우분투의 패키지 관리 유틸리티
- API처럼 패키지 관리를 자동화함
- aptitude 서브명령
소스 파일을 이용한 설치
파일 아카이브
- 아카이브는 다수 개의 파일이나 디렉터리를 하나의 파일로 묶는 것
- 백업, 배포에 활용
- 대표적인 파일 압축은 compress, gzip, bzip2, xz가 존재
- 압축률이 가장 낮은 것은 compress, 높은 것이 xz
tar
- tar <옵션> [파일명]
소스 코드 설치
- 소스 코드를 압축 해제 후 컴파일 순서에 따라 프로그램을 설치함
- “./”에서 알 수 있듯, 현재 폴더에서 실행하는 것
- configure 결과로 makefile(컴파일 시 참고 정보)이 생성됨
- cmake(Cross Platform Make): OS별 makefile 생성. 의존 관계 분석, 다양한 개발 환경 지원, 타임스탬프(변화 확인)