PC Report - Coleta lista de dispositivos instalados e logs
Publicado por Isaque Vieira de Sousa Alves (última atualização em 14/12/2010)
[ Hits: 8.894 ]
Homepage: www.isaquealves.com
Criei este script para ajudar alguns colegas que após instalar Ubuntu em seus nobos, ficavam sem conseguir conectar à internet. O script coleta informações diversas, como lista de dispositivos instalados e logs do computador.
Como o objetivo não é executá-lo em terminal modo texto, não fiz nenhuma checagem a respeito de ambiente gráfico etc. Caso haja interesse, será fácil adicionar isso.
#!/bin/sh
#
#
#Este script foi criado para ajudar a solucionar problemas de usuarios iniciantes (em fase de migração ou dualbooters)
#Ele coleta informações sobre hardware, registros de eventos do sistema (logs), etc.
#
#Para maiores informações, consulte as páginas do manual listadas abaixo:
# man alias
# man echo
# man sleep
# help if
# man read
# man apt-get
# man dpkg
# man lspci
# man ifconfig
# man tar
# Em caso de dúvidas, visite o site www.vivaolinux.com.br
#
#Autor : Isaque Vieira de Sousa Alves
#visite também www.isaquealves.com
MOUNTPOINT="vazio"
AUTH=""
YES="y"
alias appinst='sudo apt-get -y install'
echo "{FONTE}33[01;31m ====================== NOOB report generator v 0.0.2 ======================="
echo ""
echo "{FONTE}33[01;31m LEIA TUDO COM A MÁXIMA ATENÇÃO"
echo ""
sleep 1
echo "{FONTE}33[01;33m EM HIPÓTESE ALGUMA, EXECUTE O COMANDO {FONTE}33[01;31m'sudo rm -rf /' "
echo ""
sleep 1
echo ""
echo "{FONTE}33[01;32m OBS.: O ponto de montagem preferencialmente deve se referir a um pendrive ou partição ativa do computador.{FONTE}33[01;00m"
echo ""
sleep 2
ZENITY=`dpkg --status zenity | grep Status | awk '{print $4}'` #checa o status do zenity no dpkg
DEPENDENCIES=`dpkg --status zenity | grep Depend ` #obtem as dependencias do zenity
if [ $ZENITY = "installed" ] ; #verifica se o status é 'installed'
then
echo "Zenity encontrado. Iniciando inteface gráfica!!"
else
echo "Este script faz uso de Interface Gráfica utilizando o Zenity. "
echo "O Zenity não está instalado."
echo "Veja as dependencias do Zenity abaixo: "
echo $DEPENDENCIES
echo "----------"
echo " Você autoriza a instalação do zenity e de todas as suas dependências? [y | n]"
read AUTH
if [ $AUTH = "$YES" ] ;
then
appinst zenity
else
exit 0
fi
fi
zenity --info --window-icon=info.png --text "Esteja seguro sobre o ponto de montagem antes de prosseguir"
#
#Executa uma repetição enquanto a variavel MOUNTPOINT tiver como valor 'vazio'
#
until [ "$MOUNTPOINT" != "vazio" ]; do
CL="2"
#Obtem um possivel ponto de montagem para a variavel MP
MP=$(zenity --entry \
--width=400 \
--height=150 \
--title="Informe o ponto de montagem" \
--text="Ponto de montagem: (disk para /media/disk, etc) " )
#Verifica se o usuario clicou em ok
if [ $? -eq 0 ]
then
MOUNTPOINT="$MP"
CL=$(zenity --question \
--title "Cuidado !" \
--text "O dispositivo de armazenamento está montado em /media/$MOUNTPOINT.\n Esta informação está correta?" )
if [ $? -ne 0 ]
then
MOUNTPOINT="vazio"
else
MOUNTPOINT="$MP"
fi
fi
done
#Imprime as linhas abaixo para o arquivo info.txt
echo "======= Generating PC Report =======" > /media/$MOUNTPOINT/info.txt
#imprime para o arquivo info.txt a data de execução do script
echo "Executado em " `date` >> /media/$MOUNTPOINT/info.txt
#imprime para o arquivo info.txt o resultado do comando lspci: man lspci
echo " --------- LSPCI " >> /media/$MOUNTPOINT/info.txt
lspci >> /media/$MOUNTPOINT/info.txt
#imprime para o arquivo info.txt o resultado do comando lspci -vv : man lspci
echo " --------- LSPCI VV" >> /media/$MOUNTPOINT/info.txt
lspci -vv >> /media/$MOUNTPOINT/info.txt
#imprime para o arquivo info.txt o resultado do comando lspci -vvv : man lspci
echo " --------- LSPCI VVV" >> /media/$MOUNTPOINT/info.txt
lspci -vvv >> /media/$MOUNTPOINT/info.txt
#imprime para o arquivo info.txt o resultado do comando ifconfig : man ifconfig
echo " --------- IFCONFIG" >> /media/$MOUNTPOINT/info.txt
ifconfig >> /media/$MOUNTPOINT/info.txt
CL=$(zenity --question \
--title "Atenção!" \
--text "Deseja criar um arquivo compactado com os logs de seu sistema para ajudar a diagnosticar\n
o problema mais facilmente?\n É recomendado que vocẽ o faça!!" )
if [ $? -eq 0 ]
then
# @TODO Tratar a string resultante da checklist para obter os nomes dos arquivos
# a serem adicionados ao pacote (melhor estratégia)
#
#TARLOGS=$(zenity --width 300 --height 400 --list --text "Quais os logs deseja incluir no pacote? (Recomendado: todos)" \
# --checklist --column "Selecione" --column "options" \
# TRUE "/var/log/dmesg" \
# TRUE "/var/log/syslog" \
# TRUE "/var/log/X.0.log" \
# TRUE "/var/log/auth"\
# TRUE "/var/log/kern.log"\
# TRUE "/var/log/fsck" \
# TRUE "/var/log/dpkg.log" \
# --separator="\n");
sudo tar -cvvf /media/$MOUNTPOINT/info.tar /var/log/dmesg
sudo tar -rvf /media/$MOUNTPOINT/info.tar /var/log/syslog
sudo tar -rvf /media/$MOUNTPOINT/info.tar /var/log/X.0.log
sudo tar -rvf /media/$MOUNTPOINT/info.tar /var/log/auth.log
sudo tar -rvf /media/$MOUNTPOINT/info.tar /var/log/kern.log
sudo tar -rvf /media/$MOUNTPOINT/info.tar /var/log/fsck
sudo tar -rvf /media/$MOUNTPOINT/info.tar /var/log/dpkg.log
sudo tar -rvf /media/$MOUNTPOINT/info.tar /media/$MOUNTPOINT/info.txt
fi
CL=$(zenity --question \
--title "Atenção!" \
--text "Deseja abrir o diretorio onde os arquivos foram criados para conferir se tudo está correto? (É bom conferir ;) )" )
if [ $? -eq 0 ]
then
`nautilus /media/$MOUNTPOINT/`
fi
zenity --info --window-icon=info.png --text "Processo finalizado."
Biblioteca de cores para o Bash
Baixe e converta um vídeo do Youtube (download e convert)
Prova LPI em shell script - com contador de acertos
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (11)
Assisti Avatar 3: Fogo e Cinzas (3)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)









