What is the difference between a package and a software in ubuntu?
Solution 1:
If you are familiar with MS-Windows, the usual mean of installing software under that system is the setup.exe
. As you've seen, Ubuntu uses packages.
The main (HUGE) difference is that packages have what is called dependencies so a system such as APT can go out and download all the necessary dependencies before installing the package you selected. Of course at times all dependencies were already satisfied, so just that one package gets installed.
A setup.exe
and a package is an agglomeration of files within a single binary file. In most cases this is a compressed archive of some sort. Under MS-Windows, they generally use zip. Debian / Ubuntu packages use ar and tar (ar as a wrapper, tar to save all the files of the package.)
So... according to the general definition of software, one package can often be viewed as a software (a program). The fact that it needs dependencies that automatically get installed is an artifact. However, some packages are not software per se. That is, a -doc package is probably just HTML or man files. Others just include debug symbols.
As a programmer, I would say that the software is the file that gets installed under /usr/bin
(or an equivalent). These files are the actual brain of the software, the compiled program that is sent to the CPU in your computer to do stuff.
Solution 2:
Packages are like boxes that come with all the components needed to "build" software. When you install a software with APT, you basically download a DEB (Debian) package from repository and then build the software with the "parts" that come with this pack. So yes, you use software in Ubuntu. Ubuntu itself is a software. Packages are only simple ways to compile (build) programs.
Just to make things clear, a software is a tool that makes the communication between the user and the hardware.