Gerenciamento de software e hardware de desktop
Publicado por Amaury Borges Souza (última atualização em 26/09/2019)
[ Hits: 5.378 ]
Homepage: https://amaurybsouza.medium.com/
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.
#!/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
Instalação do Microsoft Edge no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
Melhorando a precisão de valores flutuantes em python[AJUDA] (11)
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)
Vou voltar moderar conteúdos de Dicas e Artigos (3)
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (1)