Mostrando entradas con la etiqueta centos. Mostrar todas las entradas
Mostrando entradas con la etiqueta centos. Mostrar todas las entradas

viernes, 20 de julio de 2012

CentOS: como chequear si un paquete está instalado


Una forma de revisar si un paquete está instalado en CentOS es utilizando el comando "repoquery", ya sea con el nombre del paquete específico o con comodines:

$ repoquery --info --pkgnarrow=installed bind-chroot

También:

$ repoquery --info --pkgnarrow=installed '*bind*'

Si repoquery no está instalado, hay que ejecutar:

$ sudo yum install yum-utils


viernes, 6 de julio de 2012

Cassandra en CentOS 6

Hace tiempo están disponibles los RPMs para instalar Cassandra en CentOS, pero el procedimiento indicado implica bajar el RPM de Cassandra e instalarlo manualmente. Esto no es complicado, pero SI es complicado  automatizar la instalación de la última versión disponible.

Pero esto tiene solución. El repositorio puede ser registrado en CentOS, bajando el siguiente snippet y guardándolo en /etc/yum.repos.d/riptano.repo.

--
--

Luego, para instalar Cassandra 1.x:


$ yum install --assumeyes apache-cassandra11
$ chkconfig --add cassandra
$ chkconfig cassandra on
$ service cassandra start

sábado, 4 de febrero de 2012

Samba4 en CentOS 6.2


Siguiendo los pasos de https://wiki.samba.org/index.php/Samba4/HOWTO, con un CentOS 6.2 recién instalado, estos son los pasos que seguí para instalar Samba 4:

Preparacion del entorno
  • crear usuario para NO trabajar con root, configurar keys de ssh y sudo
  • instalar paquetes básicos
# curl -o epel-release-6-5.noarch.rpm \
    http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm
# sudo rpm -i epel-release-6-5.noarch.rpm
# sudo yum install -y man
# sudo yum install -y gcc patch
# sudo yum install -y autoconf

Compilado de Samba 4
  • instalamos git
# sudo yum install -y git

  • instalamos paquetes recomendados
$ yum install libacl-devel libblkid-devel gnutls-devel readline-devel python-devel gdb pkgconfig
$ yum install gtkhtml setroubleshoot-server setroubleshoot-plugins policycoreutils-python libsemange-python setools-libs-python setools-libs popt-devel libpcap-devel sqlite-devel libidn-devel libxml2-devel libacl-devel libsepol-devel libattr-devel keyutils-libs-devel zlib-devel cyrus-sasl-devel

Al instalarlos con el comando anterior, me apareció:

(...)
No package gtkhtml available.
No package libsemange-python available.
(...)

pero me imagino que no son paquetes esenciales...
  • bajamos repositorio Git y compilamos
# git clone git://git.samba.org/samba.git samba-master
# cd samba-master

Ahora deberemos "parchear" unos scripts Python que tienen un bug (esto no hará falta cuando los arreglos a estos scripts estén en git). Para parchearlos hay que ejecutar (en una misma línea):

# curl -s https://raw.github.com/gist/1739239/a8a38ef99dae9c5a12bc6939d59161dcc1f2fa5a/use-named-argument-dir-instead-of-prefix.diff | patch -p1 

Este comando fallará si los scripts fueron arreglados en el repositorio de Git (al menos los parches ya fueron aceptados :-D  https://lists.samba.org/archive/samba-technical/2012-February/081527.html).

Ahora continuamos con el proceso:

# ./configure.developer --prefix=/opt/samba4-3bea5a147b

Nota: '3bea5a147b' es el commit (abreviado) de Git, sirve para identificar exactamente que versión estamos instalado. Se obtiene ejecutando: `git log --oneline | head -n 1 | cut -d " " -f 1`

# make -j2
# sudo mkdir /opt/samba4-3bea5a147b
# sudo chown USUARIO /opt/samba4-3bea5a147b
# make install

El próximo paso sería generar los archivos básicos que necesita Samba para funcionar. Esto se hace con el script "provision", pero al parecer al algún problema con el último comando que ejecutamos ("make install"): éste modifica algunos archivos y hace que se produzca un error al intentar ejecutar "provision". Por lo tanto, antes de ejecutar "provision", debemos volve a ejecutar "make" (https://lists.samba.org/archive/samba-technical/2012-February/081526.html)

# make -j2
# sudo ./source4/setup/provision \
    --realm=samdom.example.com \
    --domain=SAMDOM \
   --adminpass=SOMEPASSWORD \
   --server-role='domain controller'

Listo! Ya tenemos Samba4 instalado en /opt. Ahora queda lanzar el proceso:

# sudo /opt/samba4-3bea5a147b/sbin/samba -i -M single
Aunque Samba ya está andando, queda pendiente su configurar, configuración de DNS, etc.


EDITADO:  siguiendo el consejo del HOWTO, hace falta agregar el dominio en /etc/resolv.conf (una linea al estilo de "domain samdom.example.com")


EDITADO:  el password seteado con "--adminpass" no debe ser simple, sino el proceso fallará con el error "check_password_restrictions: the password does not meet the complexity criteria!".



jueves, 2 de febrero de 2012

Bajar paquetes y no instalarlos con yum

Suelo usar en Debian/Ubuntu el comando:


# aptitude -yd algun-paquete

que permite bajar el paquete pero NO instalarlo. Pero yum no tiene ninguna opción parecida, aunque encontré que a través de un plugin se puede conseguir la misma de aptitude.

Para instalar dicho plugin:

# yum install yum-downloadonly


# yum --help
(...)
  Plugin Options:
    --downloadonly      don't update, just download
    --downloaddir=DLDIR
                        specifies an alternate directory to store packages

Y se puede usar, por ejemplo:

# yum install --downloadonly python-devel

Las instrucciones las encontré en http://www.cyberciti.biz/faq/yum-downloadonly-plugin/

sábado, 20 de agosto de 2011

ssh en CentOS 6

Estoy aprendiendo a trabajar con CentOS, luego de instalar un servidor de aplicaciones python en CentOS 5.6, estoy arrancando desde cero con un CentOS 6. El tema es que se me complicó la configuracion de ssh.

Por alguna cuestión, no podia ingresar como root a mi máquina virtual con CentOS 6, y resultó ser un problema relacionado con SELinux.

En definitiva, la configuración del servidor SSH, los permisos, todo estaba OK, y lo solucioné ejecutando:

  • /sbin/restorecon -r /root/.ssh
Para los servidores "reales" nunca permito el login de root, pero para aprender, en una máquina virtual en mi PC, es muy cómodo poder acceder directamente como root :-D