최근에 저는 Orange Pi 2G IoT를 구입했습니다(이 작은 SoC는 정말 훌륭합니다!). Ubuntu 서버를 설치하고 직렬 포트를 통해 연결했으며 시스템을 업데이트하고(apt-get 업데이트만 가능) 일부를 설치할 수도 있었습니다. 하지만 여기에 작은 문제가 있습니다. 패키지를 오프라인으로 설치하고 싶습니다(우리 집에서는 인터넷에 연결되어 있지 않습니다).저장소하지만 약 9MB만 다운로드할 수 있고 "수영장(제 생각에는) 패키지가 상주하는 " 파일을 검색하면 해당 저장소에 있는 파일 목록만 만들고 "index.html" 중 일부만 다운로드할 뿐 그 이상은 아닙니다.
wget
나는 Debian Jessie amd64가 설치된 PC를 사용하고 있으며 NTFS 파티션의 폴더에 위치하며(공간이 충분한지 확인) 다음 명령을 사용하여 콘솔에서 저장소를 미러링하려고 시도했습니다 .
wget --mirror --convert-links --show-progress --recursive --wait=5 http://mirrors.ustc.edu.cn/ubuntu-ports/
더 나은 아이디어가 있는 사람이 오프라인 사용을 위해 이 저장소를 다운로드하는 데 도움을 줄 수 있습니까?
답변1
debmirror
모든 것이 연결되지는 않기 때문에 tryign 대신 wget을 사용하는 것이 더 나을 것입니다 .
이것은 제가 실행하는 데 사용한 스크립트입니다. debmirror
스키마, 섹션, 버전 등을 변경해야 한다는 점에 유의하세요.
#!/bin/sh
# Architecture (i386, powerpc, amd64, etc.)
arch=i386,amd64
# Section (main,contrib,non-free)
section=main,multiverse,universe,restricted,partner
# Release of the system (squeeze,lenny,stable,testing,etc)
release=xenial,xenial-backports,xenial-proposed,xenial-security,xenial-updates,yakkety,yakkety-backports,yakkety-proposed,yakkety-security,yakkety-updates,zesty,zesty-backports,zesty-proposed,zesty-security,zesty-updates,artful,artful-updates,artful-security,artful-proposed,artful-backports
# Server name, minus the protocol and the path at the end
server=us.archive.ubuntu.com
# Path from the main server, so http://my.web.server/$dir, Server dependant
inPath=/ubuntu
# Protocol to use for transfer (http, ftp, hftp, rsync)
proto=http
# Directory to store the mirror in
outPath=/storage/mirrors/mirror/archive.ubuntu.com/ubuntu
logfile=ubuntu-mirror.log-`date +%m-%d-%Y`
# Start script
debmirror -a $arch \
--no-source \
--slow-cpu \
--i18n \
--md5sums \
--progress \
--passive \
--verbose \
-s $section \
-h $server \
-d $release \
-r $inPath \
-e $proto \
$outPath
# pull in all the Release.gz etc. stuff
for i in `echo $release | sed s/\,/\ /g`
do
rsync -avrt rsync://us.archive.ubuntu.com/ubuntu/dists/$i $outPath/dists
done
# fix Translation files
cd $outPath/dists
for i in `find ./ -iname Translation-en.gz`
do nn=`echo $i | sed s/\.gz//g`
zcat $i > $nn
done
답변2
wget
웹사이트를 재귀적으로 크롤링할 때 robots.txt 파일을 따르세요. -e robots=off
추가 정보를 사용하여 이 동작을 재정의 할 수 있습니다.여기
@ridgy님 감사합니다