Como testar a velocidade da Internet na linha de comando

Você pode usar o speedtest-cli para testar a velocidade da conexão em um servidor. Trata-se de uma ferramenta de linha de comando (por isto, é leve) para testar a largura de banda da sua conexão à Internet.
Para fazer os testes, o speedtest-cli usa as informações providas pelo site speedtest.net e evita o uso de uma interface gráfica, feita em flash… e pesada.

Instale o speedtest-cli

Para instalar o cliente do speedtest.net, é necessário ter o python-pip, primeiro.

SAIBA MAIS

« pip é um sistema de gerenciamento de pacotes usado para instalar e gerenciar pacotes de software escritos na linguagem de programação Python. Muitos pacotes podem ser encontrados no Python Package Index (PyPI) » Fonte: Wikipedia.

Instale o pip, assim (no Ubuntu):

sudo apt-get install python-pip

Depois, fica fácil instalar o software, que é o assunto deste post:

sudo pip install speedtest-cli

Está feito!

Como usar o speedtest-cli

Para testar a sua conexão à Internet, execute o comando:

speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Oi Velox (187.79.164.175)...
Selecting best server based on ping...
Hosted by Mob Telecom (Fortaleza) [69.61 km]: 740.387 ms
Testing download speed..................
Download: 13.62 Mbit/s
Testing upload speed..................................................
Upload: 10.38 Mbit/s

Após algum tempo, surge o resultado, para você analisar.
Pronto para brigar com a operadora?

Compartilhe os seus resultados

Com a opção --share, o seu resultado é transformado em uma imagem .png e enviado pro site do speedtest, de onde você a pode compartilhar. Veja como fazer isto:

speedtest --share
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Oi Velox (187.79.164.175)...
Selecting best server based on ping...
Hosted by Mob Telecom (Fortaleza) [69.61 km]: 66.678 ms
Testing download speed........................................
Download: 3.52 Mbit/s
Testing upload speed..................................................
Upload: 0.42 Mbit/s
Share results: http://www.speedtest.net/result/3314997743.png

Veja que, na última linha, é exibida a URL para ver o resultado do teste na Internet. No meu caso, deu isto aqui: http://www.speedtest.net/result/3314997743.png
Ah, sim! Você pode usar apenas speedtest no lugar de speedtest-cli – no caso de você ter instalado o utilitário através do Python Pip.
como medir a velocidade da minha conexão à Internet
Simples, não?
Agora, experimente e compartilhe (este texto e seus resultados) com os seus amigos.

Como baixar e instalar o banco de dados Redis

O Redis é um banco de dados orientado a documentos (document-oriented, projetado para armazenar, recuperar e gerenciar informações também orientadas a documentos – também conhecidas como dados semi-estruturados.
logo redis banco de dados nosqlBancos de dados orientados a documentos constituem uma das muitas categorias dos conhecidos bancos NoSQL.
O Redis é software de código aberto, distribuído sob a licença BSD e vem sendo desenvolvido desde 2009. É construído na linguagem ANSI C e está disponível para diversas plataformas.

Como baixar e instalar

Vamos primeiro baixar a versão estável do Redis e, em seguida iniciar o processo de instalação, que serve para qualquer sistema operacional.
Baixe com o wget:

wget http://download.redis.io/redis-stable.tar.gz

Descompacte o pacote baixado no diretório em que você deseja instalar o Redis:

tar xvzf redis-stable.tar.gz

Entre no diretório do Redis, recém criado:

cd redis-stable

Vamos iniciar o processo de compilação:

make

O aplicativo recomenda rodar o seguinte comando:

make test

Os binários, já compilados, se encontram no diretório src/ – onde você vai encontrar o servidor Redis src/redis-server. Ponha-o pra funcionar:

src/redis-server &

Você deve ver surgir algo semelhante a isto na sua tela:

[18111] 17 Feb 16:35:20.099 # Warning: no config file specified, using the default config. In order to specify a config file use src/redis-server /path/to/redis.conf
[18111] 17 Feb 16:35:20.104 # Unable to set the max number of files limit to 10032 (Operation not permitted), setting the max clients configuration to 3984.
[18111] 17 Feb 16:35:20.105 # Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with 'noeviction' policy now.
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 2.8.6 (00000000/0) 32 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in stand alone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 18111
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

[18111] 17 Feb 16:35:20.108 # Server started, Redis version 2.8.6
[18111] 17 Feb 16:35:20.108 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
[18111] 17 Feb 16:35:20.108 * The server is now ready to accept connections on port 6379

Usando o Redis

Para “desocupar” o terminal com as mensagens do servidor, pressione Enter. Em seguida, inicie o cliente Redis:

src/redis-cli

Digite os primeiros comandos:

127.0.0.1:6379> set variavel "bom dia"
OK
127.0.0.1:6379> get variavel
"bom dia"
127.0.0.1:6379> 

Para finalizar o cliente Redis use o comando:

quit

Para finalizar o servidor Redis, use o killall:

killall redis-server

Fácil, não é? Não esqueça de compartilhar…

Como sincronizar data e hora no sistema a partir de servidores NTP

Sincronizar data e hora de dispositivos com um servidor NTP tem várias utilidades e vantagens – principalmente em uma empresa com um parque extenso de computadores.
Para mostrar como resolver isto, de maneira simples, vou usar o caso de um netbook, com 3 anos de uso, cuja bateria interna havia deixado de funcionar. Como resultado, toda vez que eu o ligava, ele tinha voltado pra 31 de Dezembro de 2007.

BIOS SETUP, RTC, Data e hora
Clique para ver detalhes.

Isto causava uma série de problemas – vários programas dependem de uma data e hora precisas para funcionarem adequadamente. Ter que ajustar a data e a hora manualmente, toda vez que ligar o computador é desgastante – mesmo pra mim, que costumo manter meus computadores ligados por dias ou semanas.
Veja como resolvi o problema.

O relógio do hardware ou RTC

Quase todo dispositivo eletrônico possui um hardware clock – relógio do hardware, que responde por outros nomes, como relógio do BIOS ou relógio de tempo real (RTC – Real Time Clock). Este relógio é alimentado por uma bateria própria – às vezes, ela é soldada à placa mãe, o que impede a sua troca.

LEIA MAIS

O que é o NTP

NTP quer dizer Network Time Protocol – trata-se de um protocolo usado para sincronizar os relógios entre computadores conectados em uma mesma rede.
A maioria dos servidores, na Internet, estão sincronizados através do NTP – o que evita que um email chegue a um destinatário 2 minutos “antes” de ser mandado, pra citar um pequeno exemplo do que seria a rede sem o NTP.
Apesar da aparente bagunça, a Internet precisa funcionar “como um relógio”.

Como instalar e configurar o NTP no Linux

Se você usa o Ubuntu ou qualquer outra distro Linux baseada no Debian, pode instalar com o apt-get:

sudo apt-get install ntp

Quem usa o RedHAT ou Fedora, pode instalar o NTP com o yum:

yum install ntp

Usuáros Debian, podem fazer uso do aptitude (com privilégios administrativos):

aptitude install ntp

Claro que você pode usar o aptitude no Ubuntu, também.
Como os pacotes são pequenos, o download e a instalação devem ser rápidos (isto depende da velocidade da sua conexão, também).

Como configurar o ntp

Se você aguardar alguns instantes, o NTP irá se executar e atualizar a data e hora do sistema.
Se você quiser, pode verificar se o aplicativo está rodando.
No Debian e no Ubuntu, use o seguinte comando:

/etc/init.d/ntp status
ntp.service - LSB: Start NTP daemon
   Loaded: loaded (/etc/init.d/ntp)
   Active: active (running) since Seg 2007-12-31 21:01:25 BRT; 6 years 7 months ago
  Process: 525 ExecStart=/etc/init.d/ntp start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/ntp.service
           └─618 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 113:120

Dez 31 21:01:29 Neuromancer ntpd_intres[649]: host name not found: 1.debia...g
Dez 31 21:01:29 Neuromancer ntpd_intres[649]: host name not found: 2.debia...g
Dez 31 21:01:29 Neuromancer ntpd_intres[649]: host name not found: 3.debia...g
Dez 31 21:02:03 Neuromancer ntpd[618]: Listen normally on 4 wlan0 192.168....3
Dez 31 21:02:03 Neuromancer ntpd[618]: peers refreshed
Dez 31 21:02:05 Neuromancer ntpd[618]: Listen normally on 5 wlan0 fe80::22...3
Dez 31 21:02:05 Neuromancer ntpd[618]: peers refreshed
Dez 31 21:02:06 Neuromancer ntpd_intres[649]: DNS 0.debian.pool.ntp.org ->...5
Dez 31 21:02:06 Neuromancer ntpd_intres[649]: DNS 1.debian.pool.ntp.org ->...5
Dez 31 21:02:06 Neuromancer ntpd_intres[649]: DNS 2.debian.pool.ntp.org ->...3
Hint: Some lines were ellipsized, use -l to show in full.

A linha em destaque, acima, mostra que o meu cliente NTP está ativo
Neste caso, não há mais nada que precise ser feito.
Se você desligar o computador, quando o ligar novamente, ele vai atualizar automaticamente a data e a hora do sistema, assim que se conectar à Internet.

Configurações adicionais do NTP

Se você quiser detalhar a configuração, pode indicar outros servidores mais adequados à sua região geográfica.
Você pode encontrar uma lista de servidores em www.pool.ntp.org.
Abra o arquivo de configuração /etc/ntp.conf com o seu editor favorito:

editor /etc/ntp.conf

e acrescente as opções adequadas. Para mim, estas são as que funcionam melhor:

server 0.south-america.pool.ntp.org
server 1.south-america.pool.ntp.org
server 2.south-america.pool.ntp.org
server 3.south-america.pool.ntp.org

Feita a alteração, reinicie o serviço NTPD:

sudo /etc/init.d/ntp restart
 * Stopping NTP server ntpd                                     [ OK ] 
 * Starting NTP server ntpd                                     [ OK ]

Só isto já é o suficiente para resolver o problema. Ao ligar o computador e conectar à Internet, o seu relógio interno já será atualizado automaticamente.
Para atualizar imediatamente a data e a hora do seu sistema, rode o comando a seguir:

/usr/sbin/ntpdate pool.ntp.org

Como habilitar a sincronização NTP pela interface gráfica

Abra o painel de configurações do seu sistema e selecione a opção de ajuste de data e hora.
Ubuntu NTP sincronização data hora
Em seguida, desbloqueie a tela de ajustes e forneça a senha administrativa.
Ao desbloquear, será possível selecionar a opção “Manter sincronizado com servidores na Internet”.
Só isto já será o suficiente – espero ter sido útil.

Como obter informações do hardware no Linux, com o dmidecode

Vou mostrar como usar o dmidecode – um dos comandos Linux que permitem ver maiores detalhes do seu equipamento. Por estar na categoria de detecção de hardware, é muito útil no suporte técnico e dentro de scripts de instalação.
Por ter uma saída um tanto extensa, pode ser bom combiná-lo com outros comandos, como o less ou o grep.
dmidecode memória RAMOutro detalhe importante sobre ele é que – uma vez que ele faz a leitura de arquivos sensíveis, cujo acesso é privilegiado – é necessário ser administrador do sistema (superusuário) para usá-lo.

LEIA MAIS

Onde baixar o dmidecode

Quem usa Windows ou Mac, pode fazer o download aqui. Usuários do Linux, provavelmente já o têm instalado em seus sistemas.

As informações obtidas com o dmidecode são confiáveis?

Quem já leu outros de meus artigos, deve ter percebido que gosto de passar um pouco de teoria pro leitor, no sentido de melhorar a compreensão geral do assunto. Mesmo assim, sinta-se livre para pular as partes cujo conteúdo você já conheça e vá direto à parte prática, um pouco mais embaixo.
Neste artigo, Joe Barr chama a atenção pro fato de que o dmidecode mostra as informações que obtém do BIOS, em um relatório – mas é o BIOS que, frequentemente não é confiável ao oferecer informações sobre o sistema. Em outras palavras, O BIOS mente sobre o seu hardware. No caso relatado, o BIOS informava falsamente a presença de suporte ao APM (Advanced Power Management ou Gestão Avançada de Energia) em uma máquina, o que impedia a inicialização de uma das versões do Red Hat Linux. No caso de você estar curioso, o problema foi solucionado quando o usuário desligou as opções APM no BIOS – neste caso, o Linux segue em frente, usando os próprios recursos de gestão.
A página da Debian, onde são dados detalhes do pacote dmidecode, há um alerta para a pouca confiabilidade dos dados DMI ou SMBIOS.
Só para ficar claro: não é o dmidecode que tem problemas. São os dados oriundos do seu BIOS que podem não ser verídicos. O programa só repassa a informação que recebeu do BIOS.

Usos comuns do dmidecode

Um dos usos é verificar informações como a capacidade máxima de memória suportada pelo sistema. Há, pelo menos, 43 tipos de DMIs sobre os quais o programa pode apresentar informações.
As opções mais comuns são:

  • --type ou -t — exibe informações sobre um dos tipos de DMI
  • --string ou -s — restringe as informações exibidas a uma determinada string

Para obter informações básicas sobre o BIOS, digite o comando:

sudo dmidecode --type 0
# dmidecode 2.12
SMBIOS 2.4 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
	Vendor: INSYDE
	Version: IA-M10.1D
	Release Date: 04/18/2008
	ROM Size: 1024 kB
	Characteristics:
		PCI is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		BIOS ROM is socketed
		EDD is supported
		ACPI is supported
		USB legacy is supported
		Targeted content distribution is supported

Dentro deste mesmo exemplo, caso você queira obter apenas os dados referentes ao fabricante, use o seguinte comando:

sudo dmidecode -s bios-vendor
INSYDE
LEIA MAIS

Para obter informações sobre o processador:

sudo dmidecode -t 4 | grep -i version
Version: Intel(R) Atom(TM) CPU N270   @ 1.60GHz

Você pode obter muito mais informações do BIOS sobre o processador se usar o comando assim:

sudo dmidecode -t processor

Enfim, use o manual do comando para obter maiores informações sobre o seu uso: man dmidecode.
Espero ter contribuído com dados úteis para você. Lembre-se que a melhor forma de agradecer é compartilhar a informação com seus amigos. Divirta-se!

Use o dmidecode para saber a capacidade máxima de memória suportada pelo seu hardware

Como obter informações sobre tipo e quantidade de memória presente em meu computador? O dmidecode pode responder a estas perguntas e a outras, como a quantidade máxima de memória possível no seu hardware, a quantidade de slotes presentes (vazios e ocupados) etc.
Se você vai aumentar a capacidade de memória de um laptop, estas informações são necessárias — e o aplicativo o dispensa de ter que passar pelo complicado processo de abrir um notebook para obtê-las.
Pilha de pentes de memória RAM
O dmidecode ajuda a determinar a velocidade e o tipo de memória presente no seu sistema. Assim, você já chega ao vendedor com a informação exata do que vai precisar.

O dmidecode não vem com o Windows, mas você pode fazer download dele (inclusive para outros sistemas operacionais) no site oficial.

Como usar o dmidecode

Por ler arquivos sensíveis do sistema, o dmidecode precisa ser executado com privilégios de administrador.
O comando que segue mostra a quantidade máxima de memória suportada e o número de slots disponíveis para encaixar pentes de memória RAM, no seu sistema, entre outras coisas. Observe as duas linhas em destaque:

sudo dmidecode -t 16
# dmidecode 2.12
SMBIOS 2.4 present.

Handle 0x0015, DMI type 16, 15 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 4 GB
	Error Information Handle: Not Provided
	Number Of Devices: 2

As linhas destacadas mostram a capacidade máxima (maximum capacity) e o número de slots disponíveis (number of devices).
Fazendo uso do comando grep, você pode reduzir a quantidade de informação ao que é essencial – o que pode ser útil, se você estiver inserindo o dmidecode em um script:

sudo dmidecode -t 16 | grep Maximum
	Maximum Capacity: 4 GB

Opções de memórias RAM

Mais informação da memória do seu sistema com o dmidecode

Consultando o manual – man dmidecode – é possível aprender mais informações sobre como inquirir o seu sistema.
Veja como obter a quantidade atual de memória presente no hardware, o tipo e o clock dos pentes de memória (em destaque):

sudo dmidecode -t 17
# dmidecode 2.12
SMBIOS 2.4 present.

Handle 0x0017, DMI type 17, 27 bytes
Memory Device
	Array Handle: 0x0015
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 2048 MB
	Form Factor: DIMM
	Set: None
	Locator: J2
	Bank Locator: CHAN A DIMM 0
	Type: DDR2
	Type Detail: Synchronous
	Speed: 533 MHz
	Manufacturer: 0x7F94000000000000
	Serial Number: 0xB0AB0300
	Asset Tag: Unknown
	Part Number: 0x53473536343536384647384E574B46535152

O manual descreve os tipos 5, 6, 16 e 17 como tipos de informação acerca da memória.

  • 5memory controller ou controlador de memória.
  • 6memory module ou módulo de memória.
  • 16physcial memory array ou array físico de memória.
  • 17memory device ou dispositivo de memória.

Você pode inquirir o sistema sobre qualquer uma destas informações ou sobre todas de uma vez. Veja:

sudo dmidecode --type 5,6,16,17

A opção --type equivale à -t, como já foi visto.
É possível inquirir pelo nome do dispositivo em vez do número, caso você ache mais fácil memorizar palavras:

sudo dmidecode --type memory

Experimente e nos diga o que achou 😉

LEIA MAIS:

Saiba mais sobre o comando dmidecode
O comando grep, em exemplos práticos.