Well, bearing in mind all the excellent advice already given above, you may be interested to know that versions of applications in use, kernel build etc can also be found without necessarily resorting to the Software Centre or dpkg commands. For the kernel in use there is the uname command:
Originally Posted by regency
and many applications will respond to a --version command, such as gcc:
andrew@skamandros~$ uname --help
Usage: uname [OPTION]...
Print certain system information. With no OPTION, same as -s.
-a, --all print all information, in the following order,
except omit -p and -i if unknown:
-s, --kernel-name print the kernel name
-n, --nodename print the network node hostname
-r, --kernel-release print the kernel release
-v, --kernel-version print the kernel version
-m, --machine print the machine hardware name
-p, --processor print the processor type or "unknown"
-i, --hardware-platform print the hardware platform or "unknown"
-o, --operating-system print the operating system
--help display this help and exit
--version output version information and exit
Report uname bugs to email@example.com
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
For complete documentation, run: info coreutils 'uname invocation'
There have even been times where this wil be a more accurate way of finding version information as for a very small number of applications the Debian/Ubuntu package naming has been a little confusing. The example that springs to mind is the Ubuntu wine package.
andrew@skamandros~$ gcc --version
gcc (GCC) 4.7.1
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.