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

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

[ Hits: 2.127 ]

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 (costapha@outlook.com)

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

Cores em script

Desinstalador de aplicativos.

Criar lançadores de aplicativos no Unity

Script para fazer download no rapidshare com conta premium

Script de Ping


  

Comentários
[1] Comentário enviado por Minions em 21/02/2021 - 18:36h

Pena que essas tarefas não ficam 100% automatizadas.
Não pode ser usada pelo cron e precisa de interação com o usuário.

slackpkg update
...
No changes in ChangeLog.txt between your last update and now.
Do you really want to download all other files (y/N)? N

slackpkg upgrade-all (Se tiver atualização fica na tela y/n)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts