link もっと前
   2019年 8月 13日 -
      2019年 8月 13日  
link もっと後

link 未来から過去へ表示(*)
link 過去から未来へ表示

日々

link permalink

独自の apt サーバー - その 4 - まとめ

まとめです。

ディレクトリ構成、設定ファイル

ディレクトリ構成は下記のとおりです。Docker のパッケージサーバーを参考リンク)にしています。

HTML サーバーのルートディレクトリ、ディレクトリ構成
linux
|-- conf
|   |-- apt_generate_debian_buster.conf
|   `-- apt_release_debian_buster.conf
`-- debian
    |-- dists
    |   `-- buster
    |       |-- InRelease
    |       |-- Release
    |       |-- Release.gpg
    |       |-- packages-amd64.db
    |       |-- pool
    |       |   `-- stable
    |       |       `-- amd64
    |       |           |-- containerd.io_1.2.6-3_amd64.deb
    |       |           |-- docker-ce-cli_19.03.1~3-0~debian-buster_amd64.deb
    |       |           `-- docker-ce_19.03.1~3-0~debian-buster_amd64.deb
    |       `-- stable
    |           |-- Contents-amd64
    |           |-- Contents-amd64.bz2
    |           |-- Contents-amd64.gz
    |           `-- binary-amd64
    |               |-- Packages
    |               |-- Packages.bz2
    |               `-- Packages.gz
    `-- gpg
        `-- public.key

10 directories, 16 files

パッケージの情報ファイルを作成する apt-ftparchive の設定ファイルは 2種類あり、下記のとおりです。

apt_generate_debian_buster.conf

Dir::ArchiveDir ".";
Dir::CacheDir   "dists/buster";
Default::Packages::Compress   ". gzip bzip2";
Default::Packages::Extensions ".deb";
Default::Sources::Compress    ". gzip bzip2";
Default::Contents::Compress   ". gzip bzip2";
Default::FileMode             0644;
TreeDefault::Directory        "dists/buster/pool/stable/stable/amd64";
TreeDefault::Packages         "dists/buster/stable/binary-amd64/Packages";

Tree "dists/buster" {
    Sections "stable";
    Architectures "amd64";
};

BinDirectory "dists/buster/stable/binary-amd64" {
    Packages "dists/buster/stable/binary-amd64/Packages";
    Contents "dists/buster/stable/Contents-amd64";
};
apt_release_debian_buster.conf

APT::FTPArchive::Release {
    Architectures "amd64";
    Components "stable";
    Label "Test Label";
    Origin "Test";
    Suite "buster";
};

Tree::Sections, Tree::Architectures に複数の値を指定したとき、他の設定をどのように書けばよいのか?についてはこれからの課題ですね。

apt-ftparchive の実行と署名

設定ファイルを作ったら apt-ftparchive コマンドを実行し、Release ファイルに署名します。

apt-ftparchive を実行、Release ファイルに署名

export TARGET=debian
export DIST=buster
export SECT=stable
export ARCH=amd64
mkdir -p /var/www/linux/${TARGET}/dists/${DIST}/${SECT}/binary-${ARCH}
mkdir -p /var/www/linux/${TARGET}/dists/${DIST}/pool/${SECT}/${ARCH}


# *.deb ファイルをコピーする(モジュールによってコピー元は違うと思うので、これは一例)
# cp *.deb /var/www/linux/${TARGET}/dists/${DIST}/pool/${SECT}/${ARCH}


# Packages, Contents ファイルを作る
# linux/debian の下で apt-ftparchive を実行しないと *.deb が見つからないといわれる

cd /var/www/linux/${TARGET}
find . -name "Contents-*" -or -name "Contents-*.*" | xargs rm -f
find . -name "Packages" -or -name "Packages.*" -or -name "packages-*" | xargs rm -f
find . -name Release -or -name Release.gpg -or -name InRelease | xargs rm -f
apt-ftparchive generate ../conf/apt_generate_${TARGET}_${DIST}.conf


# Release ファイルを作る
# linux/debian/dists/buster の下で apt-ftparchive を実行しないと、
# 後ほど apt-get を実行した際にパッケージが見つからないといわれる

cd /var/www/linux/${TARGET}/dists/${DIST}
apt-ftparchive release -c=../../../conf/apt_release_${TARGET}_${DIST}.conf . > Release


# GnuPG で Release ファイルに署名

echo -n "abcd1234" | gpg --batch --passphrase-fd 0 --pinentry-mode loopback --clearsign -o InRelease Release
echo -n "abcd1234" | gpg --batch --passphrase-fd 0 --pinentry-mode loopback -abs -o Release.gpg Release
chmod 644 Release InRelease Release.gpg

GnuPG の鍵ファイルの作成と、apt への登録方法については、その 3 をご参照ください。

[編集者: すずき]
[更新: 2019年 8月 12日 12:08]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
   2019年 8月 13日 -
      2019年 8月 13日  
link もっと後

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDF ファイル RSS 1.0
QR コード QR コード

最終更新: 8/23 23:38

カレンダー

<2019>
<<<08>>>
----123
45678910
11121314151617
18192021222324
25262728293031

最近のコメント 5件

  • link 19年07月18日
    hdk 「あっ、AAMはマニュアルのオペレーション...」
    (更新:07/25 00:02)
  • link 19年07月18日
    すずき 「AAM(ASCII Adjust AX ...」
    (更新:07/24 22:22)
  • link 19年07月18日
    hdk 「加算減算は符号のありなしどちらも命令が同...」
    (更新:07/24 07:25)
  • link 19年07月18日
    すずき 「OFをセットして例外を出したければINT...」
    (更新:07/20 11:02)
  • link 19年07月18日
    すずき 「MUL については、結果が倍のビット幅に...」
    (更新:07/20 10:56)

最近の記事 3件

link もっとみる
  • link 19年08月21日
    すずき 「[RockPro64 と linux-next とヘッドフォン] ...」
    (更新:08/23 23:38)
  • link 19年08月12日
    すずき 「[独自の apt サーバー - その 3 - apt の信頼シ] ...」
    (更新:08/12 12:13)
  • link 19年08月11日
    すずき 「[独自の apt サーバー - その 2 - apt-ftpa] ...」
    (更新:08/12 12:13)

こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報