Pages

Operating System Linux

There are three different types of Operating Systems in computing systems; Windows, OS X, and Linux. I am pretty sure that most of people have their own experience with at least one of these like Windows, which is more prevalent as of now.

I would wonder why some people say Linux is way better than Windows. Here are some thoughts from those people and some of them came from myself.


  • Linux is much easier to use
  • Windows is for too general users vs. Linux is for power users
  • Almost free from viruses, free to use software, simple fast and efficient
  • No lagging in speed even though OS upgrades done
  • Could be best platform for young developers

Even though there are lots of benefits along with Linux, we are still using Windows as we did. We could also think of these benefit along with Windows.


  • We have got used with Windows for a couple of decades
  • Windows has more users, so more attention and critics
  • Still most people would prefer Windows
  • It is mostly pre-installed on a computer and it has more software
  • Compatibility, central management, and easy of use


Linux Terms


There are many type of version, called as distribution in Linux. I am going to handle how to deal Ubuntu as reference from now on but reading how many distributions have been developed and spread would be really helpful. Most widely used ones would be Debian (distro - Knoppix, Linux Mint, Ubuntu), Fedora (distro - Red Hat Enterprise Linux), Mandriva Linux, openSUSE, Arch Linux, Gentoo.

Before jumping into Linux, there are several terms we would need to understand. I would believe understanding these help to utilise it more.


  • Distros and Flavors: Windows has multiple flavors : Home, Professional, and etc. Linux is one of UNIX flavors. Like Windows, Linux has so many Distros (Distributions) like Debian (distro - Knoppix, Linux Mint, and Ubuntu), Fedora (distro - Red Hat Enterprise Linux), Mandriva Linux, openSUSE, Arch Linux, Gentoo
  • Boot Loader or GRUB : Mostly it will simply be a splash screen that pops up and just goes away to boot into the operating system. This is a simple software that loads Linux kernel from the boot partition on the hard disk and can be used to boot other operating systems on the computer. It is also called bootstrap loader or bootstrap generally and in Linux, it would be called as GRUB (GRand Unified Bootloader). 
  • Kernel : This is the core of operating system. In Linux, the kernel would control and manage CPU, memory, and peripherals. It lays between hardware (drivers) and software (System Call  Interface) side. 
  • Shell, Terminal, Command, Bash : The interface between the user, applications, utilities and the kernel of operating system while Terminal application is going to be used in Linux. A Linux Terminal is compatible to DOS prompt in Windows. These kinds of consoles are called Shell. An example of shells in Linux are Bash (Bourne-Again Shell). Generally commands are typed through the Terminal while Shell scripts or Bash scripts especially called in Linux use more programming structure on top of simple commands. Bash scripts are edited in text editor like Nano and they can be saved as *.sh file for further usage like batch files in Windows.
  • Applications and Daemons: Application software/program would be required to work something on Linux as well as other operating systems. Rather than applications, Daemons are other programs which run assisting system itself on Linux background and equivalent to Services on Windows.
  • X Window, Window Manager, Desktops, Unity, GNOME, KDE : Linux has X Window layer consists of graphical windows, which support several Window Manager. A one distro of Linux would support several different Desktops, which lay on top of Window Manager. It makes us really confused though. KDE (Kool Desktop Environment) was brought by openSUSE 12.1, GNOME (GNU Object Model Environment) was introduced by Fedora 16 and Linux Mint 12, and Unity was introduced by Ubuntu 10.10. 

Install Ubuntu with VirtualBox


On top of Windows OS, if we would worry about trying new operating systems and think that it could be risk, Virtual Machine on the other OS computer you are currently using would be great choice. VirtualBox which Oracle made would be used as it is prevalent.

I do not think I would explain every single step we would have to been through with VirtualBox. Here are a few steps while installing it before going to install Ubuntu. The VirtualBox installation file (VirtualBox-5.xxx-Win.exe) would be got from www.virtualbox.org/wiki/Downloads and the Ubuntu installation file (ubuntu-16.xx-desktop-amd64.iso for example) can be downloaded at https://www.ubuntu.com/download/desktop

Even though HDD 25 GB is recommended by Ubuntu web page and set below, I would prefer set 20 GB personally. Before doing that, based on my experience, choosing Fixed size for physical hard disk would be way easier and smoother to use while doing something else on the host PC.



And downloaded Ubuntu installation file (*.iso) would be loaded below. 



Once VirtualBox is installed on your computer, Ubuntu is allowed to be installed based on https://www.ubuntu.com/download/desktop/install-ubuntu-desktop. Here are a couple of steps I would like to point out.


This popup can be ignored so click Continue button to go through. 



Extra things to do after installing Ubuntu


When Windows is installed on a computer, there are lots of things to do like Windows Update or install other application software. Likewise there are things we would need to follow after installing Ubuntu on a computer. 

Extra things - Update and upgrade latest packages


I know sending commands through the Terminal on Linux is not easy first time and it might be done with GUI settings. CLI (Command Line Interface) is more prevalent on Linux. 

1) Go to Terminal with shortcut keys, Ctrl + Alt + T
2) Command ~$ sudo apt-get update
3) Command ~$ sudo apt-get upgrade, which may require "y" to go further
4) Command ~$ sudo apt-get dist-upgrade, which may require "y" to go for it
5) Command ~$ sudo do-release-upgrade, which may need "y" for that




Extra things - Audio driver

When any driver would not work properly with VirtualBox, the associated hardware should be checked out on Linux with this command "~$ lspci". Personally YouTube video did not work since Audio was not set properly with the installed audio hardware. Once any hardware is confirmed on Linux, the same one should be chosen on VirtualBox.






Extra things - USB thumb drive

Additionally an external USB thumb drive is inserted to PC, Linux would not detect it properly. With the step below, it would be shown up automatically.




Extra things - Shared folders

If any folders are shared between host and guest in virtual machine, it would make our life easier. And what if sharing clipboard or drag & drop between host and guest. These would make our work smoother. In order to do that, Guest Additions CD must be installed on guest in virtual box.

With recent versions of VirtualBox (I am using 5.1.8), Guest Additions CD image (*.iso) file is installed together. Once Ubuntu is loaded, you can go to Devices > Insert Guest Additions CD images... on the VirtualBox menu. Once installation is done, Terminal will ask you to reboot the guest OS. 




On the host OS, specify any folder to be shared with the guest one. And on the VirtualBox menu, go to Devices > Shared Folders > Shared Folders Settings, which allows to set shared folders below. Machine folders would allow to work like permanent regardless VirtualBox is running or not while Transient folders would work when VirtualBox is running. If Auto mount and Make permanent are chosen, that would be great. If Make permanent is not chosen, it would turn to Transient folder after VirtualBox is rebooted. 




Even though it is configured like sharing folders on the guest, Ubuntu, it would not work without guest addition user. Open Terminal and send a command ~$ sudo adduser taehee vbboxsf, which would require to be rebooted, then my user would be allowed to get into the share folder. Whatever folder is made in the host, it would show up as "sf_" prefix under /media/. Since Shared_Vbox folder was shared from host Windows 10 in my case, /media/sf_Shared_Vbox can be seen below. 






Extra things - Shared Clipboard, Drag and Drop

Once Shared Folders are set properly, Shared Clipboard or Drag and Drop can be easily set up with clicking bidirectional under VirtualBox menu.