Re: Sid is Sid, before or after a release, right?
On Tue, Aug 10, 2004 at 04:20:35PM -0600, Monique Y. Mudama wrote:
> On 2004-08-08, William Ballard penned:
> >
> > I get all itchy if I go more than a week without apt-get updating.
> > It's like an avalanche. I have this snapshot system with replaced
> > .debs, so I can rollback problems, but I rarely need it. My "current
> > set of blessed .debs" is made into a local mirror and it's the only
> > apt source for my laptop Debian.
>
> Snapshot system? Could you elaborate? Can others be lazy and use it
> without rolling their own?
To snapshot your entire system, use chroots and tar. Or use partimage.
My system takes "snapshots of the sets of .debs" I have installed on my
system; and also "snapshots of the set of .debs" installed or available
to be installed. I have posted the scripts I use. Look at
snapshot.debian.net -- mine works similarly.
It consists of:
/a/l/*.deb - the "latest" debs on my system
/a/dists/latest/binary-i386/Packages.gz - description of /a/l/*.deb
/a/o/yymmdd_hhnnss - the .debs replaced at hh:nn:ss on mm/dd/20yy
/a/o/Lyymmdd_hhnnss.gz - the state of /a/l after the debs in
/a/o/yymmdd_hhnnss were replaced.
/a/o/Ayymmdd_hhnnss.gz - all package|version combinations apt knows
about after the debs in /a/o/yymmdd_hhnnss
were replaced.
/a/a - print all available package versions to stdout
/a/x - process /a/l/*.deb, which contains "latest" plus "changes",
to produce new /a/o/yymmdd_hhnnss and /a/o/Lyymmdd_hhnnss.gz
/a/u - move /var/cache/apt/archives/*.deb to /a/l, run /a/x,
then run /a/a to create /a/o/Ayymmdd_hhnnss.gz
# what packages are "new" between two points in time?
zcat /a/o/Aaaaaaa_aaaaaa.gz | cut -d_ -f1 | sort | uniq > a
/a/a | cut -d_ -f1 | sort | uniq > b
diff a b
# when was the last time I upgraded bash?
find /a/o/* -name 'bash_*.deb' | sort | tail -n1
# my last apt-get upgrade when smoothly, accept the changes
/a/u
# my latest apt-get upgrade when horribly wrong, rollback
for x in /var/cache/apt/archives/*.deb; do
echo `cut -d_ -f1 $x`'_*.deb' >> rollback; done
dpkg -i `cat rollback`
apt-get clean
# the whole world came to an end, put my system in a known good state
dpkg -i /a/l/*.deb
# a week later, I decided I don't want the newest bash anymore
dpkg -i /a/o/yymmdd_hhnnss/bash_*
rm /a/l/bash_*
mv /a/o/yymmdd_hhnnss/bash_* /a/l
/a/u
etc, etc, etc.
Reply to: