설치된 애플리케이션의 .deb 파일만 Debian 저장소에서 오프라인 설치용 캐시로 가져옵니다(종속성 포함).

설치된 애플리케이션의 .deb 파일만 Debian 저장소에서 오프라인 설치용 캐시로 가져옵니다(종속성 포함).

내 인터넷 연결은 일반적으로 좋지 않으며 특정 시간에 문제를 일으킵니다. 따라서 저는 정기적으로 .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

마지막으로 다음 단계에 따라 문제를 해결했습니다.

  1. 백업 /var/cache/apt디렉터리(뿐만 아니라 /var/cache/apt/archives).

  2. 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
    
  3. 애플리케이션 파일을 설치하지 않고 캐시를 지우려면:

    $ sudo apt-get autoclean
    

나는 이것을 다음에서 얻습니다 man 8 apt-get:

autoclean (및 1.1부터 auto-clean 별칭)
clean과 마찬가지로 autoclean은 검색된 패키지 파일의 로컬 저장소를 정리합니다. 차이점은 더 이상 다운로드할 수 없고 본질적으로 쓸모가 없는 패키지 파일만 제거한다는 것입니다. 이를 통해 제어를 벗어나지 않고도 캐시를 장기간 유지 관리할 수 있습니다. APT::Clean-Installed 구성 옵션을 off로 설정하면 설치된 패키지가 제거되지 않습니다.

관련 정보