jueves, 27 de agosto de 2015

remover paquetes o dependencias huerfanas en red hat 7/ centos 7 /fedora 7 y tambien 6

facil y veloz, entra como root o superusuario y ejecuta:

yum autoremove    //y veras una pantalla como la siguiente en donde tu aceptas o no remover
 
Complementos cargados:fastestmirror, langpacks
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete centos-bookmarks.noarch 0:7-1.el7 debe ser eliminado
--> Resolución de dependencias finalizada
--> Buscando dependencias sobrantes innecesarias
Found and removing 0 unneeded dependencies

Dependencias resueltas

===================================================================================================================================================================================================================
 Package                                                  Arquitectura                                   Versión                                           Repositorio                                       Tamaño
===================================================================================================================================================================================================================
Eliminando:
 centos-bookmarks                                         noarch                                         7-1.el7                                           @anaconda                                         1.1 k

Resumen de la transacción
===================================================================================================================================================================================================================
Eliminar  1 Paquete

Tamaño instalado: 1.1 k
Está de acuerdo [s/N]:s
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Eliminando    : centos-bookmarks-7-1.el7.noarch                                                                                                                                                              1/1 
  Comprobando   : centos-bookmarks-7-1.el7.noarch                                                                                                                                                              1/1 

Eliminado(s):
  centos-bookmarks.noarch 0:7-1.el7                                                                                                                                                                                

¡Listo!
 
para debian ;-)

apt-get autoremove

instalar VLC en centos 7 :-)

Navegando por la web me encontre con un repo bastante bueno para poder instalar vlc en centos

instalamos el repositorio:

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
 
actualizamos la base de datos de repos
yum update
 
instalamos el paquete :-) 
 
yum  install vlc 

en las ultimas versiones quizá podemos utiliza dnf en vez de yum

también te recomiendo agregar el repositorio de epel por si falta algo
yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
 
o bien de la forma manual: 
 
touch /etc/yum.repos.d/epel.repo
editamos el archivo /etc/yum.repos.d/epel.repo
agregando las siguientes lineas

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

y ejecutamos yum update y despues yum repolist y yum install vlc 
 
listo tenemos VLC 

jueves, 11 de junio de 2015

Donde estan los logs del sistema en linux

Bueno hoy les traigo una entrada cortita pero muy util funciona en fedora, red hat, ubuntu, mint y varios mas, en donde se encuentran los logs de linux?, si bien no son todos estos son los que por lo menos concidero los basicos.

logs y para que sirve ?
/var/log/messages
la mayoria de los mensajes del syslog se guardan aqui. con excepcion de los mensajes relacionados a la autenticación y los mensajes del servicio de correo, algunos otros mensajes de debug
/var/log/secure
Aqui vamos a poder ver los logs relacionadios con la autenticación del sistema, es decir quien entro, quien salio y errores
/var/log/maillog
  Este es el log del servicio estandar de correos por lo general sendmail o postfix
/var/log/cron
Este es el log relacionado con las tareas programadas en el crontab de todos los usuarios y aqui podemos ver parte de su ejecucion y el resultado
/var/log/boot.log
 
Finalmente aqui podremos ver los logs relacionados con el arranque e inicio del sistema

lunes, 23 de febrero de 2015

Monitoreo y analisis de performance en Linux utilizando Perf (introducción)

Bueno esta es una herramienta relativamente "nueva" por lo menos para mi,  extremadamente potente.

Ahora al grano que es Perf:
Algunas veces llamado Perf_events o perf tools, es una herramienta de análisis de performance  disponible desde la versión de kernel 2.6.31, perf se accesa como cualquier comando linux y provee de una serie de subcomandos.

Perf puede obtener varios datos desde aquellos que son parte del sistema o bien procesos realizados por el usuario, proporciona contadores de hardware, puntos de rastreo (tracepoints), contadores de perfomance de software, pruebas dinamicas, entre otros.

La mayoría de la funcionalidad de Perf se encuentra integrada desde el kernel.
Perf viene por defecto en Red Hat 6 en adelante y Debian desde la versión Squeeze asi como en muchas otras variedades de linux, en fedora lo tuve que instalar.

Perf es una herramienta avanzada quizá en dado momento mas útil para  un administrador que desea hacer algo de tunning al sistema o bien un desarrollador que quiere optimizar a gran detalle su aplicación y el como funcione en el sistema.

la estructura del comando perf es asi:
 
perf [--version] [--help] COMMAND [ARGS]


Perf es utilizado con algunos de los siguientes subcomandos, puedes consultar la lista completa tecleando (perf o perf --help):

perf list: que nos muestra una lista de todos los eventos disponibles de los que        podemos contar, me parece que hay mas de 600.




perf top : muestra de manera dinámica varios de los eventos, muy similar a top pero enfocado a los distintos eventos del sistema en el siguiente ejemplo: cpu-clock

perf stat -p PID sleep 5: el ejemplo anterior muestra el contador de estadísticas de un proceso determinado por ejemplo vamos a ver como se comporta Xorg durante 10 segundos.


o bien podemos utilizar perf stat -a sleep 5 para ver las estadísticas completas de todo el sistema por 5 seg.


 perf record: guarda una muestra de una aplicacion determinada en el archivo   perf.data por ejemplo vamos a ver una muestra del las instrucciones del kernel

perf record -e cycles:k -a -- sleep 5
 
con el comando anterior perf capturara durante 5 segundos los eventos que ocurren
al kernel, al terminar se genera perf.data

(si queremos colectar estadísticas globales de todos los cpus:
perf record -a sleep 5)
  
ahora bien veamos el contenido del archivo con el comando:
perf report
  
En la imagen de arriba lo que se puede apreciar es que la mayoría del cpu que consume el kernel esta distribuido entre el swapper y Xorg  y podemos ver el porcentaje que consume cada llamada al sistema.

Perf tiene una enorme cantidad de utilierias los invito a que visiten el siguiente link para mas ejemplos:
 

y finalmente anexo este tutorial con muchas mas opciones para manejar perf
https://perf.wiki.kernel.org/index.php/Tutorial

Existe ademas otra opción para realizar algunas pruebas de estrés o benchmarks con el comando: perf bench


Perf tiene un equivalente el Solaris mejor conocido como Dtrace, que de igual forma es una potente herramienta para analizar el performances de los procesos y el sistema.

La forma de utilizar perf es muy variada pero espero haber explicado una pequeña introducción concisa y útil para que puedan seguir avanzando, existen manuales completos para esta utilería e ire agregando mas detalles conforme conosca mas de esta utilería, cabe mencionar que Brendan a utilizado los reportes generados en perf, para realizar graficas mucho mas entendibles para el monitoreo de aplicaciones y procesos.

viernes, 30 de enero de 2015

Configurar NFS en red hat 6.5



Un pequeño ejemplo para configurar NFS en red hat 6, seguramente funciona en otras distros (centos,fedora)

Primero NFS es un sistema de comparticion (network filesystem)
lo que vamos a compartir es un filesystem/carpeta de un server/pc a otro.

para eso ingresamos como root o superusuario al servidor host
y revisaremos la instalacion de los siguientes paquetes
nfs-utils y rpcbind, esto lo podemos hacer con 

yum list nfs-util rpcbind

si no se encuentran instalados, procedemos a bajarlos de los repos o bien bajamos los rpms ya sea de la red de red hat u otra fuente.

yum install nfs-utils rpcbind 

//yo me fui a la segura con yum y los repos base

una vez instalados, nos vamos a editar el archivo (con nano o vim etc...)
/etc/exports       y agregamos el folder que queremos compartir.
por poner un ejemplo como la siguiente línea :

/home/downloads/musica *(rw,sync,no_root_squash)

explicando un poco la línea de arriba 
1.- la ruta que queremos compartir : /home/downloads/musica
2.- la opción " * " : es la computadora a la que la queremos compartir, en este caso * es un wildcard/comodin que significa todas o cualquier maquina.
3.- opcion rw: esta opción dentro del parentesis otorga permisos de lectura y escritura, hay mas opciones pueden ir al man de nfs para saber más.

4.-opción sync: mantiene la escritura sincronizada entre los servers, esto permite que se actualice mas rapido la información en la carpeta compartida pero consume mas recursos de red, hay que tener en cuenta esta opción en caso de que se vea afectado el rendimiento por una alta cantidad de escritura, en ese caso quizá podamos revisar la opción async.

5.-no_root_squash : en este caso la opción yo la active por que el usuario root no era capaz de escribir en el filesystem, solo cualquier otro usuario entonces  al activar esta opción ya me permitió escribir en el filesystem sin líos, el detalle es que los archivos son visibles con el user "nobody" que pertenece a los usuarios reservados del sistema y permite la lectura,escritura y ejecución a cualquiera.

ahora editamos el archivo 
/etc/hosts.allow y agregamos las siguientes lineas
sshd: ALL

nfsd: ALL

rpcbind: ALL

con la instrucción anterior abri los puertos para ssh y el uso de nfs y rpc, hay que vigilar bien la configuración de este archivo, si el entorno requiere alta seguridad valdría la pena revisar las opciones que deseamos así como las ips que se van a agregar.

luego cambio el runlevel de los servicios para que el filesystem sea montado en automatico con cada reinicio y reiniciamos los servicios involucrados.

chkconfig nfs on o bien chkconfig --add nfs

chkconfig netfs on o bien chkconfig --add netfs

service nfs start  o /sbin/service/ nfs restart

service rpcbind start

para ver los filesystems exportados ejecuta 'exportfs' , 
cada que realicemos un cambio al archivo /etc/exports tendrás que ejecutar
'exportfs -ra' para que el servicio de NFS vuelva a releer el archivo y tomar la configuración.

ahora revisemos el portmapper
ejecutamos rpcinfo -p y deberíamos tener una salida similar a la siguiente imagen






<<<Ahora las siguientes instrucciones tendrán que aplicarse en el servidor o máquina cliente/destino (a donde queremos compartir la carpeta)>>>

-editamos /etc/fstab y agregamos una linea como la que sigue (todo en una línea)
mi_ip_o_mihostserver:/home/downloads/musica /home/downloads/musica nfs nfsvers=3 0

recuerda que al editar /etc/fstab estamos dando de alta un punto de montaje, así que tiene que existir la carpeta a donde queremos montar (compartir). para más información revisa las opciones de man fstab o busca más detalle, en otros post hablaré más a detalle sobre el archivo fstab.

-editamos el archivo /etc/hosts.allow y agregamos las siguientes líneas.
sshd: ALL

nfsd: ALL

rpcbind: ALL

-y finalmente ejecutamos mount -a para montar el nuevo NFS en /home/downloads/musica

o bien la opción

mount -t nfs mi_ip_o_mihostserver:/home/downloads/musica /home/downloads/musica

-ahora bien revisemos los runlevels con chkconfig --list nfs y si esta apagado (off) ejecuta:
  chkconfig nfs on o bien chkconfig --add nfs

 chkconfig netfs on o bien chkconfig --add netfs

para que funcione de manera estándar yo sugeriría que estuvieran los modos 1,3,4,y 5 prendidos (on) que abarcan los modos de un solo usuario, multiusuario y multiusuario con entorno gráfico al iniciar el sistema, no es el propósito de este post sobre los runlevels y a profundidad el manejo de servicios sin embargo dejo el pequeño tip o referencia.

solución de algunos errores:
en algunos casos puede ser necesario reiniciar el servicio de sshd o bien reiniciar los servicios de red o reiniciar ambos servers para que lean nuevamente la configuración de ssh y la configuración del archivo sshd_config, ejecuta esto solo cuando nfs no pueda arrancar.

service network restart
o service sshd restart 
o reiniciamos el sistema con init 6 o reboot

finalmente espero les sirva, ya en un post anterior agregue un link para configurar NFS pero dado que se encuentra en ingles y variaba un poco de lo que me funciono, agrego este post como medida complementaria.







domingo, 11 de enero de 2015

algunos ejemplos del comando cut (linux y solaris)

Hola les dejo algunos ejemplos de uso del comando cut, que nos sirve para cortar texto de una salida de comandos o texto

ls -ltr | cut -c  20-40    corta los primeros 20 caracteres y de ahi hasta el 40

ls -ltr | cut -d ":" -f 1 
quita los 2 puntitos o si cambias el 1 por el 2 quita todo lo que esta adelante o despues


como pueden ver la magia va en los parametros que le pasemos a cut como -c que cuenta caracteres
o -d que busca un simbolo determinado.

puse estos porque los eh utilizado en mas ocaciones o me suelen ser comunes :-)

modificar el mensaje de inicio de la terminal en linux

facil, editamos este archivo (/etc/motd), aplica para cualquier linux ( lo e probado en red hat,ubuntu y solaris)

 /etc/motd

Otra es editar el archivo .bashrc del home del usuario o root, no recomiendo mucho esta ultima opción por ser un archivo algo mas delicado ya que permite ejecutar y cargar opciones,programas y variables de inicio.