[BusyBox] the ideal packaging solution? (rpm or dpkg?)

Rob Landley rob at landley.net
Wed Nov 12 20:57:42 UTC 2003


On Wednesday 12 November 2003 07:49, Robert P. J. Day wrote:
>   since i started the thread on whining about how BB's "rpm" command
> couldn't install an apache rpm on a PPC system, i have a more general
> question (again, this is from a newbie so consider the source).
>
>   i have a base system up and running on a PPC system (embedded
> system based on a download from timesys.com).  one of the requirements
> is to be able to use a simple packaging tool to install/upgrade/remove
> packages, a la rpm (which i know) or perhaps dpkg (which i don't know
> but am willing to learn).
>
>   what's the consensus for packaging systems?  should i use BB's
> internal rpm or dpkg, or download separate utilities.  i notice that
> BB's rpm command doesn't support things like upgrade or remove,
> so it's of limited use to me.
>
>   any other options i should look at?  thanks for any pointers.
>
> rday

The last server system I put together ran off a loopback mounted zisofs image 
for its root partition.  (With a big ramdisk mounted on /var and some 
symlinks ala /etc->/var/etc and /tmp->/tmp/var.)  It effectively had the 
whole system in firmware, so when you wanted to upgrade just fling a new 
zisofs image up there, update lilo to point to the new one, and reboot into 
it.  (It was actually fancy enough that it would use like -R to conditionally 
boot into the new firmeware once and then the new firmware would make that 
permanent once it had successfully booted and run a self-diagnostic.  If it 
didn't work, power cycling the box would boot back up in the old firmware.  
Hence firmware upgrades couldn't easily result in a brick.)

Another guy I know put together a system where every package was installed in 
its own directory under /opt, and the root filesystem was just symlinks into 
opt.  (This guy loved /opt, I don't know why.  I never put ANYTHING in opt, I 
think the existence of that directory is a bad idea.)  His uninstall method 
ws rm -rf the appropriate directory and run a command that killed all dead 
symlinks in the tree.  (Pretty simple, actually, a script that started with 
"find / -type l -xdev" and then tested each one (readlink, access) and zapped 
the dead ones (rm).)

These days, if you're going to use anything more advanced than that, you might 
want to check out apt-get.  Don't just install this package, install the 
background crap this package needs to run...

Rob



More information about the busybox mailing list