Como comprar um notebook para durar 10 anos

Se você for cuidadoso(a) com as suas coisas, é perfeitamente possível manter um laptop por aproximadamente 10 anos — talvez um pouco mais ou um pouco menos.
Além do necessário cuidado com o equipamento, faz bem também planejar algumas atualizações que podem ser necessárias durante este período.

A sorte também será uma aliada importante durante esta aventura.

Eu não ligo para coisas materiais…

Eu detesto esta frase!

A frase “eu não ligo para coisas materiais” passa a falsa impressão de que a pessoa “não é materialista” e, possivelmente, possui valores mais elevados.

Acredito que as pessoas dizem isso para justificar sua falta de cuidados com objetos pessoais.

Na minha experiência, isto é uma bobagem. Na realidade, ser cuidadoso(a) com aparelhos eletrônicos de uso pessoal, é bom para a natureza — porque você vai produzir menos lixo.

Se você gasta menos comprando eletroeletrônico, pode investir mais na sua “enlevação espiritual”, se isto for importante para você. E este investimento pode ser feito com a compra de livros, viagens, saídas com os amigos, idas ao cinema/teatro etc.

Prolongar a vida útil de um equipamento de uso pessoal ou profissional é um ótimo projeto.

Use a sessão de comentários, abaixo, para me contar o que pensa sobre o tema. 😉

A bateria do notebook

Se você mora em um local com temperaturas extremas (muito frio ou muito quente), a bateria pode sofrer um desgaste adicional durante este período e poderá ser um dos primeiros itens a demandar substituição.

A troca pode ser evitada se o notebook passar a ser usado apenas como um desktop (ou PC de mesa).

As baterias têm componentes tóxicos para o meio ambiente e precisam ser descartadas de maneira correta.

Leia mais sobre os cuidados que você deve ter, para que a bateria dure mais.

Comprar uma bateria extra, junto com o equipamento não é necessário. Mas, se fizer isso, reveze o uso das baterias — caso seja possível retirar e colocar facilmente o item.

Eu só me preocuparia em comprar uma segunda bateria (nova ou usada) se isto fosse realmente necessário.

A memória RAM

Este item pode vir a precisar de upgrade, no meio do caminho.
Se não quiser adquirir o laptop, já com uma “quantidade excessiva” de memória RAM — o que pode pesar no seu orçamento inicial — você pode planejar esta compra alguns anos à frente.

Comprar depois é vantajoso, por conta da depreciação do valor do item.

O sistema de armazenamento

O disco rígido ou o SSD é um dos maiores gargalos do sistema, como um todo.

Mantê-lo sempre limpo e com uma ocupação sempre abaixo de 75-80% vai ajudar a manter a eficiência do dispositivo. Eventualmente, durante o período do projeto “10 anos”, poderá ser necessário formatar a unidade de armazenamento algumas vezes.

Você pode adquirir logo um SSD de altíssima capacidade ou pode planejar a troca do equipamento no meio do caminho. A primeira opção é a mais cara.

O sistema operacional

Se você optar pelo uso do Microsoft Windows, o ideal é evitar ao máximo fazer um upgrade de versão.
Neste caso, faça apenas as atualizações de segurança.

As novas versões do sistema operacional, geralmente, são mais pesadas e exigem hardware mais atual.

O sistema operacional da Apple costuma ser mais estável neste sentido. Junto com o hardware, formam um conjunto bastante consistente.

Outra opção interessante é o Linux. A distro Debian é uma das mais estáveis e conta com suporte de longo prazo de 2 anos. Eventualmente, o time de suporte pode extender este período para alguma versão.

No caso do sistema operacional Ubuntu, o tempo de suporte de longo prazo (LTS) é de 5 anos — o que significa fazer apenas uma ou duas atualizações obrigatórias de versão, durante todo o período.

Eu optaria pelo Linux, com atualização a cada 2 anos — e aproveitaria este momento para formatar todo o sistema de armazenamento.

Conclusão

Manter um mesmo sistema computacional por 10 anos é uma opção que pode ser cara, na saída, mas trazer benefícios pela estabilidade que te proporciona.

Mesmo que você formate e faça upgrade do sistema operacional a cada 2 anos, trata-se de um hardware que você já conhece e que não vai trazer surpresas com componentes incompatíveis.

Se você optar pela compra do notebook mais avançado disponível no mercado, hoje, terá uns 2 anos para fazer inveja aos seus amigos e, possivelmente, não terá que se preocupar em fazer atualizações de hardware até o fim do projeto.

Me conte como você tocaria um projeto desta natureza, nos comentários! Eu adoraria conhecer outras ideias e dicas. 😉

Apt-get: Quais as diferenças entre autoremove, autoclean e clean?

Estas 3 opções do comando apt-get são usadas na limpeza do sistema, mas tem funções e significados diferentes.
As três opções podem ser usadas, complementarmente para ajudar a liberar espaço no seu disco rígido e estão relacionadas à gestão de pacotes de softwares instalados no seu sistema.

É seguro fazer limpeza no Ubuntu?

Os aplicativos de gestão de pacotes apt-get e aptitude têm uma longa estrada e um extenso histórico no seu desenvolvimento.
Foram aperfeiçoados, no decorrer dos anos e são, provavelmente, os programas mais seguros a usar para gerir pacotes no Linux.
O artigo “Dicas para fazer uma faxina no Ubuntu” aborda este e outros métodos seguros para fazer uma limpeza, que melhore a performance do sistema e otimize o uso do seu espaço.

O que o comando autoremove faz

Este comando é frequentemente usado e, se você sempre instala programas com o comando apt-get, em um terminal, deve ter notado que o próprio sistema recomenda que você o utilize.

...
Lendo listas de pacotes... Pronto
Construindo árvore de dependências       
Lendo informação de estado... Pronto
Os seguintes pacotes foram instalados automaticamente e já não são necessários:
  audacity-data libflac++6 libid3tag0 libportsmf0 libsbsms10 libsoundtouch0
  libsoxr0 libvamp-hostsdk3 libwxbase2.8-0 libwxgtk2.8-0
Utilize 'apt-get autoremove' para os remover.
...

Mas, afinal, para que é que ele serve, mesmo?
A opção autoremove é parte da linha de comando do utilitário apt-get.
De acordo com a página oficial do seu manual, é importante quando desejamos remover pacotes que não são mais requeridos dentro do sistema.

“autoremove é usado para remover pacotes que foram instalados automaticamente para satisfazer dependências de outros pacotes e que já não são mais necessários.”
(página do manual)

Entre usuários que compilam programas é comum o processo requerer bibliotecas que somente serão usadas durante o processo — uma vez gerados, os binários nunca mais precisarão destas bibliotecas.
Isto acontece também quando fazemos uma instalação normal com apt-get ou aptitude — alguns pacotes podem ser instalados para satisfazer certas dependências.
Como usar:

sudo apt-get autoremove
Lendo listas de pacotes... Pronto
Construindo árvore de dependências       
Lendo informação de estado... Pronto
Os pacotes a seguir serão REMOVIDOS:
  audacity-data libflac++6 libid3tag0 libportsmf0 libsbsms10 libsoundtouch0
  libsoxr0 libvamp-hostsdk3 libwxbase2.8-0 libwxgtk2.8-0
0 pacotes atualizados, 0 pacotes novos instalados, 10 a serem removidos e 166 não atualizados.
Depois desta operação, 22,1 MB de espaço em disco serão liberados.
Você quer continuar? [S/n]

Se você quiser ter um sistema rápido, eficiente e enxuto, é recomendado remover tudo o que não é usado.
Não há necessidade de se preocupar em “quebrar” as dependências dos outros aplicativos do sistema. O Debian é muito seguro no controle das dependências — e o Ubuntu é baseado no Debian e, portanto, herda este ponto forte.

O que o autoclean faz?

Tal como o clean (veja abaixo), o autoclean limpa o seu repositório local — removendo os arquivos de pacotes (.deb) que não podem mais ser baixados (versões antigas…) e são completamente inúteis e obsoletos.
Este comando permite que o cache de pacote cresça sob controle no seu sistema.
Veja um exemplo de uso:

sudo apt-get autoclean
Lendo listas de pacotes... Pronto
Construindo árvore de dependências       
Lendo informação de estado... Pronto
Del libanyevent-perl 7.070-1 [403 kB]
Del libasync-interrupt-perl 1.20-1 [33,6 kB]
Del libcommon-sense-perl 3.73-1 [23,2 kB]
Del libguard-perl 1.022-2 [16,0 kB]
Del libjson-xs-perl 2.340-1+b1 [84,9 kB]
Del libev-perl 4.17-1 [242 kB]

O que o clean faz?

A opção clean vai além do autoclean — limpando e removendo todos os arquivos .deb (pacotes) contidos nos diretórios — exceto o lock file:

  • /var/cache/apt/archives/ e
  • /var/cache/apt/archives/partial/.

Se você quiser saber o espaço que os arquivos de pacotes .deb estão ocupando, no momento, use o seguinte comando:

du -sh /var/cache/apt/archives
21M	/var/cache/apt/archives/

Se você tem uma conexão à Internet lenta, pode ser interessante deixar estes arquivos onde estão: caso você desinstale alguns aplicativos, a reinstalação será muito mais rápida — uma vez que os pacotes não terão que ser baixados novamente.
Veja um exemplo de uso:

sudo apt-get clean

Leia mais

Posted from WordPress for Android

Como remover versões antigas do Kernel

À medida em que você vai atualizando seu sistema, além das novas versões dos softwares que você usa e as correções de segurança, novas versões do kernel também chegam e, neste caso, não há substituição simples — ou seja, o sistema passa a usar a nova versão e não remove as antigas, que vão se acumulando.
Linux Kernel image dpkg UbuntuSe houver algum problema na versão autal do kernel, você pode ficar com o sistema inteiro inoperante.
Por isto é importante ter as versões anteriores funcionais — às quais você possa recorrer, até resolver o problema com o kernel atual.
Obviamente, não é necessário ter várias versões do kernel. Elas ocupam bastante espaço, por sinal. Uma ou duas versões anteriores são mais do que suficientes.
Ao ligar o computador, o GRUB mostra as versões disponíveis para uso.
Neste texto, vou mostrar como listar as versões presentes no seu sistema e como remover as antigas. Os sistemas baseados no Red Hat têm uma solução bem simples para este problema. No Debian (Ubuntu) o usuário tem que fazer alguma ginástica para solucioná-lo.
Se você estiver com pressa, pode pular diretamente pro final, onde eu passo a fórmula mágica — basta copiar e colar.

Como listar as versões do kernel presentes no sistema?

Qualquer que seja a sua distro, é possível listar os kernels presentes no seu sistema através do comando de gestão de pacotes.
Você vai usar o rpm nas distribuições baseadas no Red Hat (Fedora, CentOS, RHEL etc.):

rpm -qa kernel

A saída deve ser algo parecido com o que segue — a depender da quantidade de versões que você tiver aí:

kernel-2.6.18-8.1.14.el5
kernel-2.6.18-8.1.10.el5

Para quem usa o Debian (Ubuntu, Mint etc.), para ver a lista de todas as versões do kernel instaladas no seu sistema, use o comando dpkg:

dpkg --list | grep linux-image

ou

dpkg -l 'linux-im*'

O comando abaixo, mostra a mesma lista, só que mais enxuta. Experimente:

dpkg-query -l | awk '/linux-image-*/ {print $2}'

linux ubuntu lista kernel instalado
Clique para ampliar

Para quem deseja ver o kernel em uso, no momento, na sua máquina, use o comando uname, assim:

uname -a

O resultado, para mim, é este:

Linux JustInCase-Solaris-8 3.11.0-18-generic #32-Ubuntu SMP Tue Feb 18 21:13:28 UTC 2014 i686 i686 i686 GNU/Linux

O seu provavelmente deve ser diferente.

Como remover as versões do kernel que não são mais usadas

Para remover as versões do kernel que não estão mais em uso, no Red Hat e nas distribuições derivadas deste, use o yum:

sudo yum kernel

Ao dar este comando, todas as versões desnecessárias serão removidas.
Não se preocupe, o Linux não fará a sandice de remover o atual, que está sendo usado.
Mas, para quem deseja ser mais específico, e possível indicar exatamente qual versão você deseja remover. Veja o exemplo:

sudo yum remove kernel-3.7.8-202.fc18.x86_64

No Ubuntu, use o apt-get, para remover o linux-image-3.8.0-35-generic, assim:

sudo apt-get --purge remove linux-image-3.8.0-35-generic

No Ubuntu, é necessário ter o cuidado para não remover o kernel em uso atualmente. Neste caso, o comando uname -r mostra a versão que não deve ser removida.

UBUNTU: a opção –purge

A opção --purge indica que queremos remover, não somente o pacote em questão, mas também todos os seus arquivos de configuração.
Se o objetivo é manter o seu sistema sempre limpo e livre de coisas inúteis, usar a opção --purge, ao remover um pacote que não será mais usado, sob hipótese alguma, é mandatório.

Em seguida, é importante atualizar o GRUB:

sudo update-grub

Simplificando tudo no Ubuntu

Mostrei anteriormente que no Red Hat a remoção de todas as versões do kernel, com exceção da atual, pode ser feita com o uso de apenas um comando.
No Ubuntu, você não tem o mesmo recurso, Mas esta linha vai resolver o problema. O código do Mark McBride, a seguir, remove todas as versões do kernel, exceto a atual (copie e cole):

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

Assim que você teclar Enter o comando entra em ação — você terá que confirmar e dar a sua senha, claro.
No meu caso, o apt-get avisou que vai liberar quase meio giga no meu HD, como você pode ver abaixo:

Lendo listas de pacotes... Pronto
Construindo árvore de dependências       
Lendo informação de estado... Pronto
Os pacotes a seguir serão REMOVIDOS:
  linux-headers-3.11.0-15* linux-headers-3.11.0-15-generic* linux-headers-3.11.0-17*
  linux-headers-3.11.0-17-generic* linux-image-3.11.0-15-generic* linux-image-3.11.0-17-generic*
  linux-image-3.8.0-35-generic* linux-image-extra-3.11.0-15-generic* linux-image-extra-3.11.0-17-generic*
  linux-image-extra-3.8.0-35-generic*
0 pacotes atualizados, 0 pacotes novos instalados, 10 a serem removidos e 26 não atualizados.
Depois desta operação, 547 MB de espaço em disco serão liberados.
Você quer continuar [S/n]? Abortar.

LEIA MAIS:
Se tiver interesse, este artigo tem dicas para limpar o sistema de forma segura e liberar espaço no seu HD.

Enfim, embora você não precise fazer esta limpeza sempre, é interessante fazê-la a cada 6 meses ou 1 ano.

Dicas para fazer uma faxina no Ubuntu.

O Linux é um sistema operacional que sofre muito pouco (ou quase nada) do mal de ir “se deteriorando” com o tempo. Mas, se você está enfrentando um problema de falta de espaço no sistema e já removeu o que dava pra remover dos seus arquivos pessoais, eu tenho algumas dicas para melhorar um pouco mais a sua situação.
Antes de qualquer coisa, jamais use aplicativos de limpeza, como o Bleachbit, Computer Janitor etc.
Aplicativos deste tipo podem danificar o seu sistema irreparavelmente.
Se você quer, mesmo, limpar o seu sistema, vou descrever como fazê-lo de maneira segura.

Por que você não precisa desfragmentar o Linux

O sistema de arquivos ext4 foi projetado para não fragmentar os arquivos. Ele é extremamente eficiente nisto.
O Linux não grava arquivos em blocos contíguos — ele os grava com espaços antes e depois de cada arquivo.
Com 20% de espaço livre na partição, a fragmentação será insignificante e imperceptível — com menos do que isso, você poderá ter problemas com a fragmentação de arquivos individuais.
Esta vantagem se aplica a quem usa o Linux com os sistemas de arquivo EXT3 ou EXT4. Não se aplica a FAT, FAT32 ou NTFS.

Remova pacotes inúteis de programas já instalados

Após a instalação dos seus programas, os pacotes baixados permanecem na sua máquina. Alguns destes pacotes foram baixados para satisfazer dependências de programas que você nem usa mais. Outros estão lá para o caso de você querer reinstalar e não precisarem ser baixados novamente.
Você pode ver o espaço que ocupam com o comando du (disc usage):

du -h /var/cache/apt/archives/

No meu caso, o resultado foi este:

4,0K	/var/cache/apt/archives/partial
4,0K	/var/cache/apt/archives/apt-fast
353M	/var/cache/apt/archives/

Agora execute o comando administrativo de limpeza:

sudo apt-get clean

Eu consegui eliminar mais de 350 megabytes, aqui:

4,0K	/var/cache/apt/archives/partial
4,0K	/var/cache/apt/archives/apt-fast
112K	/var/cache/apt/archives/

Elimine thumbnails ou miniaturas de imagens

Você já deve ter notado que, ao abrir uma pasta com imagens, com o seu gerenciador de arquivos, o sistema exibe as miniaturas, tornando mais fácil localizar o que você deseja, ali.
Pois bem, estas ficam armazenadas no seu diretório pessoal e, mesmo após apagar a imagem original, elas permanecem lá, dentro de um diretório chamado .thumbnails.
Note que o nome do diretório .thumbnails começa com um ponto — isto indica que se trata de um arquivo/diretório oculto.
Se a pasta .thumbnails não estiver sendo exibida, tecle Ctrl + H, para exibir os arquivos ocultos.
Com o tempo, os thumbnails vão se acumulando e ocupando espaço no seu disco. É seguro removê-los — o sistema os recria à medida que vai precisando deles depois.
Para verificar o espaço ocupado pelas miniaturas, no terminal, use o seguinte comando:

du -h ~/.thumbnails/

Se quiser remover os arquivos no terminal:

rm -vfr ~/.thumbnails/normal/*

Eventualmente, a pasta que armazena as miniaturas pode estar em outro lugar:

rm -f ~/.cache/thumbnails/normal/*

Isto já é o suficiente para manter o seu sistema limpo. Apagar versões antigas do kernel também é um recurso para aumentar o espaço em disco:

LEIA MAIS
Veja como remover versões antigas do kernel — neste artigo, eu mostro como visualizar as várias versões do kernel e como removê-las, recuperando algumas centenas de megabytes em espaço livre.

Divirta-se!

MySQL: use o mysqlcheck para fazer manutenção das suas tabelas

O programa cliente mysqlcheck oferece uma maneira eficiente para executar a manutenção das tabelas em seu banco de dados — ele verifica, conserta, otimiza ou apenas analisa as tabelas dentro do banco de dados.
O mysqlcheck deve ser usado quando o servidor mysqld está rodando — uma de suas primeiras vantagens é essa: a de não precisar indisponibilizar o servidor para fazer uma manutenção no seu sistema de banco de dados.
O mysqlcheck é um “frontend”. Ele se autentica no MySQL e execute as declarações CHECK TABLE, REPAIR TABLE, ANALYZE TABLE e OPTIMIZE TABLE do modo mais conveniente pro usuário. Ele determina a forma mais adequada para cada declaração de acordo com a operação pedida, na linha de comando, e a envia ao servidor para ser executada.
É o indicado para realizar as tarefas de manutenção em tabelas MyISAM. Outros mecanismos de armazenamento (storage engines) podem não suportar todas as operações, nestes casos, mensagens de erro irão surgir para te informar do fato:

note    : The storage engine for the table doesn't support check
PRECAUÇÕES

Você deve fazer backup dos dados nas tabelas antes de inciar uma operação de restauração (repair) nestas tabelas. Sob certas circunstâncias, a operação pode causar perda de dados.
Algumas causas de perda de dados podem estar ligadas a sistemas de arquivos com erros.

De acordo com o manual oficial do MySQL, há 3 sintaxes possíveis pro comando mysqlcheck:

mysqlcheck [opcoes] nome_do_banco [nome_da_tabela1 nome_da_tabela2 ...]
mysqlcheck [opcoes] --databases nome_do_banco1 nome_do_banco2 ...
mysqlcheck [opcoes] --all-databases

Daqui pra frente, vamos desenvolver melhor o assunto e algumas das opções mais comuns de uso do comando.

Como verificar uma tabela dentro do banco de dados

Se seu aplicativo retornou uma mensagem de erro, informando que uma determinada tabela está corrupta, execute o mysqlcheck assim:

mysqlcheck -c nome_do_banco nome_da_tabela -u root -p

forneça a senha, assim que lhe for pedido e aguarde o resultado:

nome_do_banco.nome_da_tabela      OK

Se a senha e/ou nome de usuário estiver errada, o sistema emitirá uma mensagem de erro semelhante a esta:

mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect

A opção -c é a que indica que a operação a ser realizada é de checagem (verificatória).

Como verificar todas as tabelas em um banco de dados

Se quiser verificar todas as tabelas dentro de um banco de dados, com o mysqlcheck, omita seus nomes. Forneça apenas o nome do banco de dados que as contém (no meu caso, é clientes):

mysqlcheck -c clientes -u root -p

O meu resultado foi este:
clientes.CLPJ OK
clientes.CLCD OK
clientes.CLPD OK
clientes.CLCT OK[/plain]

Como checar todas as tabelas e bancos de dados

Para realizar uma checagem desta amplitude, o comando executado é bem curto:

mysqlcheck c -u root -p --all-databases

Você pode executar o mysqlcheck em mais de um banco de dados (sem ser todos), assim, com a opção --databases. No exemplo, que segue, o comando será executado em todas as tabelas dentro dos bancos de dados fornecedores e clientes:

mysqlcheck -c -u root -p --databases fornecedores clientes

Como analisar tabelas usando o mysqlcheck

O exemplo que segue, usa o comando mysqlcheck, com a opção -a para analisar a tabela cadastros, dentro do banco de dados clientes:

mysqlcheck -a clientes cadastros -u root -p

Internamente, o mysqlcheck roda a declaração ANALYZE TABLE em relação à clientes. Enquanto trabalha, trava a tabela, permitindo apenas a sua leitura – motivo, pelo qual, você não deve fazer estas tarefas em horários de pico.

Use o mysqlcheck para otimizar tabelas

No exemplo que segue, o mysqlcheck é usado para otimizar a tabela projetos, dentro do banco de dados clientes.

mysqlcheck -o clientes projetos -u root -p
Enter password: 
clientes.projetos                                  Table is already up to date

Como já disse, o comando mysqlcheck executa um comando MySQL internamente. Neste caso, o OPTIMIZE TABLE.
À medida em que você vai removendo registros das suas tabelas, espaços sem uso vão ficando no meio. Este comando funciona semelhante ao desfragmentador de alguns sistemas operacionais, reorganizando os espaços, o que melhora a performance em tabelas que já tenham passado por grandes quantidades de alterações.

Restaure, conserte tabelas com o comando mysqlcheck

Aqui, o mysqlcheck vai usar internamente o comando REPAIR TABLE, que repara (conserta) uma tabela MyISAM corrompida.
Veja como:

mysqlcheck -r clientes projetos -u root -p

Combine diversas tarefas em uma só declaração mysqlcheck

É claro que, para a sua comodidade, é possível combinar diversas tarefas para serem executadas pelo mysqlcheck, em apenas uma linha de comando. veja como combinar CHECK, OPTIMIZE e REPAIR e mais a opção --auto-repair, dentro do banco de dados clientes (adeque o comando à sua realidade):

mysqlcheck -u root -p --auto-repair -o clientes

Ou em todas as tabelas, em todos os bancos de dados:

mysqlcheck -u root -p --auto-repair -o --all-databases
LEIA MAIS:
  • Comandos (internos) de manutenção — rápida noção dos comandos REPAIR, ANALYZE, CHECK e OPTIMIZE.
  • Otimize suas consultas — use o QUERY CACHE!
  • Outras opções úteis pro mysqlcheck

    Para ter um feedback maior do que está sendo feito pelo programa, use a opção –debug-info. Ela é mais voltada para encontrar erros dentro do próprio programa, para desenvolvedores – mas é uma mão na roda para administradores de MySQL que desejam ter um maior controle do que o comando está executando. Veja, no exemplo, como a saída oferece mais informações.

    mysqlcheck -u root -p --debug-info --auto-repair clientes projetos
    Enter password: 
    clientes.projetos                                  OK
    User time 0.01, System time 0.00
    Maximum resident set size 1584, Integral resident set size 0
    Non-physical pagefaults 538, Physical pagefaults 0, Swaps 0
    Blocks in 0 out 0, Messages in 0 out 0, Signals 0
    Voluntary context switches 3, Involuntary context switches 17