LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions
User Name
Password
Linux - Distributions This forum is for Distribution specific questions.
Red Hat, Slackware, Debian, Novell, LFS, Mandriva, Ubuntu, Fedora - the list goes on and on... Note: An (*) indicates there is no official participation from that distribution here at LQ.

Notices


Reply
  Search this Thread
Old 11-26-2016, 10:37 PM   #1
gpropf
LQ Newbie
 
Registered: Nov 2016
Posts: 2

Rep: Reputation: Disabled
Good distros for developer,


This is my first post. I'm a longtime Ubuntu user. I'm also a developer. I appreciate the quality of Ubuntu and the wide hardware support that mostly just works nowadays. I've used Linux since Slackware 1.0 back in the early 90s and I remember the hell you used to go through to get a stupid sound card working.

Lately, I've been learning more about virtualization and cloud computing, and also Snapd, which seems like an interesting new way to organize a system and could make dependency and upgrade hell a thing of the past. That brings me to...

Upgrade Hell.


Though I haven't had this happen in the last few Ubuntu upgrades, I've occasionally gone to a new release and had things break. I also have this feeling that the concept of release upgrades that is used by mainstream distros (and really even Windows and OSX) is flawed. Basically, it leaves the user with no "plan B". If the upgrade breaks things you just need to fix them or figure out what you need to downgrade to get back to a working state. With databases you have the idea of doing a rollback, with Git, you can go back to an earlier commit and get a working state. With system upgrades it seems to always be a matter of wait and pray. Databases, software versions, operating sytems, all are just versioned information and it seems like we've solved that problem in many areas so why do we still do things this way with upgrading our OS?

Now I've actually kind of lost touch with the distro world for years. I used to use Gentoo but that was 10 years ago and I'm not sure what it's become. I know Ubuntu really well, and I put Mint on my macbook just for the hell of it and because it's based on Ubuntu. So the question is basically - does anyone know of... I don't know, some kind of distro that's not a distro but a hypervisor where you can have, say distro A running distro B in a virtual machine and then the next time you boot, you decide to start distro B "for real" and run A virtualized. I know the IBM 390 does something like this with their mainframe Linux. In fact my own website is a VM on one of those. I realize this is kind of vague but I thought I would throw it out there.

I suppose this would require, among other things, the ability to virtualize the actual hardware. I'm playing with Virtualbox right now and while it's great, I don't think it does that. [Also, that's an Oracle product and I think it's closed source even though it's a free download.] Edit: I realize this was a mistake, Virtualbox is open source after all.

Last edited by gpropf; 11-26-2016 at 10:43 PM. Reason: factual error
 
Old 11-26-2016, 11:02 PM   #2
Jjanel
Member
 
Registered: Jun 2016
Distribution: any&all, in VBox; Ol'UnixCLI; NO GUI resources
Posts: 999
Blog Entries: 12

Rep: Reputation: 364Reputation: 364Reputation: 364Reputation: 364
Which 'distro' has the least upgrade problems?

Welcome! DistroWatch.com? upd/upg glitch=mess=hell empathy! snapd? Wow!
Cool concept: kudos to LQ'er who posts 'right' web-search keywords for:
reverse vm host guest p.s. top7

Last edited by Jjanel; 11-26-2016 at 11:35 PM.
 
Old 11-26-2016, 11:15 PM   #3
firejuggler86
LQ Newbie
 
Registered: Feb 2016
Posts: 8

Rep: Reputation: Disabled
Re: Good distros for developer

That would be cool if what you are inquiring about were possible, but sadly I don't really think it is... maybe theoretically it could work, if you did something to this effect: you boot up system A, you want to run system B in a VM. Use a program like dd to make a disk image of the partition that holds system B, then you run the system B in a VM using the disk image. After you shut down the VM, finished saving whatever changes/work you did back to the disk image, use dd again to write the image back to the disk. While keeping in mind the whole time that you might break something :P.

Those of us who play around with android devices do that kinda stuff all the time, though (use dd to copy disk partitions to files, mount those images on our PCs, make changes, re-write to disk image file, rewrite to mobile device disk)-- so, maybe it could work

As far as general distributions that are good for development...I've heard that Slackware has the very best shared libraries for building from source, but can't confirm, haven't tried slackware yet. I'm currently using Fedora, and on that distro you STILL have to go through hell to get a sound card to work or a song or a video to play (I did, anyway). Debian and related systems seem to be better when it comes to things working straight out of the box.. *but*, on Fedora I do not experience the same kind of "upgrade hell" that I did with Debian based distros. While running the development branch of Debian, any given update could render half my system unusable, or unbootable. Never happened with Fedora, an have also done a good amount of unsupported, unsanctioned packing building/installations, system reconfiguring/hacking, etc., and still runs smoothly. But, like I said, *huge* pain in the ass for the first couple days after the initial installation.
 
Old 11-27-2016, 06:01 PM   #4
gpropf
LQ Newbie
 
Registered: Nov 2016
Posts: 2

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by firejuggler86 View Post
That would be cool if what you are inquiring about were possible, but sadly I don't really think it is... maybe theoretically it could work, if you did something to this effect: you boot up system A, you want to run system B in a VM. Use a program like dd to make a disk image of the partition that holds system B, then you run the system B in a VM using the disk image. After you shut down the VM, finished saving whatever changes/work you did back to the disk image, use dd again to write the image back to the disk. While keeping in mind the whole time that you might break something :P.
Well, I was more thinking of just running the other distro using the real disk, not an image. Only the CPU and peripherals are virtualized. The idea is that there' not supposed to be much of a distinction between a virtual and a real machine. Each distro would still need its own partition just like now but most people find that, at least with Linux, even a really large distro with tons of extra software installed is maybe 50-100GB. A basic Ubuntu 16.10 distro fits in 10GB comfortably so most people could have a dozen distros and different versions of the same ones. The bulk of my 1TB disk is my /home partition and that would not need to change. I admit creating new partitions (and thus resizing others) seems a bit of a risk and hassle if you want to try a new distro but LVM seems to solve that and even pretty much solves my upgrade problems since you can make an image of a running partition and then go back to it if the new release of your OS destroys everything. I'm still interested to see how tightly virtualization can and will be integrated into the kernel in the future.

For right now I actually plan on doing what you're saying. Copy the / partition to a disk image and then load that image into a VM and try to upgrade to see if everything is OK. The problem is that the virtual hardware isn't the same as the real hardware. Also some things don't even work on the VMs I've created or are very different. I'm not sure if this is inevitable though. I need to learn more about what Virtualbox can and can't do and also what some of the other solutions are capable of. So my actual fallback plan is that if the new release can't be quickly made as functional as the old, I can go back and rewrite the old system partition from the image using Hiren's boot CD. It would be cool to be able to just switch over to a virtualized instance of the new release to see if I can fix it while still using the existing one though.

Quote:
Originally Posted by firejuggler86 View Post
As far as general distributions that are good for development...I've heard that Slackware has the very best shared libraries for building from source, but can't confirm, haven't tried slackware yet.
I never did get around to talking about development issues did I? So yes, the idea is that I'd also like a platform where building from source is easy(er). I haven't used Slackware since like '93 though so I imagine it's quite different now. Back then there was no hint of a dependency tracking system. You just downloaded things, hoped they built, and then tried to figure out what was missing from the compiler and linker errors.

Quote:
Originally Posted by firejuggler86 View Post
I'm currently using Fedora, and on that distro you STILL have to go through hell to get a sound card to work or a song or a video to play (I did, anyway). Debian and related systems seem to be better when it comes to things working straight out of the box.. *but*, on Fedora I do not experience the same kind of "upgrade hell" that I did with Debian based distros.
I think both of those are probably due to the different target markets. Fedora has become sort of a server OS supplier and the Debians are more desktop oriented. No one really cares if the sound doesn't work on a machine with no soundcard but it's really important that the whole thing doesn't fry every time you upgrade. Desktop machines are regarded as less critical so if an upgrade trashes your Gnome desktop it's regarded as no big deal.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Retired software developer looking for good problem resolving resources john.g LinuxQuestions.org Member Intro 0 10-02-2012 12:28 PM
Distros - Is there something as good as Ubuntu-10.04 ? irrcode Linux - Distributions 4 08-07-2012 11:12 AM
LXer: Mozilla Survey: What makes a good developer platform? LXer Syndicated Linux News 0 03-16-2009 07:00 PM
What are good PHP resources for a web developer? Basel Programming 1 11-29-2005 04:02 AM
CD Based Distros - what's good, what's not, what's up generally! dibblethewrecke Linux - Newbie 24 01-04-2004 08:03 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions

All times are GMT -5. The time now is 09:03 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration