Gerenciamento de software e hardware de desktop

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

[ Hits: 5.471 ]

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 que gera um relatório diário do sistema!!!

Conversor de Dicionarios do Babylon

Script de firewall

ADMINISTRANDO USUARIOS COM XDIALOG

gera saída com substituindo coluna por outra (substr)


  

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