最近、Linuxパッケージ管理を学んでいます(https://superuser.com/questions/393681/how-to-find-out-which-versions-of-a-package-can-i-install-on-apt、https://askubuntu.com/questions/340530/how-can-i-check-the-available-version-of-a-package-in-the-repositories、Linuxディストリビューションごとにパッケージ形式(およびパッケージマネージャ)が異なるのはなぜですか?、https://itsfoss.com/ubuntu-repository-mechanism/、https://itsfoss.com/sources-list-ubuntu/)
私が正しく理解した場合/etc/apt/sources.list
(および.list
/.sources
のファイル/etc/apt/sources.list.d/
)は、apt-get
パッケージ/ソースコードをどこで取得するか(および関連ユーティリティ)を制御します。
現在のバージョンはjammyなので、アイテムは次sources.list
のようになります。
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted
deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted
running apt-file update
...これは(それから)atの利用可能なすべてのバージョンが検索されるapt-cache policy libuv1
ことを意味すると思います。libuv1
http://archive.ubuntu.com/ubuntu/dists/jammy/main/
$ apt-cache policy libuv1
libuv1:
Installed: 1.43.0-1
Candidate: 1.43.0-1
Version table:
*** 1.43.0-1 500
500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
100 /var/lib/dpkg/status
$
$ apt-cache madison libuv1
libuv1 | 1.43.0-1 | http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
libuv1 | 1.43.0-1 | http://archive.ubuntu.com/ubuntu jammy/main Sources
$
私の質問は次のとおりですlibuv1
編集せずにjammy以外のバージョンの利用可能なパッケージバージョンを照会する方法はありますかsources.list
?
上記の出力では、apt-cache
1.43.0-1はパッケージとソースの両方として使用できる唯一のバージョンであるようです。しかし、私は知っていますlibuvの作成者は最新バージョンを持っています。。最新のlibuv1
パッケージまたはソースコードの可用性をJammyではなくパッケージリポジトリに照会することが可能かどうか疑問に思います。多くの注意を払って、私は忘れて誤って実行したいと思うので、deb-src http://archive.ubuntu.com/ubuntu/ mantic main restricted
toのような項目を追加することについて不安です。sources.list
apt-get upgrade
フランケンデビアン?
ただ知りたい - ただ好奇心のためなら -~に関係なくソース/パッケージの新しいバージョンは、libuv1
編集の危険なしに現在のバージョン以外のバージョンに存在します。sources.list
方法はありますか?つまり、sources.list
可用性を照会し、同時にパッケージをインストールするには編集する必要がありますか?それとも、ファイルを編集せずにパッケージの可用性を照会できますか?
答え1
Constantin ABの答え言及されているが詳細に説明されていないのは、rmadison
あなたが探しているツールです。
インストールdevscripts
パッケージ:
$ sudo apt install --no-install-recommends devscripts wget
(devscripts
オプションの依存関係がたくさんあるため、明示的に--no-install-recommends
; rmadison
need wget
、これはこれらのオプションの依存関係の1つです。)その後、オンラインrmadison
データベースを照会するために実行します。
$ rmadison libuv1
libuv1 | 1.8.0-1 | xenial/universe | source, amd64, arm64, armhf, i386, powerpc, ppc64el, s390x
libuv1 | 1.18.0-3 | bionic | source, amd64, arm64, armhf, i386, ppc64el, s390x
libuv1 | 1.34.2-1ubuntu1 | focal | source, amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
libuv1 | 1.34.2-1ubuntu1.3 | focal-security | source, amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
libuv1 | 1.34.2-1ubuntu1.3 | focal-updates | source, amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
libuv1 | 1.43.0-1 | jammy | source, amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
libuv1 | 1.44.2-1 | lunar | source, amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
libuv1 | 1.44.2-1 | mantic | source, amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
libuv1 | 1.46.0-2ubuntu1 | noble | source, amd64, arm64, armhf, i386, ppc64el, riscv64, s390x
libuv1 | 1.46.0-3 | noble-proposed | source, amd64, arm64, i386, ppc64el, riscv64, s390x
構文は非常に簡単で、rmadison
興味のあるバイナリおよび/またはソースパッケージの名前が続きます。
Debianから直接インポートされるため、libuv1
ほとんどの場合変更はありませんので、それらも確認できます。
$ rmadison -u debian libuv1
libuv1 | 1.24.1-1+deb10u1 | oldoldstable | source, amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x
libuv1 | 1.24.1-1+deb10u1 | oldoldstable-debug | source
libuv1 | 1.40.0-2 | oldstable | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
libuv1 | 1.44.2-1 | stable | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
libuv1 | 1.46.0-2 | testing | source, amd64, arm64, armel, armhf, i386, mips64el, ppc64el, s390x
libuv1 | 1.46.0-3 | unstable | source, amd64, arm64, armel, armhf, i386, mips64el, ppc64el, riscv64, s390x
libuv1 | 1.46.0-3 | unstable-debug | source
したがって、libuv
1.47.0はDebianまたはUbuntu用にまだパッケージされていません。
(Debianを使用している読者の場合、デフォルト設定は逆です。オプションなしでrmadison
Debian-u
を照会し、rmadison -u ubuntu
Ubuntuを照会します。)
答え2
その日、私はrmadison
devscriptsパッケージを使用しました。
最近では、あまりにも怠惰な残りの過剰なことをすることもあります。
podman run -it --rm debian:$version sh -c "apt-get update > /dev/null; apt-get info $package"
(設定が簡単で、$version
3$package
行のシェルスクリプトで$ 1、$ 2で始まります)。
もちろん、これは簡単な質問に答えてLinuxコンテナ全体を起動(またはまだ存在していない場合はダウンロード)します。しかし、これは他のツールの構文を覚えておく必要はなく、同じトリックを使用して「xfceを使用してDebian 13にclementineをインストールするために何回のダウンロードが必要ですか?」などのより複雑な質問に答えることができます。