[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: