組み込みLinuxプラットフォームにTZデータベースをインストールするには?

組み込みLinuxプラットフォームにTZデータベースをインストールするには?

在庫OSイメージに共通/usr/share/zoneinfo

アプリケーションにタイムゾーンのサポートを含めることができるように、このデバイスを改善したいと思います。デバイスにはパッケージマネージャがなく、または同じ一般的なタイムゾーン管理ユーティリティも含まれていませtzselecttimedatectrl。データをデバイスに転送する主な方法は、USBフラッシュドライブを使用することです。

デバイスのGLIBCライブラリがタイムゾーンのサポートを含むように構築されていることを確認し、自分のコンピュータからデバイスにTZデータベースを手動でコピーし、予想されるさまざまなシンボリックリンクを作成して、タイムゾーンのサポートをある程度取得できることを確認しました。

TZデータベースのインストールについてオンラインで見つけることができるすべてのものにはプラットフォームのパッケージマネージャを使用することをお勧めしますが、この場合はパッケージマネージャを使用することはできません。複雑な要因は、デバイスメーカーがすべてのユーザーデータをこの/optディレクトリに適切に配置することをお勧めします(システムディレクトリは読み取り専用としてマウントされます)。

/opt/usr/share/zoneinfo一般的なリンクの代わりに - >シンボリックリンクを使用してデータベースをインストールしたいと思います。これは、私の開発コンピュータのディレクトリからコピーされたシンボリックリンクがターゲットに到達した後に正しい場所を指していないことを意味します(絶対的であると仮定)。/usr/share/zoneinfo/usr/share/zoneinfo/opt/usr/share/zoneinfozoneinfo

したがって、TZデータベースをコピーするには、次のものが必要だと思います。

  • 私の開発デバイスにあるディレクトリの一時コピーをインポートしますusr/share/zoneinfo。機械
  • symlinksすべての絶対記号リンクを相対記号リンクに変換するには、このユーティリティを使用します。
  • シンボリックリンクを保持するアーカイブ形式でディレクトリを圧縮します。
  • アーカイブをUSBフラッシュドライブにコピー
  • 好きな場所に抽出してください。

より良い/標準/正しい方法はありますか?

メモ:私はCrossControl CCPilot VS、Yoctoによって生成されたLinuxオペレーティングシステムを使用しています。

ベストアンサー1

特定のハードウェアとシナリオについて詳しく知らない場合でも、ここで最も簡単な方法は次の方法に従うことです。スクラッチプロジェクト(LSF)のLinux

最初からLinux

このプロジェクトでは、次のステップについて説明します。

8.5.2.2.タイムゾーンデータの追加

次のコマンドを使用してタイムゾーンデータをインストールして設定します。

    tar -xf ../../tzdata2018e.tar.gz
    
    ZONEINFO=/usr/share/zoneinfo
    mkdir -pv $ZONEINFO/{posix,right}
    
    for tz in etcetera southamerica northamerica europe africa antarctica  \
              asia australasia backward pacificnew systemv; do
        zic -L /dev/null   -d $ZONEINFO       -y "sh yearistype.sh" ${tz}
        zic -L /dev/null   -d $ZONEINFO/posix -y "sh yearistype.sh" ${tz}
        zic -L leapseconds -d $ZONEINFO/right -y "sh yearistype.sh" ${tz}
    done
    
    cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO
    zic -d $ZONEINFO -p America/New_York
    unset ZONEINFO

*引用: https://www.linuxfromscratch.org/lfs/view/development/chapter08/glibc.html

アーカイブ?

もしそうなら、残りの唯一の質問は、このtzdata2018e.tar.gzファイルをどこで入手できるのかということです。 Googleでさらに検索すると、このページが表示されます。3.2.すべてのパッケージ、そのURLはこのページで利用可能です。

タイムゾーンデータ(2018e) - 346KB:

おすすめ記事