Me gustaría saber si es posible capturar el progreso de la descarga, es decir, el porcentaje de descarga completa que muestra 'yum' mientras se descarga un paquete. La captura, en el sentido, podría ser a un archivo de texto o mediante programación usando JAVA, por ejemplo, si ejecuto el instalador yum desde JAVA.
Lo he intentado yum install pkg_name > captured
, pero captura la salida estándar solo sin la información de progreso.
También he comprobado stderr, sin resultado.
P.ej
Setting up Install Process Resolving Dependencies
--> Running transaction check
---> Package wget.i686 0:1.12-4.fc14 set to be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================ Package Arch Version Repository Size
================================================================================
Installing: wget i686 1.12-4.fc14 updates 481 k
Transaction Summary
================================================================================ Install 1 Package(s)
Total download size: 481 k
Installed size: 1.8 M Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : wget-1.12-4.fc14.i686 1/1
Installed:
Wget.i686 0:1.12-4.fc14
Complete!
Junto con la información anterior, también me gustaría capturar la parte de progreso, es decir, el porcentaje completo que se muestra debajo de la etiqueta 'Descargando paquetes:' durante la descarga.
No uso scripts de Python.
No creo que este comportamiento sea una cuestión de terminal vs archivo, para mí tiene que ver con el almacenamiento en búfer.
Desde mi experiencia, el
unbuffer
comando funciona bastante bien:unbuffer yum install pkg_name > captured
y luego puedes seguir el progreso:
tail -f -n 0 captured
En CentOS 7, use
yum provides '*/bin/unbuffer'
para encontrar el paquete que proporciona elunbuffer
comando.fuente