Are programs (like NetBeans, Android Studio, Code::Blocks) installed in the home directory? If not, then where?
What is the usefulness of defining "/" and "/home" separately?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.Sign up to join this community
When I installed Ubuntu on my new custom-built machine, I installed both my '/' and my '/home' on a single 50GB drive, planning to upgrade later. Two months later I got a 3TB drive brand new and had no idea what to do with it, so I decided to put it into my machine. Instead of now having both on 50GB I left the 50GB for / (AKA boot) and then mounted my /home directory on the 3TB. The benefit of this is that I can hold 3TB worth of info on my System without it slowing my boot speed down.
Actual executable files typically go under
/sbin , sometimes
/opt, but "Apps", as they show up in dash search, are typically organized into
*.desktop files under
/usr/share/applications. Muru explains it quite well here and has plenty of relevant links. These are under root file system.
It is possible , howerver, to install apps in custom
/home/bin directory from source, but that's rarely done for average-grade user.
The benefit of separating root and home filesystems is that your personal files will be intact in case something wrong goes down on the root partition.
It's nice to have /home on a separate partition because if you upgrade or even reinstall your user data stays safe. Also, it allows you to apply options to your home partition like encrypting your home partition without having a real impact on boot time. /opt is also sometimes on a separate partition I believe so that any downloaded source code can be kept during upgrades or even operating system failures. But let's be honest though. When is Ubuntu gonna randomly fail? It's pretty trustworthy, not perfect, but good.
/home on its own partition, one can install multiple Linux distributions (on other partitions/disks), and tell them each to mount
/home from there. If one deletes some distributions, or messes with them until they don't work and have to delete them,
/home is "safe" (on its own partition - DO NOT commit typos).
Also, by having directories that might fill up (when the User's program goes awry) (e.g.,
/tmp) not sharing the partition with
/*) ensures that the system will have enough free disk space to run happily. I've seen systems trying to run with zero disk blocks free on
/. In general, they can't. Logging doesn't work (and it wants to log about that), servers hang waiting for a disk write to complete, very, very ugly. I had to kill servers so I could delete temporary files, so I could clean up. All while the Suit was watching.