Big difference between Unix systems? Which one as OSX replacement for a developer?
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Big difference between Unix systems? Which one as OSX replacement for a developer?
Hello Everyone
I am a software developer and private OS X user. I was enthusiastic with what I learned about Linux (on my OS X) during the operating system module at school and I am using some of it.
But I may not want to go the Apple way till the end. And OS X is a little too big to run on a NAS, memory stick or as a virtual machine on my workplace to make some well known CL tools available at work.
I am looking for a Linux or any other Unix (like) system like FreeBSD, Solaris, FreeDarvin, ...
I tried to find it myself, but was overwhelmed with the amount of information.
I don't know how much these systems really differ from a bash terminal point of view.I mean between the different Linux distributions and different Unix versions are there big differences in
• names of the commands (ls, find, pwd, pipes, in-output redirection, ...)?
• names of the most command line tools (iptables, grip,...)?
• directory structure?
• placement and form of configuration files?
• e.g is iptables and cronjob real differences between these systems? • would I need a completely different bash script to achieve the same on e.g. Debian and FreeBSD?
Requirement for Unix system as a secondary system:
• nice, comfortable bash terminal which supports split screen, copy & past
• portable, running on most hardware, stable and fast on some
• version for bootable USB-Stick available
• many precompiled packages available per package manager
• simple installation
• available and support long term
Requirements for Unix System as a primary system at home:
• nice and minimalistic GUI
• support of multiple displays
• support somehow Microsoft onenote
• shall support iTunes
• nice backup functionality (close to time machine on mac)
• development with Java (intellij idea, Tomcat,...)
• development of web apps (Apache, NodeJs, Browser Support)
• icloud, Dropbox, google drive,... local
What are your suggestions? Shall I better stay with OSX or are there some other options?
Are there really big differences between Unix Systems?
IMHO there exist three basic "families" -- Debian, Slackware and Redhat (I am not a regular user of the third; ubuntu is but an offshoot of Debian). Try them all out, learn one well.
Using forums, get a handle on the basic concept -- develop a thick skin -- resist human nature and just try to help (I am not perfect at this, myself).
I already got my hands dirty an osx bash. And after a workday of programming and requirements discussing I have no passion anymore to play with a linux system.
I like the user experience from osx where stuff mostly just worked 😄
Thus I rely on the experience and help of others to move away from osx.
Probably I am confused because I don`t understand if the Linux Kernel is the bigger portion which shapes the system and user experience from the bash terminal or if it is all the other software in the distribution.
Linux is not a Unix system, it does not share a common ancestry with macOS, the BSDs and/or Solaris/AIX. The bash is a GNU thing though - GNU is Not Unix (hence the acronym). While most GNU tools are available on the (supported) Unices and all of the free BSDs, do not assume that the bash is the best shell you could imagine. macOS, for example, had the csh (tcsh) as the default shell until fairly recently which happened to be the default shell on BSD UNIX and still is on FreeBSD.
If you care about developer-friendliness, you should consider a system that does not try to invent new standards without even following them. There is a lot of un-POSIX-ness in GNUland. The POSIX standard actually gives hints about some of:
Quote:
• names of the commands (ls, find, pwd, pipes, in-output redirection, ...)?
• names of the most command line tools (iptables, grip,...)?
• directory structure?
Sadly, the systems still diverge.
As you especially asked for a "developer" replacement for the rotten macOS, here are my two cents:
Quote:
Originally Posted by JacobPhelps
Requirement for Unix system as a secondary system:
• nice, comfortable bash terminal which supports split screen, copy & past
• portable, running on most hardware, stable and fast on some
• version for bootable USB-Stick available
• many precompiled packages available per package manager
• simple installation
• available and support long term
I can recommend a free BSD for that. If 12 months are "long term" enough for you, OpenBSD (default shell: ksh; bash is available) suits all your needs. There is nothing wrong with making updates at least once or twice a year, I presume. (You can semi-automatize that with a shell script. Still need to reboot though.) FreeBSD allows up to 24 months, depending on the version, but it has its quirks.
Quote:
Originally Posted by JacobPhelps
Requirements for Unix System as a primary system at home:
• nice and minimalistic GUI
• support of multiple displays
• support somehow Microsoft onenote
• shall support iTunes
• nice backup functionality (close to time machine on mac)
• development with Java (intellij idea, Tomcat,...)
• development of web apps (Apache, NodeJs, Browser Support)
• icloud, Dropbox, google drive,... local
Modernist software is not Unix's strong point. While "nice and minimalistic GUIs" are available on most Unices and Unix-like systems (I currently use StumpWM), the support of both OneNote and iTunes can be a turndown point. In fact, OneNote "Web" would probably work - seeing iTunes and the iCloud, being Apple things, outside Windows and macOS would actually amaze me though. Apple is not known for being interested in supporting other platforms. If this is a "requirement", you have no choice here. Except for macOS, Dropbox (as far as I remember) only has a Linux and Windows desktop client available, none for Unix.
FreeBSD might come close here - it can emulate Linux rather well.
I would say the two things you might not be able to do are use iTunes and probably oneNote. Your question or request for information is very broad and would require a lot and I mean a lot of explanation. From my experience(I ran FreeBSD for about 2 years), freeBSD was further behind on the curve to run newer hardware than linux and I eventually reverted my main desktop/server back to Linux because I felt more at home with Linux. There are many other shells other than bash such as csh, sh, zsh, etc etc. But if you are comfortable with bash, it is available for both BSD and Linux. The split screen shells can be easily accomplished with TMUX or you can split the screen in vim for coding if you choose.
Like Sidzen said, just get in and try some things in virtualbox and see what’s comfortable for you. Like I said, most of the things on your list can be accomplished with both operating systems with the exception of iTunes and possibly OneNote. Good luck with everything.
Effectively there is one Unix-type system in general use: Linux. OSX and Solaris are each tied to one company and its products, while BSD is very niche (well, Yahoo uses it...)
For a survey of some of the available software, including advice on Mac and Windows alternatives, see http://linuxappfinder.com
If you are desperate, you can get some Windows software to run with Wine, but there's usually a Linux equivalent (just as there'd usually be a Mac equivalent).
Effectively there is one Unix-type system in general use: Linux. OSX and Solaris are each tied to one company and its products, while BSD is very niche (well, Yahoo uses it...)
Solaris is not tied to a company anymore since illumos has spawned, being a community-driven variant of OpenSolaris with (probably) no input by Orrible, ehm, Oracle. FreeBSD is bound to Apple as Apple uses parts of their userland but also contributes back. That said, large parts of the internet are routed through FreeBSD: WhatsApp and Netflix, for example.
Each Linux distribution is tied to its development company or foundation. Example: Fedora - the distribution used by Linus IIRC - is tied to Red Hat...
• nice backup functionality (close to time machine on mac)
Whatever that is. Backup is up to your definition of a backup. And it depends on how you setup your gnu linux. Binary distros will hardly fit the bill for some cases.
I think i could write 50 pages only about backups and backup strategies in linux.
@ secondary system
sounds more like knoppix or sysrescue-cd. it depends on what you want to do with that
liveusb may work on some machines as there are so many endless hardware setups. And a lot of apple only, microsoft windows only hardware available.
Wrong "bullshit" fact to claim, linux runs on everything. same with freebsd, it doesn't run on everything. with a lot of fiddling around it may run on more systems.
Usually you do not have a need for an usb based operating system. except you want to keep your spyware 95 or your applesoft
and uefi makes things even worse
--
apple is an exotic hardware manufacturer. was it around 10 or 20 percent. Those devices are not used much. they have decent fanboys.
when you want an apple, nope that will not be possible with linux
when you want spyware95 (anything as new or newer as windows95), nope that will not be possible with linux
When you are willing to change a bit your work habits, look for some replacement, use some online services, and such you may achieve a switch with gnu linux
and there is also the possibility to boot several operating systems usually.
Also it takes time and passion to change operating systems.
the time you save with binary distros you will most likely waste later on fine tuning (e.g. linux mint).
the time you spend in early stages of arch linux or gentoo linux you may have less headaches and you will know what you have.
--
Well you write developer in the title. So i boldly say use gentoo. it is the most flexible one and you will get a full toolchain as a bonus.
The "time machine" is Apple's approach to Solaris's "time slider" and DragonFly BSD's incremental backups: Basically, you regularly mirror your files on a separate drive so you will never be surprised.
DragonFly BSD does that every 5 minutes by the way and it is roughly based on FreeBSD. (Sorry, I missed the time machine part.)
Distribution: Mainly Devuan, antiX, & Void, with Tiny Core, Fatdog, & BSD thrown in.
Posts: 5,520
Rep:
So likely rsync & a cron job would do the same on any unix like system.
I used to quite like FreeBSD, but it installs at twice the size of my preferred OpenBSD.
NetBSD is another option. (Most unix like systems use GNU software.)
My main system is AntiX Linux, Debian based without systemd.
I have a variety of systems in my office: Windows, Linux, and OS/X. I also have quite a few VMs that I run under other types of hosts, using external disk-drives for storage.
I don't think that you need to seek "one system to rule them all." Computer hardware is frankly cheap enough these days that you can have more than one system ... and virtual machine technology gives you even more options.
Usually in each case there is a "killer app" (or, a particular client's needs) which justifies a particular setup. My office-business infrastructure and much of my personal work is done in an OS/X environment (with a case-sensitive filesystem). But each "other" machine is there for a reason and is rigged-out to suit the business purpose that also pays for it.
I never "switched to" <<Linux | Windows | OS/X | etc. >> I never felt the need to do any such thing. I did, and still do, make it my business to be fully aware of what's going on in all camps. And, in most cases, I find that customers are running all of the major technologies somewhere in their shop, all at the same time. The ability to "fluidly wear many hats at the same time" is a big plus for me.
Last edited by sundialsvcs; 01-01-2018 at 09:56 PM.
MacOS = Based on FreeBSD which is derived from Unix
It was, many decades ago. In today's terms, FreeBSD is merely unix-like - that's even their own term for it.
Quote:
Originally Posted by fatmac
GNU/Linux = Based on Unix principles
No. That GNU dude (RMS) hates Unix principles, so does that Lennart guy. "GNU" means "GNU's Not Unix" - for this one reason: It does not even try to be like Unix.
Quote:
Originally Posted by fatmac
Illumos = Free Solaris Unix system
True.
But: You misunderstood what I wanted to express. macOS, GNU/Linux and illumos (with their particular distributions) are only 3 systems. There are more than 5 unix-like systems around, so the assumption that those three are already "most unix-like systems" is just plain wrong.
Thanks for all the answers.
I spent some time online reading unix-y stuff.
I think that based on my requirements the differences between all those systems are not really important to me.
Because
they all try to be unix/posix conform if possible and not senseless I guess
if an application for e.g Linux is written in portable (which it should) it should also be usable on other unix-y systems.
comparison of command line utils between unix standard, BSD and gnu/linux showed only few inconsistencies (see gnu utils)
Also there are many different package management systems and I had the same issue deciding for one as I have with deciding for a Unix-y.
But because the most apps I will use are anyway by default installed or available on the most of these package management systems it doesn't matter which I will have.
The bigger differences between theses systems are, I hope, not relevant for me because I merely use command line apps and don`t do a lot of system configuration or networking stuff.
If I will find out that there is something I need in a certain distro i can easily switch because the Unix-y systems are so similar in usage.
Because there are still differences between theses systems and they cannot replace OSX for me I will stay with OSX as private system and install it on work in a virtual box to access unix tools.
In addition I would like to do something like Linux From Scratch or BSD from Scratch if it exists to build up a own system which I will know and control up to almost 100%.
Just for fun and learning purpose.
Can you recommend Linux from Scratch or something else for this?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.