Archivos de Categoría: CentOS @es

Solucionar mensajes del kernel “Clocksource tsc unstable” en CentOS virtualizado

Si usas CentOS en un entorno virtualizado es posible que te aparezcan cientos de mensajes del kernel como éste (usando dmesg):

Clocksource tsc unstable (delta = -227342541 ns).  Enable clocksource failover by adding clocksource_failover kernel parameter.

clocksource_failover

Primero hay que mirar qué clocksources tenemos disponibles:

$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource

Y luego cuál es el que se está utilizando:

$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource

Lo más probable es que CentOS esté usando tsc y que también esté disponible acpi_pm.

Para solucionar el problema hay que editar /etc/grub.conf y añadir a la línea configuración del kernel clocksource_failover=acpi_pm:

kernel /vmlinuz-2.6.32-504.3.3.el6.x86_64 ro root=/dev/mapper/vg_centos-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_centos/lv_swap  KEYBOARDTYPE=pc KEYTABLE=es rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_centos/lv_root rd_NO_DM rhgb quiet clocksource_failover=acpi_pm

Reiniciar y el problema debería estar solucionado.

Comandos yum útiles

Estos son los comandos que probablemente necesites para instalar, borrar, actualizar, etc. software en tu máquina CentOS/Fedora/Red Hat. Como estoy más acostumbrado a apt-get he buscado una lista bastante completa de tareas que necesitaré en el futuro.

centos

Ver paquetes instalados:

yum list installed

Buscar un paquete instalado:

yum list installed | grep php

Ver paquetes disponibles:

yum list available

Buscar entre los paquetes disponibles:

yum list available | grep php

Ver información de un paquete:

yum info php
Name        : php
Arch        : x86_64
Version     : 5.3.3
Release     : 27.el6_5
Size        : 3.5 M
Repo        : installed
...

Instalar un paquete:

yum install package-name

Instalar un paquete sin tener que confirmar la instalación:

yum -y install package-name

Desinstalar un paquete:

yum remove package-name

Desinstalar un paquete sin tener que confirmar el borrado:

yum -y remove package-name

Desinstalar paquetes huérfanos:

package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y

Comprobar si un paquete dispone de alguna actualización:

yum check-update package-name

Actualizar un paquete:

yum update package-name

Ver si hay alguna actualización disponible:

yum check-update

Actualizarlo todo:

yum update

Actualizaciones automáticas

su -c '/sbin/chkconfig --level 345 yum on; /sbin/service yum start'

Nota: No hay ningún servicio yum que se ejecute en el sistema. El comando anterior activa el script de control /etc/rc.d/init.d/yum. Este script de control activa el script /etc/cron.daily/yum.cron, que cause que el servicio cron realice una actualización automática del sistema cada día a las 4 de la madrugada.

Añadir los repositorios EPEL y Remi:

Para i686:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Para x86_64:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Ahora podrás ver los nuevos ficheros que configuran dichos repositorios:

$ ls -1 /etc/yum.repos.d/
CentOS-Base.repo
CentOS-Debuginfo.repo
CentOS-Media.repo
CentOS-Vault.repo
epel.repo
epel-testing.repo
remi.repo

El repositorio Remi viene deshabilitado por defecto por lo que hay que activarlo ya sea cambiando la opción enabled a 1o ejecutando este comando:

yum-config-manager --enable remi

Añadir el repositorio ElRepo:

Importar la llave pública:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

Instalar el repositorio:

rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

Añadir el repositorio RPMforge:

Importar la llave pública:

rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

Para i686:

rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm

Para x86_64:

rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

Ahora ya puedes instalar cualquier software de estos repositorios:

yum install htop

Ver todos los grupos de paquetes (por ejemplo MySQL está compuesto de muchos otros paquetes):

yum grouplist
...
Installed Groups:
   Administration Tools
   DNS Name Server
   Dialup Networking Support
...
Available Groups:
   Authoring and Publishing
   Base
   Beagle
...

Instalar un grupo de paquetes:

yum groupinstall 'Beagle'

Actualizar un grupo de paquetes:

yum groupupdate 'Beagle'

Desinstalar un grupo de paquetes:

yum groupremove 'Beagle'

Limpiar la cache para borrar los ficheros de /var/cache/yum

yum clean all

Ver el historial de las diferentes instalaciones, desinstalaciones, etc.:

yum history
D     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
   12 |  <user>                  | 2014-05-22 21:33 | Install        |    2
   11 |  <user>                  | 2014-05-22 21:31 | Install        |    3
   10 |  <user>                  | 2014-05-22 21:29 | Install        |    6
    9 |  <user>                  | 2014-05-22 21:05 | Install        |    4
    8 | System <unset>           | 2014-04-19 01:55 | I, U           |  117 EE
    7 | root <root>              | 2013-08-14 14:48 | I, U           |  156 EE
    6 | root <root>              | 2013-08-14 14:37 | Erase          |    1
    5 | System <unset>           | 2011-12-20 20:03 | I, U           |  162 EE
    4 | System <unset>           | 2011-07-10 19:29 | Install        |    3
    3 | System <unset>           | 2011-07-10 19:22 | Update         |   60  < 
    2 | System <unset>           | 2011-07-08 20:03 | Erase          |    6 > 
    1 | System <unset>           | 2011-07-08 20:43 | Install        |  276

Para ver información detallada de un punto en concreto del histórico usar este comando:

yum history info 11
Loaded plugins: fastestmirror
Transaction ID : 11
Begin time     : Thu May 22 21:31:08 2014
Begin rpmdb    : 292:63d8bb066751f0def9baf9c3aca697fa2dfaef21
End time       :            21:31:10 2014 (2 seconds)
End rpmdb      : 295:0f2bb4c03af71739f9be1f59c7bcfab9540de5d8
User           :  <user>
Return-Code    : Success
Command Line   : install php
Transaction performed with:
    Installed     rpm-4.8.0-37.el6.x86_64                         @base
    Installed     yum-3.2.29-43.el6.centos.noarch                 @updates
    Installed     yum-plugin-fastestmirror-1.1.30-17.el6_5.noarch @updates
Packages Altered:
    Install     php-5.3.3-27.el6_5.x86_64        @updates
    Dep-Install php-cli-5.3.3-27.el6_5.x86_64    @updates
    Dep-Install php-common-5.3.3-27.el6_5.x86_64 @updates

Puedes ver en el area “Packages Altered” qué paquetes fueron instalados, desinstalados, actualizados o lo que fuera.

Ver la lista de repositorios configurados:

yum repolist
repo id                        repo name                                 status
base                           CentOS-6 - Base                           6.365+2
extras                         CentOS-6 - Extras                              14
updates                        CentOS-6 - Updates                          1.103
repolist: 7.482

Ref: http://www.rackspace.com/knowledge_center/article/installing-rhel-epel-repo-on-centos-5x-or-6x
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge
http://elrepo.org/tiki/tiki-index.php
http://www.tecmint.com/20-linux-yum-yellowdog-updater-modified-commands-for-package-mangement/

Dispositivo de red no funciona en CentOS dentro de VirtualBox

Asegúrate de tener las opciones de red de VirtualBox configuradas así:

virtualbox-network

  • Attached to: Bridget Adapter
  • Name: (your network device)
  • Promiscuous Mode: Deny
  • Cable Connected: Check

Luego dentro de la máquina virtual CentoOS edita el fichero /etc/sysconfig/network-scripts/ifcfg-eth0 para que el dispositivo eth0 sea automáticamente arrancado en el inicio del sistema y para que los scripts de /etc/sysconfig/network-scripts/ lo controlen en vez de el NetworkManager daemon:

ONBOOT=yes
NM_CONTROLLED=no

Reinicia el servicio de red:

service network restart

Y ya deberías tener un dispositivo eth0 funcionando:

# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:08:CA:1C:18:5A
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.224
          inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2341604 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2217673 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:293460932 (279.8 MiB)  TX bytes:1042006549 (993.7 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5019066 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5019066 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:816 (816.0 b)  TX bytes:816 (816.0 b)

Forzar el análisis del sistema de ficheros (fsck) en el siguiente arranque para CentOS

Es tan fácil como crear un fichero vacío en la raíz del sistema de nombre forcefsck:

touch /forcefsck

centos

Deshabilitar configuración automática de variables locale en emulador de terminal para Mac OS X

Los emuladores de terminal normalmente mandan tu actual locale al conectarse mediante SSH a un servidor. En mi caso uso un Mac OS X en español y al conectarme a un servidor CentOS se me configuraba automáticamente a es_ES.UTF-8 haciendo que la respuesta de la mayoría de los comandos fuera en español. Prefiero usar el inglés porque la mayoría de los blogs y webs (Stackoverflow por ejemplo) están en inglés y no encontraría nada en español.

Para solucionar esto tan solo hay que desactivar el envío automático del locale actual en el emulador de terminal. En Terminal.app de Mac OS X se configura en Preferencias, Ajustes, pestaña Avanzado, “Ajustar variables del entorno local al arrancar”:

terminal

En iTerm está en Preferences, Profiles tab, Terminal tab, “Set locale variables automatically”:

iterm

Ref: http://serverfault.com/questions/336559/how-to-change-my-commandline-locale-after-centos-decided-to-change-it/373410#373410