別のバージョンのパッケージをインストールする


9

lucidサーバーを実行していて、tomcatをインストールしました。インストールされたバージョンは6.0.24-2ubuntu1.6です。

これは私が関係しているバージョンですか?より新しいバージョンをインストールすることは可能ですか?maverickから入手できるものは6.0.28です。

このバージョンで明快なインストールを提供するためにソースを追加できますか?パッケージマネージャーのユーザーインターフェイスでは、「バージョンを強制する」ことができます。コマンドラインの代替からバージョンを強制することも可能ですか?

回答:


6

簡潔な答え:

ピニングを使用すると、maverickから提供されたパッケージを選択し、それらの依存関係を自動的に取得して、パッケージマネージャーを通じて最新の状態に保つことができます。 https://help.ubuntu.com/community/PinningHowto

https://askubuntu.com/a/103338/42024からコピーされた長い回答:

apt pinningを調査する方がはるかによいでしょうman apt_preferences。を参照してください。

それでは、Oneiricを使用していて、Preciseからそれらのパッケージを取得したいとします。

男性を読むと、関連セクションをコピー/貼り付けて、リリース名を変更しただけです。

/ etc / apt / preferences

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

使用に注意してください-tpackagename/preciseまた仕事をします。

最新のリリースから必要なパッケージがあり、 それらのパッケージのみが自動的に更新されます。それらが不要になった場合は、からエントリを削除する /etc/apt/preferencesと、次に実行したapt-get upgrade ときに削除されます。prefsファイル全体を削除する場合は、そのPrecision.list sourcesファイルも削除してください。システムは最新のパッケージセットに更新しようとします。また、後でdist-upgradeする場合は、prefsファイル全体を削除する必要があります。他のsources.listを削除することをお勧めします。更新するパッケージはありません。

Aptの固定はそれほど難しくありません。少し掘り下げて実験するだけです。n=etcのすべての動詞は、を調べると見つかり apt-cache policyます。

これが、熟練した管理者がaptとyumを怒らせ、絶賛する理由です。サービスを簡潔に更新し、クリーンで、確定的で、保守可能な方法で最新に保つことができます。

パッケージのコンパイルも不要です。

この提案を続ける前に、manページ全体を読んで概念に慣れ、apt pinningに関する他のガイドを読むことを強くお勧めします。頑張って楽しんでね!

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


これにより、より完全な回答が得られました。askubuntu.com
フランソワボーソレイユ

2

コマンドラインでapt-get install somepackage = someversionを使用してバージョンを強制できますが、aptが認識しているリポジトリにないバージョンを要求することはできません。これは通常、現在のリリースを意味します。

ランチパッドからmaverick debを手動でダウンロードしてインストールすることができます。これは機能する場合もあれば、さまざまなライブラリの新しいバージョンに依存する場合があるため、インストールされません。もう1つのオプションは、最新のソースをダウンロードして自分でコンパイルすることです。


おかげで、私は異端者からそれを取得しようとします...それは本当に依存関係がないのでうまくいくかもしれません
Michael Wiles

1

lucidには6.0.24しかありませんが、変更される可能性はほとんどありません。tomcatなどのソフトウェアを古いリリースにバックポートすることはまれです。

ただし、tomcatバイナリパッケージを使用して最新のtomcatを実行できます。私はそれを使っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.