ubuntu通过apt-get获取已安装的package的下载链接或将其下载到本地
方法 1: 获取已安装包的下载链接
-
检查已安装包的版本: 首先,确认你需要的软件包是否已安装,以及它的版本信息:
dpkg -l | grep <package_name>
示例:
dpkg -l | grep vim
-
获取下载链接: 使用
apt-get download
的--print-uris
选项打印软件包的下载链接:apt-get install --reinstall --print-uris -y <package_name>
示例:
apt-get install --reinstall --print-uris -y vim
输出结果中会包含类似以下的链接:
'http://archive.ubuntu.com/ubuntu/pool/main/v/vim/vim_8.2.2434-3ubuntu3_amd64.deb'
-
手动下载: 根据输出的链接使用
wget
或其他工具下载:wget http://archive.ubuntu.com/ubuntu/pool/main/v/vim/vim_8.2.2434-3ubuntu3_amd64.deb
方法 2: 直接将包下载到本地
如果你只想将已安装的软件包(包括依赖项)直接下载到本地,可以使用以下步骤:
1. 使用 apt-get download
apt-get download
可以直接下载指定的软件包:
apt-get download <package_name>
示例:
apt-get download vim
下载的 .deb
文件会保存到当前目录。
2. 使用 apt-get
下载依赖项
如果需要同时下载包的依赖项,可以使用以下方法:
-
安装
apt-rdepends
工具:sudo apt-get install apt-rdepends
-
获取软件包及其所有依赖项的下载链接:
apt-rdepends <package_name> | grep -v "^ " | xargs apt-get download
方法 3: 使用 apt-offline
工具(推荐离线需求)
apt-offline
是一个专门用于离线管理包的工具,适合在一台联网的机器上下载软件包及其依赖项,然后传输到离线的机器上进行安装。
-
安装
apt-offline
:sudo apt-get install apt-offline
-
生成请求文件(在目标机器上):
apt-offline set package-download.sig --install-packages <package_name>
-
在联网机器上下载软件包: 将生成的
package-download.sig
文件复制到联网机器,然后运行以下命令下载软件包和依赖项:apt-offline get package-download.sig --bundle package-bundle.zip
-
将下载的包安装到目标机器: 将下载的
package-bundle.zip
复制回目标机器,并安装:apt-offline install package-bundle.zip
总结
- 如果只需要获取单个已安装包的下载链接,使用
apt-get install --print-uris
。 - 如果需要下载包及其依赖项,使用
apt-get download
或apt-rdepends
。 - 如果需要更复杂的离线包管理,推荐使用
apt-offline
工具。