Which UNIX OS is going to give me the most versatility? I Want Total Control

[LEFT]I am going to be switching to something Unix for my primary OS, and I really need to know right now, which one is going to be able handle getting tweaked up entirely, and be able to stay fluent doing all the stuff I plan on doing using Unix?

I need to be able to have grass roots control sometimes, and get as close to hardware and their instructions as practical . Then the rest of the time, I also would like it to be fluent on its own, for efficiency and convenience, and wouldn't mind it packaged with the essentials, like having codecs; also handling basic drivers on its own would be a big plus.

That being said, I still want to be able to get at anything/everything (all the nooks and crannies) without it being an obstacle to get at, but it's also nice to have the OS accommodating me while doing that as much as practical.

Just a few examples of the things I'm envisioning doing (some demanding, some convenient, and some stuff just insanity and recklessness, and antics that you would maybe say aren't possible if they didn't sound like they could work):

  • Put a second OS on the machine, completely gut it, like, straight up filleting the stuff I don't want out of the hard-drive and leaving only the bare bones, restricting it from taking up CPU usage, and letting it run in the background as just a command line.

  • Rigging up ports on my motherboard to hook up devices that aren't meant for computers, or in some cases never intended to be hooked up to anything period.

  • Keeping a surrogate PC solely as a first line 'dummy' so disruptive garbage getting dumped off by the internet for no reason gets sent there instead, that way I can look at the endless piles of crap and headaches and get to just stare at in awe without having it already being on my computer first. Then periodically do fresh installs on the dummy, and make it so the installer sets it back up for being a surrogate again automatically.

  • Logging anything and everything that ever takes place on my computer, as one big unmanageable volume of raw data stored in the form of random characters and symbols that can't even be translated back into anything .

  • Logging instructions from my actual processor by mining it out of my RAM, yielding mounds of gibberish to be read through by me later for no reason.

[/LEFT]

Asking for total control is easy - executing total control in a knowing and responsible way affords knowledge and "wisdom" and on a "total" level the knowledge and wisdom should be matchingly total.

Most of the things you describe are either so "outlandish" that they are run-of-the-mill ("install a second OS" - oh my god, you might have invented virtualisation) or common traits of any UNIX (or Linux) system ("dump the memory" - so what, i do that on a regular basis).

But what takes the biscuit is:

I just tried that and attached a banana which was sitting in my refrigerator for the last 3 weeks to my USB port. The outcome - well there was no outcome, but my choice of OS had probably nothing to do with it, even though i have total control and am able to print out arbitrarily sized mounds of gibberish from the RAM using a symbolic debugger.

I suspect if you could glean any meaning from the output of a kernel debugger you wouldn't be asking such questions. So how about you drop the i-am-such-a-crazy-hAXX0R-antics and tell us what you really want? You might even get some answer which will really help you.

I hope this helps.

bakunin

2 Likes

Haha. I started out typing trying to ask this as a serious question though, which OS would be best for tinkering around with but not overly burdening on a user?
I should mention I'm going to be using Unix for the first time, but I'm competent with computers, and the reason I want to use Unix is to because I want to learn more skills and I'm sick of Windows basically telling me I'm not allowed to.

Also, with the having two operating systems thing, how easy is it to use one operating to gut the other operating system to just the command line while keeping perks of that operating system (file types unique to that operating system, etc.)
I'd only want a second operating system if it didn't take up any CPU (as them various operating systems out there seem to like to do, all the time for little or no reason).

Anyways, I appreciate any help or advice, and yes, despite the jokes I am looking for advice, haha.

Also, my strategy with learning the various new commands and any coding or whatever is to just shamelessly speed-use google for the commands or whatever I'm looking for,
I always just google my code whenever I need code for something for whatever reason, and its never taken me more than 25 seconds to find the code I was thinking of

Well if you really want to "tweak the guts of the O/S" I guess you need to start from source code; is that what you mean?

There are a number of Linux distros that allow you to download the whole source code and then compile if you've got CPU cycles to burn and a few hours to do it in. I know that Ubuntu will allow that. Also Gentoo provides kernel tailoring letting you build the O/S you want.

Understanding all this can be an issue if you haven't done it before. There's a project called Linux From Scratch (LFS) which provides source code but also a book in both digital and hardcopy which describes the internals of how the kernel is built. That might be a good place to start.

1 Like

Good. Now we are making progress.

When you are coming from Windows you probably might want to use Ubuntu or a similar beginners-oriented Linux. The extensive interface is helping the beginner. I am not the biggest fan of these all-integrated desktop solutions but i have to admit these GUIs are like braces: they hinder you to run effectively but help you to learn walking. As long as you learn to walk use them, consider doing away with them once you start running. So you might reconsider your choice and select, say, FreeBSD once you have worked for some time with UNIX, but start easy and step up later.

But even then, UNIX (i use a very loose definition here, including Linux, FreeBSD and a few others) is at the base very similar: most things in UNIX are configured via configuration files and different GUIs are just different ways of filling these files from a graphical interface. Understand the exact syntax of the config file and you could do the same with a simple text editor, probably even faster. This is why your choice of a certain GUI will always be a reversible one. Take one you like and when your preferences change take another.

You can set up two different OSes alongside, having them share the users data. I do that routinely when i set up a new laptop, because if i happen to configure the "main" OS into oblivion i can still boot the second OS and repair that. Because OS, applications, application data and user data are strictly separated in UNIX it is easy to have two separate installations of the OS which share a common set of the non-OS data.

What you are about, though, is perhaps a virtualised "guest" OS running in a virtual machine. There are several solutions to this and they all work - save for certain details - equally well. You do not have to run such a guest OS in background, you can start it only when you need it. It is even easy to clone such a vertual system (its "hard disk" is in fact a file on your disk which you can simply copy) and i make heavy use of virtual systems for test purposes: i have a (actually several) prepared standard-images and if i want to try something potentially dangerous i create a copy of one of these, fire it up, execute the test and if it works - fine, if it doesn't: i just scratch the system and start over with a new copy of the image.

Such virtual systems will take up no resources at all if they are not running (save for a few GB of disk space for the disk images) but to run maybe even several of these at the same time you needs some RAM. If you consider buying a new system my suggestion is: you might not need the latest and fastest in processor technology, but it should be a 64-bit processor and you should consider a minimum of 16GB of RAM. Linux can run in 2GB comfortably, but fire up 3 different Windows-guests with 4GB each and that leaves only 4 of the existing 16GB to your host system.

UNIX is - probably more so than any other OS - about understanding what you do, even more so than knowing the detailed way to do it. You can easily google a certain latin phrase or word, but this will not be the same as really speaking latin. But even if speaking latin fluently you might profit from having google at your disposal as an extensive dictionary for the odd wod you don't know.

There is no shame at all in using reference material, as there is no shame in a translator using a dictionary. It still doesn't exempt him from having to understand the language he is translating. And it doesn't exempt the systems administrator of having to understand how things work.

I hope this helps.

bakunin

1 Like

Creating your own distro with OpenSUSE would give you the most control because finding specific packages (RPM) is much easier. However, Xubuntu would give you less headaches and because it's Ubuntu based, you'd have better supported packages to work with and something that doesn't ask too much from your computer. Most copy and paste to terminal guides are based on Ubuntu these days.

Sent from my iPad using Tapatalk

1 Like

Edit: Woah, why did my double post just turn into embedded quotes telling everyone about the word of tapatalk?

I guess my first question is, why is the source code taking up that much memory when it's just the source code for the kernel? Everything else that is running is converted into instructions for hardware by the kernel, correct?
So what do you mean by 'the whole source code', and why would compiling it take hours? 'What' about an operating system's source code would take hours to compile?

---------- Post updated at 02:45 AM ---------- Previous update was at 02:27 AM ----------

Thanks for the insight; what about Xubuntu will 'give less headaches' though? Does it have barriers for certain things that I might as well just have a different operating system to get past?
Having a tidy-looking GUI with all my regularly used doodads on it is nice for something aesthetically pleasing or if I want to showcase how cool my desktop looks, but if that's its only perk I'd rather just turn 'desktop' into a text file with the names of my favorite processes listed in it for me to look at in it in case I forgot what they were.
I plan on keeping things tidily organized in folders, and the GUI is going to be there for me just so I can rearrange the size of the boxes things are displayed as. But I'm not looking for a completely gimp GUI either

The operating system is a large set of programs that runs (supervises) the system and runs other system and user programs. The operating system comprises not only the memory resident kernel but also a multitude of run-time libraries, internal commands and external commands (the kind you see in /bin for example) which all need to be compatible and interact with each other. All these are written in human readable code (in C, C++, Assembler, et al) and can comprise several hundred thousand lines of code. Over several hours compilers convert all this human readable code into machine language creating a kernel that can be booted to control all the hardware. The compiled code can then be formatted into DVD media for installation purposes.

That's why the code is so large and compiling it takes a long time.

1 Like

Damn Tapatalk app...anyway, Xubuntu less of a headache because it comes with all kinds of goodies that don't use a lot of RAM. It's file manager, Thunar, is also really good. But in all honesty, you really can't call Xubuntu or any Linux system a different operating system since they are all GNU/Linux. It's the package managers that are different. And since most Linux systems are derivatives of others, the kernels are all the same except for architecture (32 or 64) and version number (age of distro).

1 Like

bakunin

6 Likes

Just want to say thank you guys for all your responses, and sorry about the large image.
I'm thinking I'm going to try Gentoo source code, because it seems to have a lot of support from other users online for amd64 processors.
If that takes a while though (which it probably will) for me to get things up and running, I've got an installer to put xubuntu64 on it in the meantime. I'll let everyone know how it goes.

Gentoo was the first distribution I actually learned a lot from instead of running the installer, clicking 'next', and spinning my wheels until I screwed something up to the point I had to reinstall. It's difficult, but can be rewarding.

It's also the first distribution which worked with amd64, so far as I can tell. I jumped into the 64-bit revolution with an opteron way back when, and though every distro was rushing out 64-bit boot disks as fast as they could, Gentoo's was the only one which actually booted.

1 Like

I would distill everything posted so far to mean: get a 64 bit computer with at least 16GB of RAM, RAM is cheap, install software to allow you to run virtual servers, I use virtualbox, create a vm and install the Linux distro of your choice, Centos is a good choice for someone who wants this to translate into a job, and do whatever you are trying to do. You can probably backup to VM's when you are about to try something that might fubar your VM. Then you can recover. Having a large amount of disk space won't hurt. If you really want to compile your own Linux, then you might want to take a look at Arch Linux.

Hmmm...64 bit is a must these days in Linux because it won't be long before 32 bit is no longer supported. As far as RAM goes, 16 gigs is a LOT for the average Linux user. On a day when I'm doing a bunch of things at once (all workspaces full; XFCE), I've never touched 3GB, ever. Centos is a good choice if you want to run a server. As far as just Linux in general, I've always been a huge fan of the XFCE desktop. So, Centos with XFCE might be a really good option for you at the moment and then use Virtual Box to explore other Linux distros and provide even more options that Centos might not even have. You can always install Wine if you need to run a simple Windows application, but having Virtual Box with Windows would be even better. I'd say just install it on another partition, but VB would be easier and safer. Plus, if you have an unregistered copy, you can keep reloading a backup of it.

Push The Outer Linux

16GB might be more memory than most people need, but given how cheap memory is, it seems like a good investment. I picked up an old dual core desktop from work with 4GB of RAM. I upgraded it to 16GB, put in a new 4GB video card and it works well for most things. I may not use all of the memory, but I would not have saved very much if I went with 8GB of RAM.

1 Like