Como verificar a saúde do seu HD (disco rígido) com Ubuntu.

Sou defensor de um uso mais intenso do Linux pelo suporte técnico para diagnosticar e resolver problemas (quando possível) ou contorná-los.
Uma das vantagens técnicas ao começar a fazer um diagnóstico utilizando uma distro Linux é estar livre, de cara, de todo um ambiente infestado de vírus. É um problema (dos grandes) a menos.
Há um série de distros, cada qual com suas especialidades, que podem ser usadas pelo suporte técnico para diagnosticar e resolver problemas. Mas este não será o assunto aqui.

LEIA MAIS:

Um outro momento em que ter uma distro Linux à mão (dentro de um pendrive) pode ser na hora de comprar um computador usado. Este cuidado possibilita ver a saúde geral da máquina que se deseja comprar.
Vamos abordar uma forma rápida e simples de diagnosticar o seu disco rígido e, se houver, encontrar setores ruins ou bad sectors em sua superfície, utilizando a linha de comando.

Aviso

O programa que vamos usar aqui pode destruir os dados contidos no disco rígido, dependendo da maneira em que for usado. Faça backup dos seus dados sempre e seja atencioso no que faz. Você foi avisado.

Ao trabalho…

O sistema já vem com a ferramenta de que precisamos: o aplicativo badblocks. Ele precisa ser executado como administrador do sistema, por isso, certifique-se de ter os privilégios necessários para tal.
Abra um terminal com Ctrl + Alt + T e digite dentro dele o comando (trocando a referência ao seu HD aonde for necessário):
sudo badblocks -v /dev/sda1 > setores_ruins.log
Com este comando, desviamos todas as informações da tela para dentro de um arquivo texto chamado setores_ruins.log, que poderemos abrir e analisar com calma mais tarde. O ṕarâmetro -v faz com que a execução do comando seja mais verbosa, ou seja, exibe informações mais detalhadas do que está sendo feito.
Captura de tela de 2013-03-05 09:49:25
No caso de estar adquirindo um HD usado, já instalado no computador, o ideal é rodar o badblocks de um CD ou pendrive Linux live. O seguinte comando só pode ser rodado em uma partição que não esteja montada:
badblocks -nvs /dev/sda
Embora não seja um exame destrutivo, ele precisa ler e escrever dados no HD.

Como instalar Ubuntu em um pendrive

Há várias utilidades em se ter um pendrive com o Linux instalado, qualquer que seja a distribuição. Entre elas, eu citaria:

  • Suporte técnico – executar diagnósticos em uma máquina cujo sistema operacional esteja avariado
  • Privacidade – rodar o seu próprio sistema operacional, com seus próprios programas e gravando tudo dentro do seu próprio pendrive. Assim, você chega a qualquer computador, usa o seu sistema personalizado, navega na Internet, trabalha e vai embora sem deixar qualquer rastro pros xeretas.
  • Testar novas distros Linux – sem precisar fazer instalações novas e se arriscar a perder arquivos, você pode testar praticamente qualquer distro Linux. Aqui, vamos sugerir o download da versão de testes (em>beta ou alpha).
  • Distros especiais para ocasiões específicas – para quem deseja ter uma distro mais leve, com apenas os programas necessários para realizar certas tarefas, um pendrive pode ser muito útil para abrigar um sistema operacional e aplicativos exclusivos para tarefas de multimidia, servidor de arquivos, WEB ou banco de dados etc.

Ubuntu pendrive
Há várias outras aplicabilidades para esta situação, mas vamos ficar só nestas, por enquanto.
Comece por fazer o download da sua distribuição preferida. A sugestão, aqui, é ir à página do Ubuntu e pegar uma das que se encontra à disposição lá. Mas eu encorajo você a ser livre para escolher outra 😉

Aviso

Como sempre, mantenha backup dos seus dados. As dicas, aqui, podem formatar o seu pendrive e, portanto, apagar os dados contidos nele. Portanto, use um pendrive que não contenha informações relevantes.

Se você não estiver usando Ubuntu

Se você estiver usando Windows, este outro artigo vai te ajudar muito mais.
Algumas variações do Ubuntu, como o LUbuntu, não tem o software necessário instalado. Mas isto pode ser facilmente corrigido com um comando no terminal:

sudo apt-get install usb-creator-gtk

Em poucos minutos (dependendo da sua conexão) ele estará instalado e pronto para ser executado.

Criar disco de inicialização com Ubuntu

Abra o Dash apertando a tecla Supeŕ (aquela que tem o simbolo do Windows), à esquerda da barra de espaços. Faça uma busca por discos e selecione o Criador de Discos de Inicialização:
Captura de tela de 2013-03-05 11:24:22
Insira o seu pendrive e aguarde alguns instantes, enquanto ele é montado.
Captura de tela de 2013-03-05 11:42:29
Caso o Ubuntu abra janelas adicionais para acessar o conteúdo do seu pendrive, cancele e volte à janela do Criador de discos de inicialização.
Na primeira seção do quadro do Criador, selecione o arquivo .ISO que você baixou (lembra da Introdução deste artigo?)
0Captura de tela de 2013-03-05 13:42:38
Feito isto, opte por Apagar disco, caso não tenha dados relevantes no pendrive. Se você não mandar apagar, os seus dados atuais serão preservados.
Captura de tela de 2013-03-05 13:52:15
As últimas opções estão relacionadas à sua privacidade. Se você considera seguro armazenar seus dados pessoais no pendrive, opte pela primeira. Todo o seu trabalho e as personalizações ficarão armazenadas no pendrive, dentro da área que você definir.
Se você preferir um nível de privacidade mais paranóico opte por Descartar ao desligar. Assim, nada será armazenado neste pendrive. Caso você tenha uma conexão à Internet, poderá armazenar online, em algum local que você considere seguro.
Captura de tela de 2013-03-05 13:52:53
Feito as opções, clique no botão Criar disco de inicialização e aguarde a criação do seu “disco”/pendrive com Ubuntu (ou outra distro que você tenha escolhido).
Captura de tela de 2013-03-05 14:01:26
Para dar o passo final, será necessário dar a sua senha para ter acesso administrativo ao setor de boot do dispositivo.
Captura de tela de 2013-03-05 14:05:23
Ao final do processo, reinicie o seu computador. Deixe o pendrive conectado, para que o Linux se inicie a partir dele.
Captura de tela de 2013-03-05 14:09:37

Possíveis problemas

Em algumas máquinas, pode ser necessário acessar um menu de boot para indicar que você deseja iniciar a partir do pendrive. O acesso e a aparência deste menu varia de fabricante pra fabricante. Consulte o manual do seu computador para saber como chegar lá, caso ele não inicie do pendrive automaticamente.
Este menu pode ser semelhante ao da imagem abaixo.
bootmenu
Neste caso, a opção certa é “USB Flash Device“.
Ao seguir em frente, se tudo deu certo, o seu sistema operacional será carregado. Divirta-se.

O comando grep

O grep pode ser visto como uma forma simplificada de consulta a um banco de dados em texto puro, em que cada linha representa um registro.
O utilitário pode ser usado para retirar um conjunto de strings (cadeias de caracteres) do resultado de um comando dado ou de um arquivo texto, por mais longo que seja.
Este artigo reúne uma coletânea de exemplos, que irão ajudar a entender bem o funcionamento do grep.

LEIA MAIS:

Use a caixa de busca para descobrir outros artigos que fazem uso de exemplos com o comando grep.

Exemplo básico de uso do comando grep

Para pedir uma lista dos processos em execução na máquina, podemos usar o comando ‘ps aux’.
Mas a lista pode ser muito extensa e você só quer saber (por exemplo) do ‘NetworkManager’:


ps aux | grep -i net

Observe que ele exibe e destaca todas as strings contendo a cadeia de caracteres “net” (veja a imagem, abaixo).
Captura de tela de 2013-02-22 13:42:27
Entenda o que foi feito:

  • O comando ps aux exibe todos os processos em execução.
  • O operador | redireciona os resultados do comando ps para o grep, que filtra as ocorrências de “net” do resultado.
  • O parâmetro -i, pede ao programa que ignore se as letras estão em maiúsculas/minúsculas.

Use o grep para filtrar resultados de arquivos de log do sistema

Certos arquivos de log do sistema são muito extensos e podem conter uma quantidade imensurável de informações irrelevantes pra sua situação.
O grep pode ajudar a encontrar “uma agulha no palheiro”.
Vejamos, como exemplo o arquivo de log /var/log/dmesg que contém informações atuais do que está ocorrendo no seu sistema.
Vamos visualizar seu conteúdo – deixando de fora tudo o que não se refere à nossa interface de rede eth0:


cat /var/log/dmesg | grep eth0

Captura de tela de 2013-02-22 14:09:19

Use o egrep para filtrar resultados com operadores lógicos

Outros comandos, como lshw, também retornam uma lista muito extensa e podem demorar muito para finalizar.
O interessante, aqui, é direcionar o resultado do comando para um arquivo texto, que será usado com muito mais facilidade.
Com o seguinte comando, você cria o arquivo lshw.log contendo o resultado do lshw:


sudo lshw > lshw.log

Este procedimento traz as vantagens de não precisar mais invocar o sudo, para obter o resultado do lshw e a velocidade com que o sistema lê e exibe o texto do lshw.log.
A seguir vamos usar uma versão diferente do grep, o egrep, para filtrar os resultados que se referem às nossas interfaces de rede eth0 e wlan0:


egrep -C 2 -i '(eth|wlan)0' lshw.log

Olha a explicação do comando acima:

  • -C 2 — inclui as 2 linhas acima e as 2 linhas abaixo daquela em que foi encontrada a string desejada.
    Assim você sabe em que contexto o resultado está inserido.
  • -i — desativa a sensibilidade às ‘caixas’, ou seja, tanto faz se os caracteres estiverem em minúsculas ou maiúsculas.
  • o operador lógico | ou pipe — Desde que a string termine com ‘0’, tanto faz que seja ‘eth0’ ou ‘wlan0’.
    Assim, ficam incluídos os resultados referentes à interface de rede a cabo e sem fio.

Captura de tela de 2013-02-22 14:34:04

LEIA MAIS:

Como encontrar arquivos com o comando grep

Você pode usar o utilitário também para encontrar arquivos de texto pelo seu conteúdo.
Para pesquisar recursivamente no diretório atual por arquivos que contenham a palavra “firefox”, use-o da seguinte forma:


grep -iR 'firefox' *.conf

comando grep para encontrar arquivos por conteúdo

Conclusão

Como dicas finais, ao fazer a pesquisa dentro de arquivos grandes, gosto de usar os parâmetros ‘-n’ e ‘--color‘.
O primeiro numera as linhas, tornando mais fácil, ao abrir o arquivo, encontrar algo que eu desejo alterar.
O segundo mostra a saída do comando em cores, o que também ajuda a discernir melhor os resultados.
Você pode obter mais informações sobre o comando ao executar o seu manual:


man grep

Divirta-se!

MySQL: comandos básicos

O objetivo deste curto tutorial é introduzir os primeiros conceitos, de forma bem objetiva e com exemplos práticos, a quem está tendo o seu primeiro contato com o MySQL ou precisa apenas obter uma referência rápida sobre como lidar com criação/remoção de bancos de dados, tabelas e registros, entre outras tarefas básicas.
mysql logo
No meio do texto, há links para outros artigos em que os comandos são abordados com maior profundidade.

NOTAS
  • Não esqueça de sempre terminar o comando com um ‘;’ (ponto e vírgula), ou ele não funcionará;
  • Tenha em mente o limite de 64 caracteres para nomes de bancos de dados;
  • Para evitar problemas ao mover dados entre servidores de diferentes sistemas operacionais use apenas letras minúsculas, alfanuméricas e underscores nos nomes dos bancos e das tabelas;
  • E, sim, você pode escrever tudo em letras minúsculas – tanto os comandos, como as variáveis. O cliente MySQL não é sensível à caixa das letras. Este tutorial as usa apenas para tornar mais fácil a leitura e a compreensão;

ad-receias-geek-funcoes-data-hora-512x120

Comandos MySQL

Após a instalação completa do MySQL, alguns programas, que fazem parte do pacote, ajudam a conectar ao servidor e a realizar todas as tarefas administrativas. O cliente mysql é o principal deles e é nele que este artigo manterá o foco.

Como conectar ao MySQL

Conecte-se ao servidor MySQL com o seguinte comando:

mysql -h NOME-DO-SERVIDOR -u NOME-DO-USUARIO

Após dar o comando, o sistema vai pedir a sua senha de usuário.
Dica: Se você instalou o MySQL no seu próprio PC, pode usar localhost no lugar de NOME-DO-SERVIDOR.
No exemplo, a seguir, veja como se conectar como root:

mysql -u root -p

Se não foi você quem fez a instalação, pode precisar contatar o administrador do banco de dados para saber que valores usar para conectar ao servidor MySQL.
Em servidores remotos, você provavelmente precisará usar o SSH para se conectar ao MySQL.

Como criar um banco de dados no MySQL

O comando para criar um banco de dados é este:

CREATE DATABASE nome-do-banco;

Para ver todos os bancos de dados existentes no servidor:

SHOW DATABASES;

Em um exemplo prático, a criação do banco de dados testes, ficaria assim:

CREATE DATABASE testes;

Você pode exibir os bancos de dados criados, através do comando SHOW:

SHOW DATABASES;

Antes de criar uma tabela ou realizar qualquer operação, é necessário selecionar o banco de dados que vai ser usado:

USE testes;
LEIA MAIS:

Como criar uma tabela no MySQL

Como já foi dito, antes de criar uma tabela, você precisa indicar o banco de dados a ser usado – dentro do qual vai criar uma tabela. Que tal usarmos o exemplo do tópico anterior?

USE testes;

Agora, vamos criar uma tabela dentro dele, com o nome clientes:

CREATE TABLE `clientes` (
  `idCliente` mediumint(8) unsigned NOT NULL auto_increment,
  `nomeEmpresa` varchar(255),
  `nomeDiretor` varchar(255) default NULL,
  `numEmpregados` mediumint default NULL,
  PRIMARY KEY (`idCliente`)
) AUTO_INCREMENT=1;

Você pode pedir pro sistema exibir todas as tabelas presentes no banco de dados selecionado:

SHOW tables;

Para obter informações sobre uma tabela, você pode usar o comando DESCRIBE ou DESC:

DESCRIBE clientes;

Como inserir mais dados em uma tabela

Vamos “povoar” mais a nossa tabela com alguns dados:

INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (1,"Malesuada Inc.","Johnny Pedd",4847);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (2,"Aliquam Inc.","Al Capino",4135);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (3,"Union Carbide","Robert Ne Diro",3755);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (4,"Magna Carta Ltda.","Wenzel Dashington",3071);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (5,"Nunc Corp.","",3859);
INSERT INTO `clientes` (`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`) VALUES (6,"In Company","Macaulay Bulkin",4440);

Lembra que o campo idCliente foi criado com o parâmetro auto_increment. Seu preenchimento é automático. Você não precisa informar o seu valor, portanto:

INSERT INTO `clientes`
(`idCliente`,`nomeEmpresa`,`nomeDiretor`,`numEmpregados`)
VALUES ('',"GameCorp.","Din Viesel",2071);
LEIA MAIS:

Como ver os registros na tabela com o comando SELECT

Tal como o nome sugere, o comando SELECT seleciona e exibe os registros gravados na tabela.
A maneira mais simples de usá-lo é essa:

SELECT * FROM clientes;

Você pode refinar a pesquisa de inúmeras maneiras.
Se quiser ver apenas o conteúdo dos campos id_cliente e nome_empresa, use-o assim:

SELECT id_cliente, nome_empresa FROM clientes;
SAIBA MAIS

Como remover um registro de uma tabela

A sintaxe do comando para apagar um registro é:

DELETE FROM nome-da-tabela WHERE nome-da-coluna=texto;

Veja um exemplo prático de uso do comando DELETE:

DELETE FROM clientes WHERE nomeEmpresa = 'GameCorp';

Com este comando, TODOS os registros que tiverem nomeEmpresa = 'GameCorp' serão eliminados. Neste caso, há apenas 1. Mas vamos imaginar que houvesse 10 ou 100 registros em que o nomeEmpresa fosse igual a GameCorp. Neste caso, seria necessário usar outro campo como referência para encontrar o registro que eu desejo eliminar. No nosso caso, há o campo idCliente, que é único – ele não se repete dentro da tabela:

DELETE FROM clientes WHERE idCliente = 7;

Como remover uma tabela ou um banco de dados

Seja cuidadoso(a). O comando DROP apaga permanentemente uma tabela ou um banco de dados. Veja como usar o DROP para eliminar uma tabela:

DROP TABLE nome-da-tabela;

ou, como remover um banco de dados:

DROP DATABASE nome-do-banco;

Como limpar uma tabela

Para limpar uma tabela, use o comando TRUNCATE. Internamente, ele remove a tabela primeiro e, depois, a recria com a mesma estrutura – só que sem os dados. Se houver um contador AUTO_INCREMENT, na tabela em questão, ele é zerado e recolocado. Veja como funciona:

TRUNCATE TABLE nome-da-tabela;

Como alterar um registro no MySQL

Aqui, o comando UPDATE entra em ação. Vamos ver como usá-lo para alterar o valor de um campo dentro de um registro:

UPDATE clientes SET numEmpregados=1999 WHERE idCliente = 1;
LEIA MAIS:

RunKeeper: Configuração básica no celular

Vamos abordar, neste post, as configurações disponíveis no aplicativo RunKeeper para smartphones. É bom fazer alguns ajustes, antes de começar a usá-lo – tais como a unidade de medida, a frequência do feedback sonoro etc.
RunKeeper botão de configuraçãoClique no ícone de configuração, no canto superior direito, na tela principal, para chegar ao menu.
O menu de configuração é composto por mais de 20 itens. Nem todos estão relacionados à configuração do aplicativo. Vamos ver os principais.

Mais sobre o RunKeeper

Unidades de medida

RunKeeper Unidades de Medida km ou MilhasPor ser desenvolvido em Boston (EUA), a unidade de medida da distância percorrida padrão do aplicativo é a milha. Vamos mudar para um sistema decente.
Isto pode ser alterado no menu “Unidades de distância” (distance units, na versão em inglês). Escolha Km, dentro deste menu.

Sinais de Áudio

Aqui podemos configurar o relatório periódico (feedback) de áudio que o aplicativo fornece durante as atividades.
No menu “Cronometragem de áudio”, você pode escolher se deseja disparar o sinal de áudio após o decurso de um intervalo de tempo (Por Tempo) e/ou de uma distância percorrida (Por Distância).
Por exemplo, a cada 15 minutos de atividade, o aplicativo dispara o sinal de áudio que informa (com voz humana) a distância percorrida, o ritmo do treino etc.

Ajuste do sinal de áudio por tempo

  • Selecione “Sinais de áudio”, no menu de configurações;
  • Selecione “Por Tempo”;
  • Escolha o intervalo que julgar adequado;
  • Escolha “Nenhum” se desejar desativar este sinal.

Ajuste do sinal de áudio por distância percorrida

  • Dentro de “Sinais de áudio”, selecione “Por Distância”;
  • Escolha um intervalo adequado à sua necessidade;
  • Escolha “Nenhum” para desativar este sinal

Seleção das informações

Logo abaixo das trigger options, ou seja, as condições em que o relatório audível será “disparado”, há uma lista de opções de informações que você pode escolher. Entre as principais, estão:RunKeeper Configurar sinais de áudio

  • Tempo;
  • Distância percorrida;
  • Ritmo médio do treino;
  • Ritmo/velocidade da série atual – para quem utiliza uma rotina predefinida de exercícios, com várias séries, esta opção dá o feedback de cada uma destas séries;
  • etc.

Há opções de medição do batimento cardíaco (Heart Rate), mas será necessário ter um acessório medidor para recolher estes dados. O próprio site do RunKeeper vende alguns modelos de acessórios compatíveis.

Tela Primária

RunKeeper tela principal
Aqui se escolhe o que deverá ser mostrado no painel principal – se o ritmo ou a velocidade no treino.
O ritmo (pace) é o tempo (em minutos) que você leva para completar um determinado percurso (em quilômetros).

Outros itens

A maioria dos itens do menu de configuração, se não são autoexplicativos, são facilmente dedutíveis ou, através da tentativa e erro, rapidamente um usuário consegue descobrir sua aplicabilidade. Acho interessante, portanto, abordar apenas mais dois itens.

Pausa automática

Liga/desliga a pausa automática. Quando o programa “percebe” que você está parado, ele pausa o monitoramento. Pode ser muito útil em caso de ter que atender a um telefonema ou, distraidamente, parar para conversar com alguém. A pausa automática não permite ao aplicativo “contabilizar” o tempo que você saiu da atividade.

Configurações de compartilhamento

Esta seção trata de um dos recursos mais queridos nos aplicativos de monitoramento de atividades. Selecione quem pode ver suas atividades, seus mapas e conecte o aplicativo ao Twitter e ao Facebook.
Dica: O site do RunKeeper permite conectar o aplicativo ao Foursquare e você pode ganhar medalhas (badges) relativas às atividades.