Descargar archivos en un servidor sin navegador puede complicarse cuando necesitas reanudar una ISO cortada, limitar la velocidad de transferencia o descargar varias URLs. Aquí tienes cómo manejarlo todo con Wget, desde descargas básicas hasta reintentos, espejado y autenticación segura.
Si administras servidores Linux, descargas archivos desde el terminal con regularidad: tarballs de releases, imágenes ISO, scripts de instalación y backups almacenados en máquinas remotas.
Una descarga simple suele bastar, pero tarde o temprano una ISO de 3 GB se detiene al 80% en una conexión lenta, o una descarga consume el ancho de banda que necesita el tráfico de producción. Ahí es cuando necesitas más control que simplemente reiniciar la descarga y esperar que salga bien.
GNU Wget es un descargador de línea de comandos gratuito y no interactivo que soporta HTTP, HTTPS, FTP y FTPS. Puede reanudar descargas interrumpidas, reintentar fallos de red, limitar el uso de ancho de banda, correr en segundo plano, leer URLs desde un archivo y espejar sitios web completos para uso offline. Como no requiere entrada interactiva, funciona bien en scripts, cron jobs y sesiones SSH.
La versión estable actual es Wget 1.25.0, publicada en noviembre de 2024, y la mayoría de distribuciones incluyen una versión 1.2x. Sin embargo, hay un cambio que importa si usas un release reciente de Fedora: el comando wget puede que ya no se refiera a GNU Wget 1.x. Veamos qué cambió primero.
Wget vs Wget2: ¿Cuál incluye tu distribución?
Antes de ejecutar los ejemplos, comprueba qué versión de Wget proporciona tu distribución, porque algunas opciones se comportan de forma distinta entre las dos versiones.
Wget2 es el sucesor de GNU Wget, reescrito desde cero con soporte de HTTP/2 y descargas paralelas. A partir de Fedora 40, el paquete wget2-wget reemplaza al paquete tradicional wget, así que ejecutar wget en Fedora lanza Wget2.
Según la propuesta de cambio de Fedora, Wget2 es en gran medida un reemplazo directo, pero no soporta FTP ni WARC (Web ARChive).
Ubuntu, Debian, Rocky Linux, AlmaLinux y RHEL generalmente proporcionan GNU Wget 1.x clásico a través de sus paquetes wget, aunque la versión exacta depende del release de la distribución.
Ambas versiones usan la misma sintaxis básica:
wget [opciones] [URL]
Para identificar la versión instalada en tu sistema, ejecuta:
wget --version | head -1
Salida de ejemplo:
GNU Wget 1.25.0 built on linux-gnu.
⚠️ Si la salida identifica GNU Wget2 en su lugar, estás usando Wget2, y el ejemplo de FTP más adelante en esta guía no funcionará. El resto de ejemplos están pensados para funcionar con ambas versiones, salvo que se indique una diferencia específica.
Tabla rápida de diferencias
| Característica | GNU Wget 1.x | Wget2 |
|---|---|---|
| HTTP/1.1 | ✅ | ✅ |
| HTTP/2 | ❌ | ✅ |
| Descargas paralelas | ❌ | ✅ |
| FTP / FTPS | ✅ | ❌ |
| WARC | ✅ | ❌ |
| Archivo de configuración | ~/.wgetrc | ~/.wgetrc (opciones parcialmente distintas) |
| Distribución típica | Ubuntu, Debian, RHEL, Rocky, Alma | Fedora 40+ (como wget2-wget) |
Instalar Wget en Linux
La mayoría de imágenes de servidor Linux incluyen Wget, pero las imágenes mínimas de contenedor y cloud pueden no incluirlo. Si ejecutar wget --version devuelve un error de “command not found”, instálalo con el gestor de paquetes de tu distribución.
En Ubuntu, Debian y Linux Mint, refresca el índice de paquetes antes de instalar:
sudo apt update
sudo apt install -y wget
En Rocky Linux, AlmaLinux y RHEL:
sudo dnf install -y wget
En Fedora 40 y posteriores, el mismo comando instala el paquete wget2-wget, que proporciona el comando wget a través de Wget2:
sudo dnf install -y wget
En Arch Linux:
sudo pacman -S wget
En openSUSE:
sudo zypper install wget
💡 Con Wget instalado, empecemos por una descarga básica y vayamos subiendo a opciones más avanzadas.
Descargar un solo archivo con Wget
La forma más simple de usar Wget es pasarle una URL. Descarga el archivo en tu directorio actual, usando el nombre de archivo especificado por la URL. Usaremos el tarball del código fuente de GNU Wget como ejemplo en las primeras secciones:
wget https://ftp.gnu.org/gnu/wget/wget-1.25.0.tar.gz
Salida de ejemplo:
--2026-10-26 10:15:16-- https://ftp.gnu.org/gnu/wget/wget-1.25.0.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5381232 (5.1M) [application/x-gzip]
Saving to: 'wget-1.25.0.tar.gz'
wget-1.25.0.tar.gz 100%[===================>] 5.13M 3.21MB/s in 1.6s
2026-10-26 10:15:18 (3.21 MB/s) - 'wget-1.25.0.tar.gz' saved [5381232/5381232]
💡 La respuesta
200 OKindica que el servidor manejó con éxito la petición HTTP. El mensaje finalsaved [x/y]confirma que Wget guardó el número esperado de bytes.
⚠️ Si ejecutas el mismo comando otra vez, Wget normalmente preserva el archivo existente y guarda la nueva descarga con un nombre numerado, como
wget-1.25.0.tar.gz.1o.2. Este comportamiento es fácil de pasar por alto en scripts que descargan el mismo archivo cada noche, y es la causa de esas carpetas llenas de.1y.2que todos hemos visto.
Guardar una descarga con otro nombre usando -O
El sufijo automático .1 de Wget puede ser inconveniente, especialmente en scripts. Usa la opción -O mayúscula para especificar el nombre de archivo de salida. Si ese archivo ya existe, Wget lo sobrescribe:
wget -O wget-latest.tar.gz https://ftp.gnu.org/gnu/wget/wget-1.25.0.tar.gz
⚠️ Mantén la extensión correcta al renombrar una descarga. Guardar un archivo
.tar.gzcomowget.zipno cambia su formato, así queunzipno podrá extraerlo.
-O- para enviar el contenido a stdout
También puedes usar -O- para enviar el contenido descargado a la salida estándar en lugar de guardarlo en un archivo. Combinado con -q, que suprime los mensajes de estado de Wget, esto te permite inspeccionar un script antes de ejecutarlo:
wget -qO- https://get.example.com/install.sh | less
💡 Revisar un script de instalación antes de ejecutarlo puede ayudarte a detectar comandos inesperados o cambios potencialmente dañinos en tu servidor. Es el mismo principio que aplicamos con los scripts que se canalizan a
sh: mira primero, ejecuta después.
Y si quieres guardar una copia para auditar mientras lo ejecutas:
wget -qO- https://get.example.com/install.sh | tee install.sh | less
Descargar archivos en un directorio específico con -P
Renombrar cubre archivos individuales, pero cuando descargas varios archivos a un proyecto o a una ubicación compartida, es más simple decirle a wget dónde ponerlos. La opción -P establece el prefijo de directorio, y wget crea el directorio si no existe todavía:
wget -P ~/downloads/gnu https://ftp.gnu.org/gnu/wget/wget-1.25.0.tar.gz
💡 Esto mantiene tu directorio de trabajo actual limpio, lo cual importa cuando ejecutas
wgetdesde un script cuyo directorio de trabajo no controlas, como un cron job.
Descargar varios archivos a la vez con Wget
Wget acepta más de una URL en un solo comando y las descarga una tras otra. Un caso común es bajar un tarball junto con su firma GPG, para verificarlo justo después:
wget https://ftp.gnu.org/gnu/wget/wget-1.25.0.tar.gz https://ftp.gnu.org/gnu/wget/wget-1.25.0.tar.gz.sig
💡 Como ambos archivos vienen del mismo servidor,
wgetreutiliza la conexión abierta para el segundo archivo en lugar de conectar de nuevo, y verásReusing existing connection to ftp.gnu.org:443en la salida.
Expansión de llaves de Bash para series numeradas
Si necesitas una serie numerada de archivos, puedes dejar que la shell genere las URLs con expansión de llaves. Esto es una característica de Bash, no una opción de wget, así que la shell expande {1..5} en cinco URLs separadas antes de que wget se ejecute. Por ejemplo, para descargar los tarballs del kernel Linux 6.6.1 a 6.6.5:
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.{1..5}.tar.xz
💡 Verifica siempre las firmas después de descargar una serie de kernels:
for i in {1..5}; do wget -q https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.$i.tar.sign gpg --verify linux-6.6.$i.tar.sign done
Descargar una lista de URLs desde un archivo con -i
Teclear URLs funciona para dos o tres archivos, pero para una lista más larga, o una lista que otro script produce, es más fácil mantener las URLs en un archivo de texto y pasarlo con la opción -i. Cada URL va en su propia línea.
Crea la lista con nano en Ubuntu y Debian:
nano download-linux.txt
En Rocky Linux, AlmaLinux y RHEL, las instalaciones mínimas traen vi en lugar de nano, así que usa vi allí:
vi download-linux.txt
Luego añade las URLs que quieres descargar:
https://releases.ubuntu.com/26.04/ubuntu-26.04.1-live-server-amd64.iso
https://download.rockylinux.org/pub/rocky/10/isos/x86_64/Rocky-10.1-x86_64-dvd1.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-13.1.0-amd64-DVD-1.iso
⚠️ Los nombres de archivo y rutas de descarga de las ISO pueden cambiar con nuevas versiones. Consulta los sitios web oficiales de las distribuciones para los enlaces más recientes.
Guarda el archivo y sal del editor, y luego pásalo a wget:
wget -i download-linux.txt
💡 Desde Wget 1.25.0,
-i -lee URLs de una tubería de forma continua hasta que la tubería se cierra, en lugar de leer la lista solo una vez al inicio. Esto significa que un script que produce URLs con el tiempo puede alimentar awgetsobre la marcha:./generate-urls.sh | wget -i -
Lista con reintentos y reanudación
Combina -i con las opciones de resiliencia que veremos más adelante para que una lista larga sobreviva a caídas de red:
wget -c -i download-linux.txt \
--tries=10 \
--waitretry=30 \
--retry-connrefused \
--retry-on-http-error=503,429
Reanudar una descarga interrumpida con -c
Los archivos ISO grandes son especialmente propensos a interrupciones cuando una sesión SSH se cae o la conexión de red falla. Si vuelves a ejecutar el mismo comando de Wget sin la opción adecuada, Wget normalmente empieza una nueva descarga y la guarda con un nombre numerado, dejando el archivo parcial intacto.
La opción -c (continue) le dice a Wget que reanude la descarga parcial existente solicitando al servidor los bytes restantes:
wget -c https://releases.ubuntu.com/26.04/ubuntu-26.04.1-live-server-amd64.iso
💡 Cuando el servidor soporta reanudación y la petición tiene éxito, normalmente responde con
206 Partial Contenten lugar de200 OK. La salida indica cuántos datos quedan por descargar:HTTP request sent, awaiting response... 206 Partial Content Length: 3213064192 (3.0G), 2463109120 (2.3G) remaining [application/octet-stream]
⚠️ Si el servidor no soporta peticiones de rango de bytes, Wget puede necesitar reiniciar la descarga. Incluir
-cen comandos para archivos grandes hace los reintentos más cómodos, pero comprueba siempre la salida para confirmar que la descarga realmente se reanudó y no empezó de cero.
Reintentar descargas fallidas con --tries y --waitretry
Reanudar una descarga manualmente es directo cuando estás mirando el terminal, pero los trabajos automatizados necesitan manejar los fallos temporales por sí mismos.
GNU Wget reintenta descargas fallidas por defecto, hasta 20 intentos, aunque algunos errores se tratan como fatales a menos que configures comportamiento adicional de reintentos.
Para hacer una descarga más resistente a fallos temporales de red y espejos sobrecargados, usa:
wget -c --tries=10 --waitretry=30 --retry-connrefused --retry-on-http-error=503,429 \
https://releases.ubuntu.com/26.04/ubuntu-26.04.1-live-server-amd64.iso
Esto es lo que hace cada opción:
-creanuda el archivo parcial existente cuando se necesita un reintento y el servidor lo soporta.--tries=10limita el número de intentos de descarga.--waitretry=30aumenta el retraso entre reintentos, hasta 30 segundos, dando tiempo a un servidor que está sufriendo para recuperarse.--retry-connrefusedtrata los errores de conexión rechazada como fallos temporales que merecen reintento.--retry-on-http-error=503,429reintenta cuando el servidor devuelve HTTP 503 Service Unavailable o 429 Too Many Requests, siempre que la versión de Wget instalada soporte esta opción.
⚠️ Comprueba la documentación de la versión instalada antes de usar opciones específicas de versión, especialmente en sistemas Fedora que proporcionan Wget2.
Limitar la velocidad de descarga con --limit-rate
Las descargas fiables son útiles, pero una transferencia grande a toda velocidad puede consumir el ancho de banda que necesitan otros servicios. La opción --limit-rate limita la tasa de descarga de Wget. Usa k para kilobytes por segundo o m para megabytes por segundo:
wget -c --limit-rate=2m https://releases.ubuntu.com/26.04/ubuntu-26.04.1-live-server-amd64.iso
💡 Wget regula la tasa de transferencia con el tiempo, así que el indicador de progreso puede mostrar brevemente una velocidad mayor antes de estabilizarse cerca del límite configurado. No te alarmes si los primeros segundos superan el límite.
Cuánto limitar según el contexto
| Escenario | Valor razonable |
|---|---|
| Servidor de producción con tráfico web | --limit-rate=500k – 2m |
| Enlace de oficina compartido | --limit-rate=5m – 10m |
| Servidor dedicado a descargas | Sin límite, o --limit-rate=50m |
| VM pequeña en cloud con CPU limitada | --limit-rate=20m (evita saturar la red virtual) |
💡 Una regla práctica: no uses más del 50% del ancho de banda contratado durante horario laboral, y deja el resto para tráfico legítimo.
Correr Wget en segundo plano con -b y escribir un log con -o
Una descarga limitada en velocidad de una ISO de 3 GB puede tardar mucho, y puede que no quieras mantener una sesión SSH abierta para monitorizarla. La opción -b arranca Wget en segundo plano, devolviéndote el control del terminal.
Por defecto, Wget escribe su salida en wget-log en el directorio actual. Usa la opción -o minúscula para especificar un nombre de log distinto:
wget -b -c --limit-rate=2m -o ubuntu-iso.log \
https://releases.ubuntu.com/26.04/ubuntu-26.04.1-live-server-amd64.iso
Salida:
Continuing in background, pid 8999.
💡 Sin
-o, Wget reporta que la salida se escribirá enwget-log. Ejecuciones posteriores pueden crear archivos de log numerados, comowget-log.1ywget-log.2.
Monitorizar la descarga
Para monitorizar la descarga, sigue el log con tail:
tail -f ubuntu-iso.log
Salida de ejemplo:
5600K .......... .......... .......... .......... .......... 0% 2.01M 25m31s
5650K .......... .......... .......... .......... .......... 0% 1.98M 25m30s
5700K .......... .......... .......... .......... .......... 0% 2.02M 25m30s
💡 Estas líneas ilustran el progreso de la descarga, la velocidad de transferencia y el tiempo estimado restante. Pulsa
Ctrl+Cpara dejar de seguir el log; la descarga en segundo plano continúa ejecutándose.
Comprobar que el proceso sigue vivo
ps -p $(pgrep -f 'wget.*ubuntu-26.04') -o pid,etime,cmd
Si quieres pararlo limpiamente:
pkill -f 'wget.*ubuntu-26.04'
⚠️ Ten en cuenta que un proceso Wget en segundo plano no sobrevive a un reinicio del servidor. Combinar
-bcon-c, como en el ejemplo, te permite reanudar una descarga interrumpida ejecutando el comando de nuevo.
Comprobar URLs sin descargar usando --spider
A veces necesitas comprobar si un archivo existe antes de que un script de despliegue lo descargue, o verificar que una URL de release sigue funcionando. La opción --spider permite a Wget comprobar una URL sin guardar el archivo localmente.
wget --spider https://ftp.gnu.org/gnu/wget/wget-1.25.0.tar.gz
💡 Corrección respecto al original: el artículo original tenía
wget –spidercon guion largo (en-dash), que Bash no interpreta como opción y falla conwget: unrecognized option '–spider'. Usa siempre--spidercon dos guiones normales.
Si el archivo solicitado no existe, la salida puede incluir un mensaje como este:
HTTP request sent, awaiting response... 404 Not Found
Remote file does not exist -- broken link!!!
💡 Los signos de exclamación forman parte del propio mensaje de error de Wget.
Uso en scripts
Wget también devuelve un estado de salida distinto de cero cuando la comprobación falla, lo que te permite usarlo en scripts de shell:
wget -q --spider https://ftp.gnu.org/gnu/wget/wget-1.25.0.tar.gz && echo "Release is available"
El mensaje aparece solo si la comprobación de URL tiene éxito, lo que lo convierte en una forma simple de verificar un enlace de descarga antes de continuar con el siguiente paso.
Comprobar varias URLs de una vez
for url in \
https://releases.ubuntu.com/26.04/ubuntu-26.04.1-live-server-amd64.iso \
https://download.rockylinux.org/pub/rocky/10/isos/x86_64/Rocky-10.1-x86_64-dvd1.iso ; do
if wget -q --spider "$url"; then
echo "✅ OK: $url"
else
echo "❌ FALLO: $url" >&2
fi
done
💡 Este patrón es mucho más rápido que descargar y funciona igual con GNU Wget y con Wget2, así que es seguro en cualquier distribución.
Espejar un sitio web completo para uso offline con --mirror
La opción --spider comprueba enlaces sin guardar archivos, mientras que el espejado descarga páginas y sus recursos para navegación offline. Esto es útil para mantener una copia local de documentación interna o archivar un sitio web pequeño antes de migrarlo.
La opción --mirror habilita la descarga recursiva y el timestamping, permitiendo a Wget recuperar archivos a cualquier profundidad y actualizar archivos que han cambiado desde la ejecución anterior. Combínala con algunas opciones adicionales para hacer la copia descargada más fácil de navegar offline:
wget --mirror --page-requisites --adjust-extension --convert-links \
--no-parent --wait=1 --random-wait \
https://docs.tecmint.lan/handbook/
Esto es lo que hace cada opción:
--mirrorhabilita descarga recursiva, timestamping y profundidad de recursión ilimitada, junto con opciones para preservar listados de directorios FTP.--page-requisitesdescarga recursos como CSS, JavaScript e imágenes necesarios para mostrar cada página correctamente.--adjust-extensionajusta los nombres de archivo HTML descargados para que las páginas se puedan abrir localmente con la extensión adecuada.--convert-linksreescribe los enlaces en las páginas descargadas para apuntar a copias locales donde sea posible.--no-parentevita que Wget siga enlaces a directorios padres por encima de/handbook/.--wait=1pausa al menos un segundo entre recuperaciones, mientras que--random-waitvaría el retraso para reducir la frecuencia de peticiones (y evitar que el servidor te bloquee por ráfaga).
Recursos en CDN o dominios separados
Si el sitio carga recursos desde un dominio separado, como un CDN, puede que necesites --span-hosts y --domains para incluir los hosts adicionales:
wget --mirror --page-requisites --adjust-extension --convert-links \
--no-parent --span-hosts \
--domains=docs.tecmint.lan,cdn.tecmint.lan \
--wait=1 --random-wait \
https://docs.tecmint.lan/handbook/
💡 Usa
--restrict-file-names=windowssolo cuando necesites nombres de archivo compatibles con Windows, ya que cambia caracteres que Windows no permite en nombres de archivo.
⚠️ Espeja solo sitios web que poseas o tengas permiso para copiar, y respeta sus reglas de
robots.txt, que Wget sigue por defecto durante descargas recursivas.
Ritmo de espejado: la regla de oro
| Tipo de sitio | --wait recomendado | --random-wait |
|---|---|---|
| Documentación propia | --wait=0.5 | Opcional |
| Sitio pequeño de terceros | --wait=1 | ✅ |
| Sitio grande o con límites | --wait=5 | ✅ |
| Sitio con CDN | --wait=1 | ✅ + --span-hosts |
💡 Un
--waitdemasiado bajo te hará parecer un scraper, y algunos servidores te bloquearán la IP. Ante la duda, más lento.
Descargar archivos protegidos por contraseña sin exponer la contraseña
La documentación interna y los servidores de archivos privados a menudo requieren autenticación. Wget soporta autenticación HTTP con --user y autenticación FTP con --ftp-user. Sin embargo, pasar una contraseña directamente con --password=secret puede exponerla a través del historial del shell o de los listados de procesos.
Opción interactiva: --ask-password
Una opción más segura para descargas interactivas es --ask-password, que te pide que introduzcas la contraseña:
wget --user=tecmint --ask-password https://files.tecmint.lan/backups/db-2026-10-25.sql.gz
Opción para scripts: ~/.netrc
Para scripts automatizados y cron jobs, donde los prompts interactivos no son prácticos, puedes almacenar credenciales en un archivo ~/.netrc que Wget puede leer automáticamente.
En Ubuntu y Debian, crea el archivo con nano:
nano ~/.netrc
En Rocky Linux, AlmaLinux y RHEL, usa vi si nano no está instalado:
vi ~/.netrc
Añade la siguiente configuración, reemplazando las credenciales de ejemplo por las tuyas:
# ~/.netrc
machine files.tecmint.lan
login tecmint
password YourStrongPassword
Esto es lo que significa cada entrada:
machineespecifica el nombre de host al que se aplican las credenciales.loginespecifica el nombre de usuario para ese host.passwordespecifica la contraseña, almacenada en texto plano, lo que hace especialmente importantes los permisos del archivo.
Guarda el archivo y restringe sus permisos para que solo tu usuario pueda leerlo y escribirlo:
chmod 600 ~/.netrc
Ahora puedes descargar el archivo sin colocar credenciales en el comando:
wget https://files.tecmint.lan/backups/db-2026-10-25.sql.gz
⚠️ Por seguridad, usa HTTPS siempre que sea posible, protege el archivo
.netrcy evita hacer commit de él en control de versiones. Aunque este enfoque mantiene las contraseñas fuera de los argumentos de línea de comandos, las credenciales siguen almacenadas en texto plano.
Verificar que .netrc no está expuesto en Git
# Añadir a .gitignore global si trabajas con repos en tu home
echo '.netrc' >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
FTP y Wget2
Las descargas FTP también pueden usar credenciales de .netrc, pero GNU Wget clásico y Wget2 difieren en su soporte de FTP. En Fedora 40 y posteriores, donde el comando wget usa Wget2, usa un cliente que soporte FTP como curl o lftp si el soporte de FTP no está disponible.
# Alternativa a Wget2 para FTP
curl -u tecmint:$(cat ~/.ftp_pass) -O ftp://ftp.example.com/file.tar.gz
# O con lftp, que es más robusto para FTP
lftp -u tecmint ftp://ftp.example.com -e "get file.tar.gz; bye"
Consejos profesionales: certificados, valores por defecto y descargas más seguras
Algunos hábitos adicionales pueden hacer Wget más seguro y fácil de usar, especialmente al descargar por HTTPS o al ejecutar scripts automatizados.
No desactives la verificación de certificados a la ligera
⚠️ Evita usar
--no-check-certificatecomo arreglo rutinario para errores de certificado. Esta opción desactiva la verificación de certificados, haciendo más difícil confirmar que te estás conectando al servidor previsto. Sitios web públicos como kernel.org no deberían necesitarla normalmente.
Si Wget informa que un certificado está caducado o aún no es válido, comprueba el reloj del sistema con date antes de investigar otras causas:
date
# Si el reloj está desincronizado:
sudo timedatectl set-ntp true
Certificados de CA interna
Para un servidor interno que usa un certificado emitido por tu propia autoridad certificadora (CA), configura Wget para confiar en esa CA en lugar de desactivar la verificación:
wget --ca-certificate=/etc/pki/tls/certs/tecmint-ca.crt https://192.168.122.248/repo/app.tar.gz
💡 Este patrón mantiene la protección contra man-in-the-middle mientras confía en tus propios certificados. Es el mismo principio que vimos con HTTPie y
--verify.
Configurar valores por defecto con ~/.wgetrc
También puedes establecer opciones por defecto en ~/.wgetrc, que GNU Wget lee cada vez que se ejecuta. Esto evita repetir los mismos flags en cada comando.
En Ubuntu y Debian, crea el archivo con nano:
nano ~/.wgetrc
En Rocky Linux, AlmaLinux y RHEL, usa vi si nano no está instalado:
vi ~/.wgetrc
Añade la siguiente configuración:
# ~/.wgetrc
continue = on
tries = 10
waitretry = 30
https_only = on
Esto es lo que hace cada ajuste:
continue = onhabilita la reanudación de descargas por defecto, equivalente a usar-c.tries = 10establece el número por defecto de intentos de descarga a 10.waitretry = 30establece la espera máxima entre reintentos a 30 segundos.https_only = onrestringe las descargas recursivas a URLs HTTPS, evitando que Wget siga enlaces HTTP ordinarios durante el espejado.
💡 Corrección respecto al original: el artículo tenía
tries = 10**con asteriscos, que no son parte de la sintaxis. La línea correcta estries = 10.
Guarda el archivo y sal del editor. Las opciones de línea de comandos generalmente anulan los valores por defecto de la configuración, así que puedes desactivar un valor por defecto para una ejecución individual usando la opción adecuada, como --no-continue.
⚠️ Ten en cuenta que los nombres de archivo de configuración y las opciones soportadas pueden diferir entre GNU Wget y Wget2. Si estás usando el comando
wgetbasado en Wget2 de Fedora, consulta su documentación para confirmar qué archivo de configuración lee y qué ajustes soporta.
Verificar la integridad de lo descargado
Wget no verifica checksums automáticamente, así que hazlo tú después de descargar:
# Descargar el archivo y su checksum
wget https://releases.ubuntu.com/26.04/SHA256SUMS
wget https://releases.ubuntu.com/26.04/ubuntu-26.04.1-live-server-amd64.iso
# Verificar
sha256sum -c SHA256SUMS --ignore-missing
💡 Para archivos que incluyen firma GPG, verifica la firma antes que el checksum, porque el checksum por sí solo no protege contra un servidor comprometido:
wget https://ftp.gnu.org/gnu/wget/wget-1.25.0.tar.gz wget https://ftp.gnu.org/gnu/wget/wget-1.25.0.tar.gz.sig gpg --verify wget-1.25.0.tar.gz.sig wget-1.25.0.tar.gz
Cuándo considerar alternativas a Wget
| Necesidad | Herramienta recomendada | Por qué |
|---|---|---|
| Descarga simple y fiable | wget | Ya instalado, sintaxis estable |
| Descarga grande multi-conexión | aria2c -x 8 -s 8 | Divide el archivo entre conexiones |
| Múltiples espejos | aria2c con varias URLs | Reparte piezas entre servidores |
| API y JSON | curl o http (HTTPie) | Mejor manejo de cabeceras y JSON |
| Descarga + reanudación en scripts | wget -c | Comportamiento predecible |
| HTTP/2 y descargas paralelas | wget2 | Sucesor moderno de Wget |
Conclusión
Wget puede hacer mucho más que descargar un solo archivo. Puedes renombrar y organizar descargas, reanudar transferencias interrumpidas, reintentar peticiones fallidas, limitar el ancho de banda, correr descargas en segundo plano, espejar sitios web para uso offline y manejar autenticación sin exponer contraseñas en la línea de comandos.
También sabes por qué importa comprobar la versión instalada, especialmente en Fedora, donde Wget2 difiere del GNU Wget clásico en su soporte de FTP. Para detalles sobre opciones disponibles, consulta man wget o wget --help.
Descubre más desde CIBERED
Suscríbete y recibe las últimas entradas en tu correo electrónico.

