320x100
320x100

리눅스의 소프트웨어 설치 방법

- 소스코드 인스톨

 : 소스코드로 제공되는 SW를 다운받고 컴파일러로 직접 컴파일 하여 설치

 : 시스템에 최적화하여 설치 가능 

 

- 패키지 인스톨

 : 컴파일 과정 없이 간단하게 소프트웨어 설치 가능

 : 패키지 의존성 문제 위험

 

 

 

패키지 형식

- CentOS / Fedora

 : 레드햇 기반의 OS의 경우 RPM 형식 사용

- 우분투

 : Debian 기반 OS의 경우 deb 형식 사용

 

- 우분투의 패키지 카테고리

 : main (우분투로부터 정식 지원을 받는 완전한 자유 소프트웨어)

 : restricted (우분투로부터 정식 지원을 받는 부분적인 자유 소프트웨어)

 : universe (우분투로부터 정식 지원을 받지 않는 자유 소프트웨어)

 : multiverse (우분투로부터 정식 지원을 받지 않는 라이선스가 있는 소프트웨어)

 

- 우분투 패키지의 이름 구조

 : 파일명_버전-리비전_플랫폼.deb

 : 리비전 (세부버전) 

 : 플랫폼 (설치할 수 있는 플랫폼 - i386, arm 등..)

 

 

 

패키지 저장소

- 우분투의 패키지 관리 

 : repository (패키지의 정보를 저장하고 있는 서버 / 버전마다 다른 패키지 저장소 제공)

- 패키지 저장소 설정

 : /etc/apt/sources.list

 : launchpad.net/ubuntu/+archivemirrors

 

Mirrors : Ubuntu

Ubuntu also includes a wide variety of software through its network of software repositories. Once your system is installed you can simply call up a list of all the existing tools out there and choose any of them for immediate installation over the interne

launchpad.net

 

 

 

패키지 의존성 (dependency)

- 어떤 패키지가 설치되기 위해서 반드시 다른 패키지를 먼저 설치해야하는 상황

- 레드햇 계열의 배포판

 : yum / dnf 명령어로 해결

- 우분투

 : apt / aptitude / dpkg 명령어로 해결

 

 

 

apt-cache 세부명령어

- 패키지의 정보를 검색하고 출력

- 세부명령어

 : pkgnames = 사용 가능한 패키지 이름 확인

 : show 패키지명 = 패키지의 간단한 정보 확인 

 : search 키워드 = 패키지 검색

 : depends 패키지명 = 패키지 의존성 정보 확인

 : stats = 설치된 패키지의 정보 확인

 

 

 

apt-get 세부명령어

- 패키지의 설치, 업데이트, 제거 등의 작업 수행

- 세부 명령어

 : update = 업데이트

 : upgrade = 설치된 모든 패키지 업그레이드

 : install 패키지명 = 설치 (복수 설치 가능)

 : --reinstall install 패키지명 = 재설치

 : remove 패키지명 = 제거 (설정정보 유지)

 : purge 패키지명 = 제거 (설정정보도 제거)

 : autoremove = 사용되지 않는 패키지 자동 제거

 : download 패키지명 = 설치파일 내려받기

 : source 패키지명 = 소스 내려받기

 : clean = 캐시 삭제

 

 

 

apt 세부명령어

- apt-get와 apt-cache의 주요 기능 수행

- 세부 명령어

 : install 패키지명 = 설치

 : remove 패키지명 = 제거 (설정정보 유지)

 : purge 패키지명 = 제거 (설정정보도 제거)

 : search 키워드 = 검색

 : show 패키지명 = 정보 출력

 : list = 설치가능한 패키지 목록 출력

 

 

 

aptitude 세부명령어

- 패키지 관리 명령어 (비주얼 모드 실행 가능)

 : 우분투에서 추가적인 설치 필요

- 세부 명령어

 : update = 업데이트

 : upgrade = 설치된 모든 패키지 업그레이드

 : install 패키지명 = 설치

 : download 패키지명 = 설치파일 내려받기

 : remove 패키지명 = 제거 (설정정보 유지)

 : purge 패키지명 = 제거 (설정정보도 제거)

 : search 키워드 = 검색

 : show 패키지명 = 정보 출력

 : clean = 캐시 삭제

 

 

 

dpkg 옵션 패키지명

- 데비안 리눅스의 패키지 관리 명령어

- 옵션

 : l = 패키지 목록 확인

 : s = 상세 정보

 : S 파일명(명령어) = 명령어가 포함된 패키지 확인

 : L = 해당 패키지가 설치한 파일 확인

 : c deb파일명 = deb파일 설치

 : r = 패키지 제거

 : P = 패키지 제거 (설정 정보까지 제거)

 

 

 

 

 

파일 압축

파일 압축 (아카이브 파일 생성)

- 수집 : 여러개의 파일을 묶는 것

- 아카이브 : 수집을 통해 생성된 파일 (파일의 묶음체)

- tar : 파일 수집 명령어

- gzip / bzip2 : 파일 압축

 

 

 

tar 옵션 파일이름.tar 묶을파일
- 파일 수집 명령어 
- 옵션
 : c = 파일 생성

 : t = 내용 확인

 : x = 파일 해제

 : v = 과정 출력

 : f = 사용할 아카이브 파일 이름 지정 
 : r = 새로운 파일 추가  
 : u = 업데이트 
 : z = gzip으로 압축 혹은 해제 
 : j = bzip2로 압축 혹은 해제 

=> -cvf (아카이브 파일생성) / -tvf (아카이브 내 파일 확인) / -xvf (아카이브 해제)

 



gzip [옵션] 파일명
- 파일을 압축하기 위한 명령어 
- 옵션

 : 1~9 = 압축률 지정
 : d = 압축해제

 : v = 과정 출력

 : l = 정보 출력

 

 

gunzip 파일명

- 압축해제 (gzip -d)

 
zcat 파일명
- 압축해제를 하지 않고 압축파일 내 내용 출력

 


bzip2 [옵션] 파일명
- 파일을 압축하기 위한 명렁어 
- 옵션
 : d = 압축해제

 : v = 압축된 정보 출력 

 : l = 압축 파일 정보 확인

 


bunzip2 파일명 
- 압축해제

 

bzcat 파일명

- 압축된 파일 내용 확인

 

 

 

소스코드 컴파일

gcc [옵션] 파일명

- 소스코드 컴파일 수행

- 옵션

 : default(옵션없음) = out파일 생성

 : c = 오브젝트 파일(.o) 생성

 : o = 파일 이름 지정

=> ex) gcc -c -o hi.o hi.c

=> ex) gcc -o hello hi.o bye.o hello.o

         : 3개의 오브젝트 파일을 실행할 hello 실행파일 생성

 

 

 

프로그램 작성 및 컴파일

1. 에디터를 이용해 소스코드 파일 작성

2. gcc 명령어를 이용한 컴파일 

 

 

 

make

- 패키지 내의 makefile을 실행

 : 순차적으로 패키지내 소스코드 컴파일

- makefile의 구조

 : CC (컴파일러 지정 / 코드 단순화를 위한 매크로 정의)

 : tartget1 ~ 2 (생성해야할 파일의 이름 지정)

 : dependency1 ~ 4 (목표파일을 생성하기 위해 필요한 파일 지정)

 : command1 ~ 4 (파일을 생성하기 위한 명령어 지정)

 : clean (더미타겟 / 목적파일과 실행파일 제거)

 

 

 

300x250
728x90