apt, yum, rpm .. 등 리눅스에 애플리케이션이나 필요한 패키지 설치를 도와줌
패키지 매니저를 통해서 온라인에 존재하는 레포지토리를 통해 레포지토리를 설치
구조
리눅스 시스템 - 패키지 매니저 - 레포지토리 - 패키지 - 패키지 의존성, 메타데이터
패키지 간 의존성
하나의 패키지를 사용하기 위해서 다른 패키지가 필요한 경우, 해당 연관관계를 해결할 수 있도록 필요한 패키지를 환경에 설치해놔야한다.
정적 라이브러리
- Static Linking - 실행파일 하나가 프로그램과 라이브러리를 모두 구성
- (라이브러리가 보이지 않음)
Static Libraries (*.a)
동적 라이브러리
- 두 프로그램이 한 라이브러리를 사용한다고 했을 때, 실행파일 안에 프로그램과 라이브러리를 분리함. (라이브러리는 존재 X)
- Shared Libraries 라는 공유 라이브러리를 통해서 라이브러리를 참조하여 사용.
- 해당 라이브러리를 사용하는 프로그램은 반드시 라이브러리가 설치되어잇다는 전제하에 실행 가능함. -> 의존성 유지 필요성
패키지 관리 시스템을 이용해서 리눅스에 어플리케이션을 설치하는 것을 가장 권장한다고한다.
apt install ~~ : 패키지 매니저를 사용해서 패키지 관리 시스템에 등록된 의존 관계들이 해결되어 있는 소프트웨어 설치 방법
한 운영체제에서 다른 운영체제를 사용할 수 있도록 가상화된 환경을 지원해줌
VM위에 올라가는 운영체제를 Guest OS라고도 부름
Hypervisor 계층 위에 올라감.