Desinstalando pacotes de software, sem remover o .deb baixado no apt-cache?

2

Atualmente estou executando o Wheezy 32-bit e recentemente instalei o FreeSWITCH dos repositórios oficiais. No entanto, percebi que, para o propósito que eu tinha em mente, eu precisava reconstruir o FreeSWITCH eu mesmo, a partir da fonte, que é um pouco mais nova que o release binário no. instalado.

Apenas para ter certeza de que eu posso reinstalar / reutilizar os binários FreeSWITCH de repositórios oficiais em uma data posterior, sem ter que buscar novamente os arquivos .deb do pacote (o que demorou bastante na minha conexão lenta) - eu queria desinstalar, mantendo os arquivos do pacote no cache do apt. Como posso conseguir isso?

Além disso, a instalação do pacote FreeSWITCH foi feita usando um meta-pacote (ou seja, "freeswitch-meta-vanilla") que extraiu todo o outro pacote FreeSWITCH. Eu precisaria executar essa desinstalação de maneira diferente?

    
por jay 22.08.2013 / 04:46

2 respostas

1

Encontrei este tópico nos fóruns do ubuntu intitulado: COMO: Fazer e restaurar os backups de cache do apt .

cache do apt

Quando você instala os arquivos .deb no Ubuntu / Debian, eles são armazenados no seguinte diretório, /var/cache/apt/archives/ . Então você pode copiá-los daqui a qualquer momento se quiser mantê-los seguros em outro lugar. Os arquivos devem ser chamados de FreeSWITCH*.deb .

dpkg-repack

Você também pode usar uma ferramenta chamada dpkg-repack , que pegará um pacote instalado e o reempacotará em um arquivo .deb.

dpkg-repack creates a .deb file out of a debian package that has already been installed. If any changes have been made to the package while it was unpacked (ie, files in /etc were modified), the new package will inherit the changes.

This utility can make it easy to copy packages from one computer to another, or to recreate packages that are installed on your system, but no longer available elsewhere, or to store the current state of a package before you upgrade it.

Pode ser instalado assim, apt-get install dpkg-repack .

OBSERVAÇÃO: Ao reembalar pacotes, os arquivos .deb resultantes incluirão quaisquer arquivos de configuração como estão no sistema em que o reempacotamento está sendo feito, não as versões originais dos arquivos de configuração que estavam sendo originalmente incluído!

Exemplo

Digamos que eu queira reempacotar o aplicativo bzip2 já instalado.

$ sudo dpkg -l|grep bzip2
ii  bzip2                                     1.0.6-4                                   amd64        high-quality block-sorting file compressor - utilities

O seguinte comando irá empacotá-lo:

$ sudo dpkg-repack bzip2
dpkg-deb: warning: './dpkg-repack-16687/DEBIAN/control' contains user-defined field 'Original-Maintainer'
dpkg-deb: warning: ignoring 1 warning about the control file(s)

dpkg-deb: building package 'bzip2' in './bzip2_1.0.6-4_amd64.deb'.

Você pode confirmar o conteúdo do arquivo .deb assim:

$ sudo dpkg -c bzip2_1.0.6-4_amd64.deb |head -15
drwxr-xr-x root/root         0 2013-08-22 00:08 ./
drwxr-xr-x root/root         0 2013-08-22 00:08 ./bin/
-rwxr-xr-x root/root     31152 2012-08-03 12:30 ./bin/bunzip2
-rwxr-xr-x root/root      2140 2012-08-03 12:30 ./bin/bzdiff
-rwxr-xr-x root/root      4877 2012-08-03 12:30 ./bin/bzexe
-rwxr-xr-x root/root      3642 2012-08-03 12:30 ./bin/bzgrep
-rwxr-xr-x root/root     31152 2012-08-03 12:30 ./bin/bzcat
-rwxr-xr-x root/root     10376 2012-08-03 12:30 ./bin/bzip2recover
-rwxr-xr-x root/root      1297 2012-08-03 12:30 ./bin/bzmore
-rwxr-xr-x root/root     31152 2012-08-03 12:30 ./bin/bzip2
drwxr-xr-x root/root         0 2013-08-22 00:08 ./usr/
drwxr-xr-x root/root         0 2013-08-22 00:08 ./usr/share/
drwxr-xr-x root/root         0 2013-08-22 00:08 ./usr/share/man/
drwxr-xr-x root/root         0 2013-08-22 00:08 ./usr/share/man/man1/
-rw-r--r-- root/root      1873 2012-08-03 12:30 ./usr/share/man/man1/bzmore.1.gz
...
...
    
por 22.08.2013 / 06:11
0

Desinstale apenas com apt-get remove ou o que for. Isso não exclui os arquivos baixados. Os arquivos baixados só serão removidos se você executar apt-get clean , usar o comando “clean” no aptitude ou fizer algo semelhante em sua ferramenta de gerenciamento de pacotes.

Se você quiser ter certeza de não remover acidentalmente os pacotes, faça uma cópia em outro diretório. Você pode injetar os pacotes de volta no cache de download simplesmente copiando os arquivos .deb de volta.

    
por 23.08.2013 / 03:07