Есть ли команда apt для загрузки файла deb из репозиториев в текущий каталог?

Вы сделали ошибку с помощью команды:

 sudo add-apt-repository ppa:brianrobles204/xkcd-browser
 sudo apt-get update 
 sudo apt-get install xkcd-browser

Должно быть:

sudo apt-add-repository ppa:brianrobles204/xkcd-browser
sudo apt-get update && sudo apt-get install xkcd-browser

Надеюсь, что это решает!

38
задан 16 March 2011 в 16:29

66 ответов

Если вы хотите загрузить все пакеты deb из списка, вы можете сделать это:

  cat path / to / text / file.txt |  xargs apt-get install --reinstall --print-uris -qq $ PKG |  cut -d "'" -f2 |  xargs wget  

Просто поместите одно имя пакета в строку. Как в файле requirements.txt. Например, с таким содержимым:

  apache2-mpm-event curl dmidecode ethtool libapache2-mod-wsgi libapache2-mod-python  

Надеюсь, что это поможет ,

)
3
ответ дан 10 August 2018 в 10:07

/ var / cache / apt / archives читается в мире. После apt-get -d просто извлеките его оттуда в свой домашний каталог. Запустите dpkg -e /var/cache/apt/archives/foo_version.deb foo , находясь в вашем домашнем каталоге, и файлы управления будут сброшены в foo / .

0
ответ дан 13 August 2018 в 16:27
  • 1
    Я думаю, что проблема с этим методом заключается в том, что для загрузки все еще требуются административные привилегии. Кажется глупым идти в такие крайности, просто чтобы получить файл в ваш домашний каталог. – ændrük 15 March 2011 в 18:56
  • 2
    Открытие .debs - это не проблема, ее загрузка. Это может быть ошибка или нет, но в пакетах в / var / cache / apt / archives` также работает umask. Я установил umask из 027, и поэтому пакеты в / var / cache / apt / archives не могут быть прочитаны мной. Поскольку мне нужно просто изучить содержимое пакета, мне просто нужно скачать его один раз: до / tmp . – Lekensteyn 15 March 2011 в 19:01

sudo apt-get install devscripts

dget [имя_пакета]

0
ответ дан 13 August 2018 в 16:27
  • 1
    Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. – s3lph 15 April 2015 в 01:50
  • 2
    Как он не дает ответа? Это загружает deb из архива в текущий каталог. Разве это не совсем вопрос? – Michael Terry 15 April 2015 в 01:54
  • 3
    Немного более подробная информация может быть полезна. Хотя этот технически квалифицируется как ответ, вы все равно можете предоставить более двух команд. – s3lph 15 April 2015 в 01:56
  • 4
    :: shrug :: В отличие от других ответов здесь, у этого нет никаких оговорок или предостережений. Это простой ответ на простой вопрос. – Michael Terry 15 April 2015 в 02:06
  sudo apt-get -o dir :: cache :: archives = "/ path / to / folder /" -d install package  

Примечание:

Вам нужно создать папку с именем partial в папке назначения.

8
ответ дан 13 August 2018 в 16:27
  • 1
    Не звучит так плохо. Параметры, кажется, описаны man apt.conf . Я хотел бы избежать создания папки. – Lekensteyn 15 March 2011 в 19:02
  • 2
    Мне просто интересно, почему бы вам избежать создания папки? – mount.cifs 16 March 2011 в 11:44
  • 3
    Мне не нужно хранить пакет навсегда и не создавать папку, которая экономит время. – Lekensteyn 16 March 2011 в 16:26
  • 4
    Просто хотелось бы отметить, что это решение также будет настаивать на удалении пакета (например, если вы измените версию с помощью /etc/apt/sources.list на новый, с намерением загрузить более поздние пакеты) - в такой случай, метод wget выше может быть более полезным, если вы не хотите ничего удалять ... – sdaau 18 February 2014 в 00:45

В Ubuntu 14.04 ( apt версия пакета 1.0.1ubuntu2 , я считаю), apt-get включает в себя скачать , чтобы загрузить данный пакет в качестве .deb в текущем каталоге.

Например, предположим, что мы хотим загрузить файл-менеджер Ranger :

  $ apt-get download ranger  

Результаты в:

  $ ls.  |  grep ranger ranger_1.6.0-1_all.deb  
6
ответ дан 13 August 2018 в 16:27
  • 1
    Это потрясающе. Все другие решения, которые я пробовал, не работают, если apt install не может удовлетворять всем требованиям зависимости. Мне просто нужен файл .deb для возиться! – Raziel 26 August 2017 в 15:02

Если вы хотите загрузить все пакеты deb из списка, вы можете сделать это:

  cat path / to / text / file.txt |  xargs apt-get install --reinstall --print-uris -qq $ PKG |  cut -d "'" -f2 |  xargs wget  

Просто поместите одно имя пакета в строку. Как в файле requirements.txt. Например, с таким содержимым:

  apache2-mpm-event curl dmidecode ethtool libapache2-mod-wsgi libapache2-mod-python  

Надеюсь, что это поможет ,

)
3
ответ дан 13 August 2018 в 16:27

Другие вопросы по тегам:

Похожие вопросы: