quarta-feira, 18 de março de 2015

LPI 101.1 Identificar e editar configurações de hardware (Comando lsusb)

Mais um comando para ver as configurações do seu computador.

Comando lsusb:
Vai mostrar todos os canais disponíveis e também os devices(dispositivos) plugados nas postas USB.

Vamos digitar no terminal

root@computador1:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 80ee:0021 VirtualBox USB Tablet

O primeiro item é o dispositivo 001 tem duas entradas:
  • 1d6b:0002 Linux Foundation 2.0 root hub
  • 1d6b:0001 Linux Foundation 1.1 root hub
Só podemos ver um resumo.

Agora preste atenção, quando queremos corrigir algum problema nos dispositivos USB, precisamos de mais detalhes.

O comando lsusb é bom até demais em mostrar todos os detalhes.

Vejam a saída:

root@computador1:~# lsusb -v -d 1d6b:0002

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0002 2.0 root hub
  bcdDevice            3.02
  iManufacturer           3 Linux 3.2.0-4-amd64 ehci_hcd
  iProduct                2 EHCI Host Controller
  iSerial                 1 0000:00:0b.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength              11
  bDescriptorType      41
  nNbrPorts             8
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00 0x00
  PortPwrCtrlMask    0xff 0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
   Port 5: 0000.0100 power
   Port 6: 0000.0100 power
   Port 7: 0000.0100 power
   Port 8: 0000.0100 power
Device Status:     0x0001
  Self Powered

Para o comando lsusb é o básico para mais detalhes pesquise com 
#man lsusb


Vou ficando por aqui, até a próxima

segunda-feira, 16 de março de 2015

LPI 101.1 Identificar e editar configurações de hardware (Comando lspci)

O GuiaLPI, é feito para orientar, guiar os seus estudos.

Por isso gosto de ser prático na hora de postar alguma coisa. 

Uma das minhas dificuldades nesse primeiro assunto da certificação LPI, era a aplicação prática dos comandos e vou detalhar, mostrando como devem ser usados.

Primeiro comando "lspci":

$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service
00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)
00:06.0 USB controller: Apple Inc. KeyLargo/Intrepid USB
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0b.0 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)

A saída pode parecer um pouco estranha de primeira vista mas vamos detalhar

Temos duas colunas





Para mostrar detalhes sobre o dispositivo usamos o seguintes parâmetros
-s para especificar um dispositivo
-v para modo verbose, mais detalhado
-vv mais detalhado ainda

$ lspci -s [endereco_dispositivo] -v


Vamos o dispositivo de audio, o endereço é 00:05.0

$ lspci -s 00:05.0 -v



Quer mais detalhes ainda?

$ lspci -s 00:05.0 -vv





sábado, 14 de março de 2015

SQL BÁSICO

SQL - Structured Query Languagem

SQL - Linguagem de consulta e estrutura - É um linguagem não só de consulta como também de estrutura dos dados.

Na lpi temos apenas que saber os comandos básicos da consulta e manipulação de dados.

Os comandos são:

  • SELECT - Consulta dados de uma ou mais tabelas.
  • INSERT - Insere dados em uma tabela.
  • UPDATE - Atualiza dados em uma tabela.
  • DELETE - Exclui um ou mais registros em uma tabela.

Sou professor e didáticamente não acho legal colocar apenas só os comandos que a LPI pede. Temos que ter uma estrutura de estudos, uma sequência lógica para usar todos os comandos de maneira lógica.

Primeiro se você está estudando para LPI, entendo que já esta usando linux se não está comece o mais rápido.

Segundo precisamos usar um bando de dados para usar na prática, vou usar o Sqlite por ser pequeno e de fácil instalação no linux, além de existir .

No Debian e debian-likes

$ sudo apt-get install sqlite3

ou como root

# apt-get install sqlitelibsqlite3-dev

No Opensuse (Não foi testado assim que tiver tempo eu testo)

# zypper install sqlite3

Então vamos começar

digite na linha de comando
#Estamos criando o banco com o nome "contatos"
    $ sqlite3 contatos

#vai abrir o prompt do sqlite
    sqlite>

#Vamos agora criar uma tabela

    sqlite> create table clientes (nome varchar(30), telefone varchar(15));

observação: estamos criando uma tabela com dois campos para ser preenchidos: nome e telefone.

# Agora vamos inserir dados na tabela, FAZENDO INSERT

    sqlite> insert into clientes values('Marcos', '2222-2222');
    sqlite> insert into clientes values('Aurelio', '3333-3333');
    sqlite> insert into clientes values('Alcantara', '4444-4444');

Aperte enter depois de cada comando e coloque o ";" no final

Temos agora três registros vamos agora consultá-los:

    sqlite> select * from clientes;
Marcos| 2222-2222
Aurelio|3333-3333
Alcantara|4444-4444

#FAZENDO UPDATE

Vamos mudar o telefone do registro 'Marcos' de '2222-2222' para '1111-1111'

    sqlite> update clientes set telefone='1111-1111' where nome='Marcos'

Faça mais um select

    sqlite> select * from clientes
Marcos|1111-1111
Aurelio|8888-8888
Alcantara|4444-4444


#FAZENDO DELETE

    sqlite> delete from clientes where nome='Alcantara';

Select para confirmar

    sqlite> select * from clientes
Marcos|1111-1111
Aurelio|8888-8888


Bem isso é apenas um resumão, para qualquer dúvida postem abaixo.