Bueno les dejo un script que hace tiempo que desarrolle quizás necesite depurarse y customizarse para que puedan ustedes emplearlo, la idea de publicarlo es que sirva como estudio y pudiera ser empleado como ejemplo para el desarrollo de otros script es bastante simple y no considero mi fuerte el desarrollo, la idea básicamente es utilizar un servidor apache como repositorio, descargar los paquetes de ahí y después realizar la instalación, evidentemente parte de este código fue empleado para un cliente el cual omitiré nombrar por cuestiones y modificare el código para conservar su privacidad,
iré explicando los pasos linea por linea para que se entienda lo mejor posible con las acostumbradas "//"
DESARROLLADO EN RED HAT 6 Y 7
#!/bin/bash // declaramos el shebang en este caso bash
#Author: JCPG licence GPL // aqui me cuelgo mis medallas XD jajaja
#Script to install a new java version ##### untested version SCRIPT Java_install_RC5_FINAL ###
#Script modificado para instalar la version java 1.6.0_115 to 1.6.0_121 and 1.7.0_101 to 1.7.0_111
# Test servers Server 1 (java 7) and server tipo 2 (java 6) // el asunto aqui es que tenia un grupo de servidores con java 7 y otros con java 6 así que para evitar errores y no crear scripts por separado le di facultades (un case :-P ) para que el script pudiera distinguir la instalación que requería el server, cabe mencionar que ya se conoce la versión previa de java en cada caso
#Variables to retrieve the version and take java.security
VERSION=`rpm -q jdk | sort -r | head -1` //asigno a esta variable la versión de java previamente instalada utilizando el manejador de paquetes
PACKAGE=p23218364_160121_Linux-x86-64.zip // el nombre de mi paquete java 6
PACKAGE2=p23218354_170111_Linux-x86-64.zip // el nombre de mi paquete java 7
JAVAPKGOLD1=jdk-1.6.0_115-fcs.x86_64 //el nombre del paquete java 6 instalado
JAVAPKGOLD2=jdk-1.7.0_101-fcs.x86_64 //el nombre del paquete java 7 instalado
JAVAPKGBKP1=jdk1.6.0_115 // nombre de la carpeta del java 6 anterior
JAVAPKGBKP2=jdk1.7.0_101 // nombre de la carpeta del java 7 anterior
JAVAPKGNEW1=jdk1.6.0_121 // nombre de la carpeta del java 6 nueva
JAVAPKGNEW2=jdk1.7.0_111 // nombre de la carpeta del java 7 nueva
NEWRPM1=jdk-6u121-linux-x64-rpm.bin //el nombre del paquete java 6 descomprimido
NEWRPM2=jdk-7u111-linux-x64.rpm //el nombre del paquete java 6 descomprimido
OLDJAVAFOLDERS=jdk1.[6-7].?_??_old // carpeta backup existente o por existir
BACKUP_DATE=`/bin/date +%Y%d%H%M%S` // fecha
VERSIONNEW=`rpm -qi jdk | head -2 | grep -i version | awk '{print $2}'` // extraigo la nueva version
#la función pre-patch valida que este instalado unzip, wget, y yum que son programas necesarios para # la operación del script de igual manera se valida si ya existe el folder de java
function pre_patch {
if [ -f "/usr/bin/unzip" ]
then
echo "unzip installed"
else
echo "unzip not installed trying to install it"
yum install -y unzip
fi
if [ -f "/usr/bin/wget" ]
then
echo "wget installed"
else
echo "wget not installed trying to install it"
yum install -y wget
fi
if [ -f "/usr/bin/yum" ]
then
echo "yum installed"
else
echo "Error yum not installed and it is a necessary package"; exit 2;
fi
if [ -d "/usr/java" ]
then
echo "Java path found"
else
echo "Error /usr/java path doesn't exists"; exit 2;
fi
}
## esta es la función principal que básicamente es la que instala el java ##
function install_java {
LINK=`ls -ld [i,w,d]??_java | awk '{print $9}'` // esta variable extra el nombre de un softlink que puede cambia al que el aplicativo requería ingresar esta con una expresión regular ya que dependiendo del server cambia su nombre ( no me pregunte por que rayos estaba así pero ellso llamaban al java asi )
## comienza el case ## // aqui validamos que versión manejamos
case "$VERSION" in
"$JAVAPKGOLD1" ) // para java 6
echo "java found:"$VERSION // confirmo que encontre la version
wget -nv http://server01.chipocludo/java/$PACKAGE // descargo el paquete de java
mv $JAVAPKGBKP1 "$JAVAPKGBKP1$BACKUP_DATE" || { echo "Could not move folder $JAVAPKGBKP1"; exit 2; } // hago un pequeño backup moviendo la carpeta actual ( no necesita ser exacto en este caso)
unzip $PACKAGE || { echo "Could not unzip package $PACKAGE"; exit 2; } // descomprimo el paquete
mv readme.txt readme.txt_"$BACKUP_DATE" || { echo "Could not move old readme.txt under /usr/java/"; exit 2; } // hago un backup de el readme.txt que explica los cambios del release anterior
yum remove -y jdk // remuevo cualquier version de jdk previamente instalada
yes | ./$NEWRPM1 // como el paquete es un rpm.bin (como un exe para no entrar en detalles) utilizo yes mas una tubería para aceptar por default los valores necesarios y forzar de alguna manera a que sea "desatendido"
cp /usr/java/"$JAVAPKGBKP1$BACKUP_DATE"/jre/lib/security/*.jar /usr/java/$JAVAPKGNEW1/jre/lib/security/ || { echo "Could not move JARS under /usr/java/$JAVAPKGNEW2/jre/lib/security"; } //creo un backup de los jars security que dificilmente se actualizan entre versiones en este casos son estos los que utiliza la app
cp -p /usr/java/$JAVAPKGNEW1/jre/lib/security/java.security /usr/java/$JAVAPKGNEW1/jre/lib/security/java.security_"$BACKUP_DATE" || { echo "WARNING: Could not backup java.security"; } //copio el archivo security al nuevo folder de la nueva version
sed 's/jdk.tls.disabledAlgorithms=SSLv3, MD5withRSA, DH keySize < 768/\#jdk.tls.disabledAlgorithms=SSLv3, MD5withRSA, DH keySize < 768/g' /usr/java/$JAVAPKGNEW1/jre/lib/security/java.security_"$BACKUP_DATE" > /usr/java/$JAVAPKGNEW1/jre/lib/security/java.security // esta linea se vuelve algo muy extraño de la app que no es compatible con certificados SSL y cifrados so comento una linea para omitir esta operacion dentro de java.security
unlink $LINK || { echo "WARNING: Could not delete the softlink $LINK"; } // quito el softlink anterior ya que necesita se actualizado y reapuntarse a la nueva carpeta donde esta instalado jdk
ln -s /usr/java/$JAVAPKGNEW1 $LINK || { echo "WARNING: Could not create the softlink $LINK"; } //y creamos el nuevo link
grep SSLv3 /usr/java/$JAVAPKGNEW1/jre/lib/security/java.security // hago este grep solo para validar que la linea fue modificada correctamente y se muestre en pantalla el comentario
remove_old // mando llamar a la función remove_old para depurar los backups que pudieran existir y liberar espacio
;;
// no comentare todo el case para la versión 7 pero es bastante parecido.
"$JAVAPKGOLD2" ) // para java 7
echo "java found:"$VERSION
wget -nv http://server01.chipocludo/java/$PACKAGE2
mv $JAVAPKGBKP2 "$JAVAPKGBKP2$BACKUP_DATE" || { echo "Could not move folder $JAVAPKGBKP2"; exit 2; }
unzip $PACKAGE2 || { echo "Could not unzip package $PACKAGE"; exit 2; }
mv readme.txt readme.txt_"$BACKUP_DATE" || { echo "Could not backup old readme.txt under /usr/java/"; exit 2; }
yum remove -y jdk
yum localinstall -y $NEWRPM2 // a diferencia de la versión 6 el jdk 7 es un rpm normalito y puede ser instalado o bien con yum, o dnf o rpm, en este caso como yo proveo el rpm utilizo localinstall y el -y para asumir yes a cualquier pregunta del instalador
cp /usr/java/"$JAVAPKGBKP2$BACKUP_DATE"/jre/lib/security/*.jar /usr/java/$JAVAPKGNEW2/jre/lib/security/ || { echo "Could not move JARS under /usr/java/$JAVAPKGNEW2/jre/lib/security"; }
cp -p /usr/java/$JAVAPKGNEW2/jre/lib/security/java.security /usr/java/$JAVAPKGNEW2/jre/lib/security/java.security_"$BACKUP_DATE" || { echo "WARNING: Could not backup java.security"; }
sed 's/jdk.tls.disabledAlgorithms=SSLv3, MD5withRSA, DH keySize < 768/\#jdk.tls.disabledAlgorithms=SSLv3, MD5withRSA, DH keySize < 768/g' /usr/java/$JAVAPKGNEW2/jre/lib/security/java.security_"$BACKUP_DATE" > /usr/java/$JAVAPKGNEW2/jre/lib/security/java.security // la linea del sed cambia un poco en el reemplazo del archivo pero básicamente se comenta igual
unlink $LINK || { echo "WARNING: Could not delete the softlink $LINK"; }
ln -s /usr/java/$JAVAPKGNEW2 $LINK || { echo "WARNING: Could not create the softlink $LINK"; }
grep SSLv3 /usr/java/$JAVAPKGNEW2/jre/lib/security/java.security
remove_old
;;
"*" ) // para cualquier otra condición o versión de java
echo "Wrong Java Version or not previously installed"
;;
esac
}
#esta es una función para validar que versión se encuentra instalada y que sea una de las actuales#
function validation {
if [ "$VERSIONNEW" = "$JAVAPKGNEW1" ] || [ "$VERSIONNEW" = "$JAVAPKGNEW2" ]
then
echo "the installed Java is up to date: $VERSIONNEW"
exit 0
else
install_java
fi
}
#esta función se lleva o elimina los folders y paquetes utilizados en la instalación y paquetes viejos que se quedaron cuando el proceso se realizaba a mano la salida de lo que se borra se guarda en /var/tmp/error_removejava.out igual lo pueden guardar en /tmp o donde mas les plasca#
function remove_old {
## function that delete old files and rpm,bin,tar and gz files used during the installation ##
echo "Log Old files removed under /usr/java $BACKUP_DATE" > /var/tmp/error_removejava.out
rm -R $OLDJAVAFOLDERS >> /var/tmp/error_removejava.out 2>&1 || { echo "WARNING: Could not delete old folder $OLDJAVAFOLDERS"; }
rm -fv /usr/java/*[Ll]inux*.[rbz][pi][mnp] >> /var/tmp/error_removejava.out 2>&1 || { echo "WARNING: Could not delete old *.gz *.bin .rpm files"; } // adios a los rpm,bin y zips igual se puede hacer con [rpm,bin,zip] y es algo mas preciso que la expresion regular que igual se me hizo un buen ejercicio jeje
rm -fv /usr/java/sun-javadb-*.rpm >> /var/tmp/error_removejava.out 2>&1
echo "---- End task Log Old files removed under /usr/java $BACKUP_DATE ---" >> /var/tmp/error_removejava.out // aqui elimino un tipo muy especifico de archivo que son los sun-javadb
}
####### Main program ##### // y esta es la secuencia del programa
pre_patch // entra la funcion pre patch para validar los requisitos
validation // validamos que no este instalado y procedemos a instalar o si ya esta instalado es exitoso
cd /usr/java // nos posicionamos en el folder donde se va a instalar
validation // validamos que no este instalado y procedemos a instalar o si ya esta instalado es exitoso
espero los comentarios sean claros y sirva como un caso de estudio igual para no llamar 2 veces a la función de validation podemos agregar un ciclo y etc... pero me pareció bastante simple así y no considere necesario iterar mas veces.
espero les sirva y aporte algunas ideas para sus scripts.
domingo, 28 de agosto de 2016
sábado, 28 de mayo de 2016
Por que casi abandono la musica streaming
Es una entrada algo extraña pero queria expresar mi punto de vista respecto de las apps en streaming apesar de su practicidad, dezeer y spotify son los servicios que mas eh utilizado ambos los eh utilizado en paga y me van muy bien en linux.
PERO....
resulta que me concidero algo melomano y amante del HI-FI, a decir verdad eh "invertido" en equipo de audio que saque el mejor provecho de los CD's, MP3 y etc... o por lo menos trato de apreciar la musica de la mejor forma y defintivamente ni tidal ni dezeer ni spotify me han terminado de llenar el ojo en cuanto a HI-FI se refiere por mas calidad que le ponga ya me mal acostumbre al FLAC o al ya muy viejito e impractico WAV del CD que en cuanto a calidad es muy dificil de superar.
ahora, me di cuenta de otra cosa mas y es que sigue siendo muy practico el MP3 de 320kbps, resulta que el storage se ha vuelto mas barato, las apps que convierten el WAV a formatos de compresion como FLAC, ogg, mp3 y AAC son muy eficentes y sin duda siempre superior al streaming.
Organizar la biblioteca de mp3 me resulta mas practico por lo menos a mi en el smarphone o en la PC, no requiero conexion de datos permanente para poder disfrutar de la musica y puedo conservar mejor calidad al hacer streaming via bluetooth o wifi.
STREAMING NO TE ABANDONARE
Definitivamente no abandonare totalmente las apps de streaming por que es sumamente util escuchar los nuevos lanzamientos antes de adquirir un CD o descargar archivos, el gasto que representa mensualmente es bastante conciderable en México para las versiones de paga, y personalmente solo compro CD's de aquellos que valen mas la pena para mi; que en comparacion con un pago mensual que generalmente es menor en mi caso a la suma de gasto anual por el streaming, a los demas prefiero escucharlos como si fuera radio o con las limitantes del streaming gratis, no concidero que valga la pena el gasto y quizas la nostalgia de ver el folleto/librito, el arte en la portada y las ediciones especiales con sus extras y el insuperable WAV me hacen regresar con cierto cariño a mis CD's.
PROS y CONS
Streaming Pros
-Es practico y comodo tener a la mano millones de artistas
-Hay variedad de servicios (spotify, deezer,Tidal, rdio... etc...)
-Nuevos lanzamientos a la palma de la mano
-Excelente para un preview
-playlist interesantes/ mixes
Streaming Cons
-las versiones que no son de paga limitan el poder almacenar la musica
-aun almacenando la musica la calidad sigue siendo limitada
-las apps en streaming no son muy eficientes en su ejecucion aveces se traban aun con equipos buenos
-dependen totalmente de los datos para moviles en especial
-las apps de escritorio dejan que desear en cuanto a ecualizacion y customizacion
-poca compatibilidad en comparacion con el clasico mp3 aunque cada vez mas y mas equipos son compatibles con estas app hablo muy en especial de smartvs y equipo de audio (home theater)
Formatos de audio tradicionales Pros
-Aunque el CD podria descartarse por que ya muchos autos y equipos en general ya no tienen un reproductor de cd, la calidad del WAV es insuperable e igualmente mp3, aac, ogg, FLAC con tasas de bits aun cercanos a los 256kbps se oyen mucho mejor que la calidad inclusive alta de las apps en streaming
- El mp3 y AAC siguen siendo los formatos mas compatibles y utilizados en la mayoria de los equipos
- No requieren de datos
-Se los puedo compartir a mis amigos sin necesidad de pagar nada adicional (cierto no beneficia mucho a la musica pero es como comprar un libro yo se lo puedo prestar a quien yo quiera)
- Si cuentas con equipo adecuado la experiencia suele ser mas enriquecedora
- Me encanta el material fisico en el caso de los CD's
- Siguen siendo muy practicos tanto para moviles como equipos (Home theater, smartv, share points llamese NAS o discos compartidos y otros reproductores)
-la organizacion de la biblioteca es realmente util por lo menos para mi
Formatos de audio tradicionales Cons
-requieren de un medio de almacenamiento y este generalmente representa un costo adicional
-si el formato fisico se daña adios a la preciada colleccion
- biblioteca limitada a solo lo que tienes aunque claro podemos torrentear un rato o convertir nuestros cds a formatos digitales para ampliar.
Conclusion
Quizas en funcion del usuario pueda resultar mas practica una u otra solucion, definitivamente seguire utilizando apps de streaming aunque no muy dispuesto a gastar en ellas, la enorme nostalgia y gusto por los formatos tradicionales y mi gusto por escuchar la mejor calidad de audio dentro de mi alcance me empuja a seguir en los formatos tradicionales e incluso a aprender cuestiones mas tecnicas, como la ecualizacion, equipos y apps especializadas para sacar el mejor provecho de los distintos formatos.
por ultimo una interesante prueba jejeje
http://www.npr.org/sections/therecord/2015/06/02/411473508/how-well-can-you-hear-audio-quality
yo atine 4 en wav y 2 en 320 pero con audifonos jeje con las bocinas de la compu solo 2 de wav y 3 de 320, la de jay z esta dificil
PERO....
resulta que me concidero algo melomano y amante del HI-FI, a decir verdad eh "invertido" en equipo de audio que saque el mejor provecho de los CD's, MP3 y etc... o por lo menos trato de apreciar la musica de la mejor forma y defintivamente ni tidal ni dezeer ni spotify me han terminado de llenar el ojo en cuanto a HI-FI se refiere por mas calidad que le ponga ya me mal acostumbre al FLAC o al ya muy viejito e impractico WAV del CD que en cuanto a calidad es muy dificil de superar.
ahora, me di cuenta de otra cosa mas y es que sigue siendo muy practico el MP3 de 320kbps, resulta que el storage se ha vuelto mas barato, las apps que convierten el WAV a formatos de compresion como FLAC, ogg, mp3 y AAC son muy eficentes y sin duda siempre superior al streaming.
Organizar la biblioteca de mp3 me resulta mas practico por lo menos a mi en el smarphone o en la PC, no requiero conexion de datos permanente para poder disfrutar de la musica y puedo conservar mejor calidad al hacer streaming via bluetooth o wifi.
STREAMING NO TE ABANDONARE
Definitivamente no abandonare totalmente las apps de streaming por que es sumamente util escuchar los nuevos lanzamientos antes de adquirir un CD o descargar archivos, el gasto que representa mensualmente es bastante conciderable en México para las versiones de paga, y personalmente solo compro CD's de aquellos que valen mas la pena para mi; que en comparacion con un pago mensual que generalmente es menor en mi caso a la suma de gasto anual por el streaming, a los demas prefiero escucharlos como si fuera radio o con las limitantes del streaming gratis, no concidero que valga la pena el gasto y quizas la nostalgia de ver el folleto/librito, el arte en la portada y las ediciones especiales con sus extras y el insuperable WAV me hacen regresar con cierto cariño a mis CD's.
PROS y CONS
Streaming Pros
-Es practico y comodo tener a la mano millones de artistas
-Hay variedad de servicios (spotify, deezer,Tidal, rdio... etc...)
-Nuevos lanzamientos a la palma de la mano
-Excelente para un preview
-playlist interesantes/ mixes
Streaming Cons
-las versiones que no son de paga limitan el poder almacenar la musica
-aun almacenando la musica la calidad sigue siendo limitada
-las apps en streaming no son muy eficientes en su ejecucion aveces se traban aun con equipos buenos
-dependen totalmente de los datos para moviles en especial
-las apps de escritorio dejan que desear en cuanto a ecualizacion y customizacion
-poca compatibilidad en comparacion con el clasico mp3 aunque cada vez mas y mas equipos son compatibles con estas app hablo muy en especial de smartvs y equipo de audio (home theater)
Formatos de audio tradicionales Pros
-Aunque el CD podria descartarse por que ya muchos autos y equipos en general ya no tienen un reproductor de cd, la calidad del WAV es insuperable e igualmente mp3, aac, ogg, FLAC con tasas de bits aun cercanos a los 256kbps se oyen mucho mejor que la calidad inclusive alta de las apps en streaming
- El mp3 y AAC siguen siendo los formatos mas compatibles y utilizados en la mayoria de los equipos
- No requieren de datos
-Se los puedo compartir a mis amigos sin necesidad de pagar nada adicional (cierto no beneficia mucho a la musica pero es como comprar un libro yo se lo puedo prestar a quien yo quiera)
- Si cuentas con equipo adecuado la experiencia suele ser mas enriquecedora
- Me encanta el material fisico en el caso de los CD's
- Siguen siendo muy practicos tanto para moviles como equipos (Home theater, smartv, share points llamese NAS o discos compartidos y otros reproductores)
-la organizacion de la biblioteca es realmente util por lo menos para mi
Formatos de audio tradicionales Cons
-requieren de un medio de almacenamiento y este generalmente representa un costo adicional
-si el formato fisico se daña adios a la preciada colleccion
- biblioteca limitada a solo lo que tienes aunque claro podemos torrentear un rato o convertir nuestros cds a formatos digitales para ampliar.
Conclusion
Quizas en funcion del usuario pueda resultar mas practica una u otra solucion, definitivamente seguire utilizando apps de streaming aunque no muy dispuesto a gastar en ellas, la enorme nostalgia y gusto por los formatos tradicionales y mi gusto por escuchar la mejor calidad de audio dentro de mi alcance me empuja a seguir en los formatos tradicionales e incluso a aprender cuestiones mas tecnicas, como la ecualizacion, equipos y apps especializadas para sacar el mejor provecho de los distintos formatos.
por ultimo una interesante prueba jejeje
http://www.npr.org/sections/therecord/2015/06/02/411473508/how-well-can-you-hear-audio-quality
yo atine 4 en wav y 2 en 320 pero con audifonos jeje con las bocinas de la compu solo 2 de wav y 3 de 320, la de jay z esta dificil
lunes, 18 de enero de 2016
obtener las variables asociadas a un proceso en linux
Una entrada super veloz y bien útil, que de vez en cuando me toca en el trabajo, obtener las variables de entorno involucradas para un proceso
cat /proc/$PID/environ
donde $PID es el numero de procesos
podemos obtener el numero de proceso con varios comandos como:
ps -ef | grep httpd o apache o ....
pgrep | httpd
etc...
:-) espero sea de ayuda, basicamente lo que arroja son las rutas y variables involucradas, por ejemplo la variable PATH con la que este corriendo etc...
[root@server css]# cat /proc/6254/environ
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/binLANG=CNOTIFY_SOCKET=@/org/freedesktop/systemd1/notify
cat /proc/$PID/environ
donde $PID es el numero de procesos
podemos obtener el numero de proceso con varios comandos como:
ps -ef | grep httpd o apache o ....
pgrep | httpd
etc...
:-) espero sea de ayuda, basicamente lo que arroja son las rutas y variables involucradas, por ejemplo la variable PATH con la que este corriendo etc...
[root@server css]# cat /proc/6254/environ
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/binLANG=CNOTIFY_SOCKET=@/org/freedesktop/systemd1/notify
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:
también te recomiendo agregar el repositorio de epel por si falta algo
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 vlcen 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
|
Etiquetas:
administracion,
basico,
distribuciones,
linux,
logs,
procesos,
servicios,
unix
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 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
(si queremos colectar estadísticas globales de todos los cpus:
perf record -a sleep 5)
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.
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
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.
Suscribirse a:
Entradas (Atom)