Este artículo puede resultar muy interesante para quienes deseen instalar la versión "Desktop" de CentOS 7, con en el entorno de escritorio KDE.

La distribución CentOS Linux se deriva de los fuentes de Red Hat Enterprise Linux (RHEL). Al igual que RHEL, es una distribución que se destaca por su estabilidad, robustez, y simplicidad. Estas son características muy deseables para un administrador de sistemas, por ello muchos de nosotros la elegimos como distribución #1 al momento de instalar un nuevo servidor GNU/Linux. Su estabilidad y robustez nos dan un buen nivel de confianza, al mismo tiempo que su administración es muy simple y ampliamente documentada. Aunque, estas características no se ponderan al momento de instalar GNU/Linux en una computadora personal, sino que se opta por tener un sistema no tan estable, pero con las versiones más recientes posibles de cada aplicación o paquete. Estabilidad y actualizaciones son conceptos divergentes, ya que la estabilidad de una aplicación se logra con años de testeo y depuración.

Sin embargo, como administrador de sistemas, en mi estación de trabajo (workstation) prefiero una distribución de escritorio robusta. Como me encuentro en un entorno corporativo, no quiero tener decirle a un usuario o colega "no puedo ayudarte en este momento porque mi workstation con GNU/Linux me está dando problemas". Esto me motiva a tener un sistema de escritorio relativamente actualizado y a la vez confiable. Por ello, escojo CentOS, pero con un tuneo de repositorios que me permite tener software adicional.

Instalación

En el artículo Cómo instalar CentOS 7 con KDE demostré paso a paso cómo realizar la instalación. En mi caso, anteriormente tenía CentOS 6, pero decidí realizar una instalación fresca en lugar de hacer el upgrade (por primera vez está diponible esta funcionalidad en CentOS).

En caso de optar por una instalación fresca, es importante hacer un backup de toda la información importante del sistema. Principalmente todo el directorio /etc, el cual posee todos los archivos de configuración del sistema, y de cualquier otro directorio de sistema que posea datos de aplicaciones o configuración. Por ejemplo, en mi caso tenía almacenadas imágenes de disco de máquinas virtuales QEMU/KVM dentro del directorio /var/lib/libvirt/images/, de las cuales tuve que hacer copias de seguridad. Esta guía apunta a un sistema de escritorio, pero claro, muchos de nosotros tal vez usemos el sistema para desarrollo Web, entorno de pruebas, etc. Por ello, también puede haber archivos de sitios Web en /var/www/html, bases de datos, etc. Si es posible, hacer un backup de todas las particiones que se vayan a reformatear durante la instalación.

Durante la instalación fresca, el instalador anaconda reconoce todas las particiones con sus puntos de montaje del sistema actual. Así que es posible crear los nuevos puntos de montaje con seguridad e indicar que se reformateen sólo las particiones de sistema. Es importante no formatear la partición donde está alojado el directorio /home. Por supuesto esto si se ha creado en una partición aparte, sino será necesario hacer un backup del mismo en otro filesystem, ya que se perderán todos los datos, pues es necesario formatear la partición de sistema que hospeda al sistema de archivos raíz (/). También hay que prestar especial cuidado con particiones dedicadas exclusivamente a datos o a otros sistemas. En mi caso, tengo una partición de gran tamaño dedicada exclusivamente a datos, la cual monto bajo el punto de montaje /data. Aunque el instalador reconoce todas las particiones con sus puntos de montajes, es necesario agregarlas en el nuevo esquema de montaje (tal como he demostrado en el artículo dedicado a la instalación de CentOS 7, e indicando que no se deben formatear las que he mencionado), ya que esta información se utiliza para crear el nuevo fstab.

Manos a la obra

A partir de ahora supongo que se ha hecho una instalación fresca, y se cuenta con copias de seguridad de toda la información importante.

Veamos que tenemos al iniciar CentOS 7 por primera vez:

[emi@hal9000 ~]$ cat /etc/centos-release 
CentOS Linux release 7.0.1406 (Core) 
[emi@hal9000 ~]$ uname -rms
Linux 3.10.0-123.el7.x86_64 x86_64
[emi@hal9000 ~]$ runlevel
N 5

CentOS 7.0, kernel Linux 3.10, y runlevel 5.

Permitir sudo

La primera tarea de configuración consiste en permitir sudo a nuestro usuario (en este ejemplo "emi") para que pueda realizar tareas administrativas autenticándose con su contraseña (en vez de la de root). Tal como mencioné durante la instalación, al momento de crear el usuario es posible agregarlo a varios grupos. Si lo hemos agregado al grupo "wheel" durante la instalación, no será necesario realizar este paso. De lo contrario, agregar al usuario al grupo "wheel" para que pueda ejecutar sudo:

$ su
# usermod -a -G wheel emi
# exit
$ logout

Es necesario desloguearse y volver a ingresar para que el cambio surta efecto.

Configurar proxy HTTP

Si estamos en una red corporativa, muy probablemente hagamos uso de Internet a través de un proxy HTTP. Por lo tanto es necesario configurar el proxy en Bash y yum. Si no se requiere el uso de un proxy HTTP, saltar este paso.

El artículo Configurar proxy en yum explica cómo configurar el proxy HTTP en el gestor de paquetes yum y en el perfil Bash:

$ sudo nano /etc/yum.conf

Configurar el proxy utilizando la sintaxis:

    proxy=http://host:puerto

$ sudo nano /root/.bash_profile

Configurar el proxy utilizando la sintaxis:

    export http_proxy="http://usuario:contraseña@host:puerto"

Si el proxy no requiere autenticación, utilizar:

    export http_proxy="http://host:puerto"

Crear perfil de Bash para el usuario

Al crear el usuario, el instalador anaconda no genera un perfil Bash para el usuario. El perfil Bash se encarga de configurar la consola, por ejemplo el prompt, aliases, colores, historial, etc. Seguramente ya existiese un perfil en el $HOME, dado que el mismo no se ha formateado, o se ha hecho una copia de seguridad. En mi caso, no formateé el sistema de archivos que hospeda a /home, pero decidí renombrar estos archivos (.bashrc, .bash_profile) por si el instalador los sobrescribía (cosa que no sucedió). Pero de todas formas, para tener versiones actuales, decidí copiar el perfil de Bash de root:

$ sudo cp /root/.bash_profile /home/emi/.bash_profile
$ sudo cp /root/.bashrc /home/emi/.bashrc

NOTA: al no formatear la partición donde se monta /home, es probable que algunos directorios de datos de aplicaciones se sobrescriban. Por ello es recomendable hacer un backup de algunos de ellos antes de instalar CentOS 7. En mi caso hice copia de seguridad de los directorios .mozilla, .gimp-2.6, .xmms, .bash_history, etc.

Instalar el repositorio EPEL y el plugin de yum priorities

EPEL (Extra Packages for Enterprise Linux) es un grupo de desarrollo de Fedora que crea, mantiene, y administra un conjunto de alta calidad de paquetes adicionales para Enterprise Linux, incluyendo, pero no limitado a, Red Hat Enterprise Linux (RHEL), CentOS y Scientific Linux (SL).

NOTA IMPORTANTE: cabe destacar que EPEL para CentOS 7 aún está en fase beta, así que lo instalan a su propio riesgo.

$ wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
$ sudo rpm -ivh epel-release-7-0.2.noarch.rpm

Verificar ejecutando:

$ yum repolist

El artículo Cómo agregar el repositorio EPEL en CentOS y configurar el plugin yum Priorities explica cómo instalar y configurar yum-plugin-priorities:

$ sudo yum install yum-plugin-priorities

Luego de instalar el plugin, verificar que esté habilitado:

$ sudo cat /etc/yum/pluginconf.d/priorities.conf

Finalmente, configurar las prioridades tal como se explica en el artículo anteriormente mencionado:

$ sudo nano /etc/yum.repos.d/CentOS-Base.repo
$ sudo nano /etc/yum.repos.d/CentOS-Debuginfo.repo
$ sudo nano /etc/yum.repos.d/CentOS-Sources.repo
$ sudo nano /etc/yum.repos.d/epel.repo
$ sudo nano /etc/yum.repos.d/epel-testing.repo

priority=1 es la prioridad más alta, mientras que priority=99 es la más baja.

Habilitar CentOSPlus

El repositorio CentOS Plus contiene versiones de paquetes más actuales que modifican el sistema base. No está habilitado por defecto. Para habiltiarlo, cambiar a enabled=1 en el archivo /etc/yum.repos.d/CentOS-Base.repo bajo la sección [centosplus]:

$ sudo nano /etc/yum.repos.d/CentOS-Base.repo

Para más información acerca de los repositorios adicionales, revisar la Wiki de CentOS: Available Repositories for CentOS.

Actualizar CentOS

Al finalizar la instalación y configuración de repositorios, es recomendable actualizar el sistema operativo ya que, desde el momento en que se genera la imagen del DVD hasta que lo instalamos, pueden haber actualizaciones de seguridad disponibles:

$ sudo yum clean all
$ sudo yum update
Habilitar aceleración 3D en el escritorio

Para poder aprovechar todos los efectos de escritorio, es recomendable habilitar el sistema de renderizado nativo (si es que disponemos de una tarjeta gráfica 3D). Para ello, acceder a la configuración del sistema ("System Settings") y luego al apartado "Desktop Effects > Advanced". Cambiar el sistema gráfico a "Native", tal como se observa en la siguiente captura:

Instalar Yakuake

Yakuake es una terminal (o consola) desplegable (drop-down) estilo Quake (aquel viejo y querido FPS). Desde que conocí esta práctica herramienta, es lo primero que le agrego a cada instalación fresca de GNU/Linux (no creo que nadie que use la línea de comandos más de una vez al día pueda trabajar sin ella). Las tres más conocidas (y que he probado) son Yakuake para KDE, y Guake y Tilda para Gnome.

En el artículo Instalar yakuake en CentOS 6.2 explico cómo instalar Yakuake en CentOS 6.2, el procedimiento es exactamente igual en CentOS 7, ya que es necesario compilarlo desde los fuentes.

Para configurar el tamaño y posición de Yakuake, abrir el menú desplegable con la flecha (situado en la esquina inferior derecha) y luego acceder a "Configure Yakuake":

Para utilizar un fondo semi-transparente es necesario editar el perfil actual. Para ello acceder a la opción "Edit Current Profile" del menú contextual (clic derecho sobre la ventana):

Seleccionar un perfil y presionar "Edit" para establecer el grado de transparencia:

Luego es necesario configurar KDE para que Yakuake inicie automáticamente. Abrir la configuración del sistema desde "System Settings" y acceder a "Startup and Shutdown":

Seleccionar "Add Program...":

Ingresar "yakuake" y presionar "OK":

"OK" parar finalizar:

La próxima vez que se inicie sesión, Yakuake iniciará automáticamente:

Instalar GIMP

La instalación de CentOS por defecto no incluye GIMP, instalarlo ejecutando:

$ sudo yum install gimp

Luego, recuperar los scripts y plugins desde el backup (directorios .gimp-2.6/scripts/ y .gimp-2.6/plug-ins/ respectivamente), verificando que sean compatibles con GIMP 2.8.

Lo que más em gusta de la versión 2.8 es la posibilidad de utilizar una sola ventana, desde el menú "Windows > Single-Windows Mode":

Siempre me fastidiaron las ventanas flotantes de GIMP 2.6.

Instalar Dropbox

Para quienes sean usuarios de Dropbox (aplicación gratuita de almacenamiento en la nube), esta no es una aplicación KDE-friendly, por lo menos hasta donde yo sé. Por ello es necesario instalarlo desde línea de comandos, tal como expliqué en el artículo Instalar Dropbox desde la línea de comandos.

Si alguien sabe si existe alguna forma de integrar Dropbox con KDE (Dolphin o Konkeror), que por favor me lo haga saber en los comentarios. A mí, así me funciona perfectamente, excepto que no tengo los menúes contextuales de Dropbox.

Para que Dropbox inicie automáticamente es necesario agregarlo en la configuración de "Startup and Shutdown", tal como expliqué para Yakuake. Especificar la ruta competa al binario:

En la pestaña "General" indicar un nombre y seleccionar un icono si se desea (hay algunos en el directorio .dropbox-dist/images/hicolor/16x16/status/, yo elegí dropboxstatus-logo.png):

En la pestaña "Application" es posible especificar un nombre y descripción, de manera opcional:

La próxima vez que se inicie sesión, Dropbox iniciará automáticamente:

Instalar flash

¿Por qué instalar esta porquería siendo que YouTube soporta HTML5 dede hace tiempo? Porque lamentablemente hay muchos sitios Web que todavía usan flash. Yo por ejemplo lo uso todos los días para escuchar la radio sky.fm/80srock o alguna otra.

Dirigirse al sitio de descargas de Adobe Flash Player: http://get.adobe.com/flashplayer/ y seleccionar la versión ".rpm for other Linux". Luego, instalarlo ejecutando:

$ sudo rpm -i Downloads/flash-plugin-11.2.202.394-release.x86_64.rpm packages/

Finalmente, reiniciar Firefox.

Virtualización

Si tenían máquinas virtuales, será necesario instalar QEMU/KVM/libvirt.

$ sudo yum install qemu qemu-kvm qemu-kvm-tools qemu-system libvirt virt-manager

Con ese comando es suficiente para que se instalen todas las dependencias. El soporte para virtualización en CentOS 7 viene con muchas novedades.

Al finalizar la instalación de paquetes, iniciar el servicio libvirtd ejecutando:

$ systemctl start libvirtd.service

Adiós SysV, ya vemos que hay que utilizar systemctl para controlar systemd. Aunque, aún es posible controlar servicios utilizando el comando service, ya que la mayoría implementan una especie de wrapper (para los nostálgicos, o caídos del catre).

Ahora es necesario recuperar el entorno de virtualización, junto con las máquinas virtuales, desde las copias de seguridad. Primero las imágenes de disco de las máquinas virtuales. En mi caso había hecho una copia de seguridad del anterior /var, en el directorio /data/backup-var/:

$ sudo mv /data/backup-var/lib/libvirt/images/* /var/lib/libvirt/images/

Luego es necesario recuperar los pooles de almacenamiento, redes, y máquinas virtuales. Previo a la instalación había realizado un backup del directorio /etc en el archivo /home/emi/etc.tgz, procedo a descomprimir los archivos XML necesarios en un directorio temporal:

$ cd /tmp
$ mkdir temp
$ cd temp

Para listar el contenido de un tar, sin extraer, ejecutar tar con las opciones -ztv, por ejemplo:

$ tar -ztvf /home/emi/etc.tgz | grep -i "qemu"

Extraer sólo el directorio "libvirt" ejecutando:

$ tar zxvf /home/emi/etc.tgz etc/libvirt

A partir de los archivos de configuración, restaurar pooles, VLANS y máquinas virtuales.

virsh pool-define etc/libvirt/storage/VM.xml
virsh net-create etc/libvirt/qemu/networks/NAT1.xml
virsh net-create etc/libvirt/qemu/networks/null.xml
virsh define etc/libvirt/qemu/DSL.xml
virsh define etc/libvirt/qemu/SliTaz.xml
virsh define etc/libvirt/qemu/UbuntuServer12.04.xml
virsh define etc/libvirt/qemu/w2003_test.xml
virsh define etc/libvirt/qemu/W7.xml
virsh define etc/libvirt/qemu/WXPsp3.xml

Por supuesto, los pooles de almacenamiento deben estar en medios que hayan sido restaurados luego de la instalación fresca (o no modificados durante la misma) y en la misma ruta. Además se deben haber restaurado las imágenes de disco de todas las máquinas virtuales en sus respectivas ubicaciones/rutas.

Al finalizar, es posible ejecutar virt-manager por primera vez y verificar que las máquinas virtuales funcionen correctamente.

Presionar la combinación de teclas Alt+F2 y tipear "virt-manager":

Ingresar la contraseña del usuario actual:

Iniciar una máquina virtual:

Funciona perfectamente, de haber errores no iniciará. Puede haber faltado configurar alguna VLAN o imagen de disco.

Notas sobre KDE

Al igual que Slackware 14.1, CentOS 7 viene con KDE 4.10. Para ex-usuarios de GNOME 2, como yo, es un gran salto, aunque es un salto de calidad. Afortunadamente desde los inicios de KDE 4, este ha mejorado mucho y se ha convertido en un entorno de escritorio minimalista y eficiente, sin perder las características adicionales que lo distinguen, tal como las "activities".

¿Qué es una "Activity"?

Las "activities" en KDE son escritorios virtuales. Es posible configurar varios escritorios con diferentes temas, fondos, widgets, etc. e intercambiar entre ellos. Este concepto revolucionario permite la posibilidad de tener diferentes entornos de trabajo. Por ejemplo se puede tener una activity para uso general en casa, con algún fondo en particular, tema colorido, etc. y otra más sobria para usar en la oficina, con un tema sobrio, un widgets que muestren el contenido de las carpetas de trabajo más frecuentemente utilizadas, etc. De esta forma podemos switchear entre entornos dependiendo si estamos trabajando o en casa.

Puede ser muy útil, aunque no es obligatorio utilizarlas. Para gestionar e intercambiar entre activities existe el icono con tres círculos de colores que se encuentra por defecto próximo al botón de inicio de aplicaciones de KDE.

Cómo agregar launchers en la barra de tareas

Los "launchers" son los iconos de acceso rápido en la barra de tareas (como los que tiene Windows 7 al lado del menú de inicio). Estos sólo son visibles cuando la aplicación en cuestión no está ejecutando. Para agregar un launcher en la barra de tareas (panel launcher) se debe abrir la aplicación, hacer clic derecho sobre el botón en la barra de tareas y seleccionar "Show A Launcher When Not Running". Al cerrar la aplicación se verá el icono de la misma en el panel.

Actualización 11 de agosto de 2014.

Herramientas de compresión de archivos

Instalar algunas herramientas para soportar archivos comprimidos con formato 7zip y RAR:

$ sudo yum install p7zip
$ wget http://pkgs.repoforge.org/unrar/unrar-5.0.3-1.el7.rf.x86_64.rpm
$ sudo rpm -i unrar-5.0.3-1.el7.rf.x86_64.rpm

Es posible extraer archivos 7zip y RAR ejecutando 7za x archivo.7zip y unrar x archivo.rar respectivamente.

Soporte para sistemas de archivos NTFS

Si tienen pendrives o discos externos formateados con NTFS, será necesario instalar el driver ntfs-3g para poder montarlos en CentOS 7 (luego de haber agregado el repositorio EPEL, tal como expliqué más arriba):

$ sudo yum install ntfs-3g

(¡Gracias por el aporte Juan Carlos!)

Espero que les haya gustado y por supuesto, se aceptan aportes en los comentarios. Muchas gracias.


Tal vez pueda interesarte


Compartí este artículo