shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Remover Pacotes de um Arquivo


From: Salviano de Araujo Leão
Subject: Re: [shell-script] Remover Pacotes de um Arquivo
Date: Wed, 29 Aug 2007 07:30:47 -0300
User-agent: KMail/1.9.7

On Tuesday 28 August 2007 20:43:49 Daniel O. Dantas wrote:

Não entendi bem o seu problema. Veja estes dois comando
$  dpkg --get-selections  > Pacotes 
# Ele retorna o estado de todos os pacotes do  sistema  no file Pacotes
$ dpkg --set-selections < Pacotes
$ dselect  --> aplica as selecoes anteriores
$ aptitude --> eh so mandar instalar ou remover, que ja está tudo selecionado

O arquivo /var/lib/aptitude/pkgstates mantém um lista completa de todos
os pactes intalados em sua máquina.

Você pode gerar um Pacotes e mudar o estado da selecao do arquivo Pacotes
e posteriormente aplica-las todas de uma única vez.


Abraços

Salviano

> Pessoal, boa noite. Venho mais uma vez pedir ajuda de vocês com um script.
>
> Meu problema: gerei uma lista de todos os pacotes instalados em meu sistema
> (Debian). E gostaria de criar um script que me perguntasse, um a um, se eu
> quero remover esses pacotes, baseado no conteúdo desse arquivo.
>
> Comecei a fazer, mas me perdi na hora de fazer o for, e não me sai muito
> bem. Estou colocando abaixo o que já fiz, e se puderem me ajudar, ficaria
> grato.
>
> #!/bin/bash
> PKGS=/root/auditoria/pacotes
>
> echo "Criando Lista de Pacotes Instalados..."
>         # Roda dpkg e gera lista de pacotes instalados no sistema.
>         # dpkg -l = Lista pacotes instalados no Debian.
>         # awk '{print $2,$3}' = Expressao para que retorna apenas a segunda
>         #e terceira coluna.
>         # sed '1,7d' = Corta da primeira ate a setima linha.
>         dpkg -l | awk '{print $2,$3}' | sed '1,7d' > $PKGS
>                 sleep 2
>         # Retorna o conteudo do arquivo apenas mostrando a primeira coluna
> echo "Exibindo Lista de Pacotes na Tela..."
>         sleep 2
>         cat $PKGS | sed -n '1,$p' | awk '{print $1}'
>         echo Existem `cat $PKGS | wc -l` Pacotes Instalados no Servidor
>
> Esse ultimo echo eu fiz para teste, por que iria pegar o retorno do comando
> cat $PKGS | wc -l para fazer o loop baseado nessa quantia. Mas depois vi
> que é possível fazer esse loop baseado no conteúdo do próprio arquivo. E
> foi ai que enroscou o código pra mim.
>
> Obrigado.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]