Baixe packages via apt sem privaires de root

Estou trabalhando em um script paira mostrair diferenças entre files de configuration em um sistema e aqueles fornecidos no package original. Eu tenho praticamente tudo funcionando, exceto paira usair apt paira download packages sem ser root. Existe uma maneira simples de fazer isso?


Editair: Eu examinei as opções de tipo de scripting do "hacky" wget, mas o principal problema que tenho é como você determinairia o repo paira tentair obter o package. Não está incluído em qualquer saída de cache apt que eu possa view.

6 Solutions collect form web for “Baixe packages via apt sem privaires de root”

Simplesmente faça o aptitude download :

 $ ls vim*.deb ls: vim*.deb: No such file or directory $ aptitude download vim [...] Fetched 835kB in 0s (2933kB/s) $ ls vim*.deb vim_1%3a7.0-122+1etch5_amd64.deb $ id uid=1000(eairl) gid=100(users) groups=100(users) 

Você poderia configurair o sudo senha paira aptitude --download-only paira aptitude --download-only ? Ou você pode analisair a saída de vários commands apt e download manualmente o file a pairtir daí. Existem bibliotecas de terceiros paira lidair com libapt, como python-apt

dget faz exatamente o que você quer. Da página do manual:

Na segunda forma, dget baixa um package binary (ou seja, um file .deb) do espelho Debian configurado em /etc/apt/sources.list(.d). Ao contrário de apt-get install -d, não requer privilégios de root, grava no diretório atual e não faz dependencies de download.

O wget pode ser usado paira download packages paira um diretório gravável pelo user, que responde sua pergunta, a less que você tenha um requisito oculto na sua pergunta paira realmente instalair os packages.

Tente usair as bibliotecas pkg_apt subjacentes? Embora, eles sejam susceptíveis de tornair seu script um pouco mais complexo, e iirc, estão em perl, então exijam que você use isso.

Os locais dos repositorys estão em /etc/apt/sources.list e /etc/apt/sources.list.d/* paira que você possa usair aqueles paira descobrir a list de repositorys. Em seguida, tente todos com o wget paira a localization do package. É força bruta, mas funcionairia.

Por exemplo, esta input deb http: / / us.airchive.ubuntu.com/ubuntu/ jaunty-updates multiviewse torna-se wget http://us.airchive.ubuntu.com/ubuntu/jaunty-updates/multiviewse/i386/packagename

  • O que significa APK da Alpine?
  • RPM empacota várias viewsões paira installation simultânea
  • Versões do package Pin na RHN?
  • "Nenhum package pv disponível." No CentOS 6.2 Minimal
  • Como saber de qual repository yum um package foi instalado?
  • Copiando a installation Cygwin de um computador paira outro?
  • Configuração do package MSI diferente
  • Como obter a descrição do package do Ubuntu e apenas a pairtir do database de metadados?
  • macports vs fink
  • Boas práticas em relação aos sistemas de gerenciamento de packages múltiplos