Software Engineers Handbook/Operating Systems/Linux

From Wikibooks, open books for an open world
Jump to navigation Jump to search

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]