jueves, 13 de diciembre de 2007

La evolución de Ubuntu en el tiempo

Fuente: ThinkUbuntu

Bonito gráfico con imágenes de las distintas versiones de ubuntu y sus respectivos nombres traducidos al Castellano, incluyendo una posible imagen de lo que será la próxima Hardy Heron.

¿Quizás sea esta la siguiente imagen de la evolución de Ubuntu?

Visto en Juegoteca y Ubunteate

Asignar un espacio determnado en disco a los usuarios

Fuente: LinuTeca

Anteriormente vimos como la creación de procesos recursivos podía implicar la congelación del sistema y como solucionarlo estableciendo una cantidad máxima de procesos en ejecución por usuario.

Esto mismo puede pasar si un usuario llena de información nuestro disco duro, y para remediarlo estableceremos ‘Cuotas’ de usuario para que tengan un límite de espacio en disco.Éstas cuotas son restricciones del número de bloques de espacio en disco y de i-nodos (ficheros, directorios…) que un usuario puede llegar a tener. Las cuotas, sólo se establecen para las particiones que queramos, no para la totalidad del sistema asique si quisiéramos activar las cuotas en nuestra partición principal, sólo tendríamos que añadir al /etc/fstab en el cuarto campo de la partición ‘usrquota’,pero antes instalamos el paquete quota:

sudo apt-get install quota

Luego modificamos el /etc/fstab:

/media/hdb1 ext3 defaults,usrquota 0 2

En este caso la partición /media/hdb1 que será el disco duro secundario tendría establecidas las cuotas.
Después tenemos que crear en la partición dos archivos en mi caso será en /media/hdb1:

ekhtor@ubuntu:/media/hdb1$ sudo touch quota.user
ekhtor@ubuntu:/media/hdb1$ sudo touch quota.group

Y ahora solo tenemos que darle permisos a los archivos:

ekhtor@ubuntu:/media/hdb1$ sudo chmod 600 quota.*

Para que los cambios surtan efecto tenemos que reiniciar el sistema, y una vez hecho editamos las cuotas con el comando ‘edquota -u’, que nos aparecerá algo parecido a ésto:

Disk quotas for user ekhtor (uid 1000):
Filesystem blocks soft hard inodes soft hard

/dev/hdb1 0 0 0 0 0 0

Aquí podemos ver que no hay límites, para establecerlos tenemos que modificar las variables soft y hard, que las dos primeras se referiran a los bloques y las dos últimas a los i-nodos.
Para saber de cuanto tamaño es un bloque usamos la instrucción df /media/hdb1 que nos devulve esto:

S.ficheros Bloques de 1K Usado Dispon Uso% Montado en
/dev/hdb1 12563216 1392004 10533032 12% /media/hdb1

Podemos observar que los bloques son de 1K asique si quisiéramos asignarle al usuario ekhtor 50000K’s que serían unos 50 Mb tendríamos que cambiar la primera variable hard por 50000, y a la variable soft le asignaremos 40000. La variable hard va a ser el tamaño que nunca sobrepasará el usuario y la soft mandará un aviso cuando se sorbrepase, luego cuando el usuario llegue a los 40 megas se le enviará un aviso de que el espacio se le está agotando y si llega a los 50 megas ya no podrá usar más.

Si queremos además limitar el número de archivos y directorios que tendrá el usuario lo haremos en el segundo bloque de soft y hard de igual forma.

Al igual que para los usuarios se hace con el grupo pero en vez de edquota -u ‘usuario’ se hace con el comando edquota -g ‘grupo’. Puede parecer una tontería limitar el número de ficheros en un sistema si ya hemos limitado el espacio físico pero realmente cuantos más inodos haya en un sistema, más se ralentiza asique en servidores grandes es una opción a tener en cuenta.

Casi todos los sabores de Ubuntu

Fuente: DepuesDeGoogle

(Actualizado a 20.11.07. Gracias, ffuentes)

Ubuntu: Ubuntu con Gnome
Kubuntu: Ubuntu con KDE
Xubuntu: Ubuntu con Xfce
Fluxbuntu: Ubuntu con Fluxbox, más ligero todavía que el anterior
Elbuntu (¿Ebuntu?): Beta, no es un proyecto oficial. Versión ligera, con Enlightenment E17
Ubuntu Lite: Ubuntu minimísimo. Para máquinas lentas (afirman que corre sobre Pentium de 200 MHz con 64 Mb de RAM o incluso máquinas de menores prestaciones. Tengo que probarlo) OpenBox o IceWM como escritorio, además de ROX-Filer, fbpannel, Kazehakase (un navegador), Sylpheed, Gaim, XMMS, Abiword, GNUmeric y mtpaint. No es un producto oficial de Canonical.

Edubuntu: Ubuntu orientado al entorno educativo
Ubuntu Studio: Ubuntu orientado a la edición multimedia profesional, especialmente de audio.
Mythubuntu: Estación multimedia (vamos, una alternativa libre al Windows Media Center) con MythTV, un conjunto de aplicaciones que convierten el PC en un PVR, grabador digital y programable de televisión.
nUbuntu (Network Ubuntu): Ubuntu mínimo con Fluxbox y herramientas de penetración y seguridad. Para hackers.
Ubuntu JeOS: Ubuntu ligero (200 Mb + 60 Mb de VMWare) y kernel optimizado para correr aplicaciones virtuales de VMWare.
Comfusion: Ubuntu + Compiz + Fusion

Gobuntu: Ubuntu íntegra y estrictamente libre.
gNewSense: Ubuntu 100 % libre. Apoyado por la FSF y recomendado por Stallman.
X-Evian: Basada en Xubuntu. “Para usuarios activistas, para la producción cultural, tecnológica y social liberada”

Linux Mint: Lo contrario. Ubuntu windowsero o mackero. Elegante y confortable, con codecs, Java y demás software no libre.
Ubuntu Christmas Edition 2006: Ubuntu con todo lo último incluido software propietario. Para regalar en Navidad.
Ubuntu Ultimate Edition: Actualización de la versión anterior

Ubuntu CE (Christian Edition): Ubuntu con temas visuales cristianos y programas relacionados.
Ichthux: Kubuntu para cristianos.
Ubuntu ME (Ubuntu Muslim Edition): Ubuntu para musulmanes. Horarios de salat, herramienta para el estudio del Corán, herramienta para filtrado de contenido web… y temas visuales.

Ubuntu Server Edition: Ubuntu con LAMP
Ubuntu Home Server: Para administrar una LAN. Servidor de archivos, impresión, streaming y backups.

Ubuntu Mobile and Embedded: Proyecto patrocinado por Canonical e Intel. Mi próximo móvil quiero que corra sobre Ubuntu!!

Comando awk

Fuente: LinuTeca

Awk es un lenguaje de búsqueda y procesamiento de patrones. Esto quiere decir que podemos tratar archivos buscando patrones y realizar operaciones matemáticas con los resultados. A simple vista puede resultar parecido con el comando grep o egrep, pero lo cierto esque la potencia del comando awk les supera con creces.

En un caso particular, este comando me ayudó mucho porque era incapaz de obtener el resultado deseado con egrep, a continuación expongo el caso:

Mi intención era obtener la temperatura del microprocesador para que a través de un script, pueda aumentar o disminuir la velocidad de los ventiladores.

Al ejecutar el comando ’sensors’(hay que tener instalado el lm-sensors me devolvía lo siguiente:

ekhtor@macbook:~$ sensors

applesmc-isa-0300

Adapter: ISA adapter

temp2: +128°C

temp3: +56°C

temp4: +51°C

temp8: +51°C

temp9: +52°C

temp11: +42°C

Exhaust :3000 RPM (safe = 1200 RPM, min = 3000 RPM, max = 6200 RPM)coretemp-isa-0000

Adapter: ISA adapter

Core 0: +47°C (high = +100°C)

coretemp-isa-0001

Adapter: ISA adapter

Core 1: +46°C (high = +100°C)

El patrón que elegí fue ‘0:’ para obtener la línea ‘Core 0: +47°C (high = +100°C)’ con el comando egrep:

ekhtor@macbook:~$ sensors |egrep 0:

Core 0: +46°C (high = +100°C)

Lo siguiente que se me ocurrió fue usar el comando cut para dejar al principio de la linea la temperatura:

ekhtor@macbook:~$ sensors | egrep 0: | cut -d+ -f2

46°C (high = +

Y el problema surge aqui, cuando intento ejecutar de nuevo el comando cut para coger el primer campo y usando el patrón ‘º’ veo que no es admitido y se me ocurrieron muchas formas de hacerlo truncando la línea pero no me parecía demasiado óptimo asique lo solucioné con la suiguiente instrucción:

ekhtor@macbook:~$ sensors | egrep 0: | cut -d+ -f2 | awk ‘BEGIN{FS = "°"}{print $1}’

46

Ahora si obtuve el resultado deseado, ya podía trabajar con la temperatura normalmente.

El funcionamiento de awk básico es muy sencillo, la separación por defecto de las columnas de un archivo la realiza a través de un espacio. Para cambiar ese patrón, solo cambié la variable FS, y con el print mostramos por pantalla las columnas que queremos, la $0 muestra la línea entera, la $1 la primera columna, $2 la segunda y sucesivamente…

En el caso de que quisieramos mostrar la primera y segunda columna del archivo ‘ejemplo.txt’ el comando sería:

awk ‘{print $1 $2}’ ejemplo.txt

Para más información acerca del comando en la sección de manuales encontraréis documentación más completa.