Como forçar o apt a otimizar a árvore de dependência para obter um tamanho mínimo de download?

10

Algumas informações básicas :

Como você deve saber, em um pacote Debian, pode haver dependências alternativas, escritas no arquivo CONTROL como Depends: apache2|something-else, por exemplo. Como aptseleciona quais dependências escolher e como posso substituir isso para minimizar o tamanho do download?

Estou com uma conexão lenta em alguns locais e preciso usar o menor tamanho total de download. Como posso forçá-lo a fazer isso?

Edit: Eu não estou perguntando sobre ignorar recomendações.

Edit 2: Não estou perguntando sobre ignorar dependências. Estou tentando obter todas as dependências, apenas no menor tamanho total, especialmente observando e percorrendo profundamente as package1|package2opções.

Edit 3: Um grepscript shell ou de outra forma é aceitável.

Infelizmente, como as respostas atuais realmente não respondem à pergunta, elas realmente não podem receber a recompensa. Ainda está lá fora, para alguém disposto a escrever um script bash!

Edit 4: Embora a recompensa tenha sido concedida a uma boa resposta que eu encorajo você a votar, ainda estou buscando uma resposta mais concreta . Se ele também manipular elegantemente pacotes virtuais fornecidos por um ou mais pacotes, possivelmente darei outra recompensa após o fato para conceder essa resposta .

nanofarad
fonte

Respostas:

3

Você sempre pode listar todas as dependências do apt; em seguida, manualmente, você pode instalar os pacotes que prefere instalar, mas eu procurei nas páginas de manual e em vários fóruns, mas não consegui responder sua pergunta exata, a não ser reescrever o código-fonte para o apt. funciona de qualquer maneira.

David
fonte
Isso pode ajudar, mas precisarei de algo mais específico do que isso. Tente detalhar sua postagem com mais detalhes ou um script de shell enquanto você está nisso, e seja bem-vindo ao Ask Ubuntu !.
Nanofarad
1
@ ObsessiveSSOℲ Sinceramente, não tenho tempo, no entanto, se você deseja fazê-lo, então este comando: VAR = $ (apt-cache show gedit | grep "Tamanho" | grep -Ev 'I' | sed 's / Size: // g ') fornece o tamanho do pacote que você pode usar para comparar com os valores em uma matriz preenchida usando este comando. Desculpe, não pude ajudar mais.
David
Se nada melhor acontecer, você é realmente o vencedor dessa recompensa.
Nanofarad
@ ObsessiveSSOℲ você poderia dar um exemplo de um pacote com dependências alt
David
Algo tão simples quanto wordpress, que envolve apache2|httpd. Observe também que httpdé um pacote virtual. Eu também vou te dar a recompensa. Ainda não vou aceitar ainda.
Nanofarad
1

Até onde eu sei, não há como otimizar isso. A maioria das coisas já está bastante compactada, para que você não baixe quase todo o tamanho do arquivo. (Da próxima vez que instalar um pacote, verifique a diferença entre a quantidade de dados a serem baixados e o espaço total no disco rígido a ser consumido.)

Se você sabe o que está fazendo (por exemplo, você já instalou foo, mas diz que precisa reinstalá-lo) e deseja deixar todas as dependências desativadas ao instalar um arquivo, adicione o sinalizador --no-install-recommends.
Algumas das respostas a esta pergunta explicam como instalar pacotes específicos sem as dependências. Eles o abordaram um pouco mais profundamente do que eu, portanto, se você ainda está tendo problemas ou a minha resposta não resolveu o seu problema, recomendo dar uma olhada nesse tópico.

JamesTheAwesomeDude
fonte
-2

Eu acho que você está confuso sobre como as dependências funcionam. Se algo é dependente, então, por definição, é necessário. Suponho que o que você possa fazer é descobrir exatamente quais arquivos da dependência o aplicativo que você deseja usar ... e remover tudo o que não chama .. mas isso parece muito trabalho para alguns megabytes.

Parece que você está pedindo um carro que ainda dirija com falta da 4ª roda (digamos que a 'traseira esquerda', por causa dessa metáfora), economize peso. Em algum momento, você precisará virar à direita. O carro ainda vai rolar, mas apenas com certas funcionalidades ... ao não instalar o 'Recomendado', acho que você está indo o mais leve possível com segurança, sem precisar se aprofundar no desenvolvimento.

knope
fonte
6
Você realmente não entendeu a pergunta. Ele conhece as dependências. Mas você deve saber que pode haver dois pacotes que satisfazem a mesma dependência. nesse caso, ele queria que a um menor tamanho
Anwar
OMI é lamentável que essas respostas tenham que sofrer votos negativos. São boas respostas, e espero que ninguém tenha sido desencorajado. Apenas certifique-se de responder à pergunta.
Nanofarad
@ como forma de esclarecer e informar. :) (eu não me importo os votos para baixo.)
Knope
Eu não te votei primeiro, apenas expliquei o assunto. Mas agora, eu tenho dado, porque a resposta não abordou a questão @ ObsessiveSSOℲ falou na sua pergunta
Anwar