What is the Ubuntu Equivalent of the program files and application data folder?
Tags:
- folders
- Ubuntu
- program files
- application data
- Windows XP
Last response: in Linux/Free BSD
jinjin12
June 6, 2014 11:23:42 PM
In windows XP, the programs files folder is usually where the main application data is stored after you installed it. and the Application DATA folder or %APPDATA% is sometimes used by application to store files that it needs to load.
What's the Ubuntu equivalent of these folders? and what is the full path to such folders?
What's the Ubuntu equivalent of these folders? and what is the full path to such folders?
More about : ubuntu equivalent program files application data folder
-
Reply to jinjin12
Executable files go into /bin, while the rest of the program goes in /lib.
Systemwide configuration and information goes into /etc, and user-specific config is in /home/<user>/.<program> (AKA ~/.<program>)
EDIT: You shouldn't have to deal with where stuff goes, though. The package managers should put the files where they need to be.
Systemwide configuration and information goes into /etc, and user-specific config is in /home/<user>/.<program> (AKA ~/.<program>)
EDIT: You shouldn't have to deal with where stuff goes, though. The package managers should put the files where they need to be.
-
Reply to Someone Somewhere
m
1
l
Ijack
June 7, 2014 2:05:31 AM
Incorrect (or certainly incomplete).
Essential system utilities go in /bin or /sbin (the latter only available to root, in general).
Most programs go in /usr/bin (or /usr/sbin) or /usr/local/bin (/usr/local/sbin). The former is usually used for programs that you would expect to find in most installations, the latter for programs that are local to this computer and wouldn't necessarily be part of a standard distribution. The reason for the distinction is that /usr is often a separate partition whereas /bin is always on the same partition as / - so if the system boots at all then programs in /bin should be available whereas those in /usr/bin might not be. In particular, the program to mount partitions needs to be on the root partition.
Some programs will use another location (typically /opt). Individual users might even install programs that only they use into /home/<username>/bin; normal users may not have authrity to install to /bin or /usr/bin.
Other data relating to applications may be found in /usr/share (or /usr/local/share).
The real answer is that you shouldn't think in terms of "equivalents" to Windows. Linux is not Windows and does things differently, so there is no one-to-one mapping between the two operating systems.
Essential system utilities go in /bin or /sbin (the latter only available to root, in general).
Most programs go in /usr/bin (or /usr/sbin) or /usr/local/bin (/usr/local/sbin). The former is usually used for programs that you would expect to find in most installations, the latter for programs that are local to this computer and wouldn't necessarily be part of a standard distribution. The reason for the distinction is that /usr is often a separate partition whereas /bin is always on the same partition as / - so if the system boots at all then programs in /bin should be available whereas those in /usr/bin might not be. In particular, the program to mount partitions needs to be on the root partition.
Some programs will use another location (typically /opt). Individual users might even install programs that only they use into /home/<username>/bin; normal users may not have authrity to install to /bin or /usr/bin.
Other data relating to applications may be found in /usr/share (or /usr/local/share).
The real answer is that you shouldn't think in terms of "equivalents" to Windows. Linux is not Windows and does things differently, so there is no one-to-one mapping between the two operating systems.
-
Reply to Ijack
m
0
l
Related resources
- Someone HELP I lost all data from folder Program Files (x86) on my Second Hard-drive !! - Forum
- What folders to keep on "Program Files" folder? - Forum
jinjin12 said:
In windows XP, the programs files folder is usually where the main application data is stored after you installed it. and the Application DATA folder or %APPDATA% is sometimes used by application to store files that it needs to load.What's the Ubuntu equivalent of these folders? and what is the full path to such folders?
There is no definite answer to this question, as it varies between various POSIX operating systems and even between different versions and distributions of those operating systems.
Core system programs that are necessary to run the operating system are always located within /bin, which stands for binary. At a bare minimum this folder contains the necessary programs needed to establish a user space and mount and use other file systems.
/sbin was created when the contents of /bin could no longer fit on a single storage device, it stands for supplimentary-binary. Many modern POSIX operating systems and Linux variants treat bin and sbin folders as one and the same, they may even be linked.
non-executable shared binary components (libraries) are stored in /lib which stands for library
configuration files are stored in /etc which stands for etcetera
shared documentation and examples are in /share
Now things get a little bit complicated and divergent. Since hard disk space is no longer a premium, many distributions pack all of the core system components into one folder named /usr which stands for Unix-System-Resources. /usr used to be on a separate partition just the same as /sbin was. Some distributions even link /bin to /usr/bin, /sbin to /usr/sbin, /lib to /usr/lib, and /lib64 to /usr/lib64. RedHat Enterprise Linux is configured this way to reduce the total number of program folders across the system, but Ubuntu is not.
Programs and components that are not a part of the distribution, either installed with it or provided through a managed software repository, are installed to a number of different places. The most used is /usr/local, and is fairly linux-specific. This folder will never be modified or updated by the operating system's maintainers. It's a safe place for system administrators to place stuff that they want to manage on their own. /usr/local is the default target for most free software that is built from upstream sources. It typically has its own common-name folders such as /usr/local/bin, /usr/local/sbin, /usr/local/share and /usr/local/lib. It is up to the system administrator to manage this folder as he or she wishes. Many distributions place these folders early in their respective search paths so that programs and libraries in these folders will take priority over programs and libraries in the distribution that have the same name. This provides an easy way to change system functionality without overwriting system components. If something in /usr/local breaks something else, it can be deleted without consequence.
Programs that are rather large, commercially distributed, closed source, or do not conform to standard folder structures are often installed to /opt. This stands for optional. It's functionally similar to /usr/local but has different expectations. It doesn't have a standard structure and is not on any search paths by default.
All user data is stored inside of their home folder. They may use applications installed on the system, but the application folders are almost always owned by the root user, making them unwriteable. User data is stored in /home/$USER, and applications make a godawful mess of everything inside of the user's home folder. It will become an unmanageable mess in no time at all. If a user wishes to install his or her own program as a user without doing so as an administrator, he or she can install it to his or her home folder. The folder /home/$USER/bin is typically late in the search path, so a local or system application with the same name will take priority.
While it is common practice to use Windows with an account that has administrative privileges, or even as the Administrator login, it is considered terrible practice to use the root user (POSIX equivalent of the Administrator user) for anything more than configuring the system itself. root can do anything and everything, including writing arbitrarily to the physical memory space at whim. Hardware abstraction provisions in Windows that keep programs run by Administrator from mucking around too much do not apply in Linux. Use root only for configuration and installation, use a normal user for everything else.
-
Reply to Pinhedd
m
0
l
Ijack
June 8, 2014 5:05:05 AM
Ijack said:
"sbin" is a contraction of "system binaries" (not supplementary). The important point is that it contains programs that are restricted to the administrator(s) and are not, by default, available to normal users.In modern parlance it may be, but I'm rather certain that when K&R were writing Unix they called it Supplimentary-Binaries because they had quite literally run out of space on the /bin mount point. I read that a long, long time ago and can't recall where. It may have been reorganized sometime after Unix went commercial though as it's often not even on the path anymore.
-
Reply to Pinhedd
m
0
l
Ijack
June 8, 2014 7:46:16 AM
Unix was not written by K&R but by Thompson and Richie.
This document - http://www.pathname.com/fhs/pub/fhs-2.3.html - describes the general conventions of Unix file system layouts. The programs in /sbin (and /usr/sbin) are - and always were - system utilities to be used by administrators. Originally they resided in /etc. There is no "/bin mountpoint"; /bin and /sbin have, by definition, to be true subdirectories of / and on the same partition (else how would you ever run the "mount" program to mount them?).
Some of the utilities in the /sbin directory are essential for system operation and are amongst the oldest Unix programs. They certainly could not be described as "supplementary".
I think you are possibly getting confused with the origins of the /usr and /home directories - http://lists.busybox.net/pipermail/busybox/2010-Decembe...
This document - http://www.pathname.com/fhs/pub/fhs-2.3.html - describes the general conventions of Unix file system layouts. The programs in /sbin (and /usr/sbin) are - and always were - system utilities to be used by administrators. Originally they resided in /etc. There is no "/bin mountpoint"; /bin and /sbin have, by definition, to be true subdirectories of / and on the same partition (else how would you ever run the "mount" program to mount them?).
Some of the utilities in the /sbin directory are essential for system operation and are amongst the oldest Unix programs. They certainly could not be described as "supplementary".
I think you are possibly getting confused with the origins of the /usr and /home directories - http://lists.busybox.net/pipermail/busybox/2010-Decembe...
-
Reply to Ijack
m
0
l
Ijack said:
Unix was not written by K&R but by Thompson and Richie.This document - http://www.pathname.com/fhs/pub/fhs-2.3.html - describes the general conventions of Unix file system layouts. The programs in /sbin (and /usr/sbin) are - and always were - system utilities to be used by administrators. Originally they resided in /etc. There is no "/bin mountpoint"; /bin and /sbin have, by definition, to be true subdirectories of / and on the same partition (else how would you ever run the "mount" program to mount them?).
Some of the utilities in the /sbin directory are essential for system operation and are amongst the oldest Unix programs. They certainly could not be described as "supplementary".
I think you are possibly getting confused with the origins of the /usr and /home directories - http://lists.busybox.net/pipermail/busybox/2010-Decembe...
Ah yes, it was /usr and /home that were split off as separate partitions
-
Reply to Pinhedd
m
0
l
!