Gerenciamento de software e hardware de desktop

Publicado por Amaury Borges Souza (última atualização em 26/09/2019)

[ Hits: 5.175 ]

Homepage: https://amaurybsouza.medium.com/

Download hardware_desktop.sh




Esse script tem por objetivo mostrar as informações básicas de hardware e software do equipamento, tais como processador, memória, kernel, endereço de rede, serial number do desktop. Foi implementado para utilização em sistemas Debian/Ubuntu. Já estou trabalhando em outra versão que seja compatível com CentOS/Fedora.

  



Esconder código-fonte

     #!/usr/bin/env bash
  2 # ------------------------------------------------------------------------ #
  3 # Script Name:   hardware_desktop.sh 
  4 # Description:   Show informations about machine hardware.
  5 # Written by:    Amaury Souza
  6 # Maintenance:   Amaury Souza
  7 # ------------------------------------------------------------------------ #
  8 # Usage:         
  9 #       $ ./hardware_desktop.sh
 10 # ------------------------------------------------------------------------ #
 11 # Bash Version:  
 12 #              Bash 4.4.19
 13 # ------------------------------------------------------------------------ #
 14 
 15 function menuprincipal () {
 16 clear
 17 echo " "
 18 echo HARDWARE MACHINE INFORMATION $0
 19 echo " "
 20 echo "Escolha uma opção abaixo para começar!
 21 
 22         1 - Verificar processador do desktop
 23         2 - Verificar kernel do sistema
 24         3 - Verificar softwares instalados
 25         4 - Versão do sistema operacional
 26         5 - Verificar memória do equipamento
 27         6 - Verificar serial number
 28         7 - Verificar IP do sistema      
 29         0 - Sair do menu"
 30 echo " "
 31 echo -n "Opção escolhida: "
 32 read opcao
 33 case $opcao in
 34         1)
 35                 function processador () {
 36                         TIME=2
 37                         CPU_INFO=`cat /proc/cpuinfo | grep -i "^model name" | cut -d ":" -f2 | sed -n '1p'`
 38                         echo "Modelo de CPU: $CPU_INFO"
 39                         sleep $TIME
 40                 }
 41                 processador
 42                 read -n 1 -p "<Enter> para menu principal"
 43                 menuprincipal
 44                 ;;
 45 
 46         2)
 47                 function kernel () {
 48                         #Para sistemas RED HAT: cat /etc/redhat-release
 49                         KERNEL_VERSION_UBUNTU=`uname -r`
 50                         KERNEL_VERSION_CENTOS=`uname -r`
 51                         if [ -f /etc/lsb-release ]
 52                         then
 53                                 echo "Versão do kernel: $KERNEL_VERSION_UBUNTU"
                              else
 55                                 echo "Versão do kernel: $KERNEL_VERSION_CENTOS"
 56                         fi
 57                 }
 58                 kernel
 59                 read -n 1 -p "<Enter> para menu principal"
 60                 menuprincipal
 61                 ;;
 62 
 63         3)
 64                 function softwares () {
 65                         #while true; do (antes eu estava usando esse recurso para controlar o menu, depois para corrigir adicionei uma function)
 66                         TIME=2
 67                         echo " "
 68                         echo "Escolha uma opção abaixo para listar os programas!
 69                         
 70                         1 - Listar programas do Ubuntu
 71                         2 - Listar programas do Fedora
 72                         3 - Instalar programas padrões
 73                         4 - Voltar ao sistema"
 74                         echo " "
 75                         echo -n "Opção escolhida: "
 76                         read alternative
 77                         case $alternative in
 78                                 1)
 79                                         echo Listando todos os programas do sistema Ubuntu...
 80                                         sleep $TIME
 81                                         dpkg -l > /tmp/programas.txt
 82                                         echo A lista de programas foi gerada e está disponível no /tmp do seu sistema
 83                                         sleep $TIME
 84                                         echo " "
 85                                         echo "Você será redirecionado para o menu inicial do programa!" | tr [a-z] [A-Z]
 86                                         sleep $TIME
 87                                         ;;
 88                                 2)
 89                                         echo Listando todos os programas do sistema Fedora...
 90                                         sleep $TIME
 91                                         yum list installed > /tmp/programas.txt
 92                                         echo A lista de programas foi gerada e está disponível no /tmp
 93                                         sleep $TIME
 94                                         ;;
 95                                 3)
 96                                         echo Instalando pogramas padrões...
 97                                         LIST_OF_APPS="pinta brasero gimp vlc inkscape blender filezilla"
 98                                         #usar o comando aptitude do Linux para tratar o loop de programas.
 99                                         apt install aptitude -y
100                                        aptitude install -y $LIST_OF_APPS
101                                         ;;
102                                 4)
103                                         echo Voltando para o menu principal...
104                                         sleep $TIME
105                                         ;;
106                         esac
107                 #done
108                 }
109                 softwares
110                 menuprincipal
111                 ;;
112 
113         4)
114                 function sistema () {
115                         VERSION=`cat /etc/os-release | grep -i ^PRETTY`
116                         if [ -f /etc/os-release ]
117                         then
118                                 echo "A versão do seu sistema é: $VERSION"
119                         else
120                                 echo "Sistema não suportado"
121                         fi
122                 }
123                 sistema
124                 read -n 1 -p "<Enter> para menu principal"
125                 menuprincipal
126                 ;;
127 
128 
129         5)
130                 function memory () {
131                         TIME=2
132                         MEMORY_FREE=`free -m  | grep ^Mem | tr -s ' ' | cut -d ' ' -f 4`
133                         MEMORY_TOTAL=`free -m  | grep ^Mem | tr -s ' ' | cut -d ' ' -f 2`
134                         MEMORY_USED=`free -m  | grep ^Mem | tr -s ' ' | cut -d ' ' -f 3`
135                         echo Verificando a memória do sistema...
136                         echo "A memória livre é: $MEMORY_FREE"  
137                         sleep $TIME
138                         echo "A memória total é: $MEMORY_TOTAL"
139                         sleep $TIME
140                         echo "A memória usada é: $MEMORY_USED"
141                 }
142                 memory
143                 read -n 1 -p "<Enter> para menu principal"
144                 menuprincipal
145                 ;;
146 
147         6)
148                 function serial () {
149                         SERIAL_NUMBER=`dmidecode -t 1 | grep -i serial`
150                         echo $SERIAL_NUMBER
151                 }
152                 serial
153                 read -n 1 -p "<Enter> para menu principal"
154                 menuprincipal
155                 ;;
156 
157         7)
158                 function ip () {
159                         IP_SISTEMA=`hostname -I`
160                         echo O IP do seu sistema é: $IP_SISTEMA
161                 }
162                 ip
163                 read -n 1 -p "<Enter> para menu principal"
164                 menuprincipal
165                 ;;
166 
167         0)
168                echo Saindo do sistema...
169                sleep 2
170                exit 0
171                ;;
172 
173         *)
174                 echo Opção inválida, tente novamente!
175                 ;;
176 esac
177 }
178 menuprincipal

Scripts recomendados

Script de compilação automática do GCC-5.3.0 para Debian/Ubuntu de 32 bits

pptd - Simples daemon para controle de conexões pptp.

Intervalo de tempo v.2 - Corrigido

Renomeia diretorio,subdiretorio e arquivos de maiuscula > minuscula

Script para Monitoramento


  

Comentários
[1] Comentário enviado por msoliver em 21/01/2020 - 21:27h

Dica 01:
[code]
memory(){
memdesc=("" Livre Total Usada);
memvlr=($(free -m|awk '/^Mem/'));
for i in {1..3};do
awk '{print "Memoria '${memdesc[$i]}': " '${memvlr[$i]}'}' <<< ${memvlr[@]};
done
}[/code]
Dica 02:
Crie a função READ, para evitar a repetição do comando:
read -n 1 -p "<Enter> para menu principal"
READ(){ read -n1 -p "Pressione qquer tecla para continuar";}
______________________________________________________________________
[b]Importante:[/b] echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________

[2] Comentário enviado por BettiBraun em 27/05/2022 - 04:37h

Oi tudo muito interessante obrigado pelo artigo


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts