web-dev-qa-db-ja.com

Arch Linuxでパッケージの[利用可能な]バージョンを一覧表示するにはどうすればよいですか?

Arch Linuxの特定のパッケージのall利用可能なバージョン(インストール済みおよび非インストール済み)を一覧表示する方法だけでなく、最新バージョン。 Gentoo(eix <package>)、CentOS/Suse/Redhat/...(yum list <package>)およびDebian(apt-cache policy <package>)。 Archで一度やったことはあるのですが、その方法を思い出せません。私が欲しいパッケージはpacmanキャッシュのではないと仮定されています。

Archを使用すると、次のようになります。

$ pacman -Ss gcc
core/gcc 6.2.1-1 (base-devel)
    The GNU Compiler Collection - C and C++ frontends
core/gcc-ada 6.2.1-1
    Ada front-end for GCC (GNAT)
core/gcc-fortran 6.2.1-1
...

これがGentooで持っているものの例です:

eix gcc
...
[I] sys-devel/gcc
     Available versions:  
     (2.95.3) ~*2.95.3-r10^s
     (3.3.6) ~3.3.6-r1^s
     (3.4.6) 3.4.6-r2^s
     (4.0.4) **4.0.4^s
     (4.1.2) 4.1.2^s
     (4.2.4) ~4.2.4-r1^s
     (4.3.6) 4.3.6-r1^s
     (4.4.7) 4.4.7^s
     (4.5.4) 4.5.4^s
     (4.6.4) 4.6.4^s
     (4.7)  4.7.4^s
     (4.8)  ~4.8.0^s ~4.8.1-r1^s ~4.8.2^s 4.8.3^s 4.8.4^s 4.8.5^s
     (4.9)  ~*4.9.0^s ~*4.9.1^s ~4.9.2^s ~4.9.3^s
     (5.1)  **5.1.0^s
     (5.2)  **5.2.0^s
       {altivec awt boundschecking cilk +cxx d debug doc fixed-point +fortran gcj go graphite hardened libssp mudflap multilib multislot +nls nopie nossp +nptl objc objc++ objc-gc +openmp regression-test +sanitize Vanilla}
     Installed versions:  4.8.5(4.8)^s(10:57:39 02/09/15)(cxx fortran multilib nls nptl openmp sanitize -altivec -awt -debug -doc -fixed-point -gcj -go -graphite -hardened -libssp -mudflap -multislot -nopie -nossp -objc -objc++ -objc-gc -regression-test -Vanilla)
     Homepage:            http://gcc.gnu.org/
     Description:         The GNU Compiler Collection
...

ここにGCCの利用可能なすべてのバージョンがあり、インストールされているバージョンが反転表示で強調表示されています(ここには表示されません)。私がこれを実行したシステムでは、インストールされているGCCはバージョン4.8.5です。

では、どのようにArch Linuxで再びそれを行うのでしょうか?


[〜#〜] edit [〜#〜]:自分のマシンにArchはもうありませんが、精度を上げるために詳細を追加する必要があると思います。当時私が欲しかったのは、パッケージをダウングレードする方法ではありませんでした。 upgradeだけでなく、にしたいパッケージの利用可能なバージョンのリストを知る必要があります最新バージョン。これは、パッケージの最新バージョン(アップグレード時)にバグがあることがわかっており、システムに現在インストールされているバージョンのアップグレードでもある場合に、以前のバージョンを試したい場合に便利です。

5
user86969

シンプルな pacman -Ss <package>はその情報を表示します:

↪ LC_ALL=en_US.utf8 pacman -Ss evince
testing/evince 3.22.0+1+gc1dd9eb-1 (gnome) [installed: 3.20.1-2]
Document viewer (PDF, Postscript, djvu, tiff, dvi, XPS, SyncTex support with gedit, comics books (cbr,cbz,cb7 and cbt))
extra/evince 3.20.1-2 (gnome) [installed]
Document viewer (PDF, Postscript, djvu, tiff, dvi, XPS, SyncTex support with gedit, comics books (cbr,cbz,cb7 and cbt))

あなたの質問の例の後に更新してください:

Arch Linuxでは、(非公式リポジトリを使用している場合を除いて)2つのバージョンのパッケージしか利用できません。1つはcore/extra/community/multilibリポジトリの安定バージョンで、もう1つはテスト版です。

古いパッケージを本当に本当にインストールしたい場合、それらを見つけるための複数のオプションがあります:

  1. Arch Linux Archive を使用して、パッケージの古いバージョンを見つけます。

  2. downgrading ウィキの記事にあるツールの1つを使用して、それらを見つけます(例:agetpkg -l gccまたはdowngrader gcc

部分的なアップグレードはサポートされていません であるため、Arch Linuxのパッケージは通常、依存関係のバージョン境界を指定しないため、一部のパッケージの古いバージョンをインストールすることはお勧めできません。

5
Wieland

Arch Linux wikiから(私の強調):

利用可能なパッケージの古いバージョンと新しいバージョンを表示するには、"VerbosePkgLists"/etc/pacman.conf.行のコメントを外します

特定のバージョンのインストールの詳細ここ

編集:

VerbosePkgListsのコメントを外したArchシステムでの表示は次のとおりです。

Sudo pacman -Sy firefox
:: Synkroniserar paketdatabasen...
 core är senaste versionen
 extra är senaste versionen
 community är senaste versionen
löser beroenden...
Söker efter paket med konflikter...

Paket (1)      Gammal Version  Ny Version  Nettoskillnad  Hämtningsstorlek

extra/firefox  48.0.2-1        49.0.1-1        -0,35 MiB         39,82 MiB

Total hämtningsstorlek:     39,82 MiB
Total installationsstorlek:  89,81 MiB
Nettouppgraderingsstorlek:   -0,35 MiB

:: Fortsätt med installation? [Y/n] 

私のシステムは(明らかに)スウェーデン語ですが、「Gammal Version」はOld versionを意味し、「Ny Version」はNew versionを意味します。また、上記のように、何かをインストールする前に[Y/n]のプロンプトが表示されます。

2
maulinglawns