*''簡易版apt-lineの作り方'' [#uaf219d5]
-/share/www/download/debina26/binary-sh4/の例~
外部からWEBアクセスできる場所にbinary-sh4を作る。~
(ディレクトリ名は何でも良い)~
#pre{{
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を作成するスクリプトです。)
#pre{{
#!/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を実行すれば出来上がります。~
#pre{{
landisk:/share/www/download/debian26# cd binary-sh4
landisk:/share/www/download/debian26/binary-sh4# ./store_pkg.pl
}}
-/etc/etc/apt/sources.list~
クライアント側の設定は、こんな感じでOKです。
#pre{{
deb http://localhost/www/download/debian26/binary-sh4/ ./
}}
また、WEBサーバを立てられない場合は、このように直接ファイルを指定する方法もあります。
#pre{{
deb file:/share/www/download/debian26/binary-sh4/ ./
}}
~
*debianの流儀に従ったapt-lineの作り方 [#k026e332]
-
debootstrap用に公開する場合にはこちらの設定をする必要があります。~
”簡易版apt-lineの作り方”を行った後、次のようなディレクトリを作成~
#pre{{
landisk:/share/www/download/debian26/binary-sh4# cd ..
landisk:/share/www/download/debian26# mkdir -p  dists/sarge/main/binary-sh4/
}}
-mkaptline.pl~
本スクリプトを作成し、実行属性をセットし、debian26内にコピーする。~
#pre{{
#/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を実行すれば出来上がります。~

-/etc/etc/apt/sources.list~
#pre{{
deb http://localhost/www/download/debian26 sarge main
}}
~
#counter

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS