apt-get을 사용하여 모든 저장소를 다운로드하는 방법은 무엇입니까?


8

를 사용하여 모든 우분투 리포지토리를 다운로드하는 방법이 apt-get있습니까? 나는 다음과 같은 것을 찾고있다 :

sudo apt-get install --download-only *

디렉토리에서 다운로드 한 저장소에 액세스 할 수 있습니다 /var/cache/apt/archives/.



네. 실제로 리포지토리의 주소를 로컬 컴퓨터로 변경했으며 거기에서 모두 다운로드하고 싶습니다.
Nejat

당신과 같은 아마 wan't 일 : apt-mirror.github.io
azzid

나는 그것을 시도했지만에서 리포지토리의 주소를 변경할 때 제대로 작동하지 않습니다 mirror.list. 에 정의 된 경우 동일 주소는 잘 작동으로 어디 sources.list. 그래서 나는 다른 방법을 찾고 있습니다.
Nejat

해당 패키지를 모두 저장할 수있는 충분한 디스크 공간이 있습니까?
blade19899

답변:


9

우선, 이것은 편리한 방법이 아닙니다. 이 대신 여기에 언급 된 방법을 사용해야합니다 . 그러나 질문에 대한 답변으로.

  • 먼저를 사용하여 사용 가능한 모든 패키지의 이름이 포함 된 파일을 작성하십시오 apt-cache.

    apt-cache  dumpavail |grep -oP "(?<=Package: ).*" >> packagelist
    

    packagelist사용 가능한 모든 패키지 가 포함 된 파일이 생성 됩니다.

  • 이제 파일에있는 모든 패키지를 다운로드하는 간단한 스크립트를 작성하십시오. packagelist

    #!/bin/bash
    for package in `cat packagelist`
     do
        apt-get install -y --download-only $package   
     done
    
  • 저장해.

  • 그것을 사용하여 실행 가능하게하십시오

    chmod +x your_script_name
    
  • 이제 터미널을 열고 루트로 로그인하십시오

    sudo -i
    cd /folder/of/you/script
    ./you_script_name
    

그것은 당신에 따라 사용할 수있는 모든 패키지를 다운로드합니다 /etc/apt/sources.list 에서의 /var/cache/apt/archives디렉토리


0

apt-cacher라는 도구를 사용할 수 있습니다. 당신은 할 수 체크 대한 추가 정보를 원하시면이 링크를. 도움이 되길 바랍니다.


이것은 모든 저장소를 얻지는 않습니다. 일부 패키지를 받으면 패키지 만 캐시됩니다. 나는 그것들을 모두 캐시 할 수있는 방법을 원합니다.
Nejat

그러면 apt-mirror를 사용 하여이 링크를 확인할
Avishek Saha
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.