簡易版apt-lineの作り方 Edit

  • /share/www/download/debina26/binary-sh4/の例
    外部からWEBアクセスできる場所にbinary-sh4を作る。
    (ディレクトリ名は何でも良い)
    landisk:~# cd /share/www/download/debian26
    landisk:/share/www/download/debian26# mkdir binary-sh4
    
  • 作成したbinary-sh4/の中に、debファイルをひたすらコピーする。

  • store_pkg.pl
    本スクリプトを作成し、実行属性をセットし、binary-sh4内にコピーする。
    (本スクリプトは、名前に一貫性のないdebパッケージを、生成元のソースパッケージ名で
    グルーピングしてサブディレクトリへ格納、さらに、apt-lineを作成するスクリプトです。)
    #!/usr/bin/perl
    
    while (<*deb>){
        $file = $_;
        $packag="";
        $source="";
    
        open (DPKG, "dpkg --info $file |");
        while(<DPKG>){
    	chop;
    	$line=$_;
    	$line =~ s/^\s+//;
    	if($line =~ /^Package:/){
    	    $packag = $line;
    	    $source = $line;
    	}
    	if($line =~ /^Source:/){
    	    $source = $line;
    	}
        }
        $_ = "$packag $source ";
        ($dummy1,$packag,$dummy2,$source) = /^(\S+):\s+(\S+)\s+(\S+):\s+(\S+).*$/;
        close(DPKG);
    #    print "$file=*$packag*$source*\n";
        if(! -d "./$source"){
    	print "mkdir ./$source\n";
    	system("mkdir ./$source");
        }
        print  "mv $file ./$source/\n";
        system("mv $file ./$source/");
     }
    
    system("apt-ftparchive packages . | gzip -c9 > Packages.gz");
    
  • apt-line作成
    binary-sh4にcdして、store_pkg.plを実行すれば出来上がります。
    landisk:/share/www/download/debian26# cd binary-sh4
    landisk:/share/www/download/debian26/binary-sh4# ./store_pkg.pl
    
  • /etc/etc/apt/sources.list
    クライアント側の設定は、こんな感じでOKです。
    deb http://localhost/www/download/debian26/binary-sh4/ ./
    
    また、WEBサーバを立てられない場合は、このように直接ファイルを指定する方法もあります。
    deb file:/share/www/download/debian26/binary-sh4/ ./
    

debianの流儀に従ったapt-lineの作り方 Edit

  • debootstrap用に公開する場合にはこちらの設定をする必要があります。
    ”簡易版apt-lineの作り方”を行った後、次のようなディレクトリを作成
    landisk:/share/www/download/debian26/binary-sh4# cd ..
    landisk:/share/www/download/debian26# mkdir -p  dists/sarge/main/binary-sh4/
    
  • mkaptline.pl
    本スクリプトを作成し、実行属性をセットし、debian26内にコピーする。
    #/bin/sh
    
    rm dists/sarge/main/binary-sh4/Packages*
    apt-ftparchive packages  binary-sh4  >  dists/sarge/main/binary-sh4/Packages.tmp
    cp dists/sarge/main/binary-sh4/Packages.tmp  dists/sarge/main/binary-sh4/Packages
    gzip dists/sarge/main/binary-sh4/Packages
    mv dists/sarge/main/binary-sh4/Packages.tmp dists/sarge/main/binary-sh4/Packages
    
    rm dists/sarge/Release*
    apt-ftparchive \
            -o APT::FTPArchive::Release::Origin="kogiidena" \
            -o APT::FTPArchive::Release::Label="Unofficial Debian Packages" \
            -o APT::FTPArchive::Release::Architectures="sh4" \
            -o APT::FTPArchive::Release::Components="main" \
            -o APT::FTPArchive::Release::Description="unofficail Debian packages maintained by kogiidena" \
            -o APT::FTPArchive::Release::Codename="sarge" \
            -o APT::FTPArchive::Release::Suite="sarge" release dists/sarge > dists/sarge/Release
    
  • apt-line作成
    debian26へcdして、mkaptline.plを実行すれば出来上がります。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-06-13 (火) 20:02:27 (6534d)