YUM Ancho de Banda Bajo Control
Aunque no es lo usual, ya que siempre queremos bajar lo más rápido posibles nuestras actualizaciones o instalar ese nuevo paquete, hay ocasiones donde no queremos copar totalmente nuestro ancho de banda disponible. Uno de esos casos es, estoy trabajando y mientras quiero instalar ese nuevo juego que implica una descarga de cientos de megas. Si no impongo un control de ancho de banda, debo casi que esperar a que yum termine para seguir trabajando ya que yum se chupa todo mi ancho de banda en el DSL.
La solución es simple, controle el ancho de banda en yum, abajo un ejemplo de yum.conf con los parámetros relevantes. throttle puede ser un valor absoluto o un valor porcentual, en ese último caso, bandwidth especifica el 100% del ancho de banda disponible en bytes/seg.
Ahora podemos seguir navegando y trabajando en Internet mientras yum hace sus descargas a una velocidad razonable sin interferir. Si desea deshabilitar el control, ponga throttle=0.
# Ajustes para control de ancho de banda # 70% de 512kbps throttle=70% bandwidth=64000
[BUG] yum-filter-data
Después de mi más reciente actualización yum no funciona ni para el comando más simple, ejemplo:
# yum clean all Traceback (most recent call last): File "/usr/bin/yum", line 29, inyummain.user_main(sys.argv[1:], exit_code=True) File "/usr/share/yum-cli/yummain.py", line 229, in user_main errcode = main(args) File "/usr/share/yum-cli/yummain.py", line 84, in main base.getOptionsConfig(args) File "/usr/share/yum-cli/cli.py", line 184, in getOptionsConfig enabled_plugins=self.optparser._splitArg(opts.enableplugins)) File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 189, in _getConfig startupconf.pluginconfpath,disabled_plugins,enabled_plugins) File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 355, in doPluginSetup plugin_types, confpath, disabled_plugins, enabled_plugins) File "/usr/lib/python2.5/site-packages/yum/plugins.py", line 152, in __init__ self._importplugins(types) File "/usr/lib/python2.5/site-packages/yum/plugins.py", line 195, in _importplugins self._loadplugin(modulefile, types) File "/usr/lib/python2.5/site-packages/yum/plugins.py", line 251, in _loadplugin module = imp.load_module(modname, fp, pathname, description) File "/usr/lib/yum-plugins/filter-data.py", line 111 ('committers', 'committer')]
El culpable es yum-filter-data, por ahora el problema se resuelve desinstalando con rpm, como ya le dije, yum no funciona :P
# rpm -e yum-filter-data
Con este comando ya estamos de vuelta con yum funcionando, hay que reportar este bug, aún no lo hago, si alguien se toma la molestia, se lo agradezco.
Es la hora de yum-presto
En mi última actualización al ver que tenía que descargar 162Megs no tenía mucho tiempo disponible ni mucho ancho de banda y decidi configurar yum-presto y vean el resultado final.
... Size of all updates downloaded from Presto-enabled repositories: 53M Size of updates that would have been downloaded if Presto wasn't enabled: 162M This is a savings of 68 percent
Ciertamente 68% es un gran ahorro de ancho de banda, ¿será que ya es la hora de generalizar su uso? ¿Fedora 10 y sus repositorios base darán el soporte para drpms? Algunas respuestas en http://fedoraproject.org/wiki/Releases/FeaturePresto.
Para configurar su soporte en Fedora 9 sólo debe ajustar mirrorlist en /etc/yum.repos.de/fedora-updates.repo.
[updates] name=Fedora $releasever - $basearch - Updates mirrorlist=http://presto-mirrors.anmar.eu.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
F9 Updtae Bug: Dependencia Rota 1
En el último update que intenté, encontré un problema en los paquetes provistos por Fedora (BUG).
... gnome-python2-gtkmozembed-2.19.1-16.fc9.i386 from installed has depsolving problems --> Missing Dependency: gecko-libs = 1.9 is needed by package gnome-python2-gtkmozembed-2.19.1-16.fc9.i386 (installed) Error: Missing Dependency: gecko-libs = 1.9 is needed by package gnome-python2-gtkmozembed-2.19.1-16.fc9.i386 (installed) ...
Mientras se resuelve este problema, para actualizar todos los otros paquetes obviando los que tienen problemas con esta dependencia:
$ yum --skip-broken update
Por ahora la recomendación es esperar, usar la receta anterior para actualizar mientras se resuelve la situación. Los paquetes afectados por este problema, a saber son:
epiphany firefox xulrunner yelp
Si me falta alguno házmelo saber para actualizar aquí.
Después de algo más de investigación, gnome-python2-gktmozembed solo lo usa awn-extras-applets en mi sistema por lo que si no usa dicho paquete no sufrirá este problema. Una alternativa para actualizar full es remover gnome-python2-gktmozembed y sus dependientes y proceder. Esto les dejará con el sistema actualizado pero no podrán instalar awn-extras-applets o aplicaciones dependientes de gnome-python2-gktmozembed hasta que no se resuelva el problema, dependiendo de su situación esta solución es aceptable o no, si no, mantenga su sistema actualizado con –skip-broken.
# Solución alternativa sin gnome-python2-gktmozembed y sus dependientes $ yum remove gnome-python2-gktmozembed $ yum update
sendEmail: envío de emails desde la consola
¡Mosca! No confunda sendEmail con sendmail.
Sitio del proyecto: http://caspian.dotconf.net/menu/Software/SendEmail/
Dos virtudes, corre en Linux y en MS Windows, entre otros OS.
Instalación en Fedora
Está disponible un srpm en el sitio del proyecto.
$ wget http://www.invoca.ch/pub/packages/sendemail/sendEmail-1.55-1.src.rpm $ rpmbuild --rebuild sendEmail-1.55-1.src.rpm ... la magia ... $ ls ~/rpmbuild/RPMS/noarch/ sendEmail-1.55-1.noarch.rpm $ sudo yum -C --nogpgcheck localinstall rpmbuild/RPMS/noarch/sendEmail-1.55-1.noarch.rpm
Note que he usado par de opciones de yum, -C y –nogpgcheck, el segundo es importante porque el paquete no se ha firmado y es necesario para poder instalar este paquete a falta de una firma provista por el empaquetador, de hecho lo hemos compilado nosotrosos mismos. El primero es una de esas banderas útiles para cuando no estamos conectados a nuestros repositorios configurados donde quiera que se encuentren, usualmente Internet, y se le indica a Yum que realice la operación con su cache, esto también acelera la operación.
Uso Básico de sendEmail
Para no mandarle a leer la ayuda de entrada, veamos un ejemplo simple con toda la música.
$ sendEmail -f guillermo.gomez@gmail.com -t staff@freenode.net -s email-alba -u "Banned IP?" -m "It seems 190.74.190.211 its banned, what should i do to get unbanned? regards, Guillermo" -v Jul 16 10:33:19 movix sendEmail[17448]: DEBUG => Connecting to email-alba:25 Jul 16 10:33:19 movix sendEmail[17448]: DEBUG => My IP address is: 10.140.30.113 Jul 16 10:33:23 movix sendEmail[17448]: SUCCESS => Received: 220 email-alba.localdomain ESMTP Postfix (Debian/GNU) Jul 16 10:33:23 movix sendEmail[17448]: INFO => Sending: EHLO movix.gomix.org Jul 16 10:33:23 movix sendEmail[17448]: SUCCESS => Received: 250-email-alba.localdomain, 250-PIPELINING, 250-SIZE 10240000, 250-VRFY, 250-ETRN, 250-ENHANCEDSTATUSCODES, 250-8BITMIME, 250 DSN Jul 16 10:33:23 movix sendEmail[17448]: INFO => Sending: MAIL FROM:Jul 16 10:33:23 movix sendEmail[17448]: SUCCESS => Received: 250 2.1.0 Ok Jul 16 10:33:23 movix sendEmail[17448]: INFO => Sending: RCPT TO: Jul 16 10:33:23 movix sendEmail[17448]: SUCCESS => Received: 250 2.1.5 Ok Jul 16 10:33:23 movix sendEmail[17448]: INFO => Sending: DATA Jul 16 10:33:23 movix sendEmail[17448]: SUCCESS => Received: 354 End data with . Jul 16 10:33:23 movix sendEmail[17448]: INFO => Sending message body Jul 16 10:33:23 movix sendEmail[17448]: SUCCESS => Received: 250 2.0.0 Ok: queued as A56AD1C502 Jul 16 10:33:23 movix sendEmail[17448]: Email was sent successfully! From: To: Subject: [Banned IP?] Server: [email-alba:25]
La ayuda la obtiene con --help.
$ sendEmail --help sendEmail-1.55 by Brandon ZehmSynopsis: sendEmail -f ADDRESS [options] Required: -f ADDRESS from (sender) email address * At least one recipient required via -t, -cc, or -bcc * Message body required via -m, STDIN, or -o message-file=FILE Common: -t ADDRESS [ADDR ...] to email address(es) -u SUBJECT message subject -m MESSAGE message body -s SERVER[:PORT] smtp mail relay, default is localhost:25 Optional: -a FILE [FILE ...] file attachment(s) -cc ADDRESS [ADDR ...] cc email address(es) -bcc ADDRESS [ADDR ...] bcc email address(es) -xu USERNAME username for SMTP authentication -xp PASSWORD password for SMTP authentication Paranormal: -b BINDADDR[:PORT] local host bind address -l LOGFILE log to the specified file -v verbosity, use multiple times for greater effect -q be quiet (i.e. no STDOUT output) -o NAME=VALUE advanced options, for details try: --help misc -o message-file=FILE -o message-format=raw -o message-header=HEADER -o message-charset=CHARSET -o reply-to=ADDRESS -o timeout=SECONDS -o username=USERNAME -o password=PASSWORD -o tls= -o fqdn=FQDN Help: --help the helpful overview you're reading now --help addressing explain addressing and related options --help message explain message body input and related options --help networking explain -s, -b, etc --help output explain logging and other output options --help misc explain -o options, TLS, SMTP auth, and more
Yum aliases, tipee menos! 2
Una nueva extensión yum está disponible para ahorrarle teclas, se llama yum-aliases y por medio de un ejemplo les muestro como se usa sin tocar ninguna configuración una vez instalado.
Listar paquetes.
## Lista todos los paquetes, instalado y disponibles # yum ls ... zziplib.i386 0.13.49-4.fc8 fedora zziplib-devel.i386 0.13.49-4.fc8 fedora zziplib-utils.i386 0.13.49-4.fc8 fedora zzuf.i386 0.9-2.fc8 fedora
## Lista solo los paquetes instalados # yum lsi ... zd1211-firmware.noarch 1.4-1 installed zenity.i386 2.20.1-2.fc8 installed zip.i386 2.31-3.fc7 installed zlib.i386 1.2.3-14.fc8 installed
## Lista las actualizaciones disponibles. # yum lsu ... gimp.i386 2:2.4.5-1.fc8 updates gimp-libs.i386 2:2.4.5-1.fc8 updates
Actualizar su sistema.
# yum up Loading "aliases" plugin ... Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Updating: gimp i386 2:2.4.5-1.fc8 updates 14 M gimp-libs i386 2:2.4.5-1.fc8 updates 578 k Transaction Summary ============================================================================= Install 0 Package(s) Update 2 Package(s) Remove 0 Package(s) Total download size: 14 M Is this ok [y/N]: y ...
Hay muchos más alias que pueden usar en /etc/yum/aliases.conf y por supuesto pueden agregar nuevos. Ah!, y se me olvidaba, para instalar:
# yum inst yum-aliases ups... perdón, aún no se supone que tengo los alias # yum install yum-aliases
Más información en el wiki.

