Apt는 사용자가 소스에서 설치 한 소프트웨어에 필요한 패키지를 삭제할 수 있습니까?


14

Apt 는 리포지토리 또는 *.deb파일 에서 설치된 패키지 간의 종속성을 처리 합니다. 그러나 사용자가 파일을 먼저 ./configure && make && make install만들지 않고 소스에서 컴파일하고 설치 한 소프트웨어는 .deb어떻습니까? 그것은 가능성이 아파트 와 같은 소프트웨어가 필요로 패키지를 제거 할 수 있을까? 소스에서 소프트웨어를 설치 /opt하거나 /usr/local차이를 만들 수 있습니까?


1
소스에서 설치된 패키지에 대해 equivs 패키지를 독립형으로 설치하여 종속성을 설치 상태로 유지할 수 있습니다.
Faheem Mitha

답변:


13

APT는 수동으로 설치된 소프트웨어에 대해 아무것도 모릅니다. 소프트웨어에 어떤 라이브러리가 필요한지 또는 아무것도 모릅니다.

APT가 다른 패키지의 종속성을 충족시키기 위해 패키지를 설치하는 경우이 패키지는 자동으로 설치된 것으로 표시됩니다. 자동으로 설치된 패키지에 종속 된 모든 패키지를 제거하면 해당 패키지가 실행될 때 제거됩니다 apt-get autoremove. APT에 대한 상위 수준의 프론트 엔드는 일반적으로 다른 유지 관리 후에이를 제공합니다. 로컬로 설치된 소프트웨어에 필요한 패키지를 제거하지 않으려면 이러한 패키지를 수동으로 설치된 것으로 표시하십시오 : 또는 적성 의 키.apt-mark manual PACKAGE-NAMEm

바이너리 실행 파일에 필요한 라이브러리 패키지를 찾으려면을 실행하십시오 ldd /path/to/executable. 을 포함하는 각 줄에 대해 해당 라이브러리를 포함하는 패키지 이름을 표시하려면 실행 하십시오. 스크립트의 경우 스크립트에서 사용하는 인터프리터를 보여줍니다. 이 인터프리터가 계속 설치되어 있는지 확인하십시오. 스크립트가 사용하는 라이브러리를 찾는 것은 어려울 수 있습니다. 그렇게하는 보편적 인 방법은 없습니다./usr/lib/SOMETHINGdpkg -S /usr/lib/SOMETHINGhead -n 1 /path/to/script

배포판에있는 최신 버전의 패키지를 수동으로 설치 한 경우 배포판 패키지의 종속성을보고 수동으로 설치 한 것으로 표시하십시오.


apt-get데비안 제시에는 manual옵션 이 없습니다 . 이 수동 대 자동 (matic) 설치 힌트를 위해 apt-mark대신 사용 했습니다. ( apt-mark manual pkg, apt-mark showmanual pkg,apt-mark auto pkg 등)
Lekensteyn

@Lekensteyn apt-mark감사합니다.
Gilles 'SO- 악마 그만해'

14

apt그리고 dpkg절대적으로 외부의 패키지 관리 시스템의 범위입니다 로컬에 설치된 다른 소프트웨어에 필요한 소프트웨어를 제거 할 수 있습니다. 에 대한 방법 단순히 없습니다 aptdpkg같은 소프트웨어가있을 수 있음을 알 수는.

이러한 소프트웨어가 설치되어있는 위치는 차이가 없습니다 : 그것은있을 수 /opt또는 /usr/local정말, 어느 곳이나 사용자의 홈 디렉토리에서 (이 경우에도 시스템 관리자가 자신의 존재를 인식하지 않을 수 있습니다), 또는.

기술적으로 apt또는 dpkg심지어 다른 소프트웨어에 필요한 소프트웨어를 제거 할 수 있다 후자의 소프트웨어는 이전의 소프트웨어에 따라 달라 선언하지 않을 경우, 패키지 관리 시스템의 일부를. 그러나 deb 패키지를 만드는 프로세스에는 패키지 관리자가 이와 같은 종속성을 선언하는 것을 잊어 버리지 않도록하는 자동화가 포함됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.