domingo, diciembre 17, 2006

Limitar el ancho de banda usado por una aplicacion

Encontré algo genial...

Primero el problema: apt(sistema de instalación de paquetes de Debian) me consumía mucho ancho de banda y prácticamente no me dejaba navegar puesto que este es un programa ejecutado por root(usuario administrador) y por lo tanto tiene mucha prioridad.

Solución: Usar Trickle

Trickle es el programa que te permite limitar el ancho de banda usado por una aplicación de esta manera dejar ancho de banda libre para otras aplicaciones o "molestar" a un amigo a un usuario, o darle una lección a alguien que le gusten mucho los programas PeerToPeer(P2P).

Funciona de la siguiente manera:

trickle /usr/bin/trickle -s -d 40 /usr/bin/aplicacion

APT utiliza algo llamado métodos que no son mas que programas que se encargan de descargar los paquetes del repositorio de internet en cuestión. Los cuales se encuentran en el directorio /usr/lib/apt/methods/metodo_a_utilizar los métodos pueden ser ftp, http, file, cdrom, etc.

Comando para limitar el ancho de banda en el método apt

En primer lugar cambiar el nombre del método para correrlo de diferente manera mediante un script:

cd /usr/lib/apt/methods/http
mv http http.distrib

Crear un script que nos haga el trabajo

#!/bin/bash
/usr/bin/trickle -s -d 30 /usr/lib/apt/methods/http.distrib

De esta manera estamos limitando la descarga de apt usada por el método http a 30kB/s

viernes, diciembre 08, 2006

Google calendar!! en Gnome

Google calendar es una herramienta genial para mantener nuestras actividades de lo que sea.
Así se ve Google calendar desde web, para verlo desde Gnome registramos una tarea de prueba:



Nos vamos a la configuración del Google Calendar(Opciones->calendarios->el_calendario):


Vemos y copiamos el Ical, y ejecutamos el siguiente comando(creanme es mas fácil así):

/usr/lib/evolution-webcal/evolution-webcal $URL


Donde $URL es el url devuelto por ical

Se muestra un pequeño dialogo de confirmación y ya, click en el reloj de Gnome:


Sacado mayormente de este post:http://www.gnome.org/~clarkbw/blog/Mashing_Google_Calendar_and_GNOME

viernes, diciembre 01, 2006

Una mejor forma de comprender CHMOD

Bueno ya sabemos como obtener información de un fichero o directorio y saber los permisos que tiene ese fichero o directorio con respecto al propietario, grupo y los demás usuarios; tambien ya conocemos q significan las letras -rwxr- y q se dividen en tres grupos.
-----------------------------------------------------
j4v13r@linux:~# ls -l
-rwxr-x--- 1 user users 4348 Nov 24 16:19 fichero
-----------------------------------------------------

Bueno, al grano...

Existen varias formas de entender o de saber para poder asignar los permisos, una de las formas es a como esplicaba richard en el post anterior mediante

+: da permisos
-: quita permisos

$chmod ugo+rwx fichero
Da permisos rwx a todos(ugo), user(u),group (g),others(o)

$chmod ugo-x fichero
Quita permiso x (ejecución) a todos(ugo),

$chmod o-rwx fichero
Quita permisos rwx a others

$chmod u=rwx,g=rx fichero
Da permisos rwx a user, rx a group y ninguno a others

Existe otro método que utiliza números, en vez de letras para asignar permisos,
la siguiente tabla nos puede ayudar un poco a comprender esta manera:
--------------------------------------------------------------------------
r w x ----- VALOR DECIMAL
--------------------------------------------------------------------------
0 0 0 -----> 0 (000 binario es 0 en decimal)
0 0 1 -----> 1 .........
0 1 0 -----> 2 .........
0 1 1 -----> 3 .........
1 0 0 -----> 4 (100 binario es 4 en decimal)
1 0 1 -----> 5 .........
1 1 0 -----> 6 .........
1 1 1 -----> 7 (111 binario es 7 en decimal)
--------------------------------------------------------------------------
1 significa activado y 0 desactivado,
o sea 101 activa r y x, y desactiva w.

Sabiendo esto solo tenemos que usar el valor decimal,
un ejemplo aclarará esto.

$chmod 750 test
--------------------------------------------------------------------------
da permisos rwx al usuario (7=111)
da permisos r-x al grupo (5=101)
da permisos --- a los demas (0=000)
--------------------------------------------------------------------------

domingo, noviembre 19, 2006

Convertir de *.flv a *.avi

En linux existe un programa llamado mplayer este consta de es capaz de convertir las entradas de audio y video:

aqui el comando para convertir el video *.flv(googlevideo, youtube):

mencoder Django2.flv -ofps 15 -vf scale=300:-2 -oac lavc
-ovc lavc -lavcopts vcodec=msmpeg4v2:acodec=mp3:abitrate=64
-o output.avi


Basicamente el problema de los flv esque no se ven muy bien con el codec de mplayer ademas de ser no poder adelantados ni retrocedidos.

sábado, noviembre 18, 2006

Permisos de Linux

Esto siempre se me olvida, asi q decidi ponerlo aki ;)

Para ver los permisos de un fichero o directorio, lo hacemos ejecutando ls -l:

-rw-rw-rw- 1 root root 3065 Dec 15 00:50 REPORTING-BUGS
-rw-r--r-- 1 root adm 538030 Dec 24 01:52 System.map
drwxrwxrwx 26 root root 4096 Dec 15 00:50 arch

Los permisos se encuentran en el primer bloque de 10 caracteres. En su forma básica, un fichero o un directorio tiene asignados unos permisos que se dividen en un primer carácter que indica el tipo de fichero, y luego nueve caracteres divididos en tres bloques de tres caracteres cada uno: propietario, grupo y resto de usuarios. Cada bloque tiene sus propios atributos de lectura, escritura y ejecución. En el ejemplo, vemos que REPORTING-BUGS tiene la primera columna a "-", por lo que es un fichero. Después, tiene los tres bloques iguales ("rw-"), indicando la "r" que tiene activado el permiso de lectura, "w" que tiene activado el permiso de escritura y "x" permiso de ejecución. El propietario es el tercer campo ("root"), y el grupo el cuarto campo ("root" también). En el segundo caso, el fichero System.map tiene permiso de lectura y escritura, pero no de ejecución, para el propietario ("root"), permiso de lectura para el grupo ("adm"), y sólo lectura para el resto de usuarios. En los ficheros, el permiso de ejecución es útil sólo para scripts o binarios.

En la entrada arch, la primera columna es una "d", lo que indica que es un directorio. Tiene todos los permisos puestos, por lo que todo el mundo tiene permiso de lectura, escritura y ejecución. En los directorios, el significado del atributo de ejecución es distinto, ya que lo que permite es exploración del directorio.

Otros atributos posibles para el tipo de entrada son:

"l": es un enlace simbólico

"t": "sticky bit". Es sólo para directorios, y evita que el mismo se pueda borrar. El ejemplo más visible es el directorio /tmp, en donde todos pueden escribir, pero no pueden borrarlo.

"c": dispositivo de tipo carácter. Sólo lo verás en /dev.

"b": dispositivo de tipo bloque. Sólo lo verás en /dev.

Existen otros dos tipos de permisos especiales, que son los bit suid y bit gid. El bit suid, si se activa, permite que un script se ejecute por cualquiera que tenga permiso, la ejecución se realizará como si fuera el propietario, con los permisos que éste tenga. El bit gid es lo mismo que el bit suid, pero aplicado al grupo en vez del propietario. Para saber si está activado uno de éstos, en la columna donde debería aparecer la "x", aparece una "s".

Para asignar permisos, tenemos los comandos chmod, chgrp y chown.

El comando chmod asigna los permisos a un fichero o directorio. La sintaxis es chmod [opciones] modo fichero. Lo más complejo es el modo, que se puede indicar de dos maneras: en modo octal, o en modo de símbolos. El modo octal se compone del resultado de sumar los valores binarios de los dígitos, asignando los valores 1, 2 y 4 a los atributos de ejecución, escritura y lectura, respectivamente, cuando está activado. Por ello, rwx es 7, r-x es 5 ó rw- es 6. Luego hay que juntar los tres grupos, formando un conjunto de tres cifras (777 es igual a rwxrwxrwx). De esta forma, si hacemos chmod 700 a fichero, le estamos otorgando permisos de lectura, escritura y ejecución para el propietario, y ninguno para el resto.

El modo octal está bien, pero es demasiado "absoluto", y para ello existe una alternativa, que es el modo de símbolos. En este modo, se asignan las letras "u", "g" y "o" al propietario, grupo y otros, respectivamente, y permite especificar permisos a nivel individual de cada uno de ellos, así como sólo añadir o quitar ciertos permisos. Existe la letra "a", que equivale a los tres juntos, es decir, "ugo". La sintiaxis es combinar el propietario y/o grupo y/o otros con la opción u opciones que se desean modificar (o asignar también de manera directa). Por ejemplo, chmod "u+x,g+w,r-x", añade permiso de ejecución al propietario, añade el permiso de escritura al grupo, y elimina el permiso de ejecución al resto. Para asignar permisos de ejecución a todos, con "a=rx" se asignan permisos de lectura y ejecución para todos. Como opción especial, está -R, que asigna los permisos de manera recursiva, ya que por defecto se asignan sólo al directorio o ficheros especificados, pero sin afectar los directorios que estén por debajo.

Por último, chmod sólo puede ejecutarlo root o el propietario.

El comando chgrp cambia el grupo al cual pertenece el fichero o directorio, y sólo puede hacerlo root o el propietario. Se ejecuta como chgrp grupo fichero. También tiene la opción -R.

Finalmente, el comando chown sirve para cambiar el propietario y, opcionalmente, el grupo. Sólo puede ejecutarlo root. Se puede ejecutar usando chown user:grupo fichero o chown usuario fichero. También tiene la opción -R.

Tomado de escomposlinux

viernes, agosto 11, 2006

Corrigiendo el problema de DMA

En nuetro pais hay una "crisis de energia" lo cual causa que los que no tenemos bateria ni regulador de voltaje se nos dañen las cosas uno de los problemas fue con mi CDRW/DVD-ROM que se le daño el soporte a DMA lo resolvi con este script:


#! /bin/sh
# /etc/init.d/cdroms_dma
#

# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Enable DMA for /dev/hda ..."
hdparm -d 1 /dev/hda
sleep 1
echo "Disable DMA for /dev/hdb ..."
hdparm -d 0 /dev/hdb
echo "DONE!"
;;
stop)
echo "Disable DMA for /dev/hda ..."
hdparm -d 0 /dev/hda
sleep 1
echo "Disable DMA for /dev/hdb ..."
hdparm -d 0 /dev/hdb
echo "DONE!"
;;
*)
echo "Usage: /etc/init.d/cdroms_dma {start|stop}"
exit 1
;;
esac

exit 0



chmod +x /etc/init.d/cdroms_dma



update-rc.d cdroms_dma defaults


y ya... cdrom corre bien...

el problema en si era que se tardaba mucho en iniciar el DMA por que no tiene, entonces al montar se pegaba como un minuto.

martes, agosto 01, 2006

SUSE Linux Enterprise Desktop 10

Una nueva generación de distribuciones de Linux. Estoy apenas probando y me sorprende el poder y usabilidad. Reconce la mayoría del hardware que tengas sin muchos problemas.

Lo que so siempre dije, cuando Linux pueda dar todas la facilidades en multimedia para el usuario dominarán los escritorios del mundo y este es el comienzo.





Ahora viene lo feo:

Es una versión de prueba de 60 días osea que después de eso que?
Pues no deja de funcionar, solo que ya no se tiene acceso a parches de seguiridad ni soporte por lo que se caeria en algo asi como pirateria aunque no de la misma manera como sería piratear discos de Microsoft.

Sin aceleradora gráfica no vale la pena instalarlo, es bastante pesado y se supone que es la competencia de Windows Vista... el que pega primero... pega twice!

sábado, julio 08, 2006

iRC en Consola

Para tener ayuda a la mano en caso de problema o hacer algo diferente nada como estar en un canal de IRC donde todos quieren ayudar... Lo que me lleva a escribir es el uso de un cliente IRC en linea de comandos :D

El que acabo de probar se llama irssi está salvaje, sencillo y muy usable en esos casos en que las X andan con pereza y no quieren levantar :D

Para usarlo basta con usar comandos basicos de IRC:

  • /server nombre_server (irc.freenode.net)
  • /join #canal (#debian-es)
  • /quit (Invitar a todos los de la sala a cenar :P)

viernes, julio 07, 2006

Un pequeño Hack en Open Office 2.0

Cuando se instala OO.org en Gnome su desempeño es muy pobre lo que hay que hacer es editar el shellscript de inicio, que esta en esta ubicacion:


/opt/openoffice2.0/program/soffice

y agregar esta linea:

unset SESSION_MANAGER

segun mis calculos es como 3 veces mas rapido...


martes, julio 04, 2006

Un truquito del Apache

Para que cada usuario pueda tener su propio espacio para publicar su contenido Web hay una forma mas sencilla que hacerles un directorio virtual editando el httpd.conf

Resulta que al crear la carpeta public_html dentro del home del usuario esta estara disponible en el navegador web a traves de http://localhost/~nombre_usuario.

Un detalle que se debe tomar en cuenta es que si van a poner carpetas se les deben dar permiso de lectura y ejecucion a todos los usuarios por que de otra manera el usuario del navegador no podra ver los archivos.

Para sacar esta tilde ~ pues hay varios metodos dependiendo del teclado, si el teclado esta en espanol y la figurita no sale por ninguna parte la puedes sacar de la combinacion ALTGR + ? si el teclado esta en ingles... supongo que estara visible!

sábado, julio 01, 2006

Qué distribución uso?

pos ya que me encontré este borrador...

Bueno la verdad, es que no tengo una distro preferida (LiniC Rulz!!!!!!!!!!!!!! -- luego les cuento que es LiniC), sin embargo, según mi experiencia, últimamente me he debianizado que da miedo. Empecé usando SuSe, no les voy a mentir, es la distro con la q empecé como chavalito, pero jui creciendo de a poquito, y me fue gustando mas y mas el uso de consola a tal punto que quería solo usar consola (aunk se me hubiera hecho un poco difícil navegar…)

La cuestión es que todo el mundo dice, Linux es difícil, complicado, etc, etc…
Yo estoy seguro de que cualquier niño con un poco de conocimiento en hardware (no mucho, a lo mas saber de cuanto es su memoria y su DD), puede instalar Linux aunk sea en modo consola, pq no es tan difícil a como lo pintan. A mi me encanto, y se q a muchas otras generaciones mas les encantara!!!

Linux version 2.6.16.1-default (richard@metaLiniC v0.1) (gcc version 3.3.5 20050117 (prerelease)(LiniC 0.1))

jueves, junio 22, 2006

creado otro blog...

y por eso en mi primer post tiene que estar obligatoriamente XD