Identificando o hardware com dmidecode no Ubuntu

Olá pessoal!

Tenho visto muitos usuários correndo atrás de programinhas para identificar o hardware presente na máquina, os motivos são os mais variados, saber o chipset para instalar um driver por exemplo.

Geralmente, novos usuários do Ubuntu, acostumados com os programas do psedo-SO Windows procuram pelo “Everest” do Linux.

O Linux além de possuir programas gráficos para esta tarefa, já possui pré-instalado ferramentas que atendem muito bem à necessidade de se identificar o hardware presente. Estas ferramentas são usadas via terminal, em modo texto. Existem vários comandos que podem ser rodados para visualizar o seu hardware, alguns deles são:

$ lspci

$ lsusb

$ lshw

O que eu vou apresentar é o dmidecode, além dele mostrar o que os outros comandos mostram, ele vai mais fundo no silício de sua maquina, mostrando até a BIOS. =D

Vejamos um exemplo. Visualizando os dados da placa mãe para saber o fabricante e modelo:

guevara@guevara-desktop:~$ sudo dmidecode -t 2
[sudo] password for guevara:
# dmidecode 2.9
SMBIOS 2.3 present.

Handle 0×0002, DMI type 2, 15 bytes
Base Board Information
Manufacturer: ASUSTeK Computer INC.
Product Name: P5V-VM-ULTRA
Version: Rev 1.xx
Serial Number: MB-1234567890
Asset Tag: To Be Filled By O.E.M.
Features:
Board is a hosting board
Board is replaceable
Location In Chassis: To Be Filled By O.E.M.
Chassis Handle: 0×0003
Type: Motherboard
Contained Object Handles: 0

Lá está, fabricante Asus e modelo P5V-VM-ULTRA.

Eu disse que ele mostra a BIOS né? Então vejamos os dados da BIOS, em determinadas circustâncias, atualizar a BIOS resolve problemas em máquinas mais antigas.

guevara@guevara-desktop:~$ sudo dmidecode -t 0
# dmidecode 2.9
SMBIOS 2.3 present.

Handle 0×0000, DMI type 0, 24 bytes
BIOS Information
Vendor: American Megatrends Inc.
Version: 0702
Release Date: 02/02/2007
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 512 kB
Characteristics:
ISA is supported
PCI is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
BIOS ROM is socketed
EDD is supported
5.25″/1.2 MB floppy services are supported (int 13h)
3.5″/720 KB floppy services are supported (int 13h)
3.5″/2.88 MB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
LS-120 boot is supported
ATAPI Zip drive boot is supported
BIOS boot specification is supported
BIOS Revision: 8.12

E ai está, fabricante American Megatrends, versão 0702 e vários outros dados interessantes.

O dmidecode possui várias opções de parâmetros para visualizar diversos periféricos, rodando um man dmidecode podemos ver o manual de opções:

Type   Information
────────────────────────────────────────
0   BIOS
1   System
2   Base Board
3   Chassis
4   Processor
5   Memory Controller
6   Memory Module
7   Cache
8   Port Connector
9   System Slots
10   On Board Devices
11   OEM Strings
12   System Configuration Options
13   BIOS Language
14   Group Associations
15   System Event Log
16   Physical Memory Array
17   Memory Device
18   32-bit Memory Error
19   Memory Array Mapped Address
20   Memory Device Mapped Address
21   Built-in Pointing Device
22   Portable Battery
23   System Reset
24   Hardware Security
25   System Power Controls
26   Voltage Probe
27   Cooling Device
28   Temperature Probe
29   Electrical Current Probe
30   Out-of-band Remote Access
31   Boot Integrity Services
32   System Boot
33   64-bit Memory Error
34   Management Device
35   Management Device Component
36   Management Device Threshold Data
37   Memory Channel
38   IPMI Device
39   Power Supply

Repare que ele mostra realmente tudo em detalhes, uma ferramenta extremamente útil e que funciona de forma muito simples, bastando rodar um simples comando pelo terminal.

Se precisar ter a saída dos comandos num arquivo de texto, basta rodar o comando:

sudo dmidecode -t 2 >> placamae.txt

Esse comando irá gerar um arquivo placamae.txt em sua home, se quiser salvar em outro lugar basta navegar até a pasta com o comando cd ou complementar no próprio comando:

sudo dmidecode -t 2 >> /home/guevara/Documentos/placamae.txt

Dica simples mas muito útil.

Abraço!

Criando uma aplicação no Django e configurando o settings.py

Olá pessoal!

Neste post mostrarei como criar uma aplicação Django pelo Eclipse e comentar um pouco sobre a configuração do settings.py.

Para criar um novo projeto Django pelo Eclipse, vá no menú File>New>Other>PyDev>PyDev Django Project, digite um nome para o projeto e desmarque a opção “create default ‘src’ folder and add it tho the pythonpath?”, pois em ambiente de produção não é recomendado usar a estrutura do projeto com a pasta “src”.

PyDev Django Project

Em interpreter, deixe como default, mas se o Eclipse acusar que falta apontar o interpretador no PythonPath, então clique no link abaixo para apontá-lo, surgirá a seguinte janela:

PyDev Python Path

Para configurar o caminho ao interpretador basta olhar a imagem acima e clicar em Auto Config. Ele sozinho irá escanear a pasta /usr/lib e adicionará ao Python Path.

Ao dar um “next” surgirá a janela de configuração para conexão ao banco de dados, lá existirão várias opções, escolha a sua. Não esqueça que o banco já deverá estar criado e de setar a porta do banco, usuário e senha corretamente:

PyDev Django Settings

Ao dar um Finish, o seu projeto terá a seguinte estrutura:

Estrutura do Projeto

Repare a estrutura, uma pasta principal “projeto”, dentro dela um pacote “projeto” e dentro deste pacote os módulos .py.

O arquivo manage.py é o responsável por rodar a aplicação, sincronizar as classes criadas com o banco, mostrar o sql gerado pela estrutura do projeto, entre outras coisas. Ele é muito usado em modo texto, por exemplo, para rodar o server pelo terminal, mas como estamos usando Eclipse, podemos rodar a aplicação pela própria IDE.

O __init__.py nem vamos tocar, esse é “editado” somente para algo mais avançado, para inicio de aprendizado e projeto simples, não precisamos mexer.

O arquivo de configuração do projeto é o settings.py, abra este arquivo e veja o seu conteúdo. Ao criar o projeto, repare que a parte do banco de dados já está configurada:


DATABASES = {

'default': {

'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.

'NAME': 'projeto',                      # Or path to database file if using sqlite3.

'USER': 'postgres',                      # Not used with sqlite3.

'PASSWORD': 'senha',                  # Not used with sqlite3.

'HOST': 'localhost',                      # Set to empty string for localhost. Not used with sqlite3.

'PORT': '5432',                      # Set to empty string for default. Not used with sqlite3.

}

}

A seguinte configuração também é recomendada para internacionalização, resolução de charset e language code:


TIME_ZONE = ''

LANGUAGE_CODE = 'pt-br'

# Content-Type header.

DEFAULT_CONTENT_TYPE = 'text/html'

DEFAULT_CHARSET = 'utf-8'

FILE_CHARSET = 'utf-8'

# If you set this to False, Django will make some optimizations so as not

# to load the internationalization machinery.

USE_I18N = True

# If you set this to False, Django will not format dates, numbers and

# calendars according to the current locale

USE_L10N = True

Estas dicas são as mais básicas, obviamente ainda falta a parte de pasta estática para armazenamento de arquivos css, imagens e arquivos, mas isso pode ser encontrado na documentação do Django.

Como o projeto está criado e configurado, no próximo post já será possível programar um pouco e rodar a aplicação.

Até o próximo post!

Abraço!

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.