How to initialise a Git repository for an existing code base

Assignment Help Operating System
Reference no: EM131900985

Assignment Questions -

This assignment consists of 3 questions. They consist of common tasks required of a system administrator-tasks.

Question 1 - A research group at your institution wants to incorporate revision control into their project so they can track the user changes made to their research code.

The main software package they use is "rebound", 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 (and is used by the software developer).

They have come to you to write a Git HOWTO using the Linux Git command-line interface and with explicit examples using the Rebound 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. The "master" repository for the local version of the rebound code will be on the HPC in the directory /home/Planets/rebound. This directory is readable and writeable by the Unix group "rebound". All researchers 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 Mercurial, SVN, rcs, darcs, etc.
  • A short description of the user's basic work-flow 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/Planets/rebound.
  • How to clone an existing master Git repository to a local user Git repository.
  • How to add new files and modified files to the local user Git repository.
  • How to recover a particular version of a file from the local user Git repository.
  • How to check the status of the local user Git repository.
  • How to view the change history of the local user Git repository.
  • How to push local user Git repository changes back to the master Git repository.
  • How to pull changes from the master Git repository into the local user Git repository.
  • What to do if a pull or a push fail because Git cannot merge your changes with the master Git repository.
  • Permissions that must be set on the master Git repository so that it can be cloned by users in the research group.

Notes:

a. The purpose of every Git command used must be explained.

b. The options used for every Git command must be explained.

c. Every Git command mentioned must show an example of the command using the Rebound code base.

d. Every Git command example must include the command output.

e. The code in the directory /home/Planets/rebound 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.

f. The Rebound code is used by the USQ Astronomy group to model the dynamics of exo-planetary systems. A typical modelling sequence 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).

g. 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 manpages ifup(8) and interfaces(5).

Question 2 - 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 distribution 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 configured 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:

a. Be aware that there are subtle differences between different Unix distributions-the question explicitly states discuss the Linux version only!

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

c. List all resources used in answering this question.

d. Please do not fall into the trap of answering the question by using 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 - 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 the latest version of syncthing (version 0.4.44 or 0.4.45) 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 information 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 (such as a server).
  • Discuss, with examples, the system and user systemd configuration 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:

a. Do not use any package manager, but download the compiled binaries from the syncthing Web site. You have been asked to test the latest version - different distributions will have older and different versions. For stability you want to run the same version across all systems.

b. For this question syncthing must be installed on the course virtual machine and its host.

c. To "bring-up" the host-only interface (the network that links the guests to the host) see the man-pages ifup(8) and interfaces(5)

d. It is important to understand how "syncthing" can use port 8384 for both configuration and data transfer. You need to understand which interface handles configuration and which handles data transfer.

Once you understand how "syncthing" communicates for configuration and for data transfer, manually changing the "syncthing" configuration file so that the "virtual" machine syncthing can be configured via a web client on the host, is straight forward. In the syncthing configuration file only the <gui> tag need be modified by hand.

Reference no: EM131900985

Questions Cloud

How does young turki feel about americans nasser other arabs : How does young Turki feel about Americans, Nasser, other Arabs? What informs his attitudes? What did it mean for Turki to be a refugee on a practical level?
How the medical condition affects functioning : Discussion of how the medical condition/illness affects functioning, common complications and concerns accommodations, treatments, strategies.
Jim does research in antarctica : He frequently endures extremely low temperatures. Explain how his skin, muscles, and metabolism help him to maintain his body temperature.
Painkiller that causes blood-vessel constriction : A person has a bone fracture and takes a painkiller that causes blood-vessel constriction. Why might this painkiller actually slow bone healing?
How to initialise a Git repository for an existing code base : csc3412 Assignment Questions. How to initialise a Git repository for an existing code base. In this case the master code in the directory /home/Planets/rebound
Compare the power differential between the parties : Compare and contrast the power differential between the parties. Where does Nikki derive her source of power? Identify whether Michelle has a source of power.
Change through time due to environmental factors : This week we concentrated on evolution and biodiversity and how species may change through time due to environmental factors.
Molecules of water originally in the bowl : If during diffusion, molecules of dye move "down their concentration gradient," what is happening with the molecules of water originally in the bowl?
Create a paper on key turning points in political history : Create a 5-6 page paper on Key Turning Points in Political History. You will be required to draw from at least 3 secondary sources to inform their approach.

Reviews

len1900985

3/14/2018 1:47:49 AM

This assignment consists of 3 questions each of equal value. They consist 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 favorite flavour of Unix. Submission - The assignment will be electronically submitted via Study Desk. If you cannot submit electronically please contact the Examiner as soon as possible to make alternative arrangements. If you have trouble submitting your assignment via the Study Desk etc., please contact the Examiner, USQAssist or via phone ASAP.

len1900985

3/14/2018 1:47:43 AM

It is vitally important that your assignment is clearly laid out with questions and parts of questions clearly defined. It must be a straight forward matter for the examiner to determine that you have completed each exercise satisfactorily. We want quality not quantity. Poorly organized 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 Microsoft Word please export your document as PDF/A1 not PDF.

len1900985

3/14/2018 1:47:38 AM

Command Output - When answering these questions you will have to run commands under Linux—whenever a command is run you will need to: a. 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 explain in your own words all terminology used—as if you were explaining to an average user! (Please show you understand what you are doing!) b. show that the command worked—either from its output or the output from another command.

len1900985

3/14/2018 1:47:31 AM

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. Non-submission of Assignments and Passing Grades - To be assured of receiving a passing grade a student must obtain at least 50% of the total weighted marks available for the course (i.e. the Primary Hurdle), and have satisfied the Secondary Hurdle (Supervised), i.e. the end of semester examination by achieving at least 40% of the marks available for that assessment item.

len1900985

3/14/2018 1:47:24 AM

Student Responsibilities - The Assessment Procedure Section 4.2.2, also outlines the following student responsibilities: If requested, Students must be capable of providing a copy of Assignments submitted. Copies should be despatched to the University 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.

Write a Review

Operating System Questions & Answers

  Implementation of algorithms for process management

The Shortest Job Next (SJN) algorithm queues processes in a way that the ones that use the shortest CPU cycle will be selected for running rst.

  Develop a user mode command interpreter

Develop a user mode command interpreter which support list-short.

  Memory allocation in operating system

Analysis and implementation of algorithms for memory allocation in operating system, Explain First- t and best- t methods are used in memory allocation in operating systems.

  Stand alone child process

Forking the child process

  Write a multi-threaded program

Write a multi-threaded program to solve producer and consumer problem

  Marginal and average cost curves

n a competitive market place (pure competition) is it possible to continually sell your product at a price above the average cost of production.

  Simulating operating systems scheduling

Simulate the long-term scheduler, the short-term scheduler and the I/O scheduler of the computer using the First-Come-First-Serve algorithm.

  Issues with trusted platform module

Research paper discussing the issues with Trusted Platform Module (TPM)

  Threads

Explain a complication that concurrent processing adds to an operating system.

  Design and programming

Use the semaphore methods to control the concurrency of the solution

  Virtual machines

Virtual machines supported by a host operating system

  Discuss an application that benefits barrier synchronization

Discuss an application that would benefit from the use of barrier synchronization

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd