Como posso forçar o apt a otimizar a árvore de dependências para 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 o apt seleciona quais dependências escolher, e como posso substituir isso para que eu possa minimizar o tamanho do download?

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

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

Editar 2: Eu não estou perguntando sobre como pular dependências. Eu estou tentando obter todas as dependências, apenas no menor tamanho total, especialmente notando e atravessando profundamente package1|package2 escolhas.

Editar 3: Um grep ou script de shell é aceitável.

Infelizmente, como as respostas atuais não respondem realmente à pergunta, elas não podem realmente receber a recompensa. Ainda está lá fora para alguém disposto a escrever um roteiro de 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 manuseia elegantemente os pacotes virtuais fornecidos por um ou mais pacotes, então eu vou possivelmente dar outra recompensa após o fato para premiar essa resposta .

    
por hexafraction 13.10.2012 / 15:16

3 respostas

3

Você poderia sempre ter apt listar todas as dependências, então manualmente você poderia instalar os pacotes que você preferiria instalar, mas eu pesquisei man pages e vários fóruns, mas não consegui responder sua pergunta exata além de reescrever a fonte para apt é assim que o opensource funciona de qualquer maneira.

    
por David 23.10.2012 / 00:45
1

Até onde eu sei, não há como otimizar isso. A maioria das coisas já está muito comprimida, então você não baixará quase o tamanho total do arquivo. (Da próxima vez que você instalar um pacote, dê uma olhada na 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 desligadas ao instalar um arquivo, adicione o sinalizador --no-install-recommends .
Algumas das respostas para esta questão explicam como instalar pacotes específicos sem as dependências. Eles cobriram um pouco mais do que eu, então se você ainda está tendo problemas ou a minha resposta não resolveu o seu problema, eu recomendo dar uma olhada nesse tópico.

    
por JamesTheAwesomeDude 13.10.2012 / 17:33
-2

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ê poderia fazer é descobrir exatamente quais arquivos da dependência o aplicativo que você quer está usando ... e remover tudo o que ele não chama ... mas isso parece muito trabalho para alguns megabytes. / p>

Você parece estar pedindo por um carro que ainda levará a falta de uma 4ª roda (digamos a 'esquerda para trás', por causa dessa metáfora), para economizar peso. Em algum momento você vai precisar virar à direita. O carro ainda vai rolar, mas apenas com certas funcionalidades ... por não instalar o 'Recomendado' eu acho que você está indo tão leve quanto possível com segurança sem ter que mergulhar no desenvolvimento.

    
por knope 19.10.2012 / 17:51

Tags