Debian テストのリリース日に基づいてアップデートをソートする方法は?

Debian テストのリリース日に基づいてアップデートをソートする方法は?

私は、Debianテストに基づくLinux mint debian linux distroのユーザーです。 Debian Beta はローリングリリースです。このディストリビューションのテスト特性により、一部のパッケージアップデートでバグが発生します。リリース日ごとにパッケージを並べ替える方法を探しています。エラーを最小限に抑えるために、インストール当日にアップデートがリリースされた後にアップデートをインストールしたいと思います。私は、パッケージをインストールする前に報告されたバグを表示することによって報告されたバグを見つけるのに役立つapt-listbugsという良いプログラムに既に慣れています。

簡単に言うと:Debian テストのリリース日に基づいてアップデートをソートする方法は?

答え1

ダウンロード専用のアップグレードを実行できると思います。

sudo apt-get --download-only dist-upgrade

次に、ファイルのタイムスタンプを確認してください/var/cache/apt/archives。これは考えるダウンロードタイムスタンプではなく、サーバー上の同じ.debファイルのタイムスタンプです。

したがって、あまりにも多くの新しいファイルを削除してから(findの助けを借りてお勧めします)、ダウンロードなしのアップグレードを実行すると、以前のディレクトリの残りのファイルが使用されます。

sudo apt-get --no-download dist-upgrade

ls-lR.gzまたは、サーバー上のファイルからアップグレード可能なパッケージのタイムスタンプを取得できますが、この場合、ダウンロード容量も6〜7 MBになります。以下は、順序付きリストを取得するスクリプトです。

#!/bin/bash

server_list_url="http://ftp.debian.org/debian/ls-lR.gz"
server_list="${server_list_url##*/}"
LANG=en

# get urls of upgradable packages
apt-get --print-uris --yes dist-upgrade |
  awk -F \' '/(ht|f)tp/ { print $2 }' |
  sed -r 's/^.*\///' >local_list

if [[ -s local_list ]]; then

  wget -qN "$server_list_url"

  # sort older packages by time (8th fiels is year)
  zgrep -F -f local_list "$server_list" |
    awk '$8 !~ /:/' |
    sort -k8,8n -k6,6M -k7,7n -k9

  # sort newer packages by time (8th field is hour:min)
  zgrep -F -f local_list "$server_list" |
    awk '$8 ~ /:/' |
    sort -k6,6M -k7,7n -k8,8 -k9
else
  echo "No package to upgrade" >&2
fi

答え2

あなたの質問を理解したかどうかはわかりませんが、次のことができます。wajig同様の目的で。このupgradeコマンドは、現在インストールされているパッケージのDEBファイルを生成します(使用dpkg-repack)がまもなくアップグレードされる予定です。これはアップグレード前に発生します。コマンドは次のとおりです。

wajig --backup=/path/to/dir upgrade

生成されたパッケージはディレクトリ( "/パス/ターゲット/ディレクトリ) 名前は現在の日時です。

関連情報