Ir al contenido

Entradas etiquetadas como ‘debian’

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.

1
sep

Servidor PXE

Introducción

Un servidor PXE es un sistema capaz de brindar a sus clientes la opción de instalación vía red (netinstall). Es una forma muy rápida y cómoda de realizar la instalación de un sistema operativo dado que no se necesita siquiera que el equipo a instalar cuente con una lectora de CD/DVD. Además, un servidor PXE puede contar con la capacidad de instalar múltiples sistemas operativos, evitándonos tener uno o más CDs/DVDs por cada sistema. Otra ventaja es que la instalación se realiza obteniendo los paquetes desde un repositorio central con lo que, terminada la instalación, el sistema contará con las últimas versiones de cada paquete. Esto mismo puede suponer una desventaja si la conexión a Internet es lenta, aunque en este último caso lo ideal es montar un mirror de los sistemas necesarios de manera que los archivos se descarguen mucho más rápido.

Para montar un servidor PXE propio utilizaremos Debian Lenny y los siguientes programas:

  • Servidor DHCP.
  • Servidor TFTP.

En la sección siguiente se procede a la instalación y configuración del servidor en cuestión.

Instalación y configuración

Instalar el software necesario.

pxe-server:~# aptitude install tftpd-hpa dhcp3-server

Una vez instalados ambos servicios, es necesario permitir el inicio de tftpd-hpa como demonio, de la siguiente manera:

pxe-server:~# vi /etc/default/tftpd-hpa 

RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Si el directorio /var/lib/tftpboot no existiera será necesario crearlo. Ahora bien, el próximo paso es iniciar el servidor TFTP.

pxe-server:~# /etc/init.d/tftpd-hpa start

Luego de configurado TFTP, habrá que indicarle al servidor DHCP las interfaces en las que debe ofrecer IPs. En este caso se utiliza la eth0.

pxe-server:~# vi /etc/default/dhcp3-server

INTERFACES="eth0"

El próximo paso es instruir al servidor DHCP acerca de la información de configuración que debe brindar.

pxe-server:~# vi /etc/dhcp3/dhcpd.conf

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.200 192.168.1.250;
  option routers 192.168.1.1;
  option domain-name-servers 192.168.1.1;

  filename "pxelinux.0";
}

Una vez cumplidos los dos pasos anteriores ya se puede poner a funcionar el servidor DHCP.

pxe-server:~# /etc/init.d/dhcp3-server restart

Constatar entonces que tanto el servidor DHCP como el servidor TFTP estén funcionando.

pxe-server:~# netstat -nlup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 0.0.0.0:67              0.0.0.0:*                           2684/dhcpd3
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1706/dhclient3
udp        0      0 0.0.0.0:69              0.0.0.0:*                           2379/in.tftpd

El paso siguiente es descargar los archivos necesarios para realizar la instalación por red. En este caso se mostrará cómo configurar al servidor para que permita instalar Debian Lenny.

pxe-server:~# cd /var/lib/tftpboot/
pxe-server:/var/lib/tftpboot# lftp -c "open http://http.us.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/; mirror"

Listo, el servidor ya está configurado y funcionando. A partir de este momento ya es posible instalar Debian Lenny en cualquier equipo vía red. Para ello, se configura el cliente para que bootee utilizando PXE, se lo conecta en el mismo segmento de red en que se encuentra el servidor configurado y listo, la instalación comenzará automáticamente.

13
ago

Averiguar la versión de Linux/BSD instalada

En muchas oportunidades es necesario chequear la versión del sistema operativo instalado en un equipo. A continuación, cómo hacerlo en diferentes sistemas operativos:

Debian / Ubuntu

root@server:~# cat /etc/issue
Ubuntu 10.04.1 LTS \n \l

root@server:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 10.04.1 LTS
Release:	10.04
Codename:	lucid

El último comando no viene instalado en Debian por defecto, por lo que será necesario:

root@server:~# aptitude install lsb-release

Fedora / CentOS / Red Hat

[root@server ~] # cat /etc/redhat-release
CentOS release 5.5 (Final)

[root@server ~] # lsb_release -a
LSB Version:	:core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID:	CentOS
Description:	CentOS release 5.5 (Final)
Release:	5.5
Codename:	Final

El último comando lo probé sólo en CentOS y no viene instalado. En este caso, para utilizarlo:

[root@server ~] # yum install redhat-lsb.i386

FreeBSD / OpenBSD

[root@ ~]# uname -rs
FreeBSD 8.0-RELEASE
18
jun

LVM (parte 3): reducir y eliminar volúmenes

Al momento se ha tratado la parte teórica de LVM introduciendo los conceptos del mismo y se ha visto también cómo crear y extender volúmenes. En el post del día de hoy se explicará la forma de reducir el tamaño de un volumen y eliminar volúmenes.

Reducir un volumen

Cuando se trató el tema de aumentar el tamaño de un volumen se vio que los pasos básicamente consistían en extender el tamaño del grupo de volúmenes, luego el tamaño del volumen lógico a expandir y, finalmente, el tamaño del sistema de archivos.

Para el caso de reducir un volumen los pasos son los mismos pero en orden inverso, aunque no es necesario achicar el grupo de volúmenes (eso dependerá de la necesidad particular).

En la siguiente salida se puede verificar que el filesystem está montado y tiene una tamaño total de 2.9G.

testing:/home/leandro# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/testing-storage
                      2.9G   36M  2.8G   2% /storage

Lo que hay que hacer entonces es redimensionar el filesystem. Para poder hacerlo el mismo no debe estar montado, dado que de lo contrario da un error al intentar la ejecución, tal como se muestra a continuación:

testing:/home/leandro# resize2fs /dev/testing/storage 1G
resize2fs 1.41.3 (12-Oct-2008)
Filesystem at /dev/testing/storage is mounted on /storage; on-line resizing required
On-line shrinking from 772096 to 262144 not supported.

Se ve que dice claramente que la reducción del filesystem de forma on-line no puede llevarse a cabo. Entonces sí es necesario desmontarlo y luego hacer la reducción. Es muy recomendado hacer un chequeo del filesystem antes de achicarlo.

testing:/home/leandro# umount /dev/mapper/testing-storage
testing:/home/leandro# e2fsck -f /dev/mapper/testing-storage
e2fsck 1.41.3 (12-Oct-2008)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/dev/mapper/testing-storage: ***** FILE SYSTEM WAS MODIFIED *****
/dev/mapper/testing-storage: 12/195840 files (0.0% non-contiguous), 21270/772096 blocks

testing:/home/leandro# resize2fs /dev/mapper/testing-storage 1G
resize2fs 1.41.3 (12-Oct-2008)
Resizing the filesystem on /dev/mapper/testing-storage to 262144 (4k) blocks.
The filesystem on /dev/mapper/testing-storage is now 262144 blocks long.

Muy bien, con los pasos anteriores logró reducirse el tamaño del sistema de archivos a 1GB. Dicha modificación puede constatarse volviendo a montar el filesystem y viendo que ahora el tamaño es de 1008M contra los 2.9G que mostraba antes.

testing:/home/leandro# mount /storage/
testing:/home/leandro# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/testing-storage
                     1008M   35M  923M   4% /storage
testing:/home/leandro# cat /storage/archivo.txt
prueba

Ahora bien, hasta aquí sólo se achicó el filesystem y no se modificó nada del volumen lógico, por lo que es de suponer que el mismo se haya mantenido sin cambios. Se puede verificar esto mediante el siguiente comando:

testing:/home/leandro# lvdisplay /dev/testing/storage | grep Size
  LV Size                2.95 GB

Entonces, para reducir efectivamente el volumen hay que indicarle con el comando lvreduce cuál será su nuevo tamaño. En este caso, 1GB.

testing:/home/leandro# lvreduce -L 1GB /dev/testing/storage
  WARNING: Reducing active and open logical volume to 1.00 GB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce storage? [y/n]: y
  Reducing logical volume storage to 1.00 GB
  Logical volume storage successfully resized

testing:/home/leandro# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/testing-storage
                     1008M   35M  923M   4% /storage

testing:/home/leandro# lvdisplay /dev/testing/storage | grep Size
  LV Size                1.00 GB

En este punto sí se ve claramente que se ha reducido tanto el tamaño del filesystem como el del volúmen. Faltaría asegurarse que los datos sigan estando bien. Para ello se puede ver que el contenido de “archivo.txt” sea legible.

testing:/home/leandro# cat /storage/archivo.txt
prueba

Obviamente, lo anterior no asegura que todo esté bien. El archivo se creó como una demostración de que los datos se mantienen, pero una medida más precisa implicaría tener un volumen más amplio de información, en lo posible cerca del límite del tamaño del filesystem.

Finalmente, con el siguiente comando se puede verificar que, si bien se achicaron el filesystem y el volúmen lógico, el grupo de volúmenes sigue teniendo la misma dimensión, con la diferencia que en este caso tiene espacio libre que podrá ser asignado a un nuevo volumen. Esta información puede verse en las variables VG Size, Alloc Size, Free Size.

testing:/home/leandro# vgdisplay testing
  --- Volume group ---
  VG Name               testing
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               2.95 GB
  PE Size               4.00 MB
  Total PE              755
  Alloc PE / Size       256 / 1.00 GB
  Free  PE / Size       499 / 1.95 GB
  VG UUID               epQoNY-6JWP-1vUX-IZm0-LRwo-4fR4-AEEo1p

Remover volúmenes

Llegó el momento de deshacer todo el trabajo que se llevó adelante hasta el momento.

Eliminar un volumen lógico.

testing:/home/leandro# umount /storage/
testing:/home/leandro# lvremove /dev/testing/storage
Do you really want to remove active logical volume "storage"? [y/n]: y
  Logical volume "storage" successfully removed

Eliminar un grupo de volúmenes.

testing:/home/leandro# vgremove testing
  Volume group "testing" successfully removed

Eliminar un volumen físico.

testing:/home/leandro# pvremove /dev/hdb
  Labels on physical volume "/dev/hdb" successfully wiped

Conclusión

Luego de tres posts se han visto las funcionalidades básicas de LVM que consisten en crear volúmenes, expandirlos, achicarlos y eliminarlos. Quedan como temas de algún otro post dos tópicos interesantes: las instantáneas de los volúmenes y los volúmenes encriptados. Probablemente haya algo de eso en un tiempo.