내 인터넷 연결은 일반적으로 좋지 않으며 특정 시간에 문제를 일으킵니다. 따라서 저는 정기적으로 .deb 파일을 백업하고 새로 설치할 때 동일한 폴더에 복사합니다. 이렇게 하면 설치된 애플리케이션 이외의 애플리케이션 종속성도 백업됩니다. 다운로드할 수 있는 명령을 찾았습니다.apt-get install an-app
/var/cache/apt/archives
모두 내 시스템에 설치된 것을 포함한 애플리케이션의 종속성:
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-pre-depends <appname> | grep "^\w" | sort -u)
apt-get download <appname>
응용 프로그램의 일부 종속성이 새 시스템에 설치되지 않을 수 있기 때문에 이것을 사용합니다.
하지만 이 경우 응용 프로그램을 업그레이드하면 해당 응용 프로그램의 이전 .deb 파일도 내 디스크에 저장됩니다. 이러한 파일은 쓰레기가 됩니다. 캐시 폴더에서 이 정크를 지워야 합니다. 그래서 내 질문은 다음과 같습니다
특정 애플리케이션의 저장소 파일과 모든 종속성(및 최신 버전만)만 미러링하는 방법이 있습니까? 아니면 apt-mirror
특정 애플리케이션에 대한 데비안 저장소만 미러링하기 위해 유사한 방법을 사용하시겠습니까?
답변1
마지막으로 다음 단계에 따라 문제를 해결했습니다.
백업
/var/cache/apt
디렉터리(뿐만 아니라/var/cache/apt/archives
).APT::Clean-Installed
속성을false
파일 로 설정합니다apt.conf
. 이렇게 하려면 .conf 파일을 만들고 해당 줄을/etc/apt/apt.conf.d
추가합니다APT::Clean-Installed "false";
. 예를 들어:$ sudo touch /etc/apt/apt.conf.d/custom.conf $ sudo echo "APT::Clean-Installed "false";" > /etc/apt/apt.conf.d/custom.conf
애플리케이션 파일을 설치하지 않고 캐시를 지우려면:
$ sudo apt-get autoclean
나는 이것을 다음에서 얻습니다 man 8 apt-get
:
autoclean (및 1.1부터 auto-clean 별칭)
clean과 마찬가지로 autoclean은 검색된 패키지 파일의 로컬 저장소를 정리합니다. 차이점은 더 이상 다운로드할 수 없고 본질적으로 쓸모가 없는 패키지 파일만 제거한다는 것입니다. 이를 통해 제어를 벗어나지 않고도 캐시를 장기간 유지 관리할 수 있습니다. APT::Clean-Installed 구성 옵션을 off로 설정하면 설치된 패키지가 제거되지 않습니다.