11 Nov 2018
방통대 강의노트 (UNIX 시스템, 자료구조)
UNIX 시스템 (소프트웨어 관리)
패키지 관리
- 배포판에 따라 패키징방법이 다르다
- 데비안 계열은
.dev
, 레드햇 계열은 .rpm
- 패키지 관리의 기본단위 (패키지파일)
- 바이너리 프로그램, 메타데이터, 스크립트 파일로 구성
- 고수준 패키지 관리도구
YUM
, 저수준 패키지 관리도구 RPM
RPM 패키지 관리자
- 파일이름 형식
<패키지이름>-<버전>-<릴리스>.<아키텍쳐>.rpm
- 릴리스 번호는 해당 버전에서 몇번째 개선된 것인가를 의미
- 아키텍쳐는 설치가 가능한 프로세서 아키텍쳐를 의미
- 패키지가 설치되면 로컬 RPM 데이터베이스에 정보가 저장됨
- 설치(i), 업데이트(u), 삭제(e), 질의(q) 옵션이 존재
- 선행 패키지가 설치되있지 않으면 설치실패
YUM 패키지 관리자
RPM 방법에 기초한 자동 패키지설치, 업그레이드 및 삭제도구
압축
gzip
- 압축파일의 형식이자 파일압축/해제를 위한 프로그램
- gzip [파일] 을 수행하면 파일은 없어지고 파일명.gz가 만들어짐
gunzip
- 압축파일을 풀고 확장자를 제거
.tgz
== .tar.gz
, .taz
== .tar.Z
등
bzip2
- 블록정렬 압축알고리즘을 사용한 파일압축 프로그램
- 압축속도는 느리나 효율이 gzip에 비해 좋음
- 확장자는
.bz2
tar
- 여러 파일을 하나의 아카이브 파일로 묶거나 아카이브에서 파일을 추출하는 명령
자료구조 (힢)
힢
부모-자식 노드사이에서 (부분적으로) 정렬된 포화 이진트리로 부모노드는 자식노드보다 우선순위가 높다
우선순위 큐
대기 리스트에서 항상 우선순위가 높은 것을 먼저 처리하는 구조
최소 힢
루트가 전체노드중에서 최소값인 힢
- 트리의 모든 노드가 자식노드보다 작은 값을 가짐
- 트리의 레벨에 따라 데이터가 순서를 갖지는 않음
- 탐색트리처럼 왼쪽 노드와 오른쪽 노드사이에 크기 제한도 없음
- 부모는 자식보다 작은 값을 가짐
힢 노드의 삭제 및 삽입
- 완전이진트리이기 때문에 배열로 구현해도 기억장소 낭비가 없음
- 연결리스트보다 실행 속도 면에서 효율적임
- 자식노드의 방 번호
현노드 레벨*2
, 현노드 레벨*2+1
- 삭제
- 마지막 노드를 루트에 올리고 자식과 값을 비교하면서 리프까지 내려감
- 삽입
- 마지막 빈칸에 삽입 후 부모와 비교하면서 루트까지 올라감
Facebook Google+