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.822 ]
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."
Detector de Bruteforce no SSH e Bloqueio de IP Atacante
MRTG Start | Stop | Status | Restart
Script de cópia (destino - origem) otimizado
Nenhum comentário foi encontrado.
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?
Ubunto não reconhece rede ethernet (0)
Secure boot, artigo interessante, nada técnico. (3)









