Linux 101

Structure

  • Introduction - why and where
  • Installation of Ubuntu
  • Writing and compiling a simple C♯ program

Why?

  • 69.4% of webservers use a Unix-based OS
  • 30.6% of webservers use Windows

According to W3Techs

Where?

  • US Department of Defence
  • French Parliament
  • Amazon
  • Android

Sources: 1

Installing Ubuntu

What's Ubuntu?

  • A distribution of Linux
  • Others are available, but Ubuntu is great for beginners
  • Lots of help available online if you get stuck
The logos of a number of different linux distributions.
A timeline of different linux distributions.

Choosing the language

Boot menu

Welcome

Keyboard Layout

Initial Software and Updates

Partitioning

Dual Booting

I'm sure it's fine.....

Location

Credentials

Now we wait!

and wait

Complete!

Logging in

Type your password

The amazing apt

Doing it manually

Done!

  • Installation complete!
  • What next?
  • Let's write some C♯

Let's Compile some C♯!

Package Management

  • Most Linux distributions use a package manager
  • Everything is a package - from your kernel to the software that you use
  • Debian-based distributions use apt

Installation

  • We have the apt repository
  • Now we can install Mono
  • sudo apt install mono-devel

Usage

  • The Linux terminal is similar to the Windows command prompt
  • Download a Visual Studio solution now if possible
  • Use a text editor to write a quick program otherwise

Usage (cont.)

  • We can use csc and msbuild to compile just like we do on Windows
  • csc MyFile.cs
  • msbuild

Monodevelop

What's Monodevelop?

  • Writing C♯ code in a text editor is old-school
  • Like Visual Studio, but on Linux
  • Actually the base of Visual Studio for Mac

Summary

Summary

  • We've installed Ubuntu
  • We've installed Mono
  • We've compiled some C♯
  • We've looked at Monodevelop

Where next?

  • Web server setup
  • Application server setup
  • Git hosting
  • Email hosting
  • Decentralised Instant Messaging