Problemas com bloqueios de processos

Sempre que utilizamos o instalador de programas, seja ele o Synaptic, dpkg ou o apt-get, podemos encontrar alguns problemas, como a frase típica (ou similar a esta):

E: Não foi possível obter trava /var/lib/dpkg/lock – open (11: Recurso
temporariamente indisponível)
E: Impossível travar o diretório de administração (/var/lib/dpkg/), está
em uso por outro processo?

Calma, não se desespere ainda! Existe solução para tal…

Isso pode acontecer por diversas razões: a energia pode ter caído no momento que estavas a atualizar o sistema e, ao reiniciar a máquina e utilizar o apt novamente, certamente encontrarias esta mensagem.

Um outro motivo pode ser que estejas utilizando o Synaptic e, em linha de comando, desejas instalar algum outro programa. O linux não faz isso ao mesmo tempo. Aí, neste caso, a solução é mais simples: você deve fechar a janela do Synaptic (desde que não a estejas utilizando, claro).

Um caso que aconteceu comigo foi o seguinte. A mensagem veio porque ao instalar o programa wine, o Synaptic veio a querer instalar também, como dependência, o ttf-mscorefonts-installer, que nada mais é que um script de instalação de uma fonte true type. Ou seja, ele se executa pingando em diversas ip’s, para baixar e instalar a fonte específica. Aí deu problema, pois aqui, neste sistema, a internet é aberta somente para as ip’s do repositório oficial do Ubuntu e, então, o programa ficou em loop, sem conseguir acessar a respectiva ip.

Daí tive que dar o famoso “Control+C” para interromper o processo e, como conseqüência, veio a mensagem acima.

Como eu resolvi?

Primeiro o comando:

$ sudo dpkg –configure -a

que, neste caso, não funcionou, continuando a mensagem. Daí eu fiz, em seqüência:

$ sudo rm -f /var/lib/dpkg/lock

$ sudo rm -drf /var/lib/dpkg/updates/

$ sudo aptitude -f clean

$ sudo aptitude -f update

$ sudo aptitude -f install

$ sudo apt-get autoremove

Depois de todos estes comandos é que o sistema voltou a funcionar normalmente. Só tive que recriar a pasta /var/lib/dpkg/updates para que o sudo aptitude update voltasse a funcionar normalmente.

Espero que estas dicas ajudem a vocês também.

Fonte:

http://web.archiveorange.com/archive/v/I6z0onHYg19sfZSJzdrs

Anúncios

Como saber o comando de algum programa pela pasta /proc

Às vezes, quando estamos a usar algum programa, que não seja via terminal, sempre tive a curiosidade de saber como seria o comando para que aquilo se realizasse no shell. Com algumas informações sobre as diversas pastas do linux, consegui a resposta. Está relacionado com a pasta /proc.

Vou explicar melhor com um exemplo prático.

Qual seria o comando para tocar uma música de uma pasta qualquer pelo Totem?

Faça assim:

Abra o Nautilus e dê um duplo clique na música que desejas. Abra também o gnome-terminal e dê o comando “top“, para saber qual o número do processo que faz o Totem funcionar.

No meu caso, foi o PID 7237. Aperte a tecla “q” para sair do top, e vá até a pasta recém criada na /proc com o este número:

$ cd /proc/7237

Nesta pasta, tem um arquivo chamado cmdline e é nele que conseguimos ver o nome do comando:

No caso acima, eu utilizei o editor vi pois o gedit não foi capaz de identificar a codificação do texto que se encontrava no arquivo.

Com esta dica, podes saber outros comandos talvez mais complicados, como aplicar um efeito em uma imagem pelo Gimp, formatar uma mídia de dvd-rw, entre outros.