-3

I'm a developer and my typical environment is to use is a Linux guest OS running inside VirtualBox on a Windows host. Most software companies don't allow developers to install Linux bare metal on their machines. The Windows host/Linux guest solution is a good compromise.

My new workplace is different. They'll let me use any kind of set up I like. I'd still like to use a VirtualBox as I can simply import my existing VM to save the hassle of setting up my entire development environment from scratch.

Is there any reason I should not use a Linux host/Linux guest arrangement?

Bart van Ingen Schenau
78.8k20 gold badges129 silver badges196 bronze badges
asked Nov 5, 2020 at 22:52
4
  • 1
    It might be better long run to use containers rather than a full-blown VM Commented Nov 7, 2020 at 5:25
  • I need a desktop environment, so containers are no good for me. Commented Nov 7, 2020 at 17:53
  • You might be ready for Docker. Commented Nov 8, 2020 at 12:36
  • As I said, I need a desktop environment, so Docker won't work for me. Commented Nov 9, 2020 at 14:20

1 Answer 1

4

Using a Linux-on-Linux virtual machine is perfectly fine and can make sense for better configuration management.

For example, you can keep a fairly stable, lean, and secure host system like Debian and go wild with different tools within a VM – before doing something that could go wrong like updating a distro or installing experimental drivers, you can back up the VM image.

The drawback would be that hardware-related things are more difficult in the VM, but whether that matters depends on your work. And the general inconvenience of introducing another tool (virtualization) where none is needed.

But you should not reuse a VM from your previous employer. There's a substantial chance you might leak confidential information that way. Definitely set up the new development environment from scratch, but consider scripting it this time for better reproducibility.

An anecdote on why using a VM could be sensible. This year I worked on a project that dealt with low-level system programming. The software was known to work on a specific libc version. I didn't use a VM and worked on the same system I used for other tasks like writing emails. Unfortunately, my Linux distro was reaching it's end of life – but I couldn't update without breaking the project! This lead to a situation where I was mayyybe running a slightly out of date and insecure system for a few weeks. Using a VM would have prevented this – I could have kept the host system up to date and developed the project in an isolated environment. The next time I need a development system with a particular configuration (rather than a testing or production system that can be more easily managed with Docker), I'll definitely spin up a VM.

answered Nov 5, 2020 at 23:25

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.