Como verificar e consertar seu sistema de arquivos no Ubuntu

O sistema de arquivos do seu HD pode ter problemas, pelas mais variadas razões. Este artigo é sobre como checar e, se houver erros, corrigi-los, com o comando fsck.
Uma situação típica, em que podem ocorrer, não somente perda de dados, mas danos ao seu sistema de arquivos é a situação de falta de energia.
Você reinicia o sistema e ele pára, pedindo para que você faça o reparo manualmente do seu sistema de arquivos.

Como usar o fsck para reparar o sistema de arquivos

O fsck (file system consistency check — verificação da consistência do sistema de arquivos) é um programa usada para encontrar erros no sistema de arquivos e corrigi-los.
Enquanto ferramenta de manutenção da integridade dos seus dados, é bom usá-la com frequência – especialmente em caso de o seu sistema ser desligado de forma irregular.
Para usar o fsck, em um ambiente seguro, tal como vou descrever aqui, você precisará ter privilégios administrativos.
O comando pode ser executado, como root, sozinho:

fsck

Nestas condições, ele irá perscrutar todas as partições descritas em /etc/fstab.
O modo certo de usar o fsck, contudo, é no Runlevel 1, o modo monousuário. Neste runlevel, o seu PC pode se tornar indisponível para o ambiente gráfico – é o equivalente ao modo de segurança no Windows.
Para reiniciar o sistema no runlevel 1, execute o seguinte comando:

init 1

em, seguida, desmonte a partição em que o fsck será executado.
Se quiser obter uma lista das partições que se encontram montadas e onde estão montadas no seu sistema, use o comando:

cat /etc/mtab

ou para saber exatamente onde está montada a sua partição /home:

cat /etc/mtab | grep home
/dev/sda3 /home ext3 rw 0 0

(vou usar a partição /dev/sda3, neste exemplo):

umount /dev/sda3

ou pelo seu nome:

umount /home

Agora execute o fsck:

fsck /dev/sda3

Se preferir não ter que responder a todas as perguntas feitas pelo fsck, use o modo -y. Assim, o fsck executará a verificação e aplicará as correções necessárias, sem te importunar com questões técnicas:

fsck -y /dev/sda3

Se houver arquivos danificados e estes forem recuperados pelo fsck, ele os guardará no diretório /home/lost+found
Ao terminar o processo, você pode reiniciar o computador ou apenas montar de volta a partição desmontada:

mount /home

E volte ao runlevel multiusuário:

init 2

Simples, assim.

LEIA TAMBÉM

Como criar um arquivo SWAP no Linux

Normalmente as pessoas criam e configuram a sua partição swap, ao instalar o seu sistema.
Até a versão 2.6 do kernel, o uso de uma partição separada para swap trazia melhorias sensíveis de performance.
Atualmente, um arquivo de swap tem a mesma performance que uma partição dedicada. Ainda assim, o uso de uma partição separada é o jeito mais organizado e seguro de fazer a paginação.

LEIA MAIS

Você pode regular o uso do arquivo/espaço de troca (swap space) no Linux com a configuração do swapiness — o que pode trazer um ganho sensível no desempenho do seu sistema.
Leia mais aqui.

Por que eu deveria criar um arquivo de swap

Se você não tem um arquivo ou partição swap, é aconselhável criar um, para que o sistema tenha para onde “transbordar” quando tiver chegado a um certo limite de uso da memória RAM — que é uma situação rara para usuários comuns do Linux.


Por favor, leia Perguntas e respostas sobre o SWAP.
Se você já tem um arquivo ou partição, não há razão para criar outro, a não ser que o espaço atual seja muito pequeno ou você tenha feito algum upgrade de memória no seu sistema – ao hibernar, o Linux grava no swap toda a situação atual da sua memória RAM, entre outras coisas.
Houve um tempo em que se recomendava configurar o tamanho do swap como o dobro do tamanho da memória RAM. Isto não é mais necessário. O Linux, nas mãos de um usuário normal, vai usar o swap, predominantemente, só para hibernar o sistema. Portanto, o tamanho de swap deve acompanhar o tamanho da sua memória RAM.
Como criar uma nova partição é um pouco complicado, criar um novo arquivo de swap pode ser uma solução mais viável. Vou mostrar como fazê-lo a seguir.

Como criar um arquivo de swap no Linux

O procedimento descrito abaixo vale pra qualquer distro Linux. O que se requer, aqui, é que você tenha acesso root ao sistema, ou seja, tenha privilégios administrativos.
O procedimento não funciona em sistemas de arquivos BTRFS.
O processo envolve o uso do comando dd para criar o arquivo swap e o comando mkswap para configurar o swap em um arquivo ou dispositivo independente.

Autenticando-se como administrador (root)

Abra um terminal – no Ubuntu, use a combinação de teclas Ctrl + Alt +T. Nos exemplos, vou usar o comando sudo para executar os procedimentos com privilégios administrativos. Mas, se você preferir, pode entrar como superusuário, através do comando su e suprimir o uso do sudo — é sua escolha.

Como criar um arquivo de armazenamento com o dd

O comando dd tem múltiplas funcionalidades. Pode ser usado, inclusive, para medir a velocidade de leitura/escrita de um dispositivo, bem como, criar um pendrive inicializável com Linux.
Neste caso, vou criar um arquivo de armazenamento, a ser usado como swap, com o tamanho de 512 Mb.
Multiplique o tamanho que você deseja em Megabytes por 1024, para obter o valor a ser usado pelo parâmetro count, conforme o exemplo a seguir.
Note que 512 multiplicado por 1024 é igual a 524288 – e é este número que vou usar no meu exemplo:


sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288

[sudo] password for justincase: 
524288+0 registros de entrada
524288+0 registros de saída
536870912 bytes (537 MB) copiados, 18,417 s, 29,2 MB/s
justincase@JustInCase-Solaris-8:~$

O arquivo swap já está criado. Segue, abaixo, uma explicação do que foi feito:

  • if=/dev/zero — Lê o arquivo /dev/zero, um arquivo especial uma vez que provê todos os caracteres null necessários para construir o arquivo swapfile
  • of=/swapfile — cria o arquivo /swapfile e grava nele o conteúdo de /dev/zero
  • bs=1024 — este parâmetro indica que 1024 blocos deverão ser gravados/lidos por vez
  • count=524288 — limita a quantidade de blocos gravados a este número

Como configurar o seu arquivo de swap

O comando, que segue, configura o seu recém criado arquivo swapfile como sendo um arquivo de swap:


sudo mkswap /swapfile

mkswap: /swapfile: permissões inseguras 0644, sugere-se 0600.
Configurando espaço de swap versão 1, tamanho = 500 MiB (524284 bytes)
nenhum rótulo, UUID=9055d446-c93c-41e7-b500-5da7bffff888

Agora, siga a recomendação de segurança, e altere as permissões do arquivo:


chmod 0600 /swapfile

Para que o seu arquivo swap seja ativado na próxima vez em que você ligar a máquina, é necessário indicar isto no arquivo de sistema /etc/fstab. Abra-o e acrescente a seguinte linha, no final:

/swapfile swap swap defaults 0 0

Grave o arquivo e feche o editor.
Após reiniciar o seu sistema o swap já estará funcionando.

Como verificar se o meu swap está ativado ou não

Use o comando free para verificar a situação geral de uso da memória do sistema, o que inclui o uso do swap:


sudo free -mh

Normalmente, a última linha costuma mostrar informações sobre ele.
Outra forma de verificar o status do swap é inquirir o arquivo /proc/meminfo/:


cat /proc/meminfo | grep -i swap

Como desativar e remover o arquivo de swap do meu sistema

Para desativar o arquivo de swap criado aqui, use o comando:


sudo swapoff /swapfile

Agora remova a linha inserida ao final do arquivo /etc/fstab.
Após reiniciar o sistema, pode apagar o arquivo /swapfile:


sudo rm -vf /swapfile

Se você tiver interesse em apenas reduzir o uso do swap, clique aqui, para saber como fazer isto.

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.

Ouça músicas no terminal com o mpg321

O mpg321 é um software livre, em modo texto, leve, que consome infimamente os recursos da sua máquina na reprodução de arquivos mp3 – tais como músicas, podcasts etc.
Para quem usa uma máquina muito antiga ou faça uso intensivo do processamento em outras atividades e não deseja que, ao reproduzir suas músicas isto atrapalhe o andamento das outras tarefas, um player em modo texto é uma ótima solução.
Neste artigo, vou mostrar as minhas opções prediletas de uso do mpg321.

Como instalar o mpg321

Não me consta qualquer versão deste software para outras plataformas além de alguns UNICES ou Linux.
Para fazer a instalação no Debian – ou em algum outro derivado, como o Ubuntu, use o apt-get:

sudo apt-get install mpg321

No Redhat ou no SuSE, use o yum:

sudo yum install mpg321

Você também pode baixar o seu código fonte, compilar e instalar o software a partir de sua página oficial: http://sourceforge.net/project/showfiles.php?group_id=36274.
Para MacOS, é possível baixar, no site do projeto uma versão apropriada: http://sourceforge.net/projects/mpg321/.

Como usar o mpg321

Segue alguns exemplos de uso, dentre os meus favoritos pro mpg321.
A maneira mais simples de usar é preceder o comando com o nome do arquivo mp3, assim:

mpg321 nome_da_musica.mp3

Para reproduzir todas os arquivos mp3 em um diretório, basta entrar nele e executar o comando assim:

cd Música/
mpg321 *.mp3

Se o diretório contiver todos os álbuns de um determinado artista organizados em vários outros subdiretórios, use a opção de recursividade:

mpg321 -B Música/

— Durante a execução, é possível passar para a música seguinte pressionando as teclas Ctrl + C.
Para encerrar o aplicativo, faça isto 2 vezes seguidas.

Você pode habilitar o teclado, para controlar o aplicativo durante sua execução. Para isto, acrescente a opção -K:

mpg321 -BK Música/

As teclas básicas de controle são as seguintes:

  • * — aumentar o volume;
  • / — diminuir o volume;
  • n — (next) avançar uma música;
  • m — (des)emudecer o aplicativo.

Se você deseja embaralhar as músicas, pode fazer isto de duas formas diferentes:

  • shuffling — Com esta opção, o mpg321 embaralha (mistura) as músicas que você especificou e as joga em uma lista, para ser reproduzida. O aplicativo pára quando termina de tocar a última da lista. Desta forma, nenhuma música vai se repetir, a menos que você peça ou tenha arquivos repetidos em seu repertório.
  • randomize — Toca músicas aleatoriamente, indefinidamente. embora algumas músicas possam se repetir, esta opção te deixa despreocupado em relação ao aplicativo – ele vai tocar enquanto você não o desligar. Esta opção é ótima para ligar um PC de baixo custo ao sistema de som de um estabelecimento.

Como usar o shuffling, combinado com a recursividade e as teclas de controle:

mpg321 -BKz Música/

Como combinar a recursividade, ativação das teclas de controle e o randomize:

mpg321 -BKZ Música/

Para ver mais informações sobre a execução dos arquivos, use o modo verboso:

mpg321 -BKzv Música/

Aumente o ganho ou volume, com -g em 50%:

mpg321 -BKz -g 50 Música/

O número pode variar entre 0 e 100. Esta opção pode ajudar a tirar aquele “algo mais” do som de sua máquina. Tenha bom senso… 😉
Para exibir a música atual na barra de título do seu terminal acrescente -x:

mpg321 -BKzx Música/
mpg321 tocando músicas recursivamente
Clique para ampliar.
SAIBA MAIS:

Palavras finais

O mpg321 surgiu da restritividade da licença proprietária do mpg123. Mesmo sendo distribuído com o código fonte e com uma licença não comercial, esta não permitia que desenvolvedores incorporassem livremente seu código a seus projetos.
A realidade atual é que ambos os softwares são livres e seguem cada qual o seu caminho. Experimente e depois decida qual o seu favorito.
Da minha parte, uso-os alternadamente. Gosto dos dois.
Divirta-se e compartilhe (este artigo, suas músicas etc… )!

Como ouvir mp3 no terminal com o mpg123

O mpg123, é o ideal para quem deseja um player mp3 leve e rápido, pra tocar suas músicas com baixíssimo consumo dos recursos da sua máquina.
Por ser em modo texto e muito simples, é ótimo para quem deseja ouvir músicas ou podcasts, poupando o processador da máquina.
Se você está trabalhando em um PC antigo ou com recursos limitados, vale a pena conhecer este apĺicativo.
mpg123 mp3 player

Download e instalação do mpg123

Por ser leve e ter um código muito enxuto e estável, o programinha roda em qualquer máquina acima de um 486.
Quem usa o Windows, pode fazer o download do programa, no site oficial: http://mpg123.org/download/win32/.
Feito o download, descompacte e execute o mpg123 que se encontra na pasta /bin.
Quem usa o Debian ou uma distro derivada (Ubuntu), pode fazer o download e a instalação com o comando:

sudo apt-get install mpg123

No Redhat ou no SuSE, use o comando yum:

yum install mpg123

Também recomendo baixar o código fonte e compilar o mpg123 — ao contrário do que possa parecer, não é complicado e você pode ter um aplicativo mais enxuto e eficiente pro seu sistema.

Como usar o mpg123

O comando mpg123 é muito simples, mas admite resolver situações das mais complexas, dada a flexibilidade com que ele pode ser usado. A melhor forma de mostrar isto é através de exemplos.
Para reproduzir uma música em mp3, use o comando desta forma:

mpg123 nome_da_musica.mp3

execução de arquivo de áudio mp3 com o o mpg123
Clique para ampliar

Se quiser tocar todas as músicas contidas em uma pasta, use esta sintaxe:

mpg123 Música/*

Você pode acrescentar a opção --loop n para repetir n vezes uma determinada reprodução:

mpg123 --loop 3 Música/* 

No exemplo acima, o player irá repetir a lista de músicas contidas no diretório Música 3 vezes. Se você usar o valor 0, o player irá repetir infinitamente.

Como misturar músicas com o mpg123

Uma das funções mais importantes em um player, para mim, é a de embaralhar as músicas. Posso ouvir um álbum mais de 2 vezes… mas nunca com as faixas tocadas na mesma ordem.
O mpg123, traz duas opções para seus usuários:
A função --shuffle ou -z, embaralha as músicas da sua seleção e cria uma nova lista para ser reproduzida.
Pode ser usada assim:

mpg123 -z Música/

A função --random ou -Z, reproduz todas as músicas que você pediu indefinidamente (até que o programa seja interrompido) de forma aleatória. Com esta opção, é possível que algumas nunca sejam tocadas e outras se repitam. É ótimo para ser usado em estabelecimentos comerciais, quando você pode disponibilizar um computador “obsoleto” só para reproduzir músicas.
O comando funciona assim:

mpg123 -Z Música/

Como usar teclas de controle da reprodução do mpg123

As teclas de controle da reprodução do mpg123 são as seguintes:

  • s ou a barra de espaço – para pausar ou dar continuidade à reprodução atual;
  • f – para pular para próxima música (forward);
  • b – para voltar ao início da música atual (begin);
  • , – (vírgula) para rebobinar
  • . – (ponto) para rodar mais rápido (fast forward);
  • – – para diminuir o volume;
  • + – para aumentar o volume;
  • h – para ver o menu de ajuda com todos os outros comandos possíveis (são muitos). Tecle h de novo para sair do menu de ajuda;
  • q – para sair do programa.

Para ativar as teclas de controle, use a opção -C:

mpg123 -C Música/*

Como executar o mpg123 no modo recursivo

É comum as pessoas criarem um diretório para cada artista e, dentro de cada diretório, um subdiretório para cada álbum – e há álbuns que se subdividem em mais de 2 subdiretórios.
O mpg123, apesar de ter muitos recursos avançados, não tem a opção de recursividade – que lhe permitiria entrar em todos os subdiretórios atrás de arquivos mp3.
Isto não é problema!
Veja como usar o comando find para criar uma lista de todas as músicas existentes no diretório Música/ e em todos os seus subdiretórios:

find Música/ -iname *.mp3 > lista.m3u

Esta declaração faz o seguinte:

  • pesquisa dentro de todos os subdiretórios de Música/, por arquivos que tenham a extensão .mp3;
  • o iname é usado para tornar a pesquisa insensível à caixa das palavras. Desta forma, a pesquisa irá capturar tanto os mp3 quanto os MP3.

Você pode ver o conteúdo da lista assim:

cat lista.m3u

Está tudo lá?! Então ouça suas músicas assim:

mpg123 --list lista.m3u

Se quiser misturar tudo:

mpg123 -z --list lista.m3u

Você pode também fazer tudo isto com apenas uma linha de comando:

find Música/ -iname *.mp3 > lista.m3u | mpg123 -z --list lista.m3u
equalizer - equalizador
Clique, para saber como usar o mpg123 com equalização.
SAIBA MAIS

Os arquivos criados com o comando find como o lista.m3u podem ser lido por outros players, presentes no seu sistema.
Se você quiser saber mais sobre como usar o comando find, leia este artigo.

Usuários com poucos recursos

O mpg123 pode rodar tranquilamente em um 486 – o mantenedor recomenda, no mínimo um Intel 80486DX4 ou um Pentium. Ainda assim, é sabido que a decodificação de áudio é um tanto voraz.
Se estiver com muito pouco recurso de sistema, pode desligar o estéreo:

mpg123 -m nome_da_musica.mp3

Isto vai reduzir a carga sobre a sua CPU, com algum sacrifício na qualidade da reprodução das suas músicas.

Executando mpg123 no servidor

Servidores podem ter muito tempo ocioso, intercalado com picos de atividades – grande número de autenticação de usuários, aumento nas requisições aos bancos de dados etc. O que pode causar paradas na execução da sua música.
Sabemos que a função do servidor, neste caso, não é tocar música pros seus ouvidos, mas você pode evitar interrupções com o aumento do buffer. Neste exemplo, o buffer é definido em 1000 Kb (ou seja, 1 Mb):

mpg123 -b 1000 Música/*

Um buffer deste tamanho, garante a reprodução de pelo menos 6 segundos de áudio, o que costuma ser suficiente.

SAIBA MAIS:

Palavras finais

Enfim, há várias outras opções que podem ser usadas, além das que eu descrevi – consulte a página do manual do programa para conhecê-las. Aqui, eu me limitei às minhas preferidas.
O mpg123, surgido em Junho de 1999, era distribuído sob uma licença não-comercial e com o código fonte. Ainda assim, era software proprietário. Este fato deu impulso ao surgimento de um “clone” 100% livre, chamado mpg321, distribuído sob a licença LGPL.
A partir de 2006, já com um novo mantenedor, uma versão nova do mpg123 foi lançada e distribuída sob a licença GNU LGPL 2.1 – o que já permite a outros desenvolvedores contribuírem livremente para a sua melhoria ou, simplesmente, incorporar seu código a outros projetos.
O mpg321 continua a existir, enquanto projeto paralelo e completamente independente e, com toda certeza, de grande qualidade. Vale a pena conhecê-lo também!
Se você tiver mais alguns exemplos de uso, sinta-se à vontade para postar nos comentários e, se achou o artigo útil, por favor compartilhe com os seus amigos.
Divirta-se!

Copie arquivos com o rsync

Vou mostrar, com alguns exemplos práticos, como o uso do rsync pode ajudar a manter o conteúdo de 2 diretórios (pastas) separados sincronizado – mesmo que estejam em computadores diferentes.
Comando rsync copia arquivos
O comando rsync faz transferências de arquivos entre máquinas, de maneira simplificada e automática e… você nem precisa ter privilégios administrativos para isto.

Alguns dos recursos do Rsync

  • é eficiente para copiar e sincronizar arquivos entre computadores remotos
  • comparado com outros programas, é mais rápido do que o scp – o rsync usa um protocolo que lhe permite atualizar apenas os arquivos que sofreram mudanças
  • consome menos banda, uma vez que só trabalha em cima das atualizações necessárias e usa compressão para transferir dados

Instalação do rsync

Até onde sei, o comando vem instalado por padrão nas várias distro Linux.
Usuários Windows podem fazer o download do rsync aqui.
Usuários do Redhat ou do SuSE, podem instalar o rsync com o seguinte comando:

sudo yum install rsync

Usuários Debian e Ubuntu, podem usar o apt-get:

sudo apt-get install rsync

Sintaxe do comando rsync

Basicamente, você vai rodar o rsync com algumas opções, indicar a origem e o destino da sincronização:

rsync options #origem #destino

Daqui pra frente veremos outros exemplos práticos com o comando rsync.

Como sincronizar dois diretórios locais com o rsync

Vamos usar estes dois como exemplo:

  • /home/Documentos, como origem e
  • /home/backup/Documentos, como destino.

Vou mostrar como copiar a sincronizar recursivamente os diretórios:

rsync -vhr /home/Documentos /home/backup

o comando vai criar, se não houver, uma pasta chamada /home/backup/Documentos e copiar para dentro dela todo o conteúdo da outra pasta. Ao final do processo deverá retornar um relatório semelhante a este:

sent 707.32M bytes  received 2.35K bytes  2.92M bytes/sec
total size is 827.60M  speedup is 1.17

Ao repetir o comando, o rsync irá comparar os arquivos em busca de diferenças, por que ele só irá atualizar os arquivos que foram modificados.

OPÇÕES COMUNS DO RSYNC
  • -v — ativa a verbosidade do comando, pra você poder acompanhar o que está acontecendo durante sua execução;
  • -r — ativa a recursividade, ou seja, copia subdiretórios também;
  • -h — human readable exibe as informações da execução do comando em um formato mais legível, convertendo valores de bytes para mega ou gigabytes onde for necessário para reduzir os tamanhos dos números e tornar o texto mais fácil de ler;
  • -z — comprime os dados, antes de transferir;
  • -a — liga o modo archive que permite a cópia recursiva de arquivos, preservando links simbólicos, permissões de arquivos e timestamps.

Como copiar e sincronizar um arquivo local via rsync

Neste exemplo, vamos sincronizar um único arquivo, em um computador local, entre dois diretórios diferentes:

rsync -zvh Docs/mysql_storage.html /backup/Docs/mysql_storage.html

obtendo como resultado:

mysql_storage.html
sent 1.68K bytes  received 31 bytes  3.43K bytes/sec
total size is 3.38K  speedup is 1.97

Como sincronizar um diretório local com um remoto via SSH

Chegamos a um dos pontos fortes do rsync.
No exemplo que segue, vou copiar os arquivos do diretório /home, no servidor remoto remoto.com.br para um diretório local /backup. O nome de usuário, no exemplo, é justincase:

rsync -avz -e ssh justincase@remoto.com.br:/home /backup

Faça o teste com os seus próprios valores e veja se funciona.