Need help setting up my Linux development platform

March 24, 2010 – 1:32 am by Adnan Hodzic

Maintaining stable life with unstable distro?

This post may sound ludicrous to some of you but please hear me out. I’ve been on Debian unstable/Sid for awhile now and it was all cool until yesterday.

Besides my work on Debian DebConf/some devel, I’m university student, also I do web devel which is my primary source of income, besides all those I try to go out on weekends and have some kind of social life. Somehow I manage to do all these things and I’d say I manage them pretty successfully too.

Now I’m hardcore to the bone, but this is just too much, last week started working on immense web devel project  didn’t sleep more then 2hrs/day whole week; I also didn’t shut down my notebook and just kept it on suspend as I usually do. Either way I was about to print/scan something and I connect my printer and what happens? My whole system freezes, now I’ll let you figure out the result of doing hard reset and having a lot of gedit docs open at that time. And yes, I did had that bug reported awhile ago, can’t find it now, but it was fixed, seems like it’s back again.

In the end I’m left with weekend completing the lost work + late school work + eclipse 3.5.2-2 ought to be uploaded. I do almost all the work (didn’t upload  eclipse) and literally pass out on Sunday. Wake up sometime on Monday, wasn’t able to get up from bed.

Plan: Change my “base” distro, keep Sid as dualboot or virtual machine

Now, for my time of being Sid user this isn’t the first time something like this happened, and by this I mean “unexpected/unprovoked” bugs. I might not be as hardcore as I used to be, or it’s just that I don’t have time anymore.  So my plan is to get Stable or even Ubuntu for my “work/study” platform, while I’d have dual boot or virtual machine of Debian Unstable/Sid. I’m sure I can’t be the only one who’s doing this, so please give me your advice on this one.

1. Main question is dualboot or virtual machine?

Reason I’d like it to be a virtual machine instead of dual boot is that my notebook HDD is 64GB SSD (Lenovo X300). By todays standards 64GB is quite small, while the price of SSD is quite opposite of small. So I’d like to use this only for my main/base OS, nothing else.

Since I use external HDD’s having it virtual it’s more convenient for me to “carry around” my image/s. Other day I ordered 4GB of RAM so I shouldn’t have problems with performance of this virtual machine. Or even with that much RAM, devel on virtual machine is just not possible?

2. In case I go for Ubuntu, and decide to start packaging for Ubuntu as well, what’s the best way to have my work/packages “synced” within both Debian and Ubuntu (sshfs?).

3. How do I take my PGP keys with me? If I just copy .gnupg and .ssh will that be enough?

4. Can I have same keys both on my host machine and virtual machine at the same time?

5. Some other idea of sticking with Sid?

Input to any of these questions/other suggestions would be greatly appreciated.

  • You can try to use mixed Debian testing and sid system. Edit your /etc/apt/preferences to use testing as main distribution, and sid for packages that you need from it. It is working for me. Smile

  • denis

    Agreed. Testing is probably the most straightforward solution…

  • I did spend a lot of time on testing back in the day, not sure if I could go back.

    I aslo forgot to mention that I’m bleeding edge and absolute dist-upgrade addict.

  • Dmitrijs Ledkovs

    I use Ubuntu in developing release since Alpha3 and stick with released version until Ubuntu+1 Alpha3 is released. This gives me the dist-upgrade fix together with daily ppa of “must-have bleeding edge” fixes.

    For packaging work I use pbuilder & vm for testing. No hustles with keys & etc. Keep them on ubuntu only.

    I was thinking to turn my notebook into a virtualised host (something very stable) and then boot into guest instances depending on the task I need (e.g. Some stable release for fun/uni/work; testing for packaging work & sid for how can I bring this guest host to it’s knees with ultimate dist-upgrade fun). But I haven’t got around to doing this because I’m no confident in my laptop. Gonna try this when I get a desktop though.

  • 1. Both + a chroot

    If you make your external disk bootable and install sid on it you can dual
    boot, use it as the disk for your VM, plus you can chroot into it. Best of
    all worlds.

    3. yes

    4. yes, though not recommended

    5. I use a testing/sid mix myself (mostly testing). It gets annoying at
    times with things being slow getting into testing, but for the moment I
    live with it. I used to live on sid but found it to much of a time sink. I
    also tried Ubuntu and found I missed the rolling release schedule of
    Debian and I also didn’t care for the feeling that I was 3 levels removed
    from upstream.

  • I run testing on my desktops, (with unstable and experimental in sources.list for those one or two packages I need). That’


  • I run testing on my desktops, (with unstable and experimental in sources.list for those one or two packages I need). That’s stable enough that I never have any trouble.

    I build in pbuilder, so I don’t need a sid install.

    Laptop runs Ubuntu’s devel release, with a dual-boot to the current ubuntu stable release for when the devel release is unusable (it currently is)

  • Anonymous

    I would suggest using schroot to maintain an unstable chroot on your stable or testing system.

    I would also suggest that if you enjoy unstable, but don’t want the breakage, you should try testing for a while before going all the way to stable.

  • Who Ever
  • Markus Hochholdinger

    Because i need a stable environment for work i use Debian stable on my work machines, only if some hardware is not supported i use parts of testing or unstable, e.g. linux-image.
    Dualboot is IMO to time consuming, you have to reboot your machine!
    I use virtualbox for testing all kind of stuff. I have lenny, squeeze and sid as virtual machine. If cpu power matters i use chroot. I have also lenny, squeeze and sid chroot to compile and build packages.
    Because you have a stable working machine with this you could nfs export your /home/ to the virtual machines or, for your chroot, you can bind mount it into the chroot. So no need to copy your keys around.

  • Claudio

    Being in the same situation in the past (no time what so ever because of time-consuming occupations), I chose to run Ubuntu as my main OS.

    I use to run Debian testing, testing+unstable and unstable, but this demanded a fair share of admin work.

  • smurfd

    This came very handy, since im thinking of moving “back” after a Long time away from Debian … and beeing used to nose-bleeding-edge uptodate packages, Sid seemed like the only option…

    But after reading, i might try to setup a Testing dist in Virtualbox and see if i can get it to run with the uptodate packages i need…

    so im following this with great intrest Smile

  • I use Debian Lenny on my desktop these days, since building a new machine.

    To build and upload packages I use schroot and pbuilder, which allows me to build “unstable” packages and upload them.

    I also have a number of KVM machines which allow me to perform testing, and maintainance work if I need them.

    I like the idea of testing, but I don’t want to be caught in that middle-ground of “not stable” and “not necessarily fixed”. In the past I used sid quite happily, but being a dist-upgrade-king I was spending more time updating my system than anything else – such as actually using it…

  • Jan M

    I agree with the testing+sid+experimental recommendation, with testing as primary. Testing tracks sid relatively closely most of the time – except when issues come up in sid that can prove troublesome. (Transitions can sometimes delay movement to testing when things are waiting on something)

    You get the advantage of a rolling release plus bug reports from people that are running sid that you can review as the packages get to testing (apt-listbugs is highly recommended).

    You can also easily install as much of sid as you want, with the ability (usually) to relatively easily downgrade back to testing if it doesn’t work.

    testing+sid basically gives you the best of all worlds, capability of being as cutting edge as you want with a higher degree of stability then pure sid.

  • someone

    gEdit/GNOME is very resource hogging… for me developing in vim in a Terminal/virtual tty is very satisfying because it’s lean & mean. Another idea is running a desktop environment that’s a whole lot less demanding, e.g. xfce… theoretically gEdit can run there but I’m not sure if any eye candy has to be sacrificed.

  • Lukas

    The solution to not loose your work on a hang is simple: use version control software and push to somewhere other than your local harddisk. It really is that easy!

  • gebi

    If you need a stable base just use debian lenny for the base system with a backports kernel (2.6.32) for your hardware.

    For development just put a sid/unstable chroot into an lvm.
    If you need/want it you can boot the chroot in qemu/virtualbox too.

    Though you should be careful to not boot the chroot with qemu while you have it mounted in the basesystem.

  • Who ever, is a great post, however I think the author (Bradley) was bit subjective, by this I mean that he based it on free software perspective.

    Either way I enjoyed reading it.

    someone, vim is prolly my favorite editor, I have no idea why but when I do web devel I do it in gedit Smile

    About using stable + mixing it with testing/unstsable is not such a great option. Reason is that it requires time, even minimum amount; for last >=5 years I’ve been on Slackware, Debian testing and unstable … I’m bit tired of hacking and I just need things to “work” on my base system.

    Couple of years ago I had an idea of making custom distro out of testing, which would be “frozen” at one point, fix the bugs and release it every 12 months or so.

    Unfortunately I never had enough time to complete this idea, but now that we (Bosnia) got the DebConf11 ( and that we have great chance to switch whole govt. and city infrastructure to Linux, this may give us motivation we needed and additional ideas for tailoring custom Debian distro.

    Until then, I think I’ll just use Ubuntu 10.04 as my base system, it’s just intriguing in a way since this will be my first time to try Ubuntu. And I’ll just use “pure” unstable + experimental (as it is right now) in virtual machine for devel.

    10.04 will be released in a month or so, so let’s see what happens until that time comes, until then it’s Sid for me.

    Maybe I don’t even make a switch, after all Sid is an addiction eh? Smile