본문 바로가기
42 Seoul

[42 Seoul] Born2beroot 배경 지식 정리 2

by Kloong 2022. 2. 2.

파티션

디스크에서 파티션이란 디스크의 공간을 논리적으로 별도의 데이터 영역으로 분할한 공간을 의미합니다. 파티션을 통해 하나의 디스크를 서로 분리된 여러 개의 디스크처럼 쓸 수 있습니다. 파티션은 바로 이러한 목적에 의해 개발된 기술입니다. 이러한 파티션은 기본 디스크 형식에서 사용하는 개념입니다. 다음은 윈도우 7 도움말에 기재된 파티션에 대한 정의입니다

이러한 파티션에는 주 파티션, 확장 파티션, 논리 드라이브의 세 가지 종류가 있습니다.

볼륨

볼륨이란 파일 시스템으로 포맷된 디스크 상의 저장 영역을 의미합니다. 기본 디스크에서 저장 영역은 파티션이기 때문에 기본 디스크에선 하나의 파티션이 하나의 볼륨이 됩니다. 그렇기 때문에 많은 곳에서 그 의미가 동일하게 사용되는 경우가 대부분 입니다.

그러나 엄밀하게 말하여 볼륨은 파티션이 아닙니다. 동적 디스크에서는 파티션이라는 개념 자체가 적용되지 않으며 서로 분할된 저장 영역 자체를 바로 볼륨이라고 정의하고 있습니다. (기본 디스크의 파티션과 동적 디스크의 볼륨은 거의 같은 개념이라고 볼 수 있습니다) 또한 동적 디스크에서 볼륨은 여러 개의 디스크로 스팬될 수도 있습니다.

파일 시스템으로 포맷된 하드 디스크 상의 저장 영역입니다. 단일 하드 디스크에 여러 개의 볼륨이 있을 수 있고 일부 볼륨은 여러 개의 하드 디스크로 스팬될 수 있습니다.

드라이브(Drive)

드라이브란 드라이브 문자가 지정된 저장 영역입니다. 이 때 저장 영역은 디스크를 포함하여 CD-ROM 장치들, 플로피 디스크 모두를 포함합니다. 즉, 볼륨에 드라이브 문자를 할당하면 해당 볼륨은 지정된 문자의 드라이브가 되는 것 입니다. 또한 드라이브 문자를 지정할 수 있는 모든 장치와 기타 저장 공간들도 문자를 할당받는 순간 드라이브가 되는 것 입니다.

하나의 저장 영역은 반드시 하나의 드라이브 문자만을 할당 받을 수 있으며 하나의 드라이브 문자는 하나의 저장 공간에만 할당될 수 있습니다. 윈도우에서는 모든 볼륨이 반드시 드라이브 문자를 할당 받아야 하는 것은 아닙니다. 시스템 예약 파티션과 같이 드라이브 문자를 할당받지 않는 볼륨도 존재하며 드라이브 문자가 아닌 드라이브 경로를 통해 다른 볼륨에 마운트되기도 합니다.

출처

http://www.eniac-security.kro.kr/105

LVM

리눅스에서 디스크를 사용하는 가장 기본적인 방법은 디스크를 파티션으로 나누어 각각의 디렉터리에 파일 시스템으로 마운트 한 뒤 지정된 위치에 데이터를 저장해서 사용하는 것입니다 (디스크 → 파티션 → 파일시스템 (/home))

LVM은 커널에 구현된 기능으로 디스크를 좀 더 효율적으로 사용할 수 있습니다.

LVM은 파티션 대신 볼륨이라는 단위로 저장장치를 다루며, 물리 디스크를 볼륨 그룹으로 묶어 다시 논리 그룹으로 나누어 파일 시스템을 만듭니다 (디스크 → 파티션 → 볼륨그룹 → 논리그룹 → 파일시스템 (/home))

LVM을 적용하게 되면 디스크를 변경, 추가할 때 물리적인 부분을 건드릴 필요가 없습니다. 따라서 여러 디스크를 하나로 뭉쳐서 사용할 수도 있으며 하나의 디스크를 여러 디스크인 것처럼 나누어 사용할 수 있습니다.

사용 중인 파티션의 크기를 바꿀 수도 있고 디스크를 추가한 뒤 간단한 작업을 통해 용량을 확장시킬 수 있습니다.

LVM을 사용하면 여러 파티션을 하나의 논리적인 볼륨으로 묶은 뒤 다시 필요한 크기만큼 나눠서 사용할 수 있습니다.

출처

https://wiseworld.tistory.com/32

apt

Advanced Packaging Tool. 자유/공개 소프트웨어로, 소프트웨어 설치와 삭제를 용이하게 하는 패키지 관리 툴이다. 초기에는 Debian 계열의 패키지인 .deb 패키지를 관리하기 위해 만들었지만, 현재는 RPM(RPM Package Manager)과도 호환된다.

apt를 활용해서 패키지를 설치하면, '/etc/apt/sources.list'에 지정된 소스 목록에서 해당 패키지 + 종속성 목록과 함께 찾아 자동으로 설치한다. 따라서 apt를 사용하면 패키지를 설치할 때 종속성 문제를 신경쓰지 않아도 된다.

aptitude

aptitude는 CLI 외에도 터미널에서 GUI처럼 사용할 수 있는 사용자 인터페이스를 제공한다. 사용자가 대화형으로 패키지를 검색, 설치, 제거할 수 있다. apt와 마찬가지로 데비안 계열의 패키지인 .deb를 관리하기 위해 만들어졌지만, 현재는 RPM(RPM Package Manager)과도 호환된다.

aptitude가 제공하는 사용자 인터페이스

apt와 aptitude의 차이점

aptitude는 high-level 패키지 매니저이고, apt는 다른 high-level 패키지 매니저에 의해 사용될 수 있는 low-level 패키지 매니저이다. (아마도 사용자 인터페이스 측면에서 이렇게  구분될 수 있는 것으로 보인다)

그 외에 다른 차이점을 살펴보면,

  • aptitude는 사용하지 않는 패키지를 자동적으로 제거해준다. 반면 apt는 추가적 옵션이 필요하다. (ex. 'autoremove', '-auto-remove')
  • apt에서 각각 upgrade와 dist-upgrade로 쓰이던 커맨드는 safe-upgrade와 full-upgrade로 바뀌었다.(보다 명확히 하기 위해?)
  • aptitude는 apt-get 외에 apt-chche, apt-mark와 같은 툴도 같이 사용한다.
  • aptitude는 검색에서 조금 다른 쿼리 신택스를 사용한다 (apt-cache와 비교했을 때)
  • aptitude는 why와 why-not 커맨드를 통해 특정 패키지를 설치할 때 어떤 것이 요구되고, 어떤 것과 충돌하는지 확인할 수 있다.
  • aptitude는 설치, 제거, 업데이트 과정에서 충돌이 있는 경우 다른 대안을 제시해줌. apt는 그냥 안 된다고만 함.

등이 있다.

출처

https://tbonelee.tistory.com/m/16

https://www.tecmint.com/difference-between-apt-and-aptitude/

https://velog.io/@joonpark/aptitude-vs-apt

https://unix.stackexchange.com/questions/767/what-is-the-real-difference-between-apt-get-and-aptitude-how-about-wajig

*rpm이란?

더보기

RPM 패키지 매니저(RPM Package Manager←Red Hat Package Manager)는 원래 레드햇에서 사용되었던 패키지 파일이었지만 현재는 많은 RPM 기반 배포판이 사용되고 있다. 이는 두 가지를 말하는데, 하나는 RPM 패키지 그 자체와 또 하나는 RPM 패키지를 관리하기 위한 도구이다. RPM을 사용하면 각종 소프트웨어의 설치 및 업데이트를 굉장히 편리하게 할 수 있다.

RPM은 Linux Standard Base의 표준 패키지 포맷 중 하나이다.
원래 레드햇 리눅스를 위한 것이었지만 많은 리눅스 배포판으로도 이식되었다.

 

출처
https://ko.wikipedia.org/wiki/RPM_%ED%8C%A8%ED%82%A4%EC%A7%80_%EB%A7%A4%EB%8B%88%EC%A0%80

*dpkg란?

더보기

dpkg는 Debian의 패키지 관리 시스템의 기초가 되는 소프트웨어이다. dpkg 명령어를 통해 .deb 패키지의 설치, 삭제, 검색을 할 수 있다.

dpkg는 apt 같은 high-level 패키지 매니저에 비해서 상대적으로 low-level의 패키지 매니저이다. apt는 dpkg 보다 많이 쓰이는데, 원격에서 패키지를 가져올 수 있고, 패키지 의존성 문제를 해결할 수 있는 여러 방법을 제공하기 때문이다.

 

apt 내부적으로는 dpkg 소프트웨어를 사용한다고 한다. 

 

출처

https://ko.wikipedia.org/wiki/Dpkg

https://linuxhint.com/debian_package_managers/

댓글