.deb 파일을 실행할 때 Linux가 수행하는 작업을 이해하고 싶습니다. 즉, .deb 파일이나 파일의 기본 이름에서 특정 파일을 찾습니다. 저는 Linux를 처음 접했기 때문에 간단하고 직접적인 답변이 좋을 것입니다! 미리 감사드립니다!
답변1
파일은 다음 내용을 포함하는 아카이브 .deb
입니다(추출하거나 ar x package.deb
단순히 내용을 나열하여 ) .dpkg -c package.deb
data.tar.xz
control.tar.gz
debian-binary
data.tar.xz
이 아카이브를 추출하면 tar -xvf data.tar.xz
해당 파일이 설치된 폴더 구조에 실제 파일이 있게 됩니다. 모든 프로그램은 컴파일됩니다(소스 코드를 다운로드하여 직접 컴파일하는 것과 반대). 작은 패키지의 내용이 ./usr/bin/program
(바이너리 파일) 및 ./usr/lib/program/special.so
(프로그램에서 사용하는 라이브러리)라고 가정하면 설치 프로세스에서 수행하는 모든 작업은 이러한 파일을 디렉터리에 복사하는 것입니다 /usr
.
control.tar.gz
추출로 tar -xzvf control.tar.gz
. 보안상의 이유로 해시, 패키지 버전 및 각 파일 버전에 대한 정확한 설명, 종속성에 대한 정보, 구성 파일 등 설치 제어를 위한 참조가 포함되어 있습니다.
버전과 종속성을 설명할 필요성은 분명합니다. 업데이트가 -files를 통해 설치 되더라도 파일 버전은 흥미롭습니다 .deb
. 예를 들어 일부 라이브러리 파일은 동일할 수 있으므로 다시 설치할 필요가 없습니다. 반면에 구성 파일은 일반적으로 사용자가 조정하므로 이를 재정의하는 것은 금물입니다.
데비안 바이너리
.deb
사용할 파일 표준을 시스템에 알려줍니다 . 2.0 - 오늘.
또 무슨 일이 일어나고 있나요?
버전 정보 dpkg
및 해당 패키지를 찾을 수 있는 위치로 설치된 패키지의 로그를 업데이트합니다. 버전 및 종속성 확인과 패키지 제거에 필요합니다.
답변2
Linux는 .deb 파일을 직접 실행하지 않습니다. .deb 파일을 클릭하면 시스템은 .deb 파일에 패키지된 애플리케이션을 설치할 수 있는 프로그램으로 .deb 파일을 열어야 한다는 것을 알고 있기 때문에 설치됩니다. 일반적으로 이러한 프로그램은 .deb 파일을 열고 내용을 추출하는 것 dpkg
입니다 dpkg
. .deb 파일에는 두 개의 압축된 아카이브 등이 포함되어 있습니다. (https://fileinfo.com/extension/deb,https://en.wikipedia.org/wiki/Deb_(파일 형식)). 하나는 설치 지침/스크립트를 포함하고 다른 하나는 설치된 애플리케이션의 실제 파일을 포함합니다. 일반적으로 설치 스크립트는 프로그램을 지정된 디렉터리에 복사하고 프로그램에 필요할 수 있는 일부 기타 설정을 지정합니다. 프로그램이 매우 간단한 경우에는 설정이 필요하지 않으므로 설치는 단순히 프로그램을 대상에 복사하고 거기에서 실행할 수 있습니다.