sources.list
새로운 Ubuntu Server 설치의 명령 줄에서 가장 빠른 서버로 파일 을 업데이트하고 싶습니다 . GUI를 사용하면 이것이 쉽지만 명령 줄에서 간단한 방법이 아닌 것 같습니다.
#
표시를 슬래시 ( /
) 로 바꿔야했습니다 . 그렇지 않으면 나는 sed: -e expression #1, char 53: unterminated
s '명령을 얻었다 .
sources.list
새로운 Ubuntu Server 설치의 명령 줄에서 가장 빠른 서버로 파일 을 업데이트하고 싶습니다 . GUI를 사용하면 이것이 쉽지만 명령 줄에서 간단한 방법이 아닌 것 같습니다.
#
표시를 슬래시 ( /
) 로 바꿔야했습니다 . 그렇지 않으면 나는 sed: -e expression #1, char 53: unterminated
s '명령을 얻었다 .
답변:
백팩 netselect-apt dapper (net) : netselect로 가장 빠른 데비안 미러 선택 [우주] 0.3.ds1-5 : 모두 hardy (net) : netselect로 가장 빠른 데비안 미러 선택 [우주] 0.3.ds1-11 : 모두
Pakket Apt-Spy dapper (관리자) : 대역폭 테스트를 기반으로 sources.list 파일을 씁니다. [우주] 3.1-14 : AMD64 i386 PowerPC
보안 문제로 인해 최신 우분투에 포함되지 않은 것 같습니다 : 버그 보고서
그러나 .. 보통 핑 을 사용 하여 특정 위치에 대한 연결 속도를 찾습니다. 홉 및 대기 시간
더 이상 검색 할 필요가 없습니다. ajmitch 가 설명했듯이deb mirror
자동으로 최상의 미러를 선택 하는 데 사용할 수 있습니다 .
apt-get은 이제 사용자의 위치에 따라 좋은 거울을 자동으로 선택하는 '미러'방법을 지원 합니다. 퍼팅 :
deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse
/etc/apt/sources.list
파일 의 맨 위에는 지리적 위치에 따라 자동으로 미러를 선택하는 데 필요한 모든 것이 있어야합니다.Lucid (10.04), Maverick (10.10), Natty (11.04) 및 Oneiric (11.10) 사용자는
precise
적절한 이름으로 바꿀 수 있습니다 .
sudo apt-get update
하기 전에 실행해야합니다 apt-get install
.
여기에 항상 좋은 오래된 사용하여 작동 한 방법 netselect
과 몇 가지 grep
마법 :
dpkg -i
netselect
아키텍처 를 다운로드 하십시오 . (약 125KB, 종속성 없음)최신 또는 최대 6 시간이 지나면 현재 위치에서 가장 빠른 Ubuntu 미러를 찾으십시오 (아래에서 설명하겠습니다. Markdown에서 제대로 분할되지 않습니다).
sudo netselect -v -s10 -t20`wget -q -O- https://launchpad.net/ubuntu/+archivemirrors | grep -P -B8 "statusUP | statusSIX"| grep -o -P "(f | ht) tp : // [^ \"] * "`
netselect
:
-v
조금 더 장황하게 만듭니다-같은 IP에 다른 미러 매핑이 병합되었음을 알리는 진행률 점과 메시지를보고 싶습니다. :)-sN
마지막에 원하는 미러 수를 제어합니다 (예 : 상위 10 개 미러)-tN
각 미러의 속도 테스트 기간입니다 (기본값은 10입니다. 숫자가 높을수록 시간이 오래 걸리지 만 결과는 더 안정적입니다).이것은 인용 부호입니다 (설명을 위해 붙여 넣지 마십시오)
wget -q -O- https://launchpad.net/ubuntu/+archivemirrors | grep -P -B8 "상태 (UP | SIX)" | grep -o -P "(f | ht) tp : // [^ \"] * "
wget
https://launchpad.net/ubuntu/+archivemirrors 에서 최신 미러 상태를 가져옵니다 .grep
는 실제 ftp / http URL을 포함하는 8 줄의 이전 컨텍스트와 함께 최신 또는 6 시간 뒤의 미러를 추출합니다.grep
는 이러한 ftp / http URL을 추출합니다.다음은 미국 캘리포니아의 샘플 출력입니다.
60 ftp://mirrors.se.eu.kernel.org/ubuntu/ 70 http://ubuntu.alex-vichev.info/ 77 http://ftp.citylink.co.nz/ubuntu/ 279 http://ubuntu.mirrors.tds.net/pub/ubuntu/ 294 http://mirror.umd.edu/ubuntu/ 332 http://mirrors.rit.edu/ubuntu/ 364 ftp://pf.archive.ubuntu.com/ubuntu/ 378 http://mirror.csclub.uwaterloo.ca/ubuntu/ 399 ftp://ubuntu.mirror.frontiernet.net/ubuntu/ 455 http://ubuntu.mirror.root.lu/ubuntu/
netselect
항상 표시 할 가장 적합한 URL을 선택하지는 않습니다 다중 미러는 단일 IP에 매핑됩니다. 3 번은 nz.archive.ubuntu.com
!귀하의 IP에 대해 mirrors.ubuntu.com을 기반으로 최상의 다운로드 속도로 미러를 선택하는 Oneliner.
curl -s http://mirrors.ubuntu.com/mirrors.txt | xargs -n1 -I {} sh -c 'echo `curl -r 0-102400 -s -w %{speed_download} -o /dev/null {}/ls-lR.gz` {}' |sort -g -r |head -1| awk '{ print $2 }'
sort -gr | head -3
.
curl -s http://mirrors.ubuntu.com/mirrors.txt
한 줄만 반환합니다. 여러 줄 http://archive.ubuntu.com/ubuntu/
중에서 선택하려는 목적을 상실합니다. :-/
curl
있기 때문에이 답변 의 일부가 유용 하다는 것을 알았습니다 . curl -r 0-102400 -o /dev/null [server_url]/ls-lR.gz
[server_url]
mirrors.txt
다음은 TCP 대기 시간이 가장 낮은 미러를 찾는 Python 스크립트 입니다.
이 스크립트는 또한 launchpad 에서 가져온 대역폭 및 상태 데이터를 제공하며 sources.list
자동으로 또는 목록에서 선택한 미러를 사용하여 새 파일 을 생성 합니다.
머신 대기 시간이 가장 짧은 5 개의 미국 미러 중에서 선택할 수있는 사용 예 :
$ apt-select --country US -t 5 --choose
netselect
최신 버전의 Ubuntu
README
첫 번째 링크에 있습니다.
mirrors.ubuntu.com/mirrors.txt에 나열된 서버를 테스트하고 가장 빠른 서버를 반환하는 간단한 핑 기반 nodejs 스크립트를 개발했습니다.
sudo npm install -g ffum
ffum
유용하다고 생각되거나 제안 사항이 있으면 알려주세요 (=
git clone
레포와 실행node ffum
이것이 OP의 질문에 직접 대답하지는 않지만 Ubuntu의 데스크탑 / GUI 버전에는 가장 적합한 미러를 찾는 버튼이 있습니다. 그것은 잘 작동하는 것처럼 보였으므로 간단히 살펴 보았지만 후속 조치를 취할 시간이 없었습니다.
내가 제기하는 이유는 명령 줄 유틸리티로 만드는 것이 매우 간단하고 유용 할 것이기 때문입니다.
관심있는 사람이 있으면 테스트가 다음 위치에있는 것 같습니다.
/usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
다시 말하지만, 그것은 내가 가진 한, 그러나 나는 누군가가 그것을 원한다면 나는 이것을 여기에 남겨 둘 것이라고 생각했습니다. 시간이 좀 더 있으면 다시 찾아올 것입니다.
$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
>>[top 5 omitted] and the winner is: ny-mirrors.evowise.com
에 우분투 18.04 나는 실행하여 좋은 결과를 얻었다
python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
"시간"(설명되지 않음)으로 구성된 미러 목록을 인쇄 한 다음 가장 높은 미러 중 하나를 사용했습니다.
나에게 거울로 설정 /etc/apt/sources.list
한 다음 수행 하여 해당 명령으로 출력되는 몇 가지 주요 결과를 테스트하는 것이 유용했습니다.
time sudo apt update
해당 미러에서 패키지 목록을 다운로드하는 데 걸린 시간을 확인하십시오. 나는 세 가지 제안을 테스트했는데 모두 빠르지 만 그중 하나는 다른 두 가지보다 빠릅니다 time sudo apt update
.
출력 결과는 다음과 같습니다 python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py
.
mirror: es-mirrors.evowise.com - time: 0.183778047562
mirror: it-mirrors.evowise.com - time: 0.18604683876
mirror: la-mirrors.evowise.com - time: 0.192630052567
mirror: ny-mirrors.evowise.com - time: 0.208723068237
mirror: mirrors.accretive-networks.net - time: 0.385910987854
mirror: mirror.team-cymru.org - time: 0.46785402298
mirror: mirrors.psu.ac.th - time: 1.64231991768
and the winner is: es-mirrors.evowise.com
명령 행에는 apt-smart 라는 Python 도구를 사용할 수 있습니다
국가 내 순위가 매겨진 미러를 나열하는 사용 예 (자동 감지) :
$ apt-smart -l
로 -l
, 또는 --list-mirrors
, 당신은 (트래비스 CI 미국 서버에서 예제 출력) 얻을 것이다 :
---------------------------------------------------------------------------------------------------------
| Rank | Mirror URL | Available? | Updating? | Last updated | Bandwidth |
---------------------------------------------------------------------------------------------------------
| 1 | http://mirrors.gigenet.com/ubuntua... | Yes | No | Up to date | 1.73 MB/s |
| 2 | http://mirror.genesisadaptive.com/... | Yes | No | Up to date | 1.68 MB/s |
| 3 | http://ubuntu.mirrors.tds.net/pub/... | Yes | No | Up to date | 1.4 MB/s |
| 4 | http://repos.forethought.net/ubuntu | Yes | No | Up to date | 1.35 MB/s |
| 5 | http://repo.miserver.it.umich.edu/... | Yes | No | Up to date | 937.62 KB/s |
...
| 75 | http://mirror.cc.vt.edu/pub2/ubuntu | Yes | No | 1 day behind | 659.67 KB/s |
| 76 | http://mirror.atlantic.net/ubuntu | Yes | No | 2 days behind | 351.26 KB/s |
| 77 | http://mirror.lstn.net/ubuntu | Yes | No | 4 days behind | 806.81 KB/s |
| 78 | http://mirrors.usinternet.com/ubun... | Yes | No | 4 weeks behind | 514.31 KB/s |
| 79 | http://mirrors.arpnetworks.com/Ubuntu | Yes | No | 19 weeks behind | 418.94 KB/s |
| 80 | http://mirrors.ocf.berkeley.edu/ub... | Yes | Yes | Up to date | 446.07 KB/s |
---------------------------------------------------------------------------------------------------------
Full URLs which are too long to be shown in above table:
1: http://mirrors.gigenet.com/ubuntuarchive
2: http://mirror.genesisadaptive.com/ubuntu
3: http://ubuntu.mirrors.tds.net/pub/ubuntu
5: http://repo.miserver.it.umich.edu/ubuntu
...
78: http://mirrors.usinternet.com/ubuntu/archive
80: http://mirrors.ocf.berkeley.edu/ubuntu
물론 apt-smart
원하는 경우 sources.list를 변경할 수도 있습니다.
$ apt-smart -a
을 사용 -a
하거나 --auto-change-mirror
사용 가능한 미러를 찾으려면 연결 속도 및 업데이트 상태에 따라 미러의 순위를 정하고 최상의 가용 미러를 사용하도록 /etc/apt/sources.list를 업데이트하십시오.
와 -c
, 또는 --change-mirror MIRROR_URL
/etc/apt/sources.list의 지정된 MIRROR_URL를 사용하여 업데이트합니다.
다른 도구와 비교 :
apt-smart
자동으로 현재 위치를 찾아 해외 여행시 국가를 지정할 필요가 없습니다.apt-smart
ping
런치 패드의 부정확 한 데이터를 사용 하고 의존하는 대신 각 미러에서 실제 HTTP 다운로드를 수행하여보다 정확한 결과 (대역폭 및 상태)를 얻고 HTTP 프록시를 지원합니다 .apt-smart
대부분의 다른 도구는 오랫동안 문제를 해결하지 않습니다.당신은 쉽게 설치할 수 있습니다 apt-smart
통해 pip
자세한 copy'n'paste에 대한 명령과 용도를 참조하시기 바랍니다 설치 프로젝트 읽어보기를 .
유틸리티가이를 수행하려면 다음과 같은 간단한 bash 스크립트와 같은 유틸리티를 구현할 수 있습니다. pip / nodejs없이 유틸리티를 사용하려는 경우 유용 할 수 있습니다.
#!/bin/bash
if [ -z "$1" ]
then
echo Usage: sudo $0 http://mirrors.ubuntu.com/mirrors.txt
echo OR consider one of...
for mirror in `wget http://mirrors.ubuntu.com/mirrors.txt -O - 2> /dev/null`
do
(
host=`echo $mirror |sed s,.*//,,|sed s,/.*,,`
echo -e `ping $host -c1 | grep time=|sed s,.*time=,,`:' \t\t'$mirror
) &
done
wait
exit 1
fi
OLD_SOURCE=`cat /etc/apt/sources.list | grep ^deb\ | head -n1 | cut -d\ -f2`
[ -e /etc/apt/sources.list.orig ] || cp /etc/apt/sources.list /etc/apt/sources.list.orig
cp /etc/apt/sources.list /etc/apt/sources.list.tmp
sed "s,$OLD_SOURCE,$1," < /etc/apt/sources.list.tmp > /etc/apt/sources.list
허용 대답을 포함한 다른 답변은, 더 이상 유효하지 (우분투 11.04 및 대한 이상)가 같은 데비안 패키지를 권장하기 때문에 netselect-apt
와 apt-spy
우분투 작동하지 않습니다.
이 질문에 대한 두 가지 다른 작업 답변이 아래에 있습니다.
mirror:
방법을 사용하십시오
이 방법은 IP를 기반으로 Ubuntu 서버에 가까운 미러 목록을 요청하고 그 중 하나를 선택합니다. 가장 가까운 대안, 때로는 가장 가까운 미러가 가장 빠르지 않은 작은 단점이 있습니다.
sed
에서 미러를 교체하는 데 사용 합니다 sources.list
.sed
거울을 교체하는 데 사용sources.list
일부 소스는 경로의 일부로 추가 폴더를 사용하므로 대체 구분 기호 구문을 사용하는 것이 좋습니다.
sudo sed -i 's%us.archive.ubuntu.com%mirrors.gigenet.com/ubuntuarchive/%' /etc/apt/sources.list
가장 빠른 미러를 얻는 가장 쉽고 효율적인 방법은 apt mirror://
소스 를 사용하는 것입니다.
https://mvogt.wordpress.com/2011/03/21/the-apt-mirror-method/