Csc3412 - differences between different unix


Instructions

This assignment consists of 3 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.

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"5, a high precision inte- grator for studying the long-term stability of planetary systems, the or- bital evolution of comets, asteroids or meteoroids, and simulating plan- etary accretion.

The revision control system they wish to use is Git6, 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/rebound7. This directory is read- able 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 repos- itory.
- 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.

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 distri- bution and why it was introduced.

Using the login service file found in the course virtual machine 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.

a. Be aware that there are subtle differences between different Unix distributions-the question explicitly states discuss the Linux ver- sion 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 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

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 (ver- sion 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 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 (such as a server).

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

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 inter- faces(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 tag need be modified by hand.

Request for Solution File

Ask an Expert for Answer!!
Computer Engineering: Csc3412 - differences between different unix
Reference No:- TGS02685522

Expected delivery within 24 Hours