私は、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
生成されたパッケージはディレクトリ( "/パス/ターゲット/ディレクトリ) 名前は現在の日時です。