一時的にシステムパッケージを上書きする

一時的にシステムパッケージを上書きする

私は高精度の時間/タイムゾーンを必要とするシステムに取り組んでいます。

見ているtzdataパッケージ発売後数日後に更新される場合もあります。インターネット割り当て番号機関データベースファイルを更新します。

ソースを確認しtzdata、IANAからデータベースをダウンロードして抽出して再パッケージすることは非常に簡単です。

しかし、正式なアップデートなしでパッケージだけを扱いたいです。リポジトリに公式アップデートがある場合は、tzdata元の状態に戻したいと思います。

これを達成するための最良の方法は何ですか?

ベストアンサー1

パッケージのバージョンが最終的に使用するバージョン番号より前のバージョン番号を使用する必要があります。ローカルビルドに対してこれを行う標準的な方法は、〜サフィックスを使用することです。なぜなら、このサフィックスは何よりも前に来るからです(したがって古いと見なされます)。したがって、2017aの場合は、バージョン番号2017a〜-0.1(-0.1)を使用してください。新しいバージョン非公式パッケージ)。現在のバージョン以降にソートされます。

$ dpkg --compare-versions 2016j-0ubuntu0.16.04 lt 2017a~-0.1
$ echo $?
0

したがって、アップグレード候補として選択され、次のバージョンより前にランク付けされます。

$ dpkg --compare-versions 2017a~-0.1 lt 2017a-0ubuntu0.16.04
$ echo $?
0

したがって、次の公式バージョンがそれを置き換えます。

tzdataこのスキームは、次のアップデートソース(DebianまたはUbuntu)に関係なく機能します。

Debian ポリシーバージョンについてすべての詳細があります。

おすすめ記事