Posts Tagged ‘Linux’

PostHeaderIcon Gerando as configurações do arquivo sources.list do seu Debian automaticamente.

Suponha que você tenha acabado de instalar uma máquina usando o Debian GNU/Linux. Caso você não tenha selecionado alguns repositórios de pacotes através da rede ao longo da instalação, não vai demorar para que você precise editar o arquivo /etc/apt/sources.list para registrá-los ao invés de ficar limitado apenas aos arquivos presentes no próprio CD de instalação, que já é configurado como um repositório padrão. 

Acontece que muita gente não lembra ou mesmo não quer perder tempo criando a configuração do arquivo sources.list manualmente. Justo, não? Bem, se você não tem um arquivo pronto para copiar, uma alternativa bem interessante é utilizar o site http://debgen.simplylinux.ch. Com uma interface muito simples e direta, você informa seu país, os repositórios padrões do Debian que deseja considerar e ainda pode selecionar alguns repositórios adicionais como o do Google, por exemplo. Depois, em um clique, você tem o conteúdo do arquivo sources.list gerado. Basta copiar e colar no arquivo /etc/apt/sources.list. Depois disso, execute um "apt-get update" e comece a usufruir os pacotes presentes em seus repositórios. 

Simples, não?

PostHeaderIcon Processo “kworker” deixando seu computador inutilizável?

Recentemente, comecei a ter alguns problemas de desempenho em notebooks com o Ubuntu 11.04. Investigando melhor, não foi difícil verificar que o problema ocorria apenas quando os equipamentos estavam com suas baterias sendo carregadas. O desempenho literalmente desabava ao ponto do próprio mouse não funcionar direito. Com um simples “ps” foi possível identificar o vilão: o kworker, um processo que ajuda o kernel a desempenhar suas atividades.

Uma rápida pesquisa foi suficiente para verificar que o problema já parecia incomodar alguns usuários de Linux, incluindo aqueles de outras distribuições diferentes do Ubuntu, como o Fedora, por exemplo. Depois de algumas sugestões que não surtiram efeito, encontrei uma solução que parece ter dado “conta do recado”. Diante disso, resolvi compartilhar por aqui para poder ajudar quem possa estar, eventualmente, com o mesmo incômodo problema.

A solução, simples, consiste apenas em alterar o conteúdo da variável “/sys/module/drm_kms_helper/parameters/poll”. Para isso, abra um terminal de comandos com privilégios de super-usuário (em distribuições como o Ubuntu você pode utilizar o comando sudo, por exemplo) e execute o comando “echo”, de acordo como apresentado a seguir:

$ sudo su - 
# echo N> /sys/module/drm_kms_helper/parameters/poll

Se você estiver em frente ao seu computador com o problema de ter sua CPU “consumida” pelo kworker, o comando acima deve ser suficiente para fazer tudo voltar tudo ao normal em poucos segundos. Essa solução, entretanto, não será mais válida em seu próximo reboot. Para fazer com que ela seja permanente em seu sistema, insira a mesma configuração no arquivo /etc/modprobe.d/local.conf, conforme apresentado a seguir:

$ sudo su - 
# echo "options drm_kms_helper poll=N" >/etc/modprobe.d/local.conf

Bem, acho que é isso. Espero que possa ajudá-los.

PostHeaderIcon A “tela preta” e seus poderes: reduzindo a resolução de suas fotos através da linha de comando e dos “pipes”.

Foi-se o tempo em que as distribuições GNU/Linux eram limitadas aos terminais de “tela preta”. Atualmente, existem diversas alternativas de ambientes gráficos e uma vasta parafernalha de recursos para tornar seu ambiente gráfico de desktop ágil e bastante atrativo. Por outro lado, isso não significa dizer que a “tela preta” ficou para trás e não possui mais qualquer utilidade. Muito pelo contrário. Ela continua sendo uma excelente ferramenta para administradores de sistemas, analistas de segurança, desenvolvedores e usuários mais avançados.

Além de poder executar diversos comandos individuais de maneira ágil, a possibilidade de poder combinar comandos através do uso dos pipes é o que, particularmente, considero ser um dos grandes poderes “Jedi” da “tela preta”. Com esse recurso, é possível criar, facilmente, funcionalidades que não existem através de um único comando para atender às suas necessidades. É claro que, quanto maior a experiência com a “tela preta”, melhor será suas condições em usar do recurso dos pipes. E, logicamente, nada melhor do que praticar um pouco para desafiar a criatividade.

Diante disso, resolvi compartilhar por aqui um exemplo que pode ser útil para o seu dia a dia: reduzir o tamanho de suas fotos. Com câmeras digitais cada vez mais acessíveis e com a sua inclusão em diversos dispositivos como celulares e tablets, muitas pessoas costumam acumular muitos gigas armazenando suas imagens. Some-se a isso o fato das resoluções cada vez mais altas gerarem arquivos maiores. Diante disso, seja como uma forma de economizar espaço em seus meios de armazenamento (e.g. HDs externos) ou como facilitar o envio e o compartilhamento de suas fotos através da Internet, reduzir o tamanho de suas fotografias, às vezes, pode ser uma ideia interessante.

A questão é: como fazer isso de umam única vez aplicando a redução para todas as fotografias selecionadas? Bem, como você já deve ter desconfiado, a “tela preta” pode lhe ser útil nesse momento especialmente por meio do uso dos pipes. Vamos dar uma olhada?

Read the rest of this entry »

PostHeaderIcon Meu eeePC 701 e o Ubuntu 11.04.

Assim que a febre dos netbooks começou a se espalhar, comprei o Asus eeePC 701, um dos modelos de mais sucesso desse tipo de equipamento e precursor de muitos outros notebooks que foram lançados posteriormente. Apesar de já ser um pouco antigo, eu ainda o utilizo para fazer tarefas menores e algumas “experiências”, principalmente envolvendo segurança de sistemas e redes. Enfim, o meu eeePC 701 desempenha uma função de coringa em meio aos meus computadores.

Já utilizei diversas distribuições Linux nesse equipamento. Aliás, foi essa uma das razões pelas quais eu o adquiri. Testar algumas distribuições Linux é um hobby antigo. Além da distro original, o Xandros, que durou poucas horas no equipamento, já testei diversas outras opções baseadas em Debian, o Eeebuntu, o Easy Peasy, dentre outros. O Ubuntu passou, então, a ter uma versão oficial para esses equipamentos: o Ubuntu Netbook Remix, que comecei a utilizar em meu Asus eeePC 701. Entretanto, esse produto passou a ser integrado ao Ubuntu padrão. Ou seja, a partir de então, a mesma imagem ISO poderia ser utilizada para notebooks e netbooks.

Read the rest of this entry »

PostHeaderIcon Problemas para remover volumes lógicos com LVM2?

Sem sombra de dúvidas, planejar o particionamento de um servidor GNU/Linux com LVM é uma opção muito interessante e praticamente obrigatória para um sysadmin precavido e organizado. Entretanto, podemos tratar um pouco mais sobre o LVM e suas vantagens em outra oportunidade. Esse rápido post é apenas para compartilhar uma situação que já passei em algumas oportunidades: em alguns servidores que administro, já tive problemas para remover volumes lógicos (LVs).

A maneira mais comum para remover um LV consiste, simplesmente, em utilizar o comando lvremove. Por exemplo:

# lvremove /dev/MyVG/lvol_test

Entretanto, em alguns sistemas, me deparei com o seguinte erro ao tentar remover LV:

# lvremove /dev/MyVG/lvol_test
Can't remove open logical volume "lvol_test"

Bem, caso você esteja com esse problema, existe uma solução muito simples por meio da utilização do dmsetup.

# dmsetup info -c MyVG-lvol_test
Name               Maj Min Stat   Open Targ Event  UUID
MyVG-lvol_test     253   8 L–w       1    1      0 XiuqlKY91paW...

Nesse caso, o valor que interessa é o da coluna Open. O  número “1” identifica que o LV encontra-se no status de aberto e isso pode ser a causa do problema. Se esse for o seu caso, execute o comando dmsetup da seguinte maneira:

# dmsetup remove MyVG-lvol_test

Em seguida, tente executar novamente o comando lvremove que, dessa vez, deve reportar a remoção com sucesso do LV:

# lvremove /dev/MyVG/lvol_test
Logical volume "lvol_test" successfully removed

Bem, acho que é isso.

PostHeaderIcon Você ainda apaga arquivos com o “rm”? Removendo arquivos de maneira segura com o shred.

Remover arquivos faz parte da rotina diária de qualquer usuário de um sistema operacional, não é mesmo? Provavelmente você deve fazer isso algumas dezenas de vezes ao longo de um dia de trabalho em frente ao computador. Caso um arquivo qualquer (como uma ISO de um sistema operacional, por exemplo) esteja sendo apagado simplesmente para liberar espaço em seus meios de armazenamento, que mal há utilizar o bom e velho “rm”? Por outro lado, tenho a impressão de que você não gostaria de saber que aquele script que contém todas as suas regras de firewall, por exemplo, ou qualquer outro arquivo com alguma informação sensível pode cair em mãos erradas se você confiar no apenas no “rm”.

Bem, primeiramente, permita que eu me desculpe por ‘descortinar’ essa verdade caso você ainda achasse, até o parágrafo anterior, que um “rm -f” era um comando forte e com tanta ‘personalidade’ ao ponto de mandar pro espaço qualquer arquivo ou diretório. O fato é que ao remover um arquivo com esse comando o sistema operacional, em poucas palavras, simplesmente retira os “ponteiros” para os blocos de dados que formavam o arquivo. Por outro lado, esses blocos estão lá em seu HD e podem, com a ajuda de algumas ferramentas, ser recuperados. Provavelmente esses blocos irão ser sobrescritos apenas quando novos arquivos forem utilizando aqueles mesmos espaços e isso pode demorar um tempo bastante considerável principalmente se o computador em questão não tiver operações um fluxo de gravação de arquivos muito intenso.

E, antes que você se pergunte, mas quem pode ter acesso ao meu HD? Bem, fácil. Seu computador pode ser invadido através da Internet, você pode perdê-lo, você pode ser roubado, você pode vendê-lo ou você pode mandá-lo para uma assistência técnica para consertar um problema, por exemplo. Enfim, são muitas as possibilidade, não é verdade? Pior ainda quando se está falando dos pequenos e portáteis pen drives que carregamos conosco o tempo todo para todo lugar. Quando é possível, pode-se utilizar os sistemas de arquivos criptografados. Entretanto, em situações onde não é possível utilizar essas soluções, é preciso tomar cuidado para garantir que arquivos sensíveis foram, de fato, removidos.

Read the rest of this entry »

PostHeaderIcon Histórico de comandos no Linux com data e hora.

Passo por aqui para deixar uma recomendação bem rápida.

Quem lida com um terminal de comandos em ambientes Linux frequentemente, especialmente através do bash, sabe o quanto o histórico de comandos é útil. Ele economiza ao longo do dia um bom tempo de digitação ajudando com a reutilização de comandos que já foram executaados anteriormente. Com alguns atalhos disponibilizados pela própria shell é possível tirar proveito ainda mais eficiente desse poderoso recurso, útil aos administradores de sistemas e a todos os usuários que necessitam do terminal. Além de facilitar a utilização, o histórico de comandos também é uma ferramenta importante para conduzir algumas investigações do que pode ter sido feito em um determinado sistema, uma vez que ele mostra a sequência de comandos executados. Para vê-lo, como muitos já estão cansados de saber, basta executar o comando "history".

E o que tem de novidade nisso? Nada a não ser pelo fato de que, muitas das vezes, os horários em que os comandos foram executados podem representar uma valiosa informação para quem está consultando o histórico. Essa informação torna-se ainda mais importante quando se tenta correlacionar comandos executados em computadores diferentes. O que poucos sabem, entretanto, é que isso é possível de configurar utilizando um recurso muito simples disponibilizado pela prória shell bash. Outra novidade? Essa informação está na própria man page da bash.

Para habilitar esse recurso, basta, por exemplo, abrir um terminal e definir a variável de ambiente HISTTIMEFORMAT por meio da execução do seguinte comando:

$ export HISTTIMEFORMAT="[%y%m%d %H:%M:%S] "

Feito isso, experimente executar o comando "history" novamente… Interessante, não? Note que você pode definir o formato e quais informações de tempo mais lhe interessam. Para tal, utilize a mesma representação de tempo implementada no comando date.

Para fazer com que os históricos de comandos sempre apresentem as informações de tempo, insira a definição dessa variável nos arquivos apropriados do seu sistema como os arquivos .bashrc e .bash_profile que ficam nos diretórios home dos usuários, por exemplo.

Bem, é isso.

PostHeaderIcon Problemas para acessar o iPhone a partir do Ubuntu 10.10?

As coisas parecem estar progredindo bastante quando se fala de GNU/Linux, não é mesmo? Lembro-me da época em que tudo era muito complicado e trabalhoso para funcionar. Hoje em dia é provável que muitos usuários instalem uma distribuição como o Ubuntu em seus computadores e, em poucos minutos, tenham tudo funcionando perfeitamente, sem que sejam necessárias peripécias e truques. Mesmo assim, problemas acontecem…

Em algumas versões anteriores do Ubuntu, por exemplo, era necessário instalar alguns pacotes e fazer algumas configurações para que fosse possível acessar um iPhone a partir de seu sistema operacional. Com o Ubuntu 10.10 (Maverick Meerkat) as coisas evoluíram bastante: ao conectar um iPhone, o sistema já apresenta o seu sistema de arquivos automaticamente e ainda fica apto a conectar com ferramentas como o gtkpod, o Banshee e o RhythmBox. Maravilha, não? Isso funciona muito bem… ou, pelo menos, funcionava até atualizar a versão do iOS para a 4.2.1… Com essa versão, a conexão do aparelho celular ao seu computador deve apresentar um erro ao invés da tela que você estava acostumado a ver.

Com uma rápida pesquisa na Internet, encontrei uma solução muito simples que resolveu o problema.  Em poucas palavras, a saída consiste em atualizar alguns pacotes, dentre os quais o libimobiledevices, uma biblioteca que provê a interface de comunicação de dispositivos como iPhones e iPod Touchs com o sistema operacional, através de um repositório que deve ser adicionado ao seu sistema operacional.

Para isso, abra um terminal como super-usuário e execute os seguintes comandos:

# add-apt-repository ppa:pmcenery/ppa
# apt-get update
# apt-get dist-upgrade

Caso seu terminal não seja de super-usuário, não esqueça de acrescentar o “sudo” antes de cada um dos três comandos anteriores.

Após a execução dos comandos anteriores, basta reconectar o iPhone ao Ubuntu e tudo deve estar funcionando novamente. Simples, não?

PostHeaderIcon Trocando a posição e a ordem dos botões nas janelas do Ubuntu 10.04.

O layout do Ubuntu 10.04 mudou bastante com relação às versões anteriores. Além da mudança dos tons de marrom, já tradicionais, outras coisas também sofreram alterações e o que muitos usuários devem ter percebido é que, dentre essas mudanças, está a posição dos botões de minimizar, maximizar e fechar as janelas. Normalmente, esses botões ficavam parte superior das janelas no canto direito. Agora, por padrão, esses botões mudaram de lado e passaram a ficar no lado esquerdo.

Se isso representa uma mudança desconfortável pra você, saiba que é muito simples de alterar. Aliás, é interessante descobrir que, facilmente, é possível até trocar a ordem desses botões de maneira muito simples. Vamos dar uma olhada?

Read the rest of this entry »

PostHeaderIcon Placa BCM4312: problema resolvido.

Já faz algum tempo que não me deparo com a situação onde o Ubuntu não reconhece uma placa wireless de um notebook já no momento da instalação. Momento bem diferente dos primórdios onde a “guerra” com os drivers iniciava-se já nos dispositivos mais básicos. A bola da vez foi uma placa wireless Broadcom que reportava a seguinte descrição através do lspci:

0e:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)

A placa aparecia normalmene por meio do comando iwconfig mas não conseguia conectar-se a qualquer rede wireless. Depois de procurar em alguns fóruns algumas soluções e tentar, em seguida, implementá-las sem sucesso, encontrei a forma mais fácil e simples de resolver, instalando apenas um pacote:

apt-get install bcmwl-kernel-source

Depois, bastou reiniciar o notebook e tudo estava funcionando perfeitamente. Uma dica rápida… mas espero que possa ajudar alguém que tenha o mesmo problema.