*''簡易版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