Skip to main content

Configuring Ubuntu

Ubuntu Server

Setting up a static IP

// https://linuxhint.com/setup_static_ip_address_ubuntu/
// find the network interface name - eg: "enp9s0"

ip a

sudo nano /etc/netplan/00-installer-config.yaml

network:
version: 2
ethernets:
ens33:
addresses: [192.168.1.124/24]
gateway4: 192.168.1.254
nameservers:
addresses: [1.1.1.1, 8.8.8.8]

Connecting to Server

ssh root@server_ip_address

Create a new user with admin rights

adduser username

usermod -aG sudo username

sudo reboot

Disabling Root Login and Limit login attempts(sshd_config)

sudo vim /etc/ssh/sshd_config
PermitRootLogin no
LoginGraceTime 120
# allow only 1 login attempt per connection
MaxAuthTries 1
sudo service sshd restart

System update

sudo apt-get update

sudo apt-get upgrade

Firewall

sudo ufw status

sudo ufw allow ssh

sudo ufw allow http

sudo ufw allow https

sudo ufw enable

sudo ufw status

.NET Core

wget https://packages.microsoft.com/config/ubuntu/20.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb

sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-5.0

NginX

sudo apt-get install nginx

Laptop - Check battery status

upower -e
upower -i /org/freedesktop/UPower/devices/battery_BAT1

Laptop - Stop sleep on lid closed

sudo nano /etc/systemd/logind.conf
HandleLidSwitch=ignore
LidSwitchIgnoreInhibited=no

System status dashboard - cpu usage, memory usage, processes

htop

Ubuntu Desktop

Install SSH server

sudo apt install openssh-server

Configure Network Manager

nmcli con show
single line:
sudo nmcli con mod "Wired connection 1"
  ipv4.addresses "HOST_IP_ADDRESS/IP_NETMASK_BIT_COUNT"
  ipv4.gateway "IP_GATEWAY"
  ipv4.dns "PRIMARY_IP_DNS,SECONDARY_IP_DNS"
  ipv4.method "manual"
sudo service network-manager restart ?

Samba server

sudo apt install samba
mkdir /home/<username>/sambashare/
sudo nano /etc/samba/smb.conf

[sambashare]
    comment = Samba on Ubuntu
    path = /home/username/sambashare
    read only = no
    browsable = yes

sudo service smbd restart
sudo ufw allow samba


Power managment profiles

Get available profiles

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

Get current profile

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Set profile

echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Ubuntu dotnet Service

export DOTNET_ROOT=/usr/share/dotnet/
~/.bashrc file.


Comments

Popular posts from this blog

XML Webservice (ASMX) - SOAP Request and Response Invocation logging

You are an integration developer. Eventualy you came into the state where there is nothing else you can debug, and you have to check which SOAP request it is built on the request, and which SOAP response you are getting from the server. C# XML Webservice (ASMX) - SOAP Request and Response Invocation logging In the legaccy .NET framework System.Web.Services , this means using soapExtensions to help you intersept the interaction with the webservice. This is done like so:  public class TraceExtension : SoapExtension     {         Stream oldStream;         Stream newStream;         string filename;         // Save the Stream representing the SOAP request or SOAP response into          // a local memory buffer.          public override Stream ChainStream(Stream stream)         {           ...

Abstract Factory Pattern

Abstract Factory Pattern  Gamma Categorization: Creational Design Patten Summary: When the object construction is complicated, needing multiple arguments, we should create a separate function (Factory Method) or class (Factory), which is responsible for the creation of the all object. Problem examples Suport of multiple databases Multiple data sources: Serial port, ethernet port, device driver Diferent report types Solution Abstract class Generalized interface A Factory creates instances of the concrete classes Sample Code The abstract factory public   interface   IPhotoFactory {      IAnaloguePhoto   CreateAnaloguePhoto ();      IDigitalPhoto   CreateDigitalPhoto (); } The abstract products public   interface   IAnaloguePhoto {      string   GetName (); } public   interface   IDigitalPhoto {      ...

SOLID (1/5) - Single Resposibility Principle

 SOLID (1/5) - Single Resposibility Principle The single-responsibility principle (SRP) is a computer-programming principle that states that every class in a computer program should have responsibility over a single part of that program's functionality, which it should encapsulate. All of that module, class or function's services should be narrowly aligned with that responsibility. In the following example we have a TodoList class which only handles it's own functionality logic, and then we have a Persistance class which handles the saving logic, hence keeping the concerns separeted. using   System ; using   System . Collections . Generic ; namespace   Journal {      public   class   TodoList     {          private   readonly   List < string >  _entries  =  new   List < string >();          private...