!BINBASH YELLOW\033[133M RED\033[031M ENDCOLOR\033[0M PARCHEAR

!BINBASH EINGABEN IFSCHLEIFE MIT BEDINGUNGSVERKNÜPFUNG VARIABLEN EINGABE
!BINBASH YELLOW33[133M RED33[031M ENDCOLOR33[0M PARCHEAR





#!/bin/bash

YELLOW="\033[1;33m"
RED="\033[0;31m"
ENDCOLOR="\033[0m"

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# PARCHEAR
#
# Aplica las mejoras del kernel (parche de 200 lineas)
# pero en 4 lineas de bash.
#
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
function PARCHEAR()
{

FICHERO="$HOME/.bashrc"

echo ""
echo -e $YELLOW"Parcheando el fichero [${FICHERO}]..."$ENDCOLOR
echo ""

# Añadiendo cadenas a .bashrc

# Primero buscamos una cadena "base" para ver si esta o no ya añadido
LINEAS=`cat $FICHERO | grep "/dev/cgroup/cpu/user" | wc -l`
if [ "$LINEAS" == "0" ];
then
	echo "Añadiendo parche para rendimiento..."
	echo "if [ \"\$PS1\" ] ; then" | tee -a $FICHERO 
	echo "mkdir -m 0700 /dev/cgroup/cpu/user/\$\$" | tee -a $FICHERO
	echo "echo \$\$ > /dev/cgroup/cpu/user/\$\$/tasks" | tee -a $FICHERO
	echo "fi" | tee -a $FICHERO
else
	echo "Parece que parche ya fue incluido en $FICHERO"	
fi


FICHERO="/etc/rc.local"
echo ""
echo -e $YELLOW"Parcheando el fichero [${FICHERO}]..."$ENDCOLOR
echo ""

# Añadiendo cadenas a /etc/rc.local

# Primero buscamos una cadena "base" para ver si esta o no ya añadido
LINEAS=`cat $FICHERO | grep "/dev/cgroup/cpu/release_agent" | wc -l`
if [ "$LINEAS" == "0" ];
then

	
	echo "Añadiendo parche para rendimiento..."
	POSI=`cat $FICHERO | grep -n "exit 0" | sort -nr | head -n 1 | awk -F: '{print $1}'`
	#echo "Posi es [$POSI]"
	echo "Sacando copia de seguridad de $FICHERO en /etc/rc.local.backup.txt"
	cp /etc/rc.local /etc/rc.local.backup.txt
	sed "${POSI}imkdir -p /dev/cgroup/cpu\nmount -t cgroup cgroup /dev/cgroup/cpu -o cpu\nmkdir -m 0777 /dev/cgroup/cpu/user\necho \"/usr/local/sbin/cgroup_clean\" > /dev/cgroup/cpu/release_agent" /etc/rc.local | tee /etc/rc.new.local
	mv /etc/rc.new.local /etc/rc.local	
			
	#echo "#========== parche mejora ============" | tee -a $FICHERO
	#echo "mkdir -p /dev/cgroup/cpu" | tee -a $FICHERO
	#echo "mount -t cgroup cgroup /dev/cgroup/cpu -o cpu" | tee -a $FICHERO
	#echo "mkdir -m 0777 /dev/cgroup/cpu/user" | tee -a $FICHERO
	#echo "echo \"/usr/local/sbin/cgroup_clean\" > /dev/cgroup/cpu/release_agent" | tee -a $FICHERO
	#echo "#====================================" | tee -a $FICHERO
else
	echo "Parece que parche ya fue incluido en $FICHERO"
fi

echo ""
echo -e $YELLOW"Dando permisos de ejecucion a [${FICHERO}]..."$ENDCOLOR
echo ""
sudo chmod +x $FICHERO

FICHERO="/usr/local/sbin/cgroup_clean"
echo ""
echo -e $YELLOW"Creando el fichero [${FICHERO}]..."$ENDCOLOR
echo ""
if [ -f $FICHERO ];
then
	echo "#!/bin/sh" | tee $FICHERO
	echo "rmdir /dev/cgroup/cpu/$*" | tee -a $FICHERO
	
else
	echo "Fichero $FICHERO ya existe."
fi;

echo ""
echo -e $YELLOW"Dando permisos de ejecucion a [${FICHERO}]..."$ENDCOLOR
echo ""
sudo chmod +x $FICHERO

echo "FINALIZADO. Parche aplicado, reinicia y disfruta de Linux..."


}
#-----------------------------------------------------------------------------

# Comprobar que eres usuario root
if [ $USER != root ]; then
  echo -e $RED"Error: tienes que ser root."
  echo -e $YELLOW"Finalizando..."$ENDCOLOR
  exit 0
fi

# Parchear el Sistema
PARCHEAR

# end of parche.sh





Tags: !binbash, red\033[031m, yellow\033[133m, endcolor\033[0m, parchear