File "centos_install.sh"

Full path: /www/wwwroot/fabriciovc.eti.br/downloads/scripts/svn/zimbra/centos_install.sh
File size: 4.67 KiB (4787 bytes)
MIME-type: text/x-shellscript
Charset: utf-8

Download   Open   Back

#!/bin/bash
#
# centos_install.sh
# Script para realizar padronização do Linux CentOS
# http://downloads.fabriciovc.eti.br/install/centos_install.sh
# 
# Fabricio Vaccari Constanski | fabriciovc@fabriciovc.eti.br
# v1.0 20081022, FabricioVC - Versão inicial
# v1.1 20110222, FabricioVC - Atualizações de cores e comandos
# v1.2 20110314, FabricioVC - Padronização para uso de CentOS
# v1.3 20110331, FabricioVC - Correção de algumas falhas em HOSTNAME e cron
# v1.4 20110509, FabricioVC - Alterado adição de comandos do cron e adicionado
#			      configuracao auto do sysctl.
#
# Creative Commons
# Atribuicao-Compartilhamento pela mesma Licenca 3.0 Brasil.
# http://creativecommons.org/licenses/by/3.0/br/
#
# Você tem a liberdade de:
# * Compartilhar: copiar, distribuir e transmitir a obra.
# * Remixar: criar obras derivadas.
#
# Sob as seguintes condições:
# * Atribuição: Você deve creditar a obra da forma especificada ao autor
# * Aviso: Para qualquer reutilização ou distribuição, você deve deixar claro
#          a terceiros os termos da licença a que se encontra submetida esta 
#          obra. A melhor maneira de fazer isso é com um link para a página
#          http://creativecommons.org/licenses/by/3.0/br/.
#=============================================================================#

#== COMANDOS =================================================================#
CAT=$(which cat)
CRONTAB=$(which crontab)
DATE=$(which date)
ECHO="$(which echo) -e"
HWCLOCK=$(which hwclock)
MKDIR=$(which mkdir)
MV=$(which mv)
NTPDATE=$(which ntpdate)
REBOOT=$(which reboot)
RM=$(which rm)
SED=$(which sed)
SLEEP=$(which sleep)
SYSCTL=$(which sysctl)
SH=$(which sh)
YUM=$(which yum)
WGET=$(which wget)

#== HABILITANDO CORES NO SHELL ===============================================#
CINZA="\033[01;30m"
VERMELHO="\033[01;31m"  # Usado para mensagens de falha
VERDE="\033[01;32m"     # Usado para mensagens de sucesso
AMARELO="\033[01;33m"   # Usado para mensagens de alerta
AZUL="\033[01;34m"      # Usado para mensagens de informacao
ROXO="\033[01;35m"
CIANO="\033[01;36m"
BRANCO="\033[01;37m"    # Usado para perguntas
FECHA="\033[m"          # Usado para finalizar o uso de cores

#== FUNCAO DE STATUS DE COMANDOS =============================================#
Status () {
	if [ $? -eq 0 ]; then
		echo -e " ... [${VERDE}Concluido${FECHA}]"
	else
		echo -e " ... [${VERMELHO}Falhou${FECHA}]"
	fi
}

#== AJUSTANDO O SISTEMA ======================================================#
# Ajustando o nome do servidor
echo
${ECHO} -n "${BRANCO}Nome do servidor (opcional):${FECHA} "
read SERVERNAME

if [ "$SERVERNAME" != "" ]; then
	${ECHO} -n "Ajustando o /etc/sysconfig/network"
	${SED} '/^HOSTNAME/d' /etc/sysconfig/network > /etc/sysconfig/network.tmp && \
	echo "HOSTNAME=${SERVERNAME}" >> /etc/sysconfig/network.tmp && \
	${CAT} /etc/sysconfig/network.tmp > /etc/sysconfig/network
	Status
fi

# Atualizando o sistema completo
${ECHO} -n "Atualizando o sistema ... isso pode demorar"
$YUM -y update
Status

# Instalando pacotes adicionais necessarios
${ECHO} -n "Instalando pacotes adicionais necessarios"
$YUM -y install bzip2 gcc cpp kernel-headers mailx mutt nmap ntp pciutils postfix sysstat system-config-date \
unzip vim-common vim-enhanced vim-minimal yum-utils xfsprogs zip
Status

# Ajustando o /etc/sysctl.conf
${ECHO} -n Ajustando o /etc/sysctl.conf
${SED} 's/kernel.sysrq = 0/kernel.sysrq = 1/g' /etc/sysctl.conf > /tmp/sysctl.conf && \
${CAT} /tmp/sysctl.conf > /etc/sysctl.conf && 
${SYSCTL} -p
Status

# Ajustando o ~/.bashrc
${ECHO} -n "Ajustando o ~/.bashrc"
$CAT <<EOF > /root/.bashrc
# .bashrc

# User specific aliases and functions

alias ls='ls --color=auto'
alias ll='ls --color=auto -lah'
alias l='ls --color=auto -lh'

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias df='df -hT'

alias vi='vim'
alias grep='grep --color=auto'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
EOF
Status

# Desabilitando alguns serviços
${ECHO} -n "Desabilitando alguns serviços"
#if [ -f /etc/rc3.d/kudzu ]; then ${CHKCONFIG} kudzu off; fi; \
if [ -f /etc/rc3.d/ip6tables ]; then ${CHKCONFIG} ip6tables off; fi; \
#if [ -f /etc/rc3.d/iptables ]; then ${CHKCONFIG} iptables off; #fi; \
if [ -f /etc/rc3.d/cups ]; then ${CHKCONFIG} cups off; fi; \
if [ -f /etc/rc3.d/bluetooth ]; then ${CHKCONFIG} bluetooth off; fi; \
#if [ -f /etc/rc3.d/sendmail ]; then ${CHKCONFIG} sendmail off; fi
Status

# Desabilitando o lixo do selinux
${SED} -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

# Ajustando o crontab
${ECHO} -n "Ajustando o crontab"
$CAT <<EOF >> /etc/crontab

# System Rules
0 */6  * * * root /usr/sbin/ntpdate pool.ntp.br
0 */12 * * * root /usr/bin/updatedb

EOF
Status

exit 0

PHP File Manager