Linux
Eu tinha um sério problema com algumas músicas Mp3 que baixava ou alguém me passava: algumas delas vinham com o tempo totalmente errado. A música tinha pouco mais de 5 min mas o tempo indicado era 2min ou até mesmo 3 segundos. Descobri que isso acontece quando informações sobre o cabeçalho e o bitrate da música não são mutuamente correspondentes.
Fui atrás de algum programa que tinha o objetivo de corrigir esses arquivos Mp3 defeituosos e acabei me esbarrando no VBRFix. Neste site há a versão com interface gráfica em QT. Nos repositórios de pacotes do Debian, também há uma versão disponível. Esta, porém, não possui interface gráfica, é somente modo texto. Mas nem por isso é diferente ou deixa de funcionar.
Neste post somente abordarei sobre a versão em modo texto que, nas distribuições derivadas do Debian (Ubuntu, Mint, Aptosid, etc) pode ser instalada com o comando:
$ sudo apt-get install vbrfix
Depois para a correção dos arquivos, é somente executar o comando:
$ vbrfix -always arquivo.mp3 arquivo_backup.mp3
A tag -always sempre corrigirá o arquivo, não importa se ele é CBR (bitrate constante) ou VBR (bitrate variável). Logo após, vem o nome do arquivo a ser corrigido e em seguida o nome do arquivo de backup que será criado, ou seja, uma cópia do arquivo não corrigido. Depois de executar, novo arquivo corrigido estará disponível para uso.
Mais uma dica pra quem utiliza a família Debian de distribuições e desenvolve em PHP: como habilitar a execução de scripts PHP na sua pasta public_html. Aparentemente este suporte está vindo desabilitado por padrão nas distribuições que utilizam o Debian como base. Antes de tudo, estou assumindo que você já tenha o Apache e o PHP instalados, configurados e funcionando.
A vantagem de se utilizar o mod_userdir do Apache é aumentar a segurança do seu sistema ao mesmo tempo que facilita a manipulação de arquivos. Tudo que estará dentro da pasta public_html presente na sua pasta Home será publicado pelo Apache, automaticamente.
Rode os comandos seguintes comando como root. Primeiramente, vamos habilitar o mod_userdir:
# a2enmod userdir
O script habilitará o módulo e pedirá para reiniciar o Apache. Em seguida, crie a pasta public_html utilizando seu usuário normal, dentro da sua Home e defina as permissões dela:
$ mkdir public_html
$ chmod 711 public_html
Em seguida, como root, defina as permissões das pastas Home(este é um detalhe crucial):
# chmod 711 /home /home/[seu_login]
Próximo passo é habilitar a execução de scripts PHP via mod_userdir. Para isso, como root, abra o arquivo /etc/apache2/mods-enabled/php5.conf e encontre as seguintes linhas:
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_value engine Off
</Directory>
</IfModule>
Comente-as, colocando um # na frente de cada uma. Salve e feche o arquivo. Em seguida reinicie o Apache executando como root:
# /etc/init.d/apache2 restart
Pronto! Você já pode rodar suas aplicações PHP dentro do seu diretório public_html, sem se preocupar mais em utilizar gambiarras para escrever/ler no diretório padrão /var/www. ;)
Depois de comprar um HD novo de 500Gb para meu notebook(o antigo de 120Gb não estava mais dando conta da demanda) resolvi particioná-lo para instalar meus sistemas operacionais. Como de costume, primeiro instalei o Windows(mesmo que queira, em certas situações é impossível não tê-lo) e em seguida a distribuição que estou utilizando no momento(Sidux, Debian Sid estabilizado, rolling-release, recomendo).
Depois de tudo no disco, instalado e configurado, notei que tinha esquecido de criar partições para instalação do Gentoo(acho que ele irá me salvar pra gerar um compilador GCC cruzado(ou crosscompiler)) e a partição de "troca" (ou backup, ou de arquivos, enfim) para compartilhar arquivos entre os Linuxes(tá certo?) e o Windows. Abri o KDE Partition Manager (afinal KDE > Gnome ;) ) e criei a primeira partição ext4. Criar a partição ele criou, mas não conseguiu formatar ou fazer outro tipo de operação.
Depois de vasculhar um pouco, notei que o linux não estava listando o recurso da partição no /dev. Tinham todas outras partições(/dev/sda1, /dev/sda2, /dev/sda5, etc) mas a /dev/sda8(por exemplo) não estava lá. Depois de reiniciar o sistema, ela apareceu. Acredito que o kernel, ao iniciar, lê a tabela de partição e cria os recursos, coisa que não acontece(pelo menos automaticamente) em tempo de execução.
Se não dá pra fazer automaticamente, dá pra fazer manualmente! :)
Encontrei 3 métodos que "forçam" o Kernel a reler a tabela de partição do HD e repopular os identificadores delas no /dev. Vamos a elas:
Partprobe
Este é um programa que tem como objetivo fazer o kernel reler a tabela de partições de um dispositivo(HDs, pendrives, etc) em tempo de execução. Para isso, instale em sua distribuição utilizando as ferramentas de pacotes disponíveis(no meu caso, é o apt-get do Debian):
# apt-get install partprobe
Em seguida, execute o partprobe como root indicando qual dispositivo deseja reler a tabela de partição:
# partprobe /dev/sdX (Onde X é a letra do seu dispositivo)
Pronto! O sistema já deve ter reconhecido as partições novas! Basta voltar ao programa particionador e formatar/nomear/etc sua partição criada.
Hdparm
Caso o Partprobe não funcione, é possível realizar o mesmo procedimento utilizando o Hdparm, que é um utilitário geral de discos-rígidos. Para isso, execute o seguinte comando como root:
# hdparm -z /dev/sdX (Onde X é a letra do seu dispositivo)
Via interface do Kernel
Essa dica não utiliza nenhum dos programas anteriores pois acessa o Kernel diretamente: desta forma, não há nenhum tratamento de erros caso aconteça alguma caca ao reler sua tabela de partições. Dica somente para usuários avançados do sistema :).
Como root, envie o seguinte sinal para a interface do kernel:
# echo 1 > /sys/block/sdX/device/rescan (Onde X é a letra do seu dispositivo)
Em seguida, cheque via o dmesg se o kernel está realizando a releitura da tabela de partição do dispositivo.
Depois disso sua(s) partição(ões) devem estar reconhecidas e habilitadas dentro do /dev, sendo possível formatá-las, nomeá-las e até montá-las, e inclusive até já começar a utilizá-las(Endóclise FTW)!
Bom, fica a dica para administradores de sistemas/servidores Linux caso precisem mexer com partições e quiserem evitar ao máximo o downtime que um simples reboot pode trazer. ;)
