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
[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.