Quiero actualizar mi sources.listarchivo con el servidor más rápido desde la línea de comandos en una nueva instalación de Ubuntu Server. Sé que esto es trivialmente fácil con la GUI, pero no parece haber una manera simple de hacerlo desde la línea de comandos.
                    
                        command-line
                                apt
                                repository
                                
                    
                    
                        Evan
fuente
                
                fuente

#signos con barras (/). De lo contrario, tengosed: -e expression #1, char 53: unterminatedel 'comando'.Respuestas:
Pakket netselect-apt dapper (net): elija el espejo Debian más rápido con netselect [universo] 0.3.ds1-5: todos hardy (net): elija el espejo Debian más rápido con netselect [universo] 0.3.ds1-11: todosPakket apt-spy apuesto (administrador): escribe un archivo sources.list basado en pruebas de ancho de banda [universo] 3.1-14: amd64 i386 powerpcNo se incluye en Ubuntu más nuevo debido a problemas de seguridad parece: ver: Informe de error
Pero ... normalmente solo uso ping para averiguar la velocidad de una conexión a alguna ubicación. Cantidad de lúpulo y latencia.
fuente
Ya no tiene que hacer ninguna búsqueda: como ha explicado ajmitch , puede usar para que el mejor espejo sea elegido automáticamente.
deb mirrorfuente
sudo apt-get updateantes de hacer cualquier cosaapt-get installpara que use su espejo más cercano.Aquí hay una manera que siempre funcionará, usando buenos viejos
netselecty algo degrepmagia:¡El hack de "encontrar el mejor servidor" del adicto a la terminal!
dpkg -inetselectpara su arquitectura desde el sitio web de Debian. (se trata de 125 KB, sin dependencias)Encuentre los espejos Ubuntu más rápidos desde su ubicación, ya sea actualizados o como máximo seis horas atrás con esto (lo explicaré a continuación, lo siento, no se divide bien en Markdown)
netselect:-vlo hace un poco detallado: desea ver puntos de progreso y mensajes que le indiquen que se combinaron diferentes mapeos de espejos a la misma IP :)-sNcontrola cuántos espejos desea al final (por ejemplo, los 10 mejores espejos)-tNes cuánto tiempo se prueba la velocidad de cada espejo (el valor predeterminado es 10; cuanto mayor es el número, más tiempo se tarda pero más confiables son los resultados).Este es el material de las comillas inversas (no pegue, solo para explicación)
wgetextrae el último estado de espejo de https://launchpad.net/ubuntu/+archivemirrors .grepextractos reflejan espejos que están actualizados o con seis horas de retraso, junto con 8 líneas de contexto anterior que incluye las URL ftp / http realesgrepextrae estas URL ftp / httpAquí hay un ejemplo de salida de California, EE. UU .:
netselectno siempre elige la URL más apropiada para mostrar cuando múltiples espejos se asignan a una sola IP; el número 3 también se conoce comonz.archive.ubuntu.com!fuente
Oneliner que selecciona el mejor espejo (por velocidad de descarga) basado en mirrors.ubuntu.com para su ip.
fuente
sort -gr | head -3.curl -s http://mirrors.ubuntu.com/mirrors.txtsolo devuelve una línea: lohttp://archive.ubuntu.com/ubuntu/que anula el propósito de elegir entre varias. : - /curlparte de esta respuesta me pareció útil porquecurl -r 0-102400 -o /dev/null [server_url]/ls-lR.gzdónde[server_url]está la URL del espejo base en la listamirrors.txt, permite una comparación de velocidad de los primeros ~ 100K del archivo de índice del espejo.Aquí hay un script de Python que escribí que encuentra espejos con la latencia TCP más baja.
El script también proporciona datos de ancho de banda y estado tomados de la plataforma de lanzamiento , y generará un nuevo
sources.listarchivo automáticamente o usando un espejo elegido de una lista.Un ejemplo de uso que le permite elegir entre 5 espejos de EE. UU. Con la latencia más baja para su máquina:
fuente
netselectque no está disponible en las versiones más nuevas de UbuntuREADMEel primer enlace.Desarrollé un simple script nodejs basado en ping que prueba los servidores enumerados en mirrors.ubuntu.com/mirrors.txt y devuelve el más rápido:
Avíseme si le resulta útil o tiene alguna sugerencia (=
fuente
git cloneel repositorio y correnode ffumSé que esto no responde directamente a la pregunta del OP, pero hay un botón en la versión de escritorio / GUI de Ubuntu que encuentra el mejor espejo para usted. Parecía funcionar bastante bien, así que lo examiné brevemente, pero no tuve tiempo de hacer un seguimiento.
La razón por la que lo menciono es porque creo que sería bastante sencillo y utilizable convertirlo en una utilidad de línea de comandos.
Si alguien está interesado, la prueba parece estar ubicada en:
De nuevo, eso es lo más lejos que llegué, pero pensé que dejaría esto aquí en caso de que alguien lo quisiera. Probablemente lo recupere cuando tenga un poco más de tiempo.
fuente
$ python3 /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py>>[top 5 omitted] and the winner is: ny-mirrors.evowise.comComando que encuentra espejos rápidos
En Ubuntu 18.04 obtuve buenos resultados ejecutando
Eso imprime una lista de espejos organizados por "tiempo" (no explicado), y luego utilicé uno de los espejos que clasificó más alto.
Más detalles
Para mí, fue útil probar algunos de los resultados principales de ese comando configurándolos como mi espejo
/etc/apt/sources.listy luego haciendopara ver cuánto tiempo llevó descargar la lista de paquetes desde ese espejo. Probé las tres sugerencias principales y todas fueron rápidas, pero una de ellas fue dos veces más rápida que las otras dos en la
time sudo apt updateprueba.He aquí un ejemplo del resultado de
python /usr/lib/python3/dist-packages/softwareproperties/MirrorTest.py:fuente
Para la línea de comando, puede usar una herramienta de Python llamada apt-smart
Un ejemplo de uso que le permite enumerar espejos clasificados dentro de su país (detectar automáticamente):
Con
-l, o--list-mirrors, obtendrá (salida de ejemplo del servidor Travis CI US):Por supuesto,
apt-smarttambién puede cambiar su sources.list si desea:Con
-a, o--auto-change-mirrorpara descubrir las réplicas disponibles, clasifíquelas según la velocidad de conexión y el estado de actualización y actualice /etc/apt/sources.list para utilizar la mejor réplica disponible.Con
-c, o--change-mirror MIRROR_URLpara actualizar /etc/apt/sources.list para usar el MIRROR_URL dado.En comparación con otras herramientas:
apt-smartencuentra automáticamente dónde se encuentra, por lo que no necesita especificar el país cuando viaja al extranjero.apt-smartrealiza una descarga HTTP real desde cada espejo para obtener resultados más precisos (ancho de banda y estado) y es compatible con el proxy HTTP, en lugar de usarpingy confiar en los datos inexactos de la plataforma de lanzamiento.apt-smartse mantiene, mientras que la mayoría de las otras herramientas dejan los problemas sin resolver durante mucho tiempo.Puede instalar fácilmente a
apt-smarttravés depip, para obtener información detallada sobre los comandos y usos de instalación de copiar y pegar, consulte el archivo Léame del proyecto .fuente
Uso lo siguiente para seleccionar automáticamente los espejos (y deshabilitar deb-src)
fuente
Si desea que una utilidad haga esto, puede implementar dicha utilidad como un simple script bash como el siguiente. Esto puede ser útil si desea utilizar la utilidad sin necesidad de pip / nodejs.
fuente
Las otras respuestas, incluida la respuesta aceptada, ya no son válidas (para Ubuntu 11.04 y posteriores) porque recomendaron paquetes de Debian como
netselect-aptyapt-spyque no funcionan con Ubuntu.Hay dos respuestas de trabajo diferentes a esta pregunta a continuación:
mirror:Le muestra cómo usar la herramienta netselect para encontrar los servidores actualizados más recientemente por usted, en términos de red, no geográficamente. Úselo
sedpara reemplazar los espejos adentrosources.list.Use
sedpara reemplazar espejos ensources.listDado que algunas fuentes usan carpetas adicionales como parte de su ruta, podría ser mejor usar la sintaxis de separador alternativo.
fuente
La forma más fácil y eficiente de obtener el espejo más rápido es usar la
mirror://fuente apt , veahttps://mvogt.wordpress.com/2011/03/21/the-apt-mirror-method/
fuente