내 시스템에서 라이브러리를 찾았지만 어디에도 사용되지 않는 것 같습니다. 그래서 깔끔함을 위해 삭제하겠습니다. 하지만 아무 것도 깨지지 않았는지 확인하고 싶습니다.
특히 libgme0에 관한 것입니다. 저는 리눅스 민트 18을 사용하고 있습니다.
지금까지 나는 시도했다
ldd /bin/* | grep libgme0 ldd /sbin/* | grep libgme0 ldd /usr/bin/* | grep libgme0 ldd /usr/sbin/* | grep libgme0
결과가 없습니다. 이는 라이브러리가 사용되지 않고 제거를 위해 저장되지 않았다는 것을 증명하기에 충분합니까?
답변1
배포판의 패키지 관리자가 이를 제거해도 안전한지 결정하도록 해야 할 것입니다.
어쩌면 그것을 제거 apt-get remove libgme0
하고 다른 패키지를 제거하고 싶은지 확인해 볼까요?
답변2
/bin
, Except 이외 /lib
의 파일은 /sbin
패키지 관리자의 제어를 받습니다. 이러한 파일을 수동으로 수정하거나 삭제하지 마십시오./usr
/usr/local
라이브러리가 사용 중인지 /lib
또는 /usr/lib
사용 중인지 확인하려면 먼저 라이브러리가 포함된 패키지를 확인하세요. Linux Mint에서 dpkg -S /usr/lib/libgme.so.*
. aptitude search '~i ~Dlibgme0'
이것이 조회수를 반환하면 라이브러리가 사용 중이며 시스템을 손상시키지 않고 제거할 수 없습니다(이 라이브러리에 의존하는 패키지를 사용하지 않는 한, 이 경우 제거할 수 있음). 다른 경우에도 마찬가지입니다. 이 라이브러리의 패키지). 또는 패키지( sudo apt-get remove libgme0
) 제거를 요청하고 제거된 다른 항목을 확인하세요.
일반적으로 필요하지 않다고 확신하는 경우가 아니면 삭제하지 마세요. 직접 사용하지 않더라도 다른 프로그램에서 사용하기 때문에 많은 파일이 필요합니다.
APT는 패키지를 "자동 설치"(다른 패키지의 종속성) 또는 "수동 설치"로 표시하는 메커니즘이 있는 Mint(및 Debian, Ubuntu, 기본 OS 등)에서 사용되는 패키지 관리 도구입니다. 이 명령을 실행 apt-get autoremove
하면 자동 설치로 표시된 모든 패키지는 물론 수동으로 설치된 패키지에 현재 필요하지 않은 패키지도 제거 할 수 있습니다 . 제거를 권장하는 패키지 목록을 확인하세요. 때로는 패키지가 자동으로 설치되지만 꼭 필요한 경우도 있습니다. 또는 Aptitude를 사용하여 apt-mark
패키지에 대한 수동/자동 플래그를 설정합니다.
답변3
아니요, 이는 사용되지 않으며 안전하게 제거할 수 있다는 것을 증명하기에는 충분하지 않습니다.
라이브러리를 사용하는 바이너리는 /bin, /sbin, /usr/bin, /usr/sbin 이외의 위치에 있을 수 있습니다.
답변4
짧은 답변
아니요.
긴 대답
아니요. 왜냐하면 이 라이브러리를 사용할 수 있는 바이너리의 전체 목록이 아니기 때문입니다. 바이너리 파일은 파일 시스템의 어느 곳에나 존재할 수 있습니다. 표준 바이너리 위치에는 /bin
, /bin/sbin
, /usr/bin
, /usr/sbin
, /usr/local/bin
가 포함됩니다 /usr/local/sbin
. 그러나 일부 패키지는 다른 위치에 실행 파일을 설치할 수 있습니다. /opt
예를 들어 사용자는 이를 홈 디렉터리의 거의 모든 위치에 배치할 수 있으며 충분한 권한이 없으면 이를 제어할 수 없습니다. 파일 시스템의 모든 실행 파일을 실제로 열거하려면 다음이 더 안전한 명령입니다.
find / -type f -perm -100
그러나 이를 위해서는 특권이 필요합니다. 예상할 수 있듯이 이러한 방식으로 바이너리가 라이브러리를 사용하지 않는지 확인하는 것은 길고 지루한 프로세스가 될 수 있습니다.
하지만 패키지 관리자를 사용하면 도움이 될 것입니다. 중요한 패키지 관리자는 라이브러리 종속성을 나열하는 데 도움이 될 수 있습니다. 예를 들어 다음 명령은 패키지의 라이브러리 종속성을 표시합니다 wget
.
데비안/우분투:
apt-cache show wget
아치:
pacman -Qi wget
패키지 관리자는 현재 사용 중인 라이브러리 패키지를 제거하지 못하게 하는 경우도 많습니다.
패키지 관리자를 사용하는 것이 라이브러리 종속성을 유지하는 올바른 방법입니다. 배포판에 제공되지 않고 소스에서 컴파일해야 하는 소프트웨어가 정말로 필요하다면 출력 바이너리와 라이브러리를 접두사가 붙은 디렉터리 /usr/local
(예 /usr/local/bin
: , /usr/local/sbin
및 ) 에 보관하십시오 /usr/local/lib
. 패키지 관리자가 관리하는 패키지는 /usr/local
.