Como baixar o pacote não instalá-lo com o comando apt-get?

32
sudo apt-get install pppoe

irá baixar o pppoepacote e instalá-lo.

É possível baixar o pppoepacote e não instalá-lo com o apt-getcomando?

wget http://ftp.us.debian.org/debian/pool/main/p/ppp/ppp_2.4.7-1+4_amd64.deb

ppp_2.4.7-1+4_amd64.deb está no diretório atual agora.

cd  /tmp
sudo  apt-get install  -d  ppp
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  ppp
0 upgraded, 1 newly installed, 0 to remove and 95 not upgraded.
Need to get 0 B/346 kB of archives.
After this operation, 949 kB of additional disk space will be used.
Download complete and in download only mode

Nenhum ppp_2.4.7-1+4_amd64.debpacote relacionado ou ppp em / tmp.

sudo  find  /tmp  -name  ppp*

Nada encontrado.

Onde está o pacote ppp em / tmp com o comando

cd  /tmp
sudo  apt-get install  -d  ppp

??

it_is_a_literature
fonte

Respostas:

33

Use --download-only:

sudo apt-get install --download-only pppoe

Isto irá baixar pppoee quaisquer dependências que você precisa, e colocá-los em /var/cache/apt/archives. Dessa forma, um subseqüente apt-get install pppoepoderá concluir sem downloads extras.

Stephen Kitt
fonte
19

Use este comando:

sudo apt-get download pppoe

Esse comando permite fazer o download do pacote e dos requisitos no diretório atual. Também para acessar os .debarquivos instalados , você pode verificar este caminho:

/var/cache/apt/archives
Hamid Yousefi
fonte
5
Isso não baixa dependências, apenas baixa os pacotes nomeados nos argumentos.
Stephen Kitt
9
Além disso, esta solução não precisa sudoaqui. Ele fará o download do pacote para o diretório de trabalho.
LinuxSecurityFreak
8

Para expandir um pouco a resposta de Hamid, qualquer um desses três comandos muito semelhantes funcionará se o seu único desejo for baixar apenas o pacote especificado e nada mais . (Seu caso de uso não está claramente indicado, portanto não está claro se é isso que você deseja fazer.) Todos eles baixam o arquivo deb correspondente ao pacote especificado para o diretório atual.

apt-get download ppoe

apt download ppoe

aptitude download ppoe

Os dois primeiros comandos fazem parte do aptpacote, o terceiro faz parte do aptitudepacote. Todos eles são funcionalmente equivalentes, até onde eu sei, embora as diferenças de sintaxe e uso entre apte aptitudepossam fazer com que você prefira um deles em determinadas circunstâncias. E, claro, apté um comando mais recente do que apt-get- contém apt-gete apt-cachefuncionalidade ao descartar parte da bagagem histórica.

Observe também que, se algum desses comandos encontrar o arquivo já no diretório atual, eles não serão baixados novamente. No entanto, não tenho certeza de quais critérios eles usam para verificar - ou, em outras palavras, quão difícil é enganá-los. Um arquivo em branco não funciona.

Faheem Mitha
fonte
2

aptfornece um comando de recuperação de origem - apt source.

$ apt source pppoe
Reading package lists... Done
Picking 'rp-pppoe' as source package instead of 'pppoe'
Need to get 239 kB of source archives.
Get:1 http://mirror.location.org/debian stretch/main rp-pppoe 3.12-1.1 (dsc) [1,708 B]
Get:2 http://mirror.location.org/debian stretch/main rp-pppoe 3.12-1.1 (tar) [224 kB]
Get:3 http://mirror.location.org/debian stretch/main rp-pppoe 3.12-1.1 (diff) [13.2 kB]
Fetched 239 kB in 0s (1,241 kB/s)    
dpkg-source: info: extracting rp-pppoe in rp-pppoe-3.12
dpkg-source: info: unpacking rp-pppoe_3.12.orig.tar.gz
dpkg-source: info: unpacking rp-pppoe_3.12-1.1.debian.tar.xz
dpkg-source: info: applying 01_auto_ifup.patch
dpkg-source: info: applying 02_change_mac_option.patch
dpkg-source: info: applying 03_man_pages.patch
dpkg-source: info: applying 04_ignore_broadcasted_pado_packets.patch
dpkg-source: info: applying 05_change_default_timeout.patch
dpkg-source: info: applying 06_typo_fixes.patch

Para que isso funcione, você precisa de um repositório de origem no seu diretório sources.listou sources.list.d( /etc/apt/sources.listou /etc/apt/sources.list.d/. Essa linha seria semelhante a (substitua pelas seções espelho e repositório adequadas):

deb-src http://mirror.location.org/debian/ stretch main contrib non-free
Samuel Waren
fonte
2

Ao trabalhar em um servidor Ubuntu que não tinha internet, mas acessível através da intranet da empresa. A instalação de pacotes foi um desafio.

Criei um script que pesquisará as dependências de um pacote necessário, armazená-las em uma lista e, em seguida, percorrer a lista para baixar outras dependências filhas, porque às vezes apenas uma passagem de download de dependência não era suficiente. Depois de baixar as dependências, agrupou-as em um arquivo zip que pode ser movido como um todo para o servidor. Eu chamei esse script de pkgdownload .

Pode ser encontrado no meu GitHub aqui

Aqui está uma imagem dele no trabalho: insira a descrição da imagem aqui

Yusuph wickama
fonte
Bom trabalho! Um bom recurso adicional seria a opção de baixar recommendse suggestspacotes. Veja askubuntu.com/a/117646/6227
ubiquibacon