O que fazer após instalar o Debian 8 - versão em Shell Script
Publicado por Kelvin Ferraz (última atualização em 31/05/2017)
[ Hits: 2.643 ]
Homepage: https://www.linkedin.com/in/kelvin-ferraz-3379a39a/
Download 6641.ProgramsDebianJessie.sh
Este script tem a ideia de ajudar os usuários novatos e usuários inteligentes. Sua operação é simples e intuitiva. Usando apenas script em bash e a interface gráfica add-on "dialog".
Críticas e sugestões são bem vindas!
Lembrando: a intenção do script é ajudar o usuário básico ou até mesmo alguém que esteja com dificuldades para instalação de programas básicos.
Espero que gostem!
#!/bin/bash
#######################################################################################################
# #
# SCRIPT PARA AGILIZAR PROCESSOS DE ATUALIZAÇÕES E INSTALAÇÕES NO DEBIAN 8 JESSIE #
# #
# DESENVOLVIDO POR Kelvin Ferraz (kelvinferrazsilva@gmail.com) #
# Edit: 02 - MAI - 2017 #
# #
#######################################################################################################
# #
# #
# ___ _____ ___ _ _ ___ _____ ___ ___ ___ ___ ___ ___ ___ _____ #
# / __| |_ _| | _ \ | | | | / __| |_ _| / _ \ | __| / __| / __| | _ \ |_ _| | _ \ |_ _| #
# \__ \ | | | / | |_| | | (__ | | | (_) | | _| \__ \ | (__ | / | | | _/ | | #
# |___/ |_| |_|_\ \___/ \___| |_| \___/ |_| |___/ \___| |_|_\ |___| |_| |_| #
# #
# #
#######################################################################################################
# #
# +---------------------+ +-------------+ #
# | Verify if is a Root | IF NOT | ERROR | #
# +---------------------+--------------------+-------------+ #
# | #
# IF YES #
# | #
# +---------------------+ +-------------+ #
# | Test Connection | IF NOT | ERROR | #
# +---------------------+----------------------------+-------------+ #
# | #
# IF YES #
# | #
# +---------------------+ +---------------------+ +-------------+ #
# | Start a Script | | Verify dependencies | IF NOT | ERROR | #
# +---------------------+------------+---------------------+-------+-------------+ #
# | #
# IF INSTALLED #
# | #
# +---------------------+ #
# | Begin | #
# +---------------------+ #
# #
#######################################################################################################
clear
#Full-Screen Option
StartFullScreen(){
echo "Deseja executar em fullscreen?"
echo "Entre com a opcao [S-N]"
read opcaofullscreen
if [ "$opcaofullscreen" = "s" ] || [ "$opcaofullscreen" = "S" ]; then
fullscreen-terminal
printf '\e[8;600;800t'
CheckisROOT
elif [ "$opcaofullscreen" = "n" ] || [ "$opcaofullscreen" = "N" ]; then
CheckisROOT
else
clear
echo "Opcao Invalida! Digite S ou N"
StartFullScreen
fi
}
#Create file log
LOGFILE="/var/log/${0##*/}".log
# Enables logging by copying the default output to the LOGFILE file
exec 1> >(tee -a "$LOGFILE")
# Does the same for ERROR output
exec 2>&1
#Check if its root
CheckisROOT(){
if [ "$(id -u)" != "0" ]; then
echo
echo "Voce deve executar este script como root! "
else
TestConnection
fi #Check if it's root
}
#Test Connection
TestConnection(){
clear
echo "Testing Connection...."
sleep 2
clear
wget -q --tries=10 --timeout=20 --spider http://www.google.com.br
if [[ $? -eq 0 ]]; then
echo "Connection OK"
sleep 2
clear
Begin
else
echo "Connection Error!"
echo "Check the connection or configuration"
exit
fi
}
#Start Script
Begin(){
if [ -e /tmp/script.ok ]; then
InstallingPrograms
else
echo "Iniciando o Script...."
sleep 2
#Backup do Sources.list
cd /etc/apt/
mv /etc/apt/sources.list /etc/apt/sources.list.bkp
touch /etc/apt/sources.list
if [ -e sources.list.bkp ]; then
echo "Backup do sources.list realizado com sucesso!"
else
echo "Verique se foi gerado o arquivo de backup do sourcesl.list"
read
fi
#Adicionando linhas no repositorio
echo "
#REPOSITORIOS BASICOS DO DEBIAN 8
deb http://ftp.br.debian.org/debian jessie main contrib non-free
deb-src http://ftp.br.debian.org/debian jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.br.debian.org/debian/ jessie-updates main contrib non-free
deb-src http://ftp.br.debian.org/debian/ jessie-updates main contrib non-free
#Multimedia
deb http://www.deb-multimedia.org jessie main non-free
deb-src http://www.deb-multimedia.org jessie main non-free
#BackPorts
deb http://ftp.br.debian.org/debian/ jessie-backports main contrib non-free" > /etc/apt/sources.list
#Update Repository
debconf-apt-progress -- apt-get update
debconf-apt-progress -- apt-get install debian-keyring -y
#Repository Java
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
#Fix package in pub multimedia key
gpg --keyring /usr/share/keyrings/debian-keyring.gpg -a --export 5C808C2B65558117 | apt-key add -
#Update Repository
debconf-apt-progress -- apt-get update
debconf-apt-progress -- apt-get upgrade -y
#Variable receives packet (Dependencies needed to run the script)
packet=$( dpkg --get-selections | grep dialog )
if [ -n "$packet" ]; then
echo "Paconte instalado!"
echo
#ScriptOk
touch /tmp/script.ok
InstallingPrograms
else
echo
echo "Instalando Dependencias..."
sleep 2
debconf-apt-progress -- apt-get install dialog
if [ -n $packet ]; then
clear
echo "Dependencias Instaladas com Sucesso!"
#ScriptOk
touch /tmp/script.ok
InstallingPrograms
else
clear
echo " Pacote necessário: O script depende: dialog "
exit
fi
fi
fi
}
#Menu Install Programs
InstallingPrograms(){
Option=$( dialog --backtitle 'Programs for Debian | Viva o Linux' --stdout --menu 'MENU PRINCIPAL:' \
0 0 0 \
1 'Programas DevOps' \
2 'Plug-ins' \
3 'Programas Design' \
4 'Players (Audio e Video)' \
5 'Programas Internet' \
6 'Sair')
case $Option in
1) ProgramsDevops ;;
2) Plugins ;;
3) ProgramsDesign ;;
4) ProgramsPlayers ;;
5) ProgramsInternet ;;
6) Exit ;;
esac
}
#Packet of DevOps
ProgramsDevops(){
Option=$(dialog --backtitle 'Viva o Linux | Packet for Development' --stdout --checklist 'Escolha sua IDE:' 0 0 0 \
Atom 'IDE HTML,PYTHON, CSS' on\
Bluefish 'IDE HTML & CSS' off\
Codeblocks 'IDE C,C++,Assembly' off\
Eclipse 'IDE Java,C,C++,HTML' off\
Geany 'IDE Bash,C,' off\
Sublime-text 'IDE PHP,CSS,HTML (V3.1)' off)
#case cancel button is selected back to Programs Menu
if [ $? -eq 1 ]; then
InstallingPrograms
fi
#To convert lowercase to uppercase
OptionDev=$(echo "$Option" | tr 'A-Z' 'a-z')
#Sublime-Text Installation
packetsublime=$( dpkg --get-selections | grep sublime-text )
#Atom Installation
packetatom=$( which -a atom )
if [[ -z $OptionDev ]]; then
InstallingPrograms
else
#Instalation Atom
if echo "$OptionDev" | egrep 'atom' > /dev/null ; then
if [ -n "$packetatom" ]; then
dialog --backtitle 'Instalacao do Atom'\
--title "AVISO"\
--msgbox "O Sistema já possui o Atom" 10 23 \
else
cd /tmp/
rm -rf /tmp/*.deb
rm -rf /tmp/*.deb.*
Atom="https://atom.io/download/deb"
wget "$Atom" 2>&1 | \
stdbuf -o0 awk '/[.] +[0-9][0-9]?[0-9]?%/ { print substr($0,63,3) }' | \
dialog --backtitle 'Atom' --gauge "Download Atom" 0 50
#Installation packege
clear
debconf-apt-progress -- apt-get install git -y
dpkg -i deb
apt-get install -f -y
fi
fi
if echo "$OptionDev" | egrep 'sublime-text' > /dev/null ; then
if [ -n "$packetsublime" ]; then
dialog --backtitle 'Instalacao do Sublime-Text 3.1'\
--title "AVISO"\
--msgbox "O Sistema já possui o Sublime-Text" 10 23 \
else
arq=$( file /bin/bash | cut -d' ' -f3 )
#condiction 32 or 64 bit
if [ $arq = '64-bit' ]; then
cd /tmp/
rm -rf /tmp/*.deb
rm -rf /tmp/*.deb.*
SublimeText64="https://download.sublimetext.com/sublime-text_build-3126_amd64.deb"
wget "$SublimeText64" 2>&1 | \
stdbuf -o0 awk '/[.] +[0-9][0-9]?[0-9]?%/ { print substr($0,63,3) }' | \
dialog --backtitle 'Downloda do Sublime Text V3.126' --gauge "Download Sublime-Text 64-Bit" 0 50
#Installation packege
clear
dpkg -i sublime-text_build-3126_amd64.deb
apt-get install -f
elif [ $arq = '32-bit' ]; then
cd /tmp/
rm -rf /tmp/*.deb
rm -rf /tmp/*.deb.*
SublimeText32="https://download.sublimetext.com/sublime-text_build-3126_i386.deb"
wget "$SublimeText32" 2>&1 | \
stdbuf -o0 awk '/[.] +[0-9][0-9]?[0-9]?%/ { print substr($0,63,3) }' | \
dialog --backtitle 'Downloda do Sublime Text V3.126' --gauge "Download Sublime-Text 32-Bit" 0 50
#Installation packege
clear
dpkg -i sublime-text_build-3126_i386.deb
apt-get install -f -y
fi
fi
fi
#Installation of the chosen packages
debconf-apt-progress -- apt-get install $OptionDev -y
dialog --backtitle 'Instalacao de pacotes'\
--title "AVISO"\
--msgbox "Os pacotes: $OptionDev foram instalados!" 10 30 \
InstallingPrograms
fi
}
#Packet of Plugins
Plugins(){
Option=$(dialog --backtitle 'Viva o Linux | Plugins' --stdout --checklist 'Escolha os Plugins:' 0 0 0 \
Msttcorefonts 'Fontes MS' on\
Oracle-java8-installer 'Java 8' off\
Multimedia 'Principais plugins de audio e video' off)
#case cancel button is selected back to Programs Menu
if [ $? -eq 1 ]; then
InstallingPrograms
fi
#To convert lowercase to uppercase
OptionPlugin=$(echo "$Option" | tr 'A-Z' 'a-z')
if [[ -z $OptionPlugin ]]; then
InstallingPrograms
else
#Instalation Multimedia
if echo "$OptionPlugin" | egrep 'multimedia' > /dev/null ; then
sleep 0.1
else
debconf-apt-progress -- apt-get install gstreamer0.10-fluendo-mp3 gstreamer0.10-plugins-really-bad ffmpeg sox twolame vorbis-tools lame faad -y
debconf-apt-progress -- apt-get install gstreamer0.10-plugins-bad -y
fi
#Installation of the chosen packages
debconf-apt-progress -- apt-get install $OptionPlugin -y
dialog --backtitle 'Instalacao de pacotes'\
--title "AVISO"\
--msgbox "Os pacotes: $OptionPlugin foram instalados!" 10 30 \
InstallingPrograms
fi
}
#Packet of Desing Application
ProgramsDesign(){
Option=$(dialog --backtitle 'Viva o Linux | Design' --stdout --checklist 'Escolha seu Programa:' 0 0 0 \
Blender 'Modelador 3D' on\
Gimp 'Editor de Imagem' off\
Inkscape 'Vetorização de Imagem' off)
#case cancel button is selected back to Programs Menu
if [ $? -eq 1 ]; then
InstallingPrograms
fi
#To convert lowercase to uppercase
OptionDesing=$(echo "$Option" | tr 'A-Z' 'a-z')
if [[ -z $OptionDesing ]]; then
InstallingPrograms
else
#Installation of the chosen packages
debconf-apt-progress -- apt-get install $OptionDesing -y
dialog --backtitle 'Instalacao de pacotes'\
--title "AVISO"\
--msgbox "Os pacotes: $OptionDesing foram instalados!" 10 30 \
InstallingPrograms
fi
}
#Packet of Players
ProgramsPlayers(){
Option=$(dialog --backtitle 'Viva o Linux | Players Audio e Video' --stdout --checklist 'Escolha seu Player' 0 0 0 \
Amarok 'Player de Video base em KDE' on\
Audacious 'Player de Audio interface do Winamp' off\
Clementine 'PLayer de Audio Completo' off\
Kodi 'Media Center e Player de Audio/Video' off\
Qmmp 'Player de Audio interface do Winamp' off\
Smplayer 'Player de Video' off\
Spotify-client 'Player de Audio Biblioteca Online' off\
Vlc 'Player de Vídeos com Recurso de Gravação' off)
#case cancel button is selected back to Programs Menu
if [ $? -eq 1 ]; then
InstallingPrograms
fi
#To convert lowercase to uppercase
OptionPlayers=$(echo "$Option" | tr 'A-Z' 'a-z')
#if exist packet spotify
packetspotify=$(dpkg --get-selections | grep spotify-client)
if [[ -z $OptionPlayers ]]; then
InstallingPrograms
else
#Instalation Spotfy
if echo "$OptionPlayers" | egrep 'spotify-client' > /dev/null ; then
if [ -n "$packetspotify" ]; then
dialog --backtitle 'Instalacao do Spotify'\
--title "AVISO"\
--msgbox "O Sistema já possui o Spotfy" 10 23 \
else
# 1. Add the Spotify repository signing key to be able to verify downloaded packages
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys BBEBDCB318AD50EC6865090613B00F1FD2C19886
# 2. Add the Spotify repository
echo deb http://repository.spotify.com stable non-free | sudo tee /etc/apt/sources.list.d/spotify.list
# 3. Update list of available packages
debconf-apt-progress -- apt-get update
# 4. Install Spotify
#debconf-apt-progress -- apt-get install spotify-client -y
fi
fi
#Installation of the chosen packages
debconf-apt-progress -- apt-get install $OptionPlayers -y
dialog --backtitle 'Instalacao de pacotes'\
--title "AVISO"\
--msgbox "Os pacotes: $OptionPlayers foram instalados!" 10 30 \
InstallingPrograms
fi
}
#Packet of Internet
ProgramsInternet(){
Option=$(dialog --backtitle 'Viva o Linux | Players Audio e Video' --stdout --checklist 'Escolha seu Programa:' 0 0 0 \
Qbittorrent 'Gerenciador Torrent' on\
Skype 'Chat de Mensagem Voz e Video' off\
Teamviewer 'Acesso remoto' off)
##case cancel button is selected back to Programs Menu
if [ $? -eq 1 ]; then
InstallingPrograms
fi
#To convert lowercase to uppercase
OptionInternet=$(echo "$Option" | tr 'A-Z' 'a-z')
#if exist teamviwer
packetteamviewer=$(which -a teamviewer)
packetskype=$(which -a skypeforlinux)
if [[ -z $OptionInternet ]]; then
InstallingPrograms
else
#Instalation Team Viwer
if echo "$OptionInternet" | egrep 'teamviewer' > /dev/null ; then
if [ -n "$packetteamviewer" ]; then
dialog --backtitle 'Instalacao do Teamviewer 12'\
--title "AVISO"\
--msgbox "O Sistema já possui o Teamviewer 12" 10 23 \
else
cd /tmp/
rm -rf /tmp/*.deb
rm -rf /tmp/*.deb.*
Teamviewer="http://download.teamviewer.com/download/teamviewer_i386.deb"
wget "$Teamviewer" 2>&1 | \
stdbuf -o0 awk '/[.] +[0-9][0-9]?[0-9]?%/ { print substr($0,63,3) }' | \
dialog --backtitle 'Teamviewer' --gauge "Download Teamviewer" 0 50
dpkg --add-architecture i386
debconf-apt-progress -- apt-get update
dpkg -i teamviewer_i386.deb
apt-get install -f -y
fi
fi
#Instalation Skype
if echo "$OptionInternet" | egrep 'skype' > /dev/null ; then
if [ -n "$packetskype" ]; then
dialog --backtitle 'Instalacao do Skype'\
--title "AVISO"\
--msgbox "O Sistema já possui o Skype" 10 23 \
else
arq=$( file /bin/bash | cut -d' ' -f3 )
#condiction 32 or 64 bit
if [ $arq = '64-bit' ]; then
cd /tmp/
rm -rf /tmp/*.deb
rm -rf /tmp/*.deb.*
Skype="https://repo.skype.com/latest/skypeforlinux-64.deb"
wget "$Skype" 2>&1 | \
stdbuf -o0 awk '/[.] +[0-9][0-9]?[0-9]?%/ { print substr($0,63,3) }' | \
dialog --backtitle 'Skype' --gauge "Download Skype" 0 50
dpkg --add-architecture i386
debconf-apt-progress -- apt-get update
gpg --keyserver pgpkeys.mit.edu --recv-key 1F3045A5DF7587C3
gpg -a --export 1F3045A5DF7587C3 | sudo apt-key add -
debconf-apt-progress -- apt-get update
dpkg -i skypeforlinux-64.deb
apt-get install -f -y
elif [ $arq = '32-bit' ]; then
cd /tmp/
rm -rf /tmp/*.deb
rm -rf /tmp/*.deb.*
Skype="wget skype-install.deb http://www.skype.com/go/getskype-linux-deb"
wget "$Skype" 2>&1 | \
stdbuf -o0 awk '/[.] +[0-9][0-9]?[0-9]?%/ { print substr($0,63,3) }' | \
dialog --backtitle 'Skype' --gauge "Download Skype" 0 50
dpkg --add-architecture i386
debconf-apt-progress -- apt-get update
gpg --keyserver pgpkeys.mit.edu --recv-key 1F3045A5DF7587C3
gpg -a --export 1F3045A5DF7587C3 | sudo apt-key add -
debconf-apt-progress -- apt-get update
dpkg -i getskype-linux-deb
apt-get install -f -y
fi
fi
fi
#Installation of the chosen packages
debconf-apt-progress -- apt-get install $OptionInternet -y
dialog --backtitle 'Instalacao de pacotes'\
--title "AVISO"\
--msgbox "Os pacotes: $OptionInternet foram instalados!" 10 30 \
InstallingPrograms
fi
}
Exit(){
debconf-apt-progress -- apt-get autoremove -y
exit
}
StartFullScreen
Find em arquivos compactados (grep em arquivos tgz)
PKG Sync v3.0 - Utilitário para backup de pacotes deb baixados - Versão final
rc.mailMyIp - Informa seu IP externo para o Gmail
Bloqueando o acesso à internet
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?









