Structure
- Introduction - why and where
- Installation of Ubuntu
- Writing and compiling a simple C♯ program
Why?
- 74.44% Windows
- 12.22% macOS
- 9.51% Other
- 1.58% Linux
According to statcounter GlobalStats
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
Let's Get Started!
- Open Hyper-V to access the VM
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?
- Linux basics
- Let's write some C♯
Linux Basics
Things to talk about
- Similarities and differences to Windows
- Filesystem structure
- Typing your password with
sudo
Similarities and Differeences
- Command line → Terminal
- Package management - more on this later
- File system: ext4, not NTFS
Filesystem Structure
- Everything starts with
/
- ...and everything is a file
Places to remember
/etc |
Configuration files |
/home |
User home folders |
/usr/bin |
Program binaries (also other places; some are symlinks) |
/var/log |
Log files |
/dev |
Hardware devices |
Typing your password
- On Linux, typing your password is a key security mechanism
-
Ask yourself:
- "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♯!
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
- GUIs do exist - Synaptic
Mono
- Mono is the .NET runtime on Linux
- Mono isn't available in the default
apt
repositories on Ubuntu - ...so we need to add a new apt repository!
- https://www.mono-project.com/download/stable/
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
andmsbuild
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
Installing
- Same prodecure as with Mono
- Challenge: Can you install Monodevelop using what you've learnt?
- https://www.monodevelop.com/download/
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
Thanks for coming!
- Bought to you by Freeside
- Feedback: https://forms.gle/cbWKnurf75Exi8ry8
- Join us: https://freeside.co.uk/
- Discord | Forums | PC Access
- Questions?