Configuração pós-instalação do Slackware 14.2

Publicado por Ryuk Shinigami (última atualização em 17/02/2020)

[ Hits: 490 ]

Homepage: www.alem.com.br

Download slack-config.sh




Script que eu uso para configurar de modo prático e rápido o Slackware logo após a instalação. Publico aqui caso alguém queira adaptá-lo a sua necessidade.

  



Esconder código-fonte

#!/bin/bash
# Configuração pós-instalação do Slackware 14.2
# Autor: PauloHAC ([email protected])

config_update() {
# Atualiza certificados (wget): depende de "perl"
update-ca-certificates -f
# atualiza o sistema
linha=$(grep -n "brasil" /etc/slackpkg/mirrors | grep -m1 "http" | cut -d: -f1)
sed -i "$linha s/^# //" /etc/slackpkg/mirrors
slackpkg update gpg
slackpkg update
slackpkg upgrade-all
}

config_sbopkg() {
# Instala sbopkg
ver=$(ls /var/log/packages/ | grep -c sbopkg)
if [ "$ver" -gt 1 ]; then
    echo "sbopkg já instalado."
else
    #wget https://github.com/sbopkg/sbopkg/releases/download/0.38.1/sbopkg-0.38.1-noarch-1_wsr.tgz
    #installpkg sbopkg-0.38.1-noarch-1_wsr.tgz
    sbover=$(lynx -dump https://sbopkg.org/downloads.php | grep -m1 -Eo 'https.*tgz$')
    wget $sbover
    installpkg sbopkg*.tgz
    sbopkg -r
fi
}

config_timezone() {
# Configurar relógio do sistema para UTC ou localtime
timeconfig
# Ajusta o relógio do hardware
#hwclock --systohc
}

config_locale() {
sed -i -e 's/^#//' -e 's/^/#/' /etc/profile.d/lang.sh
echo 'export LINGUAS=pt_BR.UTF-8
export LANGUAGE=pt_BR.UTF-8
export LANG=pt_BR.UTF-8
export LC_COLLATE=C' | tee -a /etc/profile.d/lang.sh
sed -i -e 's/^#//' -e 's/^/#/' /etc/profile.d/lang.csh
grep ^export /etc/profile.d/lang.sh | sed -e "s/export/setenv/g" -e "s/\=/\ /g" >> /etc/profile.d/lang.csh
# unicode
echo '# unicode
unicode_start' | tee -a /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
# MAN PAGES
sed -i '/^NROFF/c \
NROFF        /usr/bin/groff -Tlatin1 -mandoc' /etc/man.conf
}

config_keyboard() {
echo 'Section "InputClass"
        Identifier "keyboard-all"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "XkbModel" "abnt2"
        Option "XkbLayout" "br"
        Option "XkbVariant" "abnt2"
        Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection' | tee /etc/X11/xorg.conf.d/90-keyboard-layout.conf
}

config_touchpad() {
echo 'Section "InputClass"
        Identifier "touchpad"
        Driver "synaptics"
        MatchDevicePath "/dev/input/event*"
        MatchIsTouchpad "on"
        Option "TapButton1" "1"
        Option "TapButton2" "3"
        Option "TapButton3" "2"
        Option "VertTwoFingerScroll" "1"
        Option "VertEdgeScroll" "1"
        Option "TapAndDragGesture" "1"
EndSection' | tee /etc/X11/xorg.conf.d/50-synaptics.conf 
}

config_videotearingfix() {
echo 'Section "Device"
        Identifier "Intel Graphics"
        Driver "Intel"
        Option "AccelMethod" "sna"
        Option "TearFree" "true"
EndSection' | tee /etc/X11/xorg.conf.d/20-intel.conf
}

config_powerbuttonfix() {
# Evita o desligamento ao apertar o botão "power"
sed -i '/power/,+1s/^/#/' /etc/acpi/acpi_handler.sh
}

config_brigthness() {
echo '# Ajusta brilho da tela de acordo com o horário
Hora=$(date +%H)
case $Hora in
    0[6-9]|1[0-2])
        echo 1801 >/sys/class/backlight/intel_backlight/brightness ;;
    1[3-7])
        echo 1201 >/sys/class/backlight/intel_backlight/brightness ;;
    1[89]|2[0123]|0[0-5])
        echo 601 >/sys/class/backlight/intel_backlight/brightness ;;
esac' | tee -a /etc/rc.d/rc.local
}

config_firewall() {
# sbopkg
config_sbopkg
# ufw
sbopkg -i ufw
echo '# UFW start
if [ -x /lib/ufw/ufw-init ]; then
    /lib/ufw/ufw-init start
fi' | tee -a  /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
# Inetd
sed -i '$i All:    All' /etc/hosts.deny
}

config_ntpd() {
# Configura servers
sed -i '/list one/a \
server a.st1.ntp.br iburst \
server b.st1.ntp.br iburst \
server c.st1.ntp.br iburst \
server d.st1.ntp.br iburst' /etc/ntp.conf
# Ativa o serviço no boot
chmod +x /etc/rc.d/rc.ntpd
# sincroniza
ntpdate br.pool.ntp.org
}

config_user() {
# Cria usuario
adduser
# Configura sudo
read -p "Configurar SUDO para o usuario: " usuario
grupo=$usuario
groupadd -g 1000 $grupo
groupadd -r sudo
usermod -a -G ${grupo},sudo $usuario
sed -i '/%sudo\|secure_path/s/# //' /etc/sudoers
# xinit
#su -l $usuario -c 'xwmconfig'
# Desabilita "login-forturne"
if [ -e /etc/profile.d/bsd-games-login-fortune.sh ]; then
    chmod -x /etc/profile.d/bsd-games-login-fortune.*
fi
}

config_boot() {
# Inittab 
sed -i '/initdefault/s/3/4/' /etc/inittab
# Desabilitar tty[3-6]
sed -i '/^c[3-6]/s/^/#/' /etc/inittab
# Xinit
xwmconfig
# Cursor
mkdir -p /usr/share/icons/default/
echo '[icon theme] 
Inherits=Adwaita' | tee /usr/share/icons/default/index.theme 
# XDM 
echo "Personalizando XDM..."
sed -i '1 c Xcursor.theme: Adwaita' /etc/X11/xdm/Xresources
sed -i 's/SteelBlue/Black/' /etc/X11/xdm/Xsetup_0
}

config_kernelgeneric() {
/usr/share/mkinitrd/mkinitrd_command_generator.sh | bash
ln -sfv /boot/System.map-generic-$(uname -r) /boot/System.map
ln -sfv /boot/config-generic-$(uname -r)* /boot/config
ln -sfv /boot/vmlinuz-generic-$(uname -r) /boot/vmlinuz
rm -fv /boot/vmlinuz-huge /boot/vmlinuz-generic
mv -v /boot/vmlinuz-huge-$(uname -r) /boot/disabled-vmlinuz-huge-$(uname -r)
#grub-mkconfig -o /boot/grub/grub.cfg
#lilo
}

# Backups
if [ ! -d /root/backups ]; then
    mkdir /root/backups
    echo "Backup dos arquivos de configuração..."
    cp -v /etc/acpi/acpi_handler.sh /root/backups
    cp -v /etc/hosts.deny /root/backups
    cp -v /etc/inittab /root/backups
    cp -v /etc/ntp.conf /root/backups
    cp -v /etc/man.conf /root/backups
    cp -v /etc/profile.d/lang* /root/backups
    cp -v /etc/rc.d/rc.local /root/backups
    cp -v /etc/slackpkg/mirrors /root/backups
    cp -v /etc/sudoers /root/backups
fi

if [ ! -d /etc/X11/xorg.conf.d ]; then
    mkdir /etc/X11/xorg.conf.d
fi

# MENU
for f in \
config_update \
config_sbopkg \
config_timezone \
config_locale \
config_keyboard \
config_touchpad \
config_videotearingfix \
config_powerbuttonfix \
config_brigthness \
config_firewall \
config_ntpd \
config_user \
config_boot \
config_kernelgeneric
do
    while read -p "Deseja executar a função: $f? (S,n): " resp
    do
        case ${resp:=S} in
            S|s) $f ; break ;;
            N|n) break ;;
            *) echo "Resposta inválida!" ;;
        esac
    done
done

echo "Fim do script"

Scripts recomendados

Proftd com Banco de Dados

Abrir o browser lynx direto na página do Google

Script stop no vncserver

Script para baixa videos do YOUTUBE

S-phoenix desliga/reinicia, quantos estão logado no PC, tempo ligado


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts