- Introduction - why and where
- Installation of Ubuntu
- Writing and compiling a simple C♯ program
- 74.44% Windows
- 12.22% macOS
- 9.51% Other
- 1.58% Linux
According to statcounter GlobalStats
- 69.4% of webservers use a Unix-based OS
- 30.6% of webservers use Windows
According to W3Techs
- US Department of Defence
- French Parliament
- A distribution of Linux
- Others are available, but Ubuntu is great for beginners
- Lots of help available online if you get stuck
Let's Get Started!
- Open Hyper-V to access the VM
Choosing the language
Initial Software and Updates
I'm sure it's fine.....
Now we wait!
Type your password
Doing it manually
- Installation complete!
- What next?
- Linux basics
- Let's write some C♯
Things to talk about
- Similarities and differences to Windows
- Filesystem structure
- Typing your password with
Similarities and Differences
- Command line → Terminal
- Package management - more on this later
- File system: ext4, not NTFS
- Everything starts with
- ...and everything is a file
Places to remember
||User home folders|
||Program binaries (also other places; some are symlinks)|
Typing your password
- On Linux, typing your password is a key security mechanism
- "Why am I typing my password?"
- "Do I understand what it's going to do?"
- "Do I trust the program?"
- Ask for help / an explanation if unsure
Let's Compile some C♯!
- Most Linux distributions use a package manager
- Everything is a package - from your kernel to the software that you use
- Debian-based distributions use
- GUIs do exist - Synaptic
- Mono is the .NET runtime on Linux
- Mono isn't available in the default
aptrepositories on Ubuntu
- ...so we need to add a new apt repository!
- We have the
- Now we can install
sudo apt install mono-devel
- 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
- We can use
msbuildto compile just like we do on Windows
- Writing C♯ code in a text editor is old-school
- Like Visual Studio, but on Linux
- Actually the base of Visual Studio for Mac
- Same prodecure as with Mono
- Challenge: Can you install Monodevelop using what you've learnt?
- We've installed Ubuntu
- We've installed Mono
- We've compiled some C♯
- We've looked at Monodevelop
- Web server setup
- Application server setup
- Git hosting
- Decentralised Instant Messaging
- 201: Securing a Linux server & hosting a static website
- 301: Deploying your application to a Linux server