如何下载软件包而不用apt-get命令安装?


32
sudo apt-get install pppoe

将下载pppoe并安装软件包。

是否可以只下载pppoe软件包而不用apt-get命令安装?

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 现在在当前目录中。

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

ppp_2.4.7-1+4_amd64.deb/ tmp中没有 或与ppp相关的软件包。

sudo  find  /tmp  -name  ppp*

没有发现。

/ tmp中带命令的软件包ppp在哪里

cd  /tmp
sudo  apt-get install  -d  ppp

??

Answers:


33

用途--download-only

sudo apt-get install --download-only pppoe

这将下载pppoe所需的任何依赖项,并将它们放在中/var/cache/apt/archives。这样,后续程序apt-get install pppoe将无需任何额外下载即可完成。


19

使用此命令:

sudo apt-get download pppoe

此命令使您可以将软件包和要求下载到当前目录中。另外,对于访问已安装的.deb文件,您可以检查以下路径:

/var/cache/apt/archives

5
不会下载依赖项,它只会下载参数中命名的软件包。
Stephen Kitt

9
此外,sudo这里不需要此解决方案。它将包下载到工作目录。
LinuxSecurityFreak

8

为了稍微扩展一下Hamid的答案,如果您只想下载指定的软件包,而别无其他,则这三个非常相似的命令中的任何一个都可以使用。(您的用例没有明确说明,因此尚不清楚您是否要这样做。)他们都将与指定软件包相对应的deb文件下载到当前目录。

apt-get download ppoe

apt download ppoe

aptitude download ppoe

前两个命令是apt程序包的一部分,第三个命令是程序包的一部分aptitude。据我所知,它们在功能上都是等效的,尽管它们之间的语法和用法有所不同,apt并且aptitude在某些情况下可能会导致您偏爱其中之一。当然,它apt是比apt-get它更新的命令-它包含apt-getapt-cache功能,同时丢弃了一些历史包bag。

还请注意,如果这些命令中的任何一个在当前目录中找到了文件,它们将不会再次下载。但是,我不确定他们使用什么标准来检查-换句话说,愚弄他们有多困难。空白文件不起作用。


2

apt提供源检索命令- 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

为此,您需要在sources.listsources.list.d目录中创建一个源存储库(/etc/apt/sources.list/etc/apt/sources.list.d/。这样的行看起来像(用合适的镜像和存储库部分替换):

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

2

在一台没有互联网但可以通过公司内部网访问的Ubuntu服务器上工作时。安装软件包具有挑战性。

我创建了一个脚本,该脚本将搜索所需软件包的依赖项,并将其存储在列表中,然后遍历该列表以下载其他子依赖项,因为有时仅一次通过依赖项下载是不够的。下载依赖项后,将它们捆绑在一个zip文件中,该文件可以整体上移动到服务器。我将此脚本称为pkgdownload

可以在我的GitHub上找到

这是工作中的图像: 在此处输入图片说明


做得好!一个不错的附加功能是可以选择下载recommendssuggests打包。参见askubuntu.com/a/117646/6227
ubiquibacon
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.