Friday, 16 February 2018

CSC8512 | ASSIGNMENT 1 | INFORMATION TECHNOLOGY

Instructions
This assignment consists of 4 questions each of equal value. They con-sist of common tasks required of a system administrator—tasks I have had to do at some time in the past Be aware that some questions require that you use the Virtual Machine supplied for the course. The question will clearly state that the course Virtual Machine must be used, if it doesn’t then you are free to use your favourite flavour of Unix.
Clear Layout
It is vitally important that your assignment is clearly laid out with ques-tions and parts of questions clearly defined. It must be a straight for-ward matter for the examiner to determine that you have completed each exercise satisfactorily. We want quality not quantity. Poorly or-ganised submissions will be rejected or receive a poor mark.

A text file or PDF/A document typeset using vanilla LATEX are preferred over a document produced by a word-processor. If you must use Mi-crosoft Word please export your document as PDF/A1 not PDF.
Command Output
When answering these questions you will have to run commands under Linux—whenever a command is run you will need to:
    1. explain in your own words the purpose of the command in the context of the assignment question. (Please do not just copy the “Description” section from the man page!) Also, you need to ex-plain in your own words all terminology used—as if you were ex-plaining to an average user! (Please show you understand what you are doing!)
  • PDF/A is an archival format of PDF that embeds all fonts used in the document within the PDF file. To ensure PDF/A format in Word check “ISO-19005-compliant (PDF/A)” under “Options” when saving a file as PDF. LATEX produces PDF/A by default.
  1. show that the command worked—either from its output or the output from another command. For example
  1. To capture text output from programs you will have to redirect the output to a file or use the command script. If you are us-ing the command script turn off the tty escape sequences that change the colour of console text—the escape sequences will ap-pear in output file and make it impossible to read.

                                                                                                   

 Late Submission of Assignments
Students can apply for an extension of time to submit an assignment at any time up to the deadline. Students are advised to make a request for an extension as soon as their need becomes apparent. Delay in making a request involves the risk of losing marks if the request is refused.
Applications for extensions must be made via email or USQAssist to the examiner together with accompanying documentation as specified in the Assessment of Compassionate and Compelling Circumstances Pro-cedure.
An assignment submitted after the deadline without an approved exten-sion of time will be penalised. The penalty for late submission without a pre-approved extension is a reduction by 5% of the maximum mark applicable for the assignment, for each University Business Day or part business day that the assignment is late. An assignment submitted more than ten University business days after the deadline will have a Mark of zero recorded for that assignment.
The Examiner may refuse to accept assignments for assessment pur-poses after marked assignments and/or feedback have been released.
Please consult the USQ Assessment Procedure for the complete USQ policy on assessment.
Non-submission of Assignments
As per the USQ Assessment Procedure — for a student who has failed to achieve a passing final grade by 5% or less of the total weighted marks, the Examiner, in agreement with the Moderator, will consider recom-mending to the Board of Examiners the undertaking of Supplementary Assessment by the Student. This offer will normally only be made if the Student has undertaken all of the required Summative Assessment Items for the Course—that is, submitted all of the assignments!
Student Responsibilities
The assessment procedure also outlines the following student responsi-bilities:
  • If requested, Students must be capable of providing a copy of As-signments submitted. Copies should be despatched to the Uni-versity within 24 hours of receipt of a request being made
  • Students are responsible for submitting the correct Assignment.
  • Assignment submissions must contain evidence of student effort to address the requirements of the Assignment. In the absence of evidence of Student effort to address the requirements of the assignment, no Mark will be recorded for that Assessment Item.
  • A Student may re-submit an Assignment at any time up to the deadline. A request to re-submit after the deadline is dealt with in accordance with section 4.4 ‘Deferred, Supplementary and Varied Assessment and Special Consideration’ of these procedures.
Academic Misconduct
Academic misconduct is unacceptable and includes plagiarism, collu-sion and cheating:
plagiarism :     involves the use of another person’s work without full and clear referencing and acknowledgement
cheating :    involves presenting another student’s work as your own
collusion :     is a specific type of cheating, that occurs when two or more stu-dents fail to abide by directions from the examiner regarding the permitted level of collaboration on an assessment.
All are seen by the University as acts of misconduct for which you can be penalised. For further details go to the Library’s site on
Question 1 (marks 25)
A research group at your institution wants to incorporate revision con-trol into their project so they can track the user changes made to the Code:                                               code being using.
The main software package they use is Mercury a high precision integrator for studying the long-term stability of planetary systems, the orbital evolution of comets, asteroids or meteoroids, and simulating planetary accretion. The revision control system they wish to use is Git as it is employed by their collaborators.
They have come to you to write a Git HOWTO using the Linux Git command-line interface and with explicit examples using the Mercury code base. All work on the code will be done on the institution’s Linux HPC, so all user repositories will be local to that machine. They store the “master” code base on their HPC in the directory /home/Mercury/mercury6. This directory is readable and writeable by the Unix group “mercury”. All researches using the code are in that group.
The HOWTO needs to cover the following topics
  • A basic description of Git and how it differs from other revision control systems, such as CVS, SVN, darcs, etc.
  • A short description of the user’s basic workflow when using a Git repository.
  • How to initialise a Git repository for an existing code base. In this case the master code in the directory /home/Mercury/mercury6.
  • How to clone an existing master Git repository to a local working repository.
  • How to add new files and modified files to the local working Git repository.
  • How to recover a particular version of a file from the local Git working repository.
  • How to check the status of the local Git repository.
  • How to view the change history of the local Git repository.
  • How to push local repository changes back to the master Git repository.
  • How to pull changes from the master Git repository into the local Git repository.
  • Permissions that must be set on the master Git repository so that it can be cloned by users in the research group.
  • Permissions that must be set on the users’ local repository so changes can be pushed to the main repository.
Notes:
  1. The purpose of every Git command used must be explained.
  1. The options used for every Git command must be explained.
  1. Every Git command mentioned must show an example of the command using the Mercury code base.
  1. Every Git command example must include the command output.
  1. The code in the directory /home/Mercury/mercury6 is the Master and all users are pushing their local changes to the master, and pulling other peoples changes from the master to their local copy.
  1. The Mercury code is used by the USQ Astronomy group to model the dynamics of Exo-planetary systems. A typical modelling se-quence requires running the code a million times with each run integrating the system forward in time a million years and log if the system is stable or unstable (a planetary collision or ejection).
  1. The “git” packages are not installed on the virtual machine, they will need to be installed if you plan to use it to do this question. To install any packages the guest NAT network which connects the guest OS to the Internet through the host’s Internet connection must be brought up. To “bring-up” the NAT interface see the man-pages ifup(8) and interfaces(5)
Question 2 (marks 25)
Authentication under modern Unix systems is handled by the Pluggable Authentication Module (PAM) system. In about a page and in your own words explain the PAM system as it is implemented on a Linux distri-bution and why it was introduced.
Using the login service file found in the course virtual machine (see /etc/pam.d/login) as an example, explain how a service is con-figured and discuss the implications of each configuration line. Your explanation should include discussions on the following:
  • what is the module-type parameter
  • what is the control flag,
  • what does it mean that the service file is a stack,
  • what is a pam module.
Notes:
  1. Be aware that there are subtle differences between different Unix distributions—the question explicitly states discuss the Linux ver-sion only!
  1. The topics above are linked to each other and the question, they are not independent of each other. They are provided as a minimal guide only. Do not simply write an unconnected paragraph on each without linking the concepts together. Marks will be lost if your answer appears to be cut and pasted from the Internet.
  1. List all resources used in answering this question.
  1. Please do not fall into the trap of answering the question by us-ing unexplained technical terms—you must explain all technical terms used especially if they have not been used anywhere else in the course. Assume you a writing for someone who knows nothing about PAM.
Question 3 (marks 25)
Your users require standardised syncing software, but due to security constraints and possible intellectual property rights, syncing to off- site private servers is not an option. The software must also be supported under Windows, macOS, Linux, Android and iOS.
The software being mooted is “syncthing”. You have been asked to test syncthing and write an evaluation report.
The report must contain the following:
  • A discussion of the syncthing application: how it is different from other syncing software, how it is configured, what informa-tion is required for configuration, how it actually synchronises data, what data is synchronised.
  • Included with your discussion of syncthing you must include examples of syncthing being installed, configured and used.
  • The environment used for the examples must be the course virtual machine and its host. This is important, as the guest machine does not have a windowing environment and the host will. So your discussion must include how to install, configure and use syncthing in a non-windowing environment.
  • Discuss, with examples, the system and user systemd configu-ration required on the virtual machine, so that the user’s instance of syncthing will start running when the user logs in (or the system boots) and continue running after the user has logged out.
  • The report with examples should be approximately two pages
Notes:
  1. For this question syncthing must be installed on the course virtual machine and its host.
  1. To “bring-up” the host-only interface (the network that links the guests to the host) see the man-pages ifup(8) and inter-faces(5)
  1. It is important to understand how “syncthing” can use the port 8384 for both configuration and data transfer. You need to under-stand which interface handles configuration and which handles data transfer. Once you understand how “syncthing” communi-cates for configuration and for data transfer then manually con-figuring “syncthing” by editing its configuration file is straight forward. Only the GUI configuration needs to be modified.
Question 4 (marks 25)
On modern networked computers, maintaining the correct time on each machine is important. Computers on a LAN or WAN with different times can cause problems.
In about a page and in your own words explain why it is important for computers to maintaining the correct time and more importantly ex-plain how they do it.
Notes:
  1. In your explanation make certain to include discussions on the following linked topics
  • The computer’s hardware clock (also called the Real Time Clock or RTC)
  • The computer’s software clock (also called the kernel or sys-tem clock) and why this can be inacurate.
  • In Linux, how they are synchronised and why do they need to be synchronised? Why can the Linux software clock be so inaccurate?
  • What is NTP and what are “clock strata”
  • What is UTC and why is it used? (UTC: Coordinated Uni-versal Time, or Temps Universel Coordonné, and if you want— you can explain what is going on with the acronym!
  1. The topics above are linked to each other and the question, they are not independent of each other. They are provided as a minimal guide only. Do not simply write an unconnected paragraph on each without linking the concepts together.
  1. The question being asked is “…why is it important for computers to maintaining the correct time…” please be certain to answer this question.
  1. List all resources used in answering this question.
  1. Please do not cut and paste slabs of text from a Wikipedia arti-cle. Unconnected paragraphs, though factually correct, will loose marks.
  1. Please do not fall into the trap of answering the question by us-ing unexplained technical terms—you must explain all technical terms used especially if they have not been used anywhere else in the course.

No comments:

Post a Comment

Recent Questions

Learn 11 Unique and Creative Writing Examples | AssignmentHelp4Me

Learn 11 Unique and Creative Writing Examples | AssignmentHelp4Me elp4Meelp4Me