Software Engineers Handbook/Operating Systems/Linux

Things encountered on Linux


 * GCC
 * Makefiles
 * Tarballs
 * Bash Scripts
 * Free Software Licences
 * Packaging Systems (e.g. deb)
 * Versioning Systems (e.g. CVS, Subversion)

Free Software Licences
Due to Linux's origins you will find that a lot of packages available for it use various types of free licenses. It is important that you pay attention to these if you are going to be using the code for any further development.

Tarballs
A term referring to a package stored as a file with the extension tar.gz these are often used for distributing source files. They perform a similar function to a zip file.

Makefiles
A text file used by the make program to create a program. The script used to make a program uses the form program : codefiles command to build

The script clean: rm -f objectfiles program tells make what to delete when the command make clean is invoked.

Versioning Systems
In open development processes many people may be working on the same codebase. To ease the complexity of co-ordinating development the code is sometimes stored in a versioning system. This usually consists of a central repository where developers can "check out" (like you check a book out of a library) pieces of code to work on they then work on it and their changes are merged back in when they have finished.

Links

 * Linux wikibooks page
 * Linux wikipedia entry