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.

Como criar novo usuário no MySQL

Neste post, vou mostrar algumas formas de criar um novo usuário no servidor de banco de dados MySQL e como acessar o sistema através dele.
É interessante conhecer e saber usar o sofisticado sistema de gestão de usuários, do MySQL, que controla quem pode acessar e de onde pode fazê-lo.
Uma vez que é uma atividade administrativa, de superusuário, você precisa ter acesso ao root para realizar os procedimentos descritos aqui e usar o comando GRANT do SQL para ajustar privilégios dos usuários criados – e, só pra lembrar, quando falamos em root no MySQL, não estamos nos referindo ao root no Linux. Cada um no seu quadrado.

Como atribuir uma senha à sua conta administrativa

Se foi você quem instalou o sistema, provavelmente já configurou detalhes como a senha do root.
Para atribuir uma senha nova (pela primeira vez) à sua conta root, use o mysqladmin, no terminal:

mysqladmin -u root password NOVASENHA

Se for o caso de alterar uma senha preexistente, use o comando como segue – por exemplo, vamos trocar a senha de uruguay para brasil:

mysqladmin -u root -puruguay password brasil

Sim. A senha deve ficar “grudada” à opção -p.

LEIA MAIS

Como criar uma conta de usuário no MySQL

No tópico anterior, nos certificamos de ter condições de entrar na conta administrativa do MySQL, root. Agora vamos entrar, no banco de dados, para iniciar o procedimento de criar contas para outros usuários.
Entre no MySQL, usando a senha root, já cadastrada:

mysql -u root -p

ou

mysql -u root -h localhost -p

Crie um novo banco de dados MySQL chamado exemplo:

CREATE DATABASE exemplo;

Entre no banco de dados, com o comando USE:

USE exemplo;

Agora crie, com o comando GRANT um usuário chamado papaleguas, com todos os privilégios sobre o banco de dados exemplo — troque a senha minhasenha pela que mais lhe convier:

GRANT ALL ON exemplo.* TO papaleguas@localhost IDENTIFIED BY 'minhasenha';

Como conectar ao banco de dados MySQL usando a minha nova conta de usuário

Para entrar no MySQL, usando uma conta de usuário comum, como a que foi criada no tópico anterior, já fazendo uso do banco de dados exemplo, use o seguinte procedimento:
Se estiver dentro do MySQL, use o comando QUIT, para sair:

QUIT;

Em seguida, na linha de comando…

mysql -u papaleguas -p exemplo

ou

mysql -u papaleguas -h localhost -p exemplo

onde,

  • -u papaleguas — é o nome do usuário MySQL;
  • -h localhost — é o nome do servidor local, onde se encontra instalado o MySQL – você deve sempre alterar estas variáveis para atender as suas condições;
  • -p — quando esta opção é fornecida sem a senha (grudadinha), o sistema a pedirá antes de entrar;
  • exemplo — ao fornecer o nome de um banco de dados, antes de entrar, o sistema já se conecta a ele após a autenticação. Isto é opcional. Você pode escolher o banco de dados que deseja usar, depois de entrar no MySQL

Espero ter conseguido sanar suas dúvidas com esta explicação.
Quer ler mais sobre MySQL? Então, use o sistema de busca do site!

Como verificar a memória SWAP no Linux

Vou mostrar aqui como é simples verificar alguns dados sobre a memória SWAP no seu sistema Linux e como monitorar o uso que o sistema está a fazer dela.
Para isto, você não precisa de nada além de digitar os comandos certos em um terminal ou console.

O que é memória SWAP

De maneira resumida, a memória SWAP ou virtual é uma técnica de gestão de memória que usa tanto softwares como hardwares para “aumentar a quantidade de memória disponível”. Grosso modo, usa espaço no seu disco rígido, como se fosse memória RAM.
Você pode obter maiores informações sobre o assunto, aqui.

Checando o arquivo /proc/swaps


cat /proc/swaps

conteudo do arquivo swaps
O arquivo ‘/proc/swaps’, em 5 colunas, informações sobre a memória virtual do seu sistema.

  • Filename — exibe o nome do arquivo ou partição do disco em que a memória virtual se encontra instalada. Sim, você pode ter mais de um arquivo swap;
  • Type — especifica o tipo de swap que você tem no seu sistema. No meu, tal como a grande maioria dos usuários, o tipo é partition – ou seja, eu reservei uma partição inteira só pro arquivo de troca;
  • Size — este é o tamanho do espaço disponibilizado em cada arquivo swap usado no seu sistema;
  • Used — do espaço disponível, este é o espaço usado, ocupado,
  • Priority — mostra a prioridade de cada arquivo swap. Isto pode ser mudado com o comando swapon ou no arquivo /etc/fstab. A menos que você tenha certeza do que está fazendo é melhor continuar a deixar o kernel determinar estes valores.

LEIA MAIS

Verifique a memória disponível no sistema com o free

O free é um comando que exibe uma série de informações sobre o uso atual da memória no sistema – inclusive a memória virtual, que é o nosso assunto aqui.
Você irá encontrar o comando free no seu smartphone Android também e com as mesmas funcionalidades.
Abaixo, sugiro executar o comando com as opções -ht:


free -ht

             total       usado      livre    compart.  buffers     em cache
Mem:          2,0G       1,7G       265M         0B       193M       529M
-/+ buffers/cache:       1,0G       987M
Swap:         2,0G       342M       1,6G
Total:        3,9G       2,0G       1,9G
  • a opção ‘-h’ (human) faz com que os resultados sejam exibidos na tela em formatos mais facilmente legíveis
  • a opção ‘-t’ exibe uma totalização ao final

Note que o comando tira um instantâneo do uso da memória do sistema. Se você deseja fazer um monitoramento do uso da memória do seu sistema, durante um determinado tempo, use o comando assim:


free -ht s1

Isto vai manter o sistema de monitoramento no ar e se atualizando a cada 1 segundo.monitorar uso da memória com free no Linux
Faça um teste:

  • Execute o comando acima, para manter o free a monitorar o uso da memória do sistema;
  • Comece a abrir vários programas ao mesmo tempo (podem ser várias janelas de um navegador);
  • Observe o painel de informações, enquanto isto. O uso do SWAP muda muito?!

Há outras formas (mais eficientes, até) de se monitorar o uso da memória SWAP no seu sistema. O uso do free e da leitura direta do arquivo ‘/proc/swaps’ são as formas mais rudimentares para se saber o que se passa nesta área do seu sistema – e qualquer pessoa pode ter acesso a elas.
Você pode usar o comando swapon para obter uma visualização detalhada do uso do arquivo de troca no sistema:


sudo swapon -v

NAME      TYPE      SIZE USED PRIO
/dev/sdb2 partition   3G   0B   -1
/dev/sda2 partition 8,8G   0B   -2

O exemplo acima mostra sendo usadas para swap. O assunto é melhor delineado no artigo Como usar múltiplas partições ou arquivos de swap.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.