그 자체로 유용한 몇 가지 종속성을 포함하는 패키지를 설치했습니다. 나중에 원래 패키지를 제거했지만 설치된 종속성을 유지하고 싶었습니다. 그러나 실행을 사용하려고 하면 유지하려는 종속성을 제거하기 위해 apt-get
실행하라는 메시지가 계속 표시됩니다 . apt-get autoremove
그렇다면 어떤 패키지가 종속성으로 설치되었는지 확인하기 위해 저장된 데이터베이스는 어디에 있으며, 사용할 때마다 실행하라는 메시지를 보지 apt
않고 이전 종속성을 유지할 수 있도록 어떻게 편집할 수 있습니까 ?apt-get autoremove
apt-get
답변1
가장 쉬운 방법은 Stephen이 다른 답변에서 제안한 대로 설치하는 것이지만 수동 설치로 표시할 수도 있습니다 aptitude unmarkauto <packages>...
.
답변2
sudo apt-get install ....
보존하려는 패키지를 실행하고 보존할 수 있어야 합니다 . 이렇게 하면 패키지가 "수동으로" 설치되었음을 시스템에 알리므로 자동 제거에서 제거됩니다.
예를 들어, 내 시스템이 일부 패키지를 자동으로 제거하려고 하는 것을 볼 수 있습니다.
# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... The following packages were automatically installed and are no longer required:
bluetooth bluez-cups libboost-filesystem1.55.0
libboost-program-options1.55.0 libdumbnet1 libgssapi3-heimdal
libheimntlm0-heimdal libkdc2-heimdal powertop zerofree
Use 'apt-get autoremove' to remove them.
Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Bluetooth를 수동으로 설치하면 이제 "수동 설치"로 설정되고 Bluetooth(및 해당 종속 항목)에 더 이상 태그가 지정되지 않습니다.
# apt-get install bluetooth
Reading package lists... Done
Building dependency tree
Reading state information... Done
bluetooth is already the newest version.
bluetooth set to manually installed.
The following packages were automatically installed and are no longer required:
libboost-filesystem1.55.0 libboost-program-options1.55.0 libdumbnet1
libgssapi3-heimdal libheimntlm0-heimdal libkdc2-heimdal powertop zerofree
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
답변3
이 명령을 찾았습니다 apt-mark
(루트로 실행해야 함). Run은 apt-mark manual <package name>
시스템이 런타임에 패키지를 제거하지 않도록 패키지를 수동으로 설치된 것으로 표시합니다 apt-get autoremove
.