From 885f65234948a107f1899e3cd4cd88a28fe7656e Mon Sep 17 00:00:00 2001 From: Maroosh-Gillani Date: Sun, 17 Mar 2024 19:05:13 -0400 Subject: [PATCH 1/7] Add vm section to Software_Tools.md --- Topics/Software_Tools.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Topics/Software_Tools.md b/Topics/Software_Tools.md index 69b8828e9..29e39d03d 100644 --- a/Topics/Software_Tools.md +++ b/Topics/Software_Tools.md @@ -20,3 +20,6 @@ ## Text Editors ### [Introduction to Vim](./Software_Tools/vim.md) + +## Virtual Machines +### [Introduction to Virtual Machines]() From 2c4ef96b4da8797ea481d5feee97b7f182d77a11 Mon Sep 17 00:00:00 2001 From: Maroosh-Gillani Date: Sun, 17 Mar 2024 19:10:02 -0400 Subject: [PATCH 2/7] Create virtual_machine.md --- Topics/Software_Tools/virtual_machine.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Topics/Software_Tools/virtual_machine.md diff --git a/Topics/Software_Tools/virtual_machine.md b/Topics/Software_Tools/virtual_machine.md new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/Topics/Software_Tools/virtual_machine.md @@ -0,0 +1 @@ + From bd78f2e1fa20bcfa711094e9bdc303c129a0aaa7 Mon Sep 17 00:00:00 2001 From: Maroosh-Gillani Date: Sun, 17 Mar 2024 19:12:26 -0400 Subject: [PATCH 3/7] add vm page link --- Topics/Software_Tools.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Topics/Software_Tools.md b/Topics/Software_Tools.md index 29e39d03d..931323482 100644 --- a/Topics/Software_Tools.md +++ b/Topics/Software_Tools.md @@ -22,4 +22,4 @@ ### [Introduction to Vim](./Software_Tools/vim.md) ## Virtual Machines -### [Introduction to Virtual Machines]() +### [Introduction to Virtual Machines](./Software_Tools/virtual_machine.md) From 6804f6cb92b940a1be947541b24f081d07a0da7a Mon Sep 17 00:00:00 2001 From: Maroosh-Gillani Date: Sun, 17 Mar 2024 19:25:24 -0400 Subject: [PATCH 4/7] add what are vms --- Topics/Software_Tools/virtual_machine.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Topics/Software_Tools/virtual_machine.md b/Topics/Software_Tools/virtual_machine.md index 8b1378917..31f528f08 100644 --- a/Topics/Software_Tools/virtual_machine.md +++ b/Topics/Software_Tools/virtual_machine.md @@ -1 +1,12 @@ +# What are Virtual Machines? +A virtual machine, or VM, resembles a physical computer in terms of components such as CPU, memory, and storage. However, unlike traditional hardware, VMs exist as software-defined entities within physical servers, functioning through code rather than tangible hardware[^1]. + +Virtualization involves creating a virtual computer with allocated CPU, memory, and storage resources, drawn from a physical host computer or a remote server. A VM operates as a computer file or image, emulating the behavior of a real computer. It can run within a window as an independent computing environment, facilitating tasks such as running different operating systems. A VM operates in isolation from the host system, ensuring that the software within the VM does not interfere with the primary operating system of the host computer[^1]. + +For example, if you own a Windows computer, but are required to develop in a Linux environment, you can utilize a VM to operate as your Linux machine, without having to purchase one physically. + +# Getting Started with Virtual Machines + +# Sources: +[^1]: [What is a virtual machine (VM)?](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-a-virtual-machine) From f1dff6631e5a0229583de19fe40ef8d78581204d Mon Sep 17 00:00:00 2001 From: Maroosh-Gillani Date: Sun, 17 Mar 2024 22:24:09 -0400 Subject: [PATCH 5/7] Update virtual_machine.md with setup instructions --- Topics/Software_Tools/virtual_machine.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Topics/Software_Tools/virtual_machine.md b/Topics/Software_Tools/virtual_machine.md index 31f528f08..072eea17d 100644 --- a/Topics/Software_Tools/virtual_machine.md +++ b/Topics/Software_Tools/virtual_machine.md @@ -8,5 +8,21 @@ For example, if you own a Windows computer, but are required to develop in a Lin # Getting Started with Virtual Machines +For this tutorial, I will be using VirtualBox for Windows, and will be installing a Linux Xubuntu VM. The step-by-step instructions are from The Odin Project's guide to VM installation[^2]. + +1. Download VirtualBox for Windows from [here](https://www.virtualbox.org/wiki/Downloads) [^3]. +2. Install VirtualBox by opening the downloaded file from step 1, and follow the installation instructions from the setup window. +3. Download the Xubuntu distribution of Linux from [here](https://mirror.us.leaseweb.net/ubuntu-cdimage/xubuntu/releases/22.04/release/) [^4]. Make sure to download the file ending with `.iso`. +4. Open the now Installed VirtualBox application from step 2, and click on the New button. This will allow you to create a virtual operating system, which you should call Xubuntu. Make sure that you have 30 GB in reserve for this process. In the ISO Image option, pick Other, and choose the Xubuntu ISO file you installed in Step 3. +5. Next, you will need to set up your username and password as desired for your VM. Make sure to select the Install in Background option as well. +6. Now, you will need to setup the hardware. Ideally, you want to set the Base Memory to half of your total RAM, but a minimum of 2048 MB works as well [^2]. +7. Next, you will be asked to set the Disk Size for the VM, which you want to be at least 30 GB. +8. After step 7, you should be taken to a Summary page, where you can go ahead and click Finish to start the installation process. +9. Once it is installed, click the green 'Show' arrow at the top. You will be asked to log in with the username and password set up in step 5, and you will need to do a bit more configuration. +10. Once that is complete, the green 'Show' arrow will most likely have turned into a green 'Start' arrow. Click on that, and you are ready to use your new Linux Xubuntu VM! + # Sources: [^1]: [What is a virtual machine (VM)?](https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-a-virtual-machine) +[^2]: [The Odin Project](https://www.theodinproject.com/lessons/foundations-installations) +[^3]: [Virtual Box Install Link](https://www.virtualbox.org/wiki/Downloads) +[^4]: [Xubuntu Install Link](https://mirror.us.leaseweb.net/ubuntu-cdimage/xubuntu/releases/22.04/release/) From cb5d9ec2d114a5ce446ccb98e60313cc1c7cf9bb Mon Sep 17 00:00:00 2001 From: Maroosh-Gillani Date: Sun, 17 Mar 2024 22:48:01 -0400 Subject: [PATCH 6/7] Update Software_Tools.md --- Topics/Software_Tools.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Topics/Software_Tools.md b/Topics/Software_Tools.md index 931323482..0d27bc5ba 100644 --- a/Topics/Software_Tools.md +++ b/Topics/Software_Tools.md @@ -20,6 +20,12 @@ ## Text Editors ### [Introduction to Vim](./Software_Tools/vim.md) +### [Introduction to Nano](./Software_Tools/nano/nano.md) +### [Introduction to Visual Studio Code](./Software_Tools/VSCode.md) +### [Introduction to Sublime](./Software_Tools/Sublime.md) + +## Python Libraries +### [Automate Tasks using PyAutoGui](./Software_Tools/PyAutoGUI/Automation_with_PyAutoGUI.md) ## Virtual Machines ### [Introduction to Virtual Machines](./Software_Tools/virtual_machine.md) From a9cd1fb96846f5b7a07f4644cc6e29c04c36d84b Mon Sep 17 00:00:00 2001 From: Maroosh-Gillani Date: Sun, 17 Mar 2024 23:10:50 -0400 Subject: [PATCH 7/7] Update virtual_machine.md --- Topics/Software_Tools/virtual_machine.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Topics/Software_Tools/virtual_machine.md b/Topics/Software_Tools/virtual_machine.md index 072eea17d..5e48b198e 100644 --- a/Topics/Software_Tools/virtual_machine.md +++ b/Topics/Software_Tools/virtual_machine.md @@ -4,7 +4,13 @@ A virtual machine, or VM, resembles a physical computer in terms of components s Virtualization involves creating a virtual computer with allocated CPU, memory, and storage resources, drawn from a physical host computer or a remote server. A VM operates as a computer file or image, emulating the behavior of a real computer. It can run within a window as an independent computing environment, facilitating tasks such as running different operating systems. A VM operates in isolation from the host system, ensuring that the software within the VM does not interfere with the primary operating system of the host computer[^1]. -For example, if you own a Windows computer, but are required to develop in a Linux environment, you can utilize a VM to operate as your Linux machine, without having to purchase one physically. +# Why Virtual Machines? + +Experimentation with Different Operating Systems: Students can create VMs to explore various operating systems like Linux distributions or older versions of Windows without altering their main system setup. + +Testing Software Compatibility: VMs enable students to test their software projects in different environments, ensuring compatibility across different platforms without the need for multiple physical devices. + +Safe Environment for Learning: VMs provide a safe sandbox environment for students to experiment with system configurations, software installations, and coding exercises without risking damage to their main system. # Getting Started with Virtual Machines