Open main menu

CDOT Wiki β

Changes

Maintaining a Computer Lab (LTSP)

210 bytes added, 20:23, 31 March 2010
no edit summary
[[Category:Ubuntu]][[Category:Linux]]
 
= About Computer Lab Maintainance =
Knowing which type of programming language to use when automating a task is based upon a programmers knowledge base and experience of . In other word, knowing which is the "'''best tool for the task'''". Should the program is be '''compiled ''' (like C, C++, etc) for efficient operation (if a lot of people run same program within a compressed period of time), or should ? Should program be '''interpreted ''' (eg. Shell Script, Perl Script, JavaScript) for ease of programming? Many factors are involved here, but '''shell scripting is definately definitely an easy way for the adminstrator administrator to automate rountine routine tasks'''... I will only be discussing Shell Scripting in the WIKI, although, you can access by webpage to learn other programming languages (like C - Course: IPC144)...
Many of the shell scripts on the Internet are "open-source" so instead of trying to "re-invent the wheel", you may be able to download, use, and /or modify the contents to meet your own needs...
There are many resources in the Internet on learning Linux commands and shell scripting.
 
 
Here is a link to an old (defunct) scripting course I taught: [https://cs.senecac.on.ca/~murray.saul/SPR720/notes.html https://cs.senecac.on.ca/~murray.saul/SPR720/notes.html]
These sample shell scripts will grow over time... Note that some of the shell scripts using the "'''zenity'''" Linux command (utility) to provide graphical input/output boxes that can be used when you run shell scripts... Therefore, shell scripting isn't as "old-fashioned" as you would suspect...  Note: In order to execute, these files need to have execute permissions. You can issue the Linux command '''chmod 755 filename''' to provide execute permissions.
I once volunteered to set-up and provide administration support an LTSP computer lab at high-school located in Toronto, Ontario.
During semestersWhile the school year was in process, I would visit the high-school once a week to check on the status of the computer lab. Sometimes, I would have to replace stolen mice, or reconnect Ethernet cables. etc...
OnceOne day, the high-school teacher informed me that the computer system was running slower than normal. I asked the teacher when was the last time that the system has been rebooted. The teacher indicated that the system had been up for at least 5 weeks. It is important to note that a server should be rebooted on a periodic basis, since lost running programs (referred to as the computer system's performance may be affected by "'''zombie processes'''"(programs that were completed, but still running as a process) by occur, or "'''memory leaks'''" (unallocated memory due to bad programmingerrors) may affect the computer server's performance. I instructed recommended that the instructor teacher reboot the server once or twice a week, and ... that solved the problem...
By the way, I suspect one reason for the cause of the problem occured as a result of was that students were powering-off the their terminals (thin clients) instead of properly logging outtheir accounts...
Problems like this such as these may occur from time-to-time, and a Linux administrator will be called upon to provide a solution. Let's take the previous problem and add an additional element. Let's assume that the high-school is used throughout the day and night (i.e. night-school). Let's assume that the only time that the system can be rebooted is between midnight and 7 am. Obviously, the high-school teacher (nor myself) want to say up twice a week after midnight to reboot the system. Therefore, it would make sense to have this shell script (run as the "administrator") automatically for a specificied date and time... 
... thus we would use '''cron'''. The cron command or utility stands for "'''Chronograph'''" and is a '''time-based scheduler for programs''' (like shell scripts).
 
Here is a link to a resource on how to use cron: [http://www.thewebhostinghero.com/tutorials/linux-cron.html http://www.thewebhostinghero.com/tutorials/linux-cron.html]
= Additional Resources =
 
Here is a link to Edubuntu's Documentation of the LTSP server:
[http://doc.ubuntu.com/edubuntu/edubuntu/handbook/C/server.html http://doc.ubuntu.com/edubuntu/edubuntu/handbook/C/server.html]
13,420
edits