Obtenha somente os arquivos .deb dos aplicativos instalados do repositório debian para o cache para instalação off-line, incluindo dependências

0

Geralmente, tenho uma conexão ruim com a Internet e causa problemas quando apt-get install an-app . Por isso, estou fazendo backup de arquivos .deb em /var/cache/apt/archives regularmente e copiando para a mesma pasta quando faço uma nova instalação. Dessa forma, as dependências dos aplicativos, com exceção das já instaladas, também estão sendo restauradas. E encontrei este comando para fazer o download de todas dependências de um aplicativo, incluindo aquelas que já estão instaladas no meu sistema:

apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-pre-depends <appname> | grep "^\w" | sort -u)
apt-get download <appname>

Eu uso isso porque algumas dependências do aplicativo podem não ser instaladas em um novo sistema.

Mas, nessa condição, se eu atualizar qualquer aplicativo, também armazenarei seu antigo arquivo .deb no meu disco. E esses arquivos se tornam lixo. Eu preciso limpar esse lixo da pasta de cache. Então minha pergunta é:

Existe alguma maneira de espelhar os arquivos do repositório apenas para aplicativos específicos e todas as suas dependências (e somente versões mais recentes)? Ou espelhar o repositório debian para aplicativos específicos usando apenas apt-mirror ou algo semelhante?

    
por user12043 14.04.2018 / 15:12

1 resposta

0

Finalmente, resolvi com estas etapas:

  1. Faça backup do diretório /var/cache/apt (não apenas /var/cache/apt/archives ).

  2. defina a propriedade APT::Clean-Installed como false no arquivo apt.conf . para fazer isso, faça um arquivo .conf em /etc/apt/apt.conf.d e adicione APT::Clean-Installed "false"; linha. Por exemplo:

    $ sudo touch /etc/apt/apt.conf.d/custom.conf
    $ sudo echo "APT::Clean-Installed "false";" > /etc/apt/apt.conf.d/custom.conf
    
  3. Para limpar o cache sem os arquivos dos aplicativos instalados:

    $ sudo apt-get autoclean
    

Eu obtive isso de man 8 apt-get :

autoclean (and the auto-clean alias since 1.1)
Like clean, autoclean clears out the local repository of retrieved package files. The difference is that it only removes package files that can no longer be downloaded, and are largely useless. This allows a cache to be maintained over a long period without it growing out of control. The configuration option APT::Clean-Installed will prevent installed packages from being erased if it is set to off.

    
por 15.04.2018 / 18:35