如何在不安装的情况下从apt-get下载软件包?

Man*_*eon 120 debian apt-get

我有一台没有网卡的电脑,我想通过USB存储器安装一些程序,但如何不安装的情况下从apt-get下载程序?

Mar*_*gen 127

尝试

apt-get -d install <packages>
Run Code Online (Sandbox Code Playgroud)

它记录在案man apt-get.

只是为了澄清; 下载的软件包位于apt软件包缓存中

/var/cache/apt/archives
Run Code Online (Sandbox Code Playgroud)

  • 如果软件包在执行 `apt-get -d` 的系统上已经是最新的,这是否有效? (3认同)

Dir*_*tel 123

这些apt-get扩展程序包至少可以提供帮助:

apt-offline - offline apt package manager
apt-zip - Update a non-networked computer using apt and removable media
Run Code Online (Sandbox Code Playgroud)

这特别适用于想要下载可以访问网络但可以安装在不需要网络访问权限的其他计算机上的情况.

否则, --download-only选项apt-get是你的朋友:

 -d, --download-only
     Download only; package files are only retrieved, not unpacked or installed.
     Configuration Item: APT::Get::Download-Only.
Run Code Online (Sandbox Code Playgroud)

  • 这将包下载到当前工作目录:`aptitude download <package_name>`.它避免了已经安装软件包时`apt-get`所面临的问题 (59认同)
  • 如果已经安装了apt-get -d,则不会下载 (10认同)
  • @biocyberman:请你把它作为一个单独的答案发表?它比任何其他建议的答案都简单,但它很容易被遗漏,因为它只是一个评论. (7认同)
  • 最近的发行版也可以"下载<package_name>"(类似于biocyberman的回答,但我认为`apt`现在比`aptitude`更常见). (5认同)

小智 48

不要忘记选项"-o",它允许您下载任何您想要的地方,尽管您必须先创建"存档","锁定"和"部分"(命令打印所需的内容).

apt-get install -d -o=dir::cache=/tmp whateveryouwant
Run Code Online (Sandbox Code Playgroud)

  • 如果您以非root用户身份运行,则可以执行以下操作:mkdir -p/tmp/archives/partial && apt-get -d -o dir :: cache =/tmp -o Debug :: NoLocking = 1 install包 (10认同)
  • 12.04,当我跑:``apt-get -d -o = dir :: cache =/tmp/pkg rabbitmq-server E:无效的操作rabbitmq-server``它应该是:``$ apt-get download - o = dir :: cache =/tmp/pkg rabbitmq-server获取:1下载rabbitmq-server 2.7.1-0ubuntu4 [2,745 kB] 13%[1 rabbitmq-server 361 kB/2,745 kB 13%]`` (3认同)
  • 如果软件包在系统上已经是最新的,那么这似乎不会下载任何内容. (3认同)