Ir al contenido

Entradas etiquetadas como ‘linux’

7
feb

Debian 6.0 Squeeze estable

Finalmente, después de 24 meses de desarrollo Debian ha publicado la versión 6 de su sistema operativo, bajo el nombre de Squeeze. En el anuncio oficial se informan varias cosas interesantes como son:

  • El núcleo estándar es completamente libre, lo que significa que no incluye ningún firmware propietario. En cambio, se puede optar por una versión alternativa que sí los tiene. La intención es cumplir con la política de sistemas realmente libres.
  • El nuevo Debian viene en dos versiones: con núcleo Linux (Debian GNU/Linux) y con núcleo de FreeBSD (Debian GNU/kFreeBSD). Este último aún como una versión preliminar de tecnología.
  • Se agregaron los sistemas de archivos ext4 y Btrfs, además de ZFS en la versión GNU/kFreeBSD.
  • El sistema de arranque se ha modificado para utilizar dependencias, lo que deriva en un inicio más rápido y seguro.
  • Se ha mejorado la interfaz para netbooks con la introducción de KDE Plasma.

Además de lo anterior y de varias novedades más, Debian 6 incluye actualizaciones de sus paquetes a versiones más modernas. Para actualizarlo desde Lenny se puede utilizar la herramienta apt-get y para una nueva instalación se pueden descargar las imágenes de CD/DVD por medio de Bittorrent, jigdo o HTTP.

21
dic

5 razones por las que Debian unstable es para usuarios finales (o no!)

Hoy leí un interesante post de Raphaël Hertzog titulado 5 razones por las que Debian unstable no merece su nombre. En el mismo, esta persona explica los motivos por los que usa Debian Unstable y alega que dicha distribución no es tan inestable como correspondería según su nombre. Incluso insta a las personas a que la utilicen, con la recomendación de no actualizar nunca los paquetes antes de algún evento importante, indicando que siempre se romperá en el momento menos preciso.

Por su parte, Alfie, un mantendedor de Debian publicó otro post bajo el título de 5 razones por las que unstable no es para todos, repasando las mismas 5 razones que dio Hertzog pero desmintiéndolas. Ambos posts son de interesante lectura para tener un panorama por parte de un usuario avanzado y de un mantendedor de la distribución involucrada.

En lo personal me gusta actualizar mis sistemas operativos y aplicaciones a las versiones más recientes posibles. Por ejemplo, el navegador con el que empecé a escribir este post es Chrome en su versión 9 (en desarrollo) y lo estoy terminando con Safari porque dicho navegador se colgó dos veces antes de que pudiera finalizar el post. Por su parte, en mi computadora personal suelo utilizar Ubuntu desde sus versiones Alpha y, aunque últimamente no he tenido dificultades sí he tenido grandes problemas en varias oportunidades. Por eso mi consejo para los usuarios finales sería el mismo que el de Alfie: no actualicen a una versión inestable a menos que sepan cómo arreglar los problemas o estén dispuestos a reinstalar su sistema.

20
dic

Memoria consumida en Linux

Muchas veces puede ser necesario encontrar la memoria que un proceso o un usuario consumen en el sistema. Lograr esto es bastante sencillo aunque implica hacer algunas cuentas. Por ello es posible simplificar la tarea utilizando algún script que la haga por nosotros. A continuación puede verse primero cómo calcular la memoria física consumida por el proceso Apache y luego por el usuario www-data. La unidad final está dada en MB.

root@server:~# ps -C apache2 -o rss --no-headers | (tr '\n' +; echo 0) | bc | awk '{print $0 "/1024"}' | bc
267
root@server:~# ps -U www-data -o rss --no-headers | (tr '\n' +; echo 0) | bc | awk '{print $0 "/1024"}' | bc
146

Existe otra forma también de chequearlo que es bastante más sencilla y es utilizando la herramienta smem. El problema es que dicha herramienta es compatible sólo con los kernels 2.6.27 o más nuevos. A continuación se puede ver la consulta de cuánto consume el proceso apache2. En este caso, smem mostrará todos los procesos y, al final, la suma de los consumos (debido a la opción -t suministrada). La opción que nos interesa en este caso es RSS, que se ve que da un total de 16720 bytes. Es para tener en cuenta que smem está sumando a lo consumido por el proceso que se le pidió la propia ejecución del comando; esto debería restarse del total para tener una valor más preciso. Daría finalmente 12020 bytes.

root@server:/home/leandro# smem -t -P "apache2"
  PID User     Command                         Swap      USS      PSS      RSS
10171 root     /usr/sbin/apache2 -k start       348      144      248     1328
 7173 root     /usr/sbin/apache2 -k start       360      172      276     1476
 7171 root     /usr/sbin/apache2 -k start       364      200      302     1516
 7174 root     /usr/sbin/apache2 -k start       364      200      302     1516
 7175 root     /usr/sbin/apache2 -k start       364      200      302     1516
 7731 root     /usr/sbin/apache2 -k start       364      200      302     1516
 7172 root     /usr/sbin/apache2 -k start       352      204      306     1520
 1816 root     /usr/sbin/apache2 -k start       364      180      319     1632
18189 root     /usr/bin/python /usr/bin/sm        0     2944     3119     4700
-------------------------------------------------------------------------------
  183 1                                        2880     4444     5476    16720

Finalmente, debajo se hace la misma consulta pero esta vez preguntando lo consumido por el usuario leandro.

root@server:/home/leandro# smem -t -U "leandro"
  PID User     Command                         Swap      USS      PSS      RSS
17381 leandro  -bash                             36     5312     5459     6880
-------------------------------------------------------------------------------
  183 1                                          36     5312     5459     6880
4
dic

[Humor] Linux es como una carpa de indio

25
nov

El archivo /etc/fstab

Introducción.

Un archivo fundamental en cualquier sistema Linux es el /etc/fstab, cuyo nombre es una especie de abreviatura de File System Table. El mismo reune la información sobre los sistemas de archivos y es leído por el demonio init para poder montarlos al bootear el sistema operativo. También se utiliza su información una vez iniciado el sistema al invocar al comando mount.

La estructura del archivo es extremadamente simple y aún así muchas veces confunde o se desconocen sus parámetros. A continuación se puede ver un ejemplo de un archivo /etc/fstab y luego la explicación de cada elemento.

El archivo /etc/fstab.

# /etc/fstab: static file system information.
#
# file system   mount point     type    options         dump    pass
/dev/sda1       /boot           ext4    defaults        1       2
/dev/sda5       /               ext4    defaults        1       1
/dev/sda6       /home           ext4    defaults        0       0
/dev/sda7       /storage        ext4    defaults        1       2
/dev/sda8       swap            swap    defaults        0       0

Las líneas que comienzan con # son ignoradas como en la mayoría de los archivos de configuración de Linux por tratarse de comentarios. Por lo tanto, la parte interesante arranca a partir de la cuarta línea. Se puede ver que cada una de las líneas del archivo representan un filesystem distinto. A su vez, es sencillo notar que todas las líneas presentan seis columnas cada una, cuyo significado se detalla a continuación:

  • Primera: en este campo se indica el dispositivo o la partición donde se encuentra el filesystem.
  • Segunda: aquí va el punto de montaje para el dispositivo especificado.
  • Tercera: el tipo de sistema de archivos. Puede tomar varios valores, entre los que se destacan: ext2, ext3, ext4, iso9660, nfs, ntfs, reiserfs, smbfs, swap, vfat, xfs.
  • Cuarta: en esta columna van las opciones para el montaje del filesystem. Son muchas y a continuación se mencionan las más comunes. Para un listado más completo se pueden leer el manual del comando mount y el del nfs (para los parámetros específicos de nfs).
    • async: las escrituras al filesystem se demoran, es decir que no se hacen en el momento sino que se hacen varias escrituras juntas. Esto da un mayor rendimiento, aunque si el sistema se cuelga, apaga o el filesystem se desmonta, los datos se pederán si aún no han sido escritos.
    • auto: el sistema de archivos será montado automáticamente al iniciar el sistema o al ejecutar el comando mount -a.
    • noauto: debe ser montado explícitamente.
    • defaults: utiliza las opciones por defecto, que son rw, suid, dev, exec, auto, nouser, async.
    • ro: monta el filesystem como de sólo lectura.
    • rw: monta el filesystem como lectura/escritura.
    • user: permite que cualquier usuario pueda montar el filesystem.
    • nouser: especifica que el filesystem sólo puede ser montado por el usuario root y no por un usuario común.
    • sync: todas las escrituras al filesystem se hacen en el momento. Esto da mayor seguridad a los datos pero un menor rendimiento.
  • Quinta: esta columna indica a la utilidad dump si debe o no hacer backup del filesystem. Puede tomar dos valores: 0 y 1. Con 0 se indica que no se debe backupear, con 1 que sí se haga. Lógicamente, depende de que se tenga instalado y configurado dump, por lo que en la mayoría de los casos este campo es 0.
  • Sexta: en este caso se trata de una indicación para el fsck (comando que chequea el filesystem) y nuevamente se define con un valor numérico. Las posibilidades son 0, 1 y 2. El 0 indica que el filesystem no debe ser chequeado, mientras que el 1 y el 2 le dicen a fsck que sí lo chequee. La diferencia es que el 1 representa una prioridad mayor que el 2, por lo que debe utilizarse para el sistema raíz y el 2 para el resto de los sistemas de archivos.

Referencias.

Existen multitud de documentos a los que acudir para obtener información sobre fstab. Entre ellos recomiendo los manuales de los comandos fstab, mount y nfs. Además hay buena información en la wiki de ArchLinux y en un post en TuxFiles.