即时安装软件包

即时安装软件包

Apt-get 和其他包管理器将必要的包下载到磁盘,然后安装并丢弃它们。

我知道可以在下载时直接解压 tar.gz 或其他存档,而不是将它们保存到磁盘。apt-get 是否有选项(或替代方案)可以执行此操作?

尤其是对于大型包裹来说,它会更快。

答案1

是的,apt-get 可以执行仅下载操作。

$ apt-get --help
[...]

Commands:
   [...]
   install - Install new packages (pkg is libc6 not libc6.deb)

Options:
  [...]
  -d  Download only - do NOT install or unpack archives

仅下载软件包(及其依赖项):

apt-get -d install [package_name ...]

例子:

$ sudo apt-get -d install openvpn
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  liblzo2-2 libpkcs11-helper1
The following NEW packages will be installed:
  liblzo2-2 libpkcs11-helper1 openvpn
0 upgraded, 3 newly installed, 0 to remove and 1 not upgraded.
Need to get 563 kB of archives.
After this operation, 1,444 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://archive.ubuntu.com/ubuntu/ precise-updates/main liblzo2-2 i386 2.06-1ubuntu0.1 [60.8 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ precise/main libpkcs11-helper1 i386 1.09-1 [47.5 kB]
Get:3 http://archive.ubuntu.com/ubuntu/ precise-updates/main openvpn i386 2.2.1-8ubuntu1.4 [455 kB]
Fetched 563 kB in 0s (6,168 kB/s)
Download complete and in download only mode

这些包将存储在中/var/cache/apt/archives,而不是您当前的工作目录中。

答案2

Debian 和其他具有强大依赖管理的发行版可能不会以这种方式很好地工作。但是,像 Slackware 这样的使用.tgz从根/目录提取的简单文件的发行版可以像这样工作。我会谨慎地尝试实际这样做 - 如果下载损坏、过程中断电等,会发生什么?

相关内容