$25
1 Minix 3
Install Minix 3 in a virtual machine. For more details and resources, refer to the document Introduction to Minix 3 available in the extra folder on Canvas.
• In Minix 3, how to manage software, i.e. install, remove, update, etc.?
• What is the purpose of the commands ifconfig, adduser, and passwd?
2 Working on a remote server
As system administrators seldom have a physical access to their servers they remotely connect using a tool called Secure SHell (SSH). It allows them to log into a remote server and launch a regular shell, while keeping all the network traffic encrypted.
• Setup an SSH server on Minix 3. From Linux (using ssh) or Windows (using Putty) log into Minix 3.
Note: the network need to be properly setup on the Virtual Machine (VM).
• What is the default SSH port? Change this port for port 2222. Log into Minix 3 using this new SSH server setup.
• List and explain the role of each the file in the $HOME/.ssh directory. In $HOME/.ssh/config, create an entry for Minix 3.
• Briefly explain how key-only authentication works in SSH. Generate a key-pair on the host system and use it to log into Minix 3 without a password.
• On Canvas, submit your public key in a separate file. Name it “student-id.pub”, e.g. “5143709219.pub”. This public key will be used to grant you access to the VE482 course server. Note: always remember that the private keys should remain private, and as such should never be disclosed.
3 Basic git
Git is a very power version control system initially introduced to help in the development of the Linux kernel around 2005. It has since then become a widely used tool omnipresent in industry. It is therefore of a vital importance to be proficient at it in order to better prepare for your future career and create more internship opportunities.
• Setup git on your computer, we will use it for the rest of the semester.
• Search the use of the following git commands:
• Setup your git repository on the VE482 server.
Follow and reproduce on your personal repository the demo from the TAs showing a common git workflow.
– help
– init
– checkout
– branch
– push
– pull
– merge
– add
– diff
– tag
– log
– fetch
– commit
– clone
– reset