YUM Ancho de Banda Bajo Control

Posted by Gomix Wed, 01 Oct 2008 11:56:00 GMT

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

Posted by Gomix Sun, 21 Sep 2008 22:55:00 GMT

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, in 
    yummain.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

Posted by Gomix Wed, 30 Jul 2008 11:56:00 GMT

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

Posted by Gomix Tue, 22 Jul 2008 14:41:00 GMT

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

Posted by Gomix Wed, 16 Jul 2008 14:26:00 GMT

¡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 Zehm 

Synopsis:  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

Posted by Gomix Sun, 30 Mar 2008 13:16:00 GMT

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.


body> body>