安装其他版本的软件包


9

我正在运行清醒服务器,并安装了tomcat。它安装的版本是6.0.24-2ubuntu1.6。

这是我绑定的版本吗?是否可以安装更新的版本?maverick提供的一个是6.0.28。

也许我可以添加一个源来提供此版本的清醒安装?在包管理器用户界面中,我可以“强制版本”。是否可以从命令行替代中强制版本?

Answers:


6

简短答案:

使用固定,您可以选择来自特立独行的软件包,并自动获取其依赖关系,并通过软件包管理器使它们保持最新。 https://help.ubuntu.com/community/PinningHowto

https://askubuntu.com/a/103338/42024复制的详细答案:

探索apt固定会更好,请参阅man apt_preferences

因此,假设您使用的是Oneiric,并且想从Precise获得这些软件包。

如果您读过这个人,您会看到我复制/粘贴了相关部分,并修改了发行名称

/ etc / apt /首选项

Package: libccid
Pin: release n=precise
Pin-Priority: 990

Package: libpcsclite*
Pin: release n=precise
Pin-Priority: 990

Package: libusb*
Pin: release n=precise
Pin-Priority: 990

Package: opensc
Pin: release n=precise
Pin-Priority: 990

Package: pcscd
Pin: release n=precise
Pin-Priority: 990


Explanation: Uninstall or do not install any Ubuntu-originated
Explanation: package versions other than those in the oneiric release
Package: *
Pin: release n=oneiric
Pin-Priority: 900

Package: *
Pin: release o=Ubuntu
Pin-Priority: -10

然后,我将复制/etc/apt/sources.list/etc/apt/sources.list.d/precise.list并将所有出现的oneiric替换为精确。然后跑了apt-get update,最后apt-get upgrade

# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  libpcsclite1 libusb-0.1-4 libusb-1.0-0 libusbmuxd1
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 86.0 kB of archives.
After this operation, 88.1 kB disk space will be freed.
Do you want to continue [Y/n]? y
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-0.1-4 amd64 2:0.1.12-20 [17.6 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-1.0-0 amd64 2:1.0.9~rc3-2 [30.9 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise/main libpcsclite1 amd64 1.7.4-2ubuntu1 [23.5 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise/main libusbmuxd1 amd64 1.0.7-2 [14.1 kB]
Fetched 86.0 kB in 0s (124 kB/s) 

由于某些原因,没有安装pcscd和opensc,可能是因为它最初没有安装,所以没有什么要升级的,没什么大不了的,我可以像这样精确地安装该版本作为参考。

$ apt-get install opensc pcscd -t precise

注意-t的使用,packagename/precise也可以。

从最新版本开始,还有您想要的软件包,并且 只有那些软件包,它们也会自动更新。如果您不再想要它们,只需从中删除这些条目, /etc/apt/preferences下次运行apt-get upgrade 它们就会被删除。如果您要删除整个prefs文件,请确保也删除了precision.list源文件,我们的系统也会尝试将其更新为最新的软件包。另外,如果您决定稍后进行dist-upgrade,则需要删除整个prefs文件,删除其他源可能是一个好主意。没有要更新的软件包。

Apt固定并不难,您只需要进行一点尝试就可以了。n=etc的所有动词都是通过检查找到的 apt-cache policy

这就是为什么经验丰富的管理员对apt vs yum赞不绝口。您可以简洁地更新服务,并以干净,确定性和可维护的方式使它们保持最新。

也不再有编译包。

我强烈建议您阅读整个手册页并熟悉该概念,并在继续此建议之前阅读有关apt pinning的其他指南。祝好运并玩得开心点!

https://help.ubuntu.com/community/PinningHowto


这为我提供了更完整的答案:askubuntu.com/questions/103320/…–
弗朗索瓦·

2

您可以使用apt-get install somepackage = someversion在命令行上强制使用某个版本,但您不能要求apt所不知道的版本库中的版本,这通常意味着您所使用的版本。

您可以尝试从启动板手动下载maverick deb并进行安装。有时这可行,但有时取决于各种库的较新版本,因此不会安装。另一个选择是下载最新的源代码并自己编译。


谢谢,我会尝试从特立独行的那里获取它……由于它实际上没有任何依赖关系,它可能会很好地工作
Michael Wiles

1

lucid只有6.0.24可用,并且不太可能更改。很少将tomcat之类的软件移植到较早的版本。

但是,您仍然可以使用tomcat二进制软件包运行最新的tomcat。我正在使用。

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.