Como obter o nome do arquivo de download do apt-get download?

1

Não tenho privilégios de sudo. Por isso, quero instalar o software em meu diretório pessoal. Eu tenho muito pacote para baixar, então eu quero escrever um script para fazer isso. Eu uso:

apt-get download libopencv-dev
dpkg-deb -x libopencv-dev_2.4.8+dfsg1-2ubuntu1_amd64.deb /my/path

mas quando eu escrevo um script, eu não sei o nome do arquivo baixado ( libopencv-dev_2.4.8+dfsg1-2ubuntu1_amd64.deb ), alguém sabe como obter o nome do arquivo apt-get download ?

    
por maple 10.06.2016 / 05:02

3 respostas

0

Faça o script:

PACKAGE=packagename
apt-get download $PACKAGE
dpkg-deb -x $PACKAGE*.deb /my/path

Isso deve funcionar para todos os pacotes. Pode ou não funcionar em PPAs ou repositórios externos.

    
por ubashu 10.06.2016 / 05:12
0

Você pode tentar analisar a saída de apt-get download --print-uris , que apenas imprime informações sobre o download sem baixá-lo:

$ apt-get download vim --print-uris
'http://ppa.launchpad.net/pi-rho/dev/ubuntu/pool/main/v/vim/vim_7.4.1907-1~ppa1~x_amd64.deb' vim_2%3a7.4.1907-1~ppa1~x_amd64.deb 1073208 SHA256:f2d9029ec937fa0d4f16612f21bc2cb4ff2ef8dc16f7f31af660c5cb272d92bc

Ele fornece o URL, o nome do arquivo, o tamanho esperado e o hash. Se você escolher, você também pode fazer o download e a verificação (nesse caso, você pode fazer o download e salvar em qualquer nome de arquivo que desejar).

Por enquanto:

filename=$(apt-get download libopencv-dev --print-uris | awk '{print $2}')
    
por muru 10.06.2016 / 05:22
0

Aqui está um script chamado downloadthis .

#!/bin/bash
for i in $(apt-cache show $1 | grep Version | sed 's/^Version..//g')
 do apt-get download $1
 dpkg-deb -x "$1"*"$i"*deb $2
 done

Não se esqueça de torná-lo executável.

Aqui está um exemplo de uso:

./downloadthis libopencv-dev

O script criará um diretório chamado libopencv-dev em seu diretório pessoal. Você pode editar o script e alterar ~/$1 para outro caminho (como /my/path , por exemplo).

Como alternativa, você pode editar o script e alterar ~/$1 para ~/$2 para permitir que você especifique o diretório de extração ao executar o script.

Aqui está um exemplo desse uso:

./downloadthis libopencv-dev /my/path
    
por mchid 10.06.2016 / 05:54