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.664 ]
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."
Instala/Remove/Atualiza com APT [gerenciador_apt.sh]
Nenhum comentário foi encontrado.
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Os empreguim de meu Deus estão cada vez mais tecnológicos (7)
Atalhos duplicados (sobras de instalações anteriores) (1)
Autenticação necessária. um aplicativo quer acesso ao chaveiro (3)