시스템 크기가 중요하기 때문에 가능한 한 종속성에서 파일이 적은 패키지를 설치하려고합니다.
예를 들어, 패키지를 설치하고 싶을 때 apt-get install
다른 시스템에 패키지를 설치 한 다음 apt-cache depends
(대규모의) 패키지 목록을 가질 때까지 패키지와 모든 종속성 을 체계적으로 살펴볼 수 있습니다 (종속 된 모든 패키지 표시).
그런 다음 dpkg -L
(패키지별로 설치된 모든 파일 표시) 목록을 살펴보고 원래 패키지가 작동하도록 시스템에 복사해야 할 파일 목록을 (거대한) 가져옵니다.
나는 이것을 python
패키지로했고 몇 번의 시도만으로 운이 좋았습니다. 다른 패키지는 슬프게도 더 복잡해 보입니다.
패키지를 성공적으로 설치하는 데 꼭 필요한 최소한의 파일 세트를 찾는 더 좋은 방법이 분명히 있어야합니다. 일부 분명히 쓸모 후보는 /usr/share/man/*
, /usr/share/doc/*
등
종속성에서 어떤 특정 파일이 필요한지 알아내는 방법이 있습니까? (예 : 전체 컬렉션에서 하나의 라이브러리 파일 만)
파일을 선택하고 여전히 작동하는지 시도하는 것 외에 최소한의 파일 세트를 얻는 다른 방법이 있습니까?
필요한 파일을 수집하는 방법이 올바른가요?
또한 : 소스에서 컴파일하는 것이 옵션일까요? 나는 아직도이 관행에 완전히 익숙하지 않으며 다음에 그것을 찾아 볼 것입니다.
편집 : XUbuntu 14.04를 사용하고 있습니다.
개별 파일을 제거하는 것은 잘못된 접근 방식이라고 생각합니다. 잠재적으로 무엇을 깨뜨리고 있는지 확신 할 수 없습니다.
패키지 B에서 파일 A를 제거하고 기능 F1을 테스트하면 모두 작동하는 것 같습니다. 그러나 그것은 F1에 A가 필요하지 않았기 때문일 수 있습니다. 기능 F2를 사용하려고한지 일주일 후 파일 A가 필요하기 때문에 비참하게 실패하지만 진단이나 문제 해결이 매우 어렵습니다.
이론적으로 패키지 작성자는 이미 종속성과 파일을 최소화하려고합니다.
반면에 소프트웨어를 직접 컴파일하는 것이 더 나은 방법 일 수 있습니다. 많은 패키지가 정적 버전 (외부 라이브러리에 의존하지 않음)을 생성 할 수있는 가능성을 제공 한 다음 더 작은 공간을 확보 할 수 있습니다.
이 방법을 사용해도 케이스마다 다릅니다. 또한 시간이 많이 걸립니다.
내 조언은 deborphan
(또는 배포판에서 동등한 도구)와 같은 도구를 사용하는 것 입니다. 그러면 안전하게 제거 할 수있는 종속성이없는 패키지가 나열됩니다. 제거 할 때마다 제거해도 안전한 패키지를 더 많이 찾을 수 있으므로 반복적 인 프로세스입니다.
시도 deborphan -a
모든 후보뿐만 아니라 라이브러리 및 종속성 목록을 것이다, 또한.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다