Enrico Zini: Joys of schroot
Joys of schroot
Schroot is good! Try schroot. You have LVM set up and some free
extents in a vg? Try this:
Then
Now,
At this point, to build a debian package like if I were using
pbuilder, I do this:
You can repeat this whole process with lenny and etch, for
example, and if you are on an amd64 system, you can also do sid32,
lenny32 and etch32.
If you don't want to redownload packages all the time, install
approx and
configure the
You can use
This will only disappear when you do:
And you can enter the schroot as many time as you want with:
You can also enter a temporary snapshot as many times as you
want, by using the random name that schroot generated for it (you
can see it, for example, when running
# Create a new logical volume for a sid chroot lvcreate -n schroot-sid -L1G YOUR-VG-NAME mke2fs -j /dev/YOUR-VG-NAME/schroot-sid # Debootstrap sid into it mount /dev/YOUR-VG-NAME/schroot-sid /mnt debootstrap --keyring=/etc/apt/trusted.gpg sid /mnt http://ftp.uk.debian.org/debian umount /mnt
apt-get install schroot and put this in your
/etc/schroot/schroot.conf:
[sid] type=lvm-snapshot device=/dev/YOUR-VG-NAME/schroot-sid description=Debian sid priority=5 users=YOUR-USER-NAME root-users=YOUR-USER-NAME source-root-users=root aliases=unstable lvm-snapshot-options=--size 2G
schroot -c sid will make a LVM snapshot of
/dev/YOUR-VG-NAME/schroot-sid, mount it, set it up as
a nice working system, and chroot into it running a shell. Have a
look around: resolv.conf is set up, your home directory is bind
mounted, /proc and /sys are mounted.
When you exit the chroot, the LVM snapshot disappears, and
/dev/YOUR-VG-NAME/schroot-sid is unchanged.
If you want to modify
/dev/YOUR-VG-NAME/schroot-sid, you just schroot
-c sid-source.
In my laptop, I did this:
# schroot -c sid-source (sid)# echo APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/50enrico (sid)# apt-get install build-essential, pbuilder, devscripts, fakeroot (sid)# apt-get clean
pkgdir$ schroot -c sid (sid)pkgdir$ su -c /usr/lib/pbuilder/pbuilder-satisfydepends (sid)pkgdir$ debuild -us -uc
-source chroots to use it. This also
allows you to easily switch all systems from one mirror to another
if, for example, you are traveling abroad.
If you want to do the same as pbuilder update, you
can do this:
# schroot -c sid-source (sid)# apt-get update (sid)# apt-get dist-upgrade (sid)# apt-get autoremove (sid)# apt-get clean
schroot -c sid-source for all sorts of
permanent maintenance works.
You can also create persistent named snapshots:
$ schroot -b -c sid -n playground
$ schroot -c playground -e
$ schroot -r -c playground
df or
mount).
You fear that lvm snapshots are a little fragile and a little
slow at the moment? It's not a problem: your home is bind-mounted
inside the chroot, so you can do all the work in your normal home
filesystem, without stressing the snapshot.
This is good not only to build packages. For example, now that
svk is broken in sid
and lenny, I just did schroot -b -c etch -n svk,
installed svk on it, and then every time I need svk, I can do
schroot -r -c svk and have it ready.
Ten years ago, most of us wouldn't have dreamt we'd be managing terabits of storage, tens of megabits of bandwidth, arrays of network-distributed services. The height of a programmer's worry would likely be choice of UI toolkit or finding the right way to indent code, and the height of consumer concern deciding which room to put the new computer in.
Now the problems associated with managing large networks are becoming real for everyone, right down to the consumer level. Stupendously large amounts of computing resource are available at an instant.
Your household probably has more than a terabyte of storage already. Issues such as single sign-on are going to hit home over the next year, as networked computing and entertainment devices profilerate. Features such as Apple's
Even though the
Users of Debian derivatives sometimes report bugs that are not reported in the
One of the more useful features of the UPnP specification is that devices have
a standard way of specifying a "presentation URL", a human-readable web page
representing the device. For example, my SoundBridge has a web page which
shows the currently playing music and lets me switch radio station, whilst my
router's presentation URL is the administration page.
Useful, but not exposed anywhere. Until now...
This is a small Epiphany extension which adds all presentation URLs it finds
to the Nearby Sites menu, just like the URLs discovered using
Avahi. It needs a bit more work as it doesn't yet handle being unloaded or
devices disappearing, but it is certainly usable now.
If anyone else wants to have a go with it, the source can be fetched using
Bazaar from
I maintain a number of web shops for
We eventually released liquidsoap 0.3.7 !!
Dear
Philipp
The most dynamic segment of the software industry that I'm aware of is web programming. Flamewars rage about frameworks and browsers and standards and whatnot, and the openness of the whole thing feels like some of the things that made me fall in love with computing as a whole and Free Software in particular. The problem with all that openness is that it's rather difficult to navigate. Aside from the obvious issues with browser incompatibilities, there's an enormous amount of software solutions on the server side, spanning languages, libraries, and frameworks. Each one is an ecosystem to itself, often being large and complicated.