同样的疑问如何通过 apt-get 降级软件包,但如果它是在新部署的服务器上并且存档.deb
不在那里怎么办?
例如,https://launchpad.net/ubuntu/precise/amd64/wget告诉我以前的版本是1.13.4-1ubuntu2
,并且我已经1.13.4-2ubuntu
安装了:
$ dpkg -l | grep wget
ii wget 1.13.4-2ubuntu1 retrieves files from the web
当我尝试强制该版本时:
vagrant@es2:~$ sudo apt-get install wget=1.13.4-1ubuntu2
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '1.13.4-1ubuntu2' for 'wget' was not found
有没有办法“询问”apt-get update
获取有关旧版本的信息/URL/等等?
解决方案是运行我想要的版本的自己的 apt 存储库吗?
答案1
wget http://launchpadlibrarian.net/85655688/wget_1.13.4-1ubuntu2_i386.deb
结果
--08:29:45-- http://launchpadlibrarian.net/85655688/wget_1.13.4-1ubuntu2_i386.deb => `wget_1.13.4-1ubuntu2_i386.deb' 正在解析 launchpadlibrarian.net...91.189.89.229, 91.189.89.228 连接到 launchpadlibrarian.net|91.189.89.229|:80... 已连接。 HTTP 请求已发送,正在等待响应...200 OK 长度:282,988(276K)[application/x-debian-package] 100%[===================================================>] 282,988 445.03K/秒 08:29:46 (443.76 KB/s) - `wget_1.13.4-1ubuntu2_i386.deb' 已保存 [282988/282988]
只要您有互联网连接,您就可以使用 wget 获取所需的所有 deb。之后,您可以尝试使用 USC(可能由于依赖项而无法工作)或使用进行安装,dpkg
但您可能也需要先使用 wget 获取依赖项。
在这种情况下 wget ...
包关系。取决于
dpkg (>= 1.15.4)
libc6 (>= 2.11)
libidn11 (>= 1.13)
libssl1.0.0 (>= 1.0.0)
包关系。冲突
wget-ssl
顺便说一句:我搜索过https://launchpad.net并wget 1.13.4-1ubuntu2
使用此页面上的链接https://launchpad.net/ubuntu/precise/i386/wget/1.13.4-1ubuntu2将名为 的文件下载到本地wget_1.13.4-1ubuntu2_i386.deb (276.4 KiB)
。
理论上,您可以从内存中创建其他文件的下载。