|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
# «.dmissing» (to "dmissing")
# «.apt-howto» (to "apt-howto")
# «.repository-with-installed-debs» (to "repository-with-installed-debs")
#####
#
# dmissing
# 2004oct28
#
#####
# «dmissing» (to ".dmissing")
#*
# Prepare the local files - download Contents-i386.gz and unpack it.
# This block only needs to be run once.
# Obs: some installation CDs contain a copy of Contents-i386.gz.
mkdir -p ~/snarf/http/ftp.br.debian.org/debian/dists/sarge/
cd ~/snarf/http/ftp.br.debian.org/debian/dists/sarge/
wget http://ftp.br.debian.org/debian/dists/sarge/Contents-i386.gz
zcat Contents-i386.gz > Contents-i386
#*
# You can put this definitions in your .bashrc ou .zshrc.
function dmissing () {
grep -h $* ~/snarf/http/ftp.br.debian.org/debian/dists/sarge/Contents-i386
}
#*
# a test:
dmissing libc | grep /info/
#*
# The output is a series of lines like these:
# usr/share/info/cln.info.gz libdevel/libcln-dev
# usr/share/info/commoncpp2.info-1.gz libdevel/libcommoncp
# usr/share/info/commoncpp2.info-2.gz libdevel/libcommoncp
# usr/share/info/commoncpp2.info-3.gz libdevel/libcommoncp
# usr/share/info/commoncpp2.info.gz libdevel/libcommoncp
# usr/share/info/libc-dir-add.info.gz doc/glibc-doc
# usr/share/info/libc.info-1.gz doc/glibc-doc
# usr/share/info/libc.info-10.gz doc/glibc-doc
# usr/share/info/libc.info-11.gz doc/glibc-doc
# usr/share/info/libc.info-12.gz doc/glibc-doc
# (...)
# usr/share/info/libc.info-8.gz doc/glibc-doc
# usr/share/info/libc.info-9.gz doc/glibc-doc
# usr/share/info/libc.info.gz doc/glibc-doc
# usr/share/info/libcdio.info.gz devel/libcdio-dev
# usr/share/info/zlibc.info.gz libs/zlibc
#####
#
# apt-howto
# 2004oct30
#
#####
# «apt-howto» (to ".apt-howto")
# (find-status "apt-howto-en")
# (find-vldifile "apt-howto-en.list")
# (find-udfile "apt-howto-en/")
# (find-apthowtofile "")
# (find-apthowtofile "apt-howto.en.txt.gz")
#####
#
# A repository with the installed debs (in /var/www/vcarchives/)
# 2004sep07
#
#####
# «repository-with-installed-debs» (to ".repository-with-installed-debs")
# «var-www-vcarchives» (to ".var-www-vcarchives")
# (find-udfile "Debian/apt-howto/apt-howto.en.txt.gz")
# (find-udfile "Debian/apt-howto/apt-howto.en.txt.gz" "dpkg-scanpackages")
# (find-man "1 dpkg-scanpackages")
# A first exercise: a repository with the debs from /var/cache/apt/archives/
# http://127.0.0.1/
# http://127.0.0.1/vcarchives/
#*
sudo rm -Rv /var/www/vcarchives/
sudo mkdir /var/www/vcarchives/
sudo chmod 777 /var/www/vcarchives/
#*
cd /var/www/vcarchives/
mkdir debs
cp -ilv /var/cache/apt/archives/*.deb debs/
mkdir -p dists/sarge/main/binary-i386/
dpkg-scanpackages debs /dev/null \
| tee dists/sarge/main/binary-i386/Packages \
| gzip -c9 > dists/sarge/main/binary-i386/Packages.gz
#*
# Now do it seriously
#*
mkdir /tmp/cdd/
sudo umount /tmp/cdd/
sudo mount -o loop /hdb2/CDs/debian-br-cdd/sarge-i386-1.raw /tmp/cdd
#*
sudo dselect update
#*
# (find-angg "LUA/debs.lua")
grep-status --show-field=Package,Version --field=Status ' installed' \
> /tmp/installed-debs
( ls /var/cache/apt/archives/*.deb
find /tmp/cdd/ -name '*.deb' | sort
ls /hdb2/CDs/cdd-extra/*.deb
) > /tmp/.debs
lua50 ~/LUA/debs.lua /tmp/installed-debs /tmp/.debs \
| sort > /tmp/currentdebs
# (find-fline "/tmp/currentdebs")
#*
sudo rm -Rv /var/www/vcarchives/
sudo mkdir /var/www/vcarchives/
sudo chmod 777 /var/www/vcarchives/
#*
rm -Rfv /var/www/vcarchives/debs
rm -Rfv /var/www/vcarchives/dists
cd /var/www/vcarchives/
mkdir debs
mkdir -p dists/sarge/main/binary-i386/
#*
cd /var/www/vcarchives/
for i in $(grep -v '#' /tmp/currentdebs); do
cp -il $i debs/ || cp -i $i debs/
done
cd /var/www/vcarchives/debs/
ls *.deb | lua50 -e '
for str in io.lines() do
newstr, n = string.gsub(str, "[0-9]%%3a", "")
if n>0 then print("mv -v " .. str .. " " .. newstr) end
end
' | sh
cd /var/www/vcarchives/
dpkg-scanpackages debs /dev/null \
| tee dists/sarge/main/binary-i386/Packages \
| gzip -c9 > dists/sarge/main/binary-i386/Packages.gz
#*
cd /var/www/vcarchives/dists/sarge/
cat > main/binary-i386/Release <<'%%%'
Archive: sarge
Component: main
Origin: Debian
Label: Debian
Architecture: i386
%%%
# (find-fline "/usr/bin/apt-move" "exec > Release")
# (find-fline "/usr/bin/apt-move" "get_checksum()")
# (find-node "(libc)Table of Output Conversions")
# (find-fline "/tmp/cdd/dists/sarge/Release")
# (find-fline "/var/www/vcarchives/dists/sarge/Release")
cd /var/www/vcarchives/dists/sarge/
(
echo Origin: Debian
echo Label: Debian
echo Suite: testing
echo Codename: sarge
echo Date: $(TZ=UTC date '+%a, %d %b %Y %T %Z')
echo Architectures: i386
echo Components: main
echo Description: Persephone sub-Sarge
echo MD5Sum:
for l in main/binary-i386/{Release,Packages.gz,Packages}; do
printf ' %32s %8d %s\n' \
$(md5sum $l | cut -d ' ' -f 1) $(stat -c %s $l) $l
done
) | tee Release
#*
# (find-fline "/var/lib/apt/lists/")
deb http://127.0.0.1/vcarchives sarge main
# (find-man "dpkg-scanpackages")
# (find-status "dpkg-dev")
# (find-vldifile "dpkg-dev.list")
# (find-udfile "dpkg-dev/")
#####
#
# debootstrap
# 2004sep04
#
#####
# «debootstrap» (to ".debootstrap")
# (find-status "debootstrap")
# (find-vldifile "debootstrap.list")
# (find-udfile "debootstrap/")
# (find-udfile "debootstrap/README.Debian")
# (find-fline "/usr/lib/debootstrap/")
# (find-fline "/usr/lib/debootstrap/functions")
# (find-fline "/usr/lib/debootstrap/pkgdetails")
# (find-fline "/usr/lib/debootstrap/scripts/")
# (find-fline "/usr/lib/debootstrap/scripts/sarge")
# (find-fline "/usr/lib/debootstrap/scripts/sarge" "Fake start-stop-daemon")
# (find-fline "/usr/lib/debootstrap/scripts/sarge.buildd")
# (find-fline "/usr/sbin/debootstrap")
# (find-man "8 debootstrap")
#*
rm -Rv /sarge-root
#*
mkdir /sarge-root
mount /dev/hdb5 /sarge-root
rm -Rv /sarge-root/*
rm -Rv /sarge-root/.*
#*
# Installation using debootstrap and http
cd /
mkdir /sarge-root
debootstrap sarge /sarge-root http://127.0.0.1/vcarchives/
#*
# Pack the things that were downloaded by http
# (find-fline "/sarge-root/")
# (find-fline "/sarge-root/var/lib/apt/lists/")
# (find-fline "/sarge-root/var/cache/apt/archives/")
cd /sarge-root/
tar -cvf /tmp/sarge-debs.tar \
var/lib/apt/lists/ \
var/cache/apt/archives/
#*
# (find-bashnode "Shell Parameter Expansion" "`${PARAMETER#WORD}'")
# (find-bashnode "Shell Parameter Expansion" "`${PARAMETER%WORD}'")
# (find-fline "/usr/sbin/debootstrap" "if [ \"$UNPACK_TARBALL\" ]; then")
# (find-fline "/usr/lib/debootstrap/functions")
rm -Rv /sarge-root2
mkdir /sarge-root2
cd /sarge-root2
tar -C /sarge-root2 -xvf /tmp/sarge-debs.tar
# download the whole system:
debootstrap sid /sarge-root2 http://ftp.br.debian.org/debian/
#*
# Check that the two directories have the same files:
cd /sarge-root/; (sudo find) | sort > /tmp/ofind
cd /sarge-root2/; (sudo find) | sort > /tmp/ofind2
diff /tmp/ofind /tmp/ofind2
#*
# (find-man "8 debootstrap" "apt-setup")
sudo mount -t proc sarge-root-proc /sarge-root/proc
eeg -f <(<<'%%%'
EDITOR=nano apt-setup
nano /etc/apt/sources.list
# deselect/apti?
%%%
) sudo chroot /sarge-root /bin/bash
#*
apt-get install emacs21 zsh lua50 less sudo
apt-get install erc w3m-el
apt-get install expect ssh
apt-get install emacs21-el elisp-manual emacs-lisp-intro
apt-get install dict dictd dict-gcide dict-wn dict-jargon
apt-get install zgv
apt-get install dict-freedict-eng-por
apt-get install build-essential
apt-get install gpm
gpmconfig
# (find-file "/etc/gpm.conf")
# repeat_type=raw
apt-get remove xdm gdm
# now kill X by hand, then:
/etc/init.d/gpm restart
apt-get install fvwm
#*
echo "proc-sid /sarge-root/proc proc none 0 0" >> /etc/fstab
mount proc-sid /sarge-root/proc -t proc
cp /etc/hosts /sarge-root/etc/hosts
chroot /sarge-root /bin/bash
#*
# (find-fline "/etc/fstab")
echo "proc-sid /sarge-root2/proc proc none 0 0" >> /etc/fstab
mount proc-sid /sarge-root2/proc -t proc
cp /etc/hosts /sarge-root/etc/hosts
chroot /sarge-root /bin/bash
#*
# set-up /etc/apt/sources.list:
apt-setup
# point the source to unstable:
vi /etc/apt/sources.list
chroot # dselect
[ you may use aptitude, install mc and vim ... ]
main # echo "8:23:respawn:/usr/sbin/chroot /sarge-root " \
"/sbin/getty 38400 tty8" >> /etc/inittab
[ define a login tty that will use this system ]
main # init q
[ reload init ]
#####
#
# deboostrap on /sarge-root
# 2004sep13
#
#####
# «debootstrap-quick» (to ".debootstrap-quick")
#*
umount /sarge-root/proc
umount /sarge-root
rm -Rv /sarge-root
#*
mkdir /sarge-root
mount /dev/hdb5 /sarge-root
mkdir /sarge-root/proc/
mount -t proc sarge-proc /sarge-root/proc
#*
rm -Rv /sarge-root/*
rm -Rv /sarge-root/.*
#*
# Installation using debootstrap and http
cd /
mkdir /sarge-root
echo "mini-sarge for livecds" > /sarge-root/.id
debootstrap sarge /sarge-root http://127.0.0.1/vcarchives/
(cd /sarge-root/etc/apt/; mv -v sources.list sources.list.orig)
#*
# (find-fline "/sarge-root/etc/apt/")
# (find-fline "/sarge-root/etc/apt/sources.list")
cat > /sarge-root/etc/apt/sources.list <<'%%%'
# (find-es "livecd" "debootstrap-quick")
deb http://127.0.0.1/vcarchives sarge main
%%%
#*
sudo chroot /sarge-root \
/usr/bin/apt-get update
sudo chroot /sarge-root \
/usr/bin/apt-get install emacs21 zsh lua50 less sudo
#*
# (find-man "dpkg-reconfigure")
sudo chroot /sarge-root \
dpkg-reconfigure --all
#*
# (find-es "livecd" "apt-get-autoclean")
# (find-es "livecd" "var-www-vcarchives")
# (find-es "kernel" "kernel-source-2.4.26")
# (find-status "debian-policy")
# (find-vldifile "debian-policy.list")
# (find-udfile "debian-policy/")
# (code-c-d "dpol" "/usr/share/doc/debian-policy/")
# (find-dpolfile "")
# (find-dpolfile "policy.txt.gz" "<postinst> `configure'")
# (find-dpolfile "policy.txt.gz" " <postinst> configure")
# Local Variables:
# coding: raw-text-unix
# ee-delimiter-hash: "\n#*\n"
# ee-anchor-format: "«%s»"
# End: