File "centos_install.sh"
Full path: /www/wwwroot/fabriciovc.eti.br/downloads/centos/centos_install.sh
File size: 4.67 KiB (4787 bytes)
MIME-type: text/x-shellscript
Charset: utf-8
#!/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