Linux palvelimien hallinnointi

Linux-palvelimien hallinnointi on monipuolinen ja vaativa tehtävä, joka vaatii teknistä osaamista, tarkkuutta ja ongelmanratkaisukykyä. Linuxin joustavuus ja tehokkuus tekevät siitä suositun käyttöjärjestelmän monenlaisissa palvelinympäristöissä, mutta sen hallinta vaatii ymmärrystä monista eri työkaluista ja komennoista.

Linux-palvelimien Hallinnointi

Linux-palvelimien hallinnointi sisältää monia tehtäviä, kuten järjestelmän asentamista ja konfigurointia, käyttäjähallintaa, tietoturvan ylläpitoa, varmuuskopiointia, järjestelmän seurantaa ja ongelmien vianmääritystä. Tässä on joitakin tärkeimpiä osa-alueita:

  • Asennus ja Konfigurointi: Linux-järjestelmien asentaminen ja konfigurointi sisältää käyttöjärjestelmän asentamisen, verkkoasetusten määrittämisen ja erilaisten palveluiden konfiguroinnin.
  • Käyttäjähallinta: Käyttäjien luominen, poistaminen ja oikeuksien hallinta ovat keskeisiä tehtäviä turvallisen ja tehokkaan järjestelmän ylläpidossa.
  • Tietoturva: Palvelimien suojaaminen ulkopuolisilta uhkilta ja varmistaen, että vain valtuutetut käyttäjät pääsevät käsiksi järjestelmään.
  • Varmuuskopiointi: Tietojen säännöllinen varmuuskopiointi on tärkeää, jotta voidaan varmistaa tietojen palauttaminen mahdollisessa vikatilanteessa.
  • Järjestelmänseuranta ja Vianmääritys: Palvelimien suorituskyvyn seuranta ja mahdollisten ongelmien ratkaiseminen nopeasti ja tehokkaasti.

Työkalut ja Teknologiat

Nykyaikaiset työkalut ja teknologiat voivat helpottaa Linux-palvelimien hallinnointia huomattavasti. Tässä muutamia esimerkkejä:

  • Automaatio: Työkalut kuten Ansible, Puppet ja Chef voivat automatisoida monia hallinnollisia tehtäviä, mikä säästää aikaa ja vähentää virheiden määrää.
  • Kontit: Docker ja Kubernetes mahdollistavat sovellusten ajamisen kevyissä konteissa, mikä helpottaa käyttöönottoa ja skaalautuvuutta.
  • Monitorointi: Työkalut kuten Nagios, Zabbix ja Prometheus tarjoavat kattavan näkymän järjestelmän suorituskykyyn ja auttavat tunnistamaan ja ratkaisemaan ongelmat ennen kuin ne vaikuttavat käyttäjiin.
  • Tietoturva: Palvelimien suojaaminen voidaan parantaa käyttämällä työkaluja kuten SELinux, AppArmor ja erilaisia palomuureja.

Videotutoriaaleja:

Käytännön Linux-komentoja ja esimerkkejä linux komennoista, joita administrator saattaa käyttää päivittäisessä komentorivi työskentelyssä linux palvelimien kanssa.

Display Linux system information

uname -a

Show system’s hostname

hostnamectl

Display CPU information

lscpu

Display memory information

free -h

Add a new user

sudo useradd [username]

Delete a user

sudo userdel [username]

Change user password

passwd [username]

Add user to a group

sudo usermod -aG [group] [username]

List files and directories

ls -la

Change directory

cd /path/to/directory

Copy files

cp [source] [destination]

Move files

mv [source] [destination]

Remove files or directories

rm -rf [file or directory]

Display disk usage

df -h

Show disk space used by files

du -sh [file or directory]

Display IP address information

ip addr show

Show network connections

netstat -tuln

Test connectivity

ping [hostname or IP]

Display routing table

route -n

List running processes

ps aux

Display active processes

top

Kill a process by ID

kill [PID]

Show process tree

pstree

Update package lists

sudo apt update

Upgrade all installed packages

sudo apt upgrade

Install a package

sudo apt install [package]

Remove a package

sudo apt remove [package]

Start a service

sudo systemctl start [service]

Stop a service

sudo systemctl stop [service]

Restart a service

sudo systemctl restart [service]

Check service status

sudo systemctl status [service]

Connect to a remote server

ssh

Copy files to a remote server

scp [file]

Copy files to a remote server

scp [file] [username]@[remote_host]:[remote_directory]

Copy files from a remote server

scp [username]@[remote_host]:[remote_file] [local_directory]

Create an SSH key pair

ssh-keygen -t rsa -b 4096

Copy SSH key to a remote server

ssh-copy-id [username]@[remote_host]

Change file owner

chown [owner]:[group] [file]

Change file permissions

chmod [permissions] [file]

View file permissions

ls -l [file]

Edit cron jobs

crontab -e

List cron jobs

crontab -l

Remove cron jobs

crontab -r

Schedule a cron job (e.g., run script.sh every day at 2 AM)

0 2 * * * /path/to/script.sh

Create a tar archive

tar -czvf [archive_name].tar.gz [directory]

Extract a tar archive

tar -xzvf [archive_name].tar.gz

Backup with rsync

rsync -avh [source] [destination]

Restore from backup

rsync -avh [backup_source] [target_directory]

Check system load

uptime

Monitor disk I/O

iostat

Monitor network traffic

iftop

Monitor system performance

htop

Set up a firewall

sudo ufw enable

Allow a service through the firewall

sudo ufw allow [service]

Deny a service through the firewall

sudo ufw deny [service]

Check firewall status

sudo ufw status

Compress files

gzip [file]

Decompress files

gunzip [file]

Find files

find /path/to/search -name [filename]

Display disk usage of a directory

du -sh [directory]

Display file content with line numbers

cat -n [file]

Display first 10 lines of a file

head [file]

Display last 10 lines of a file

tail [file]

Count lines, words, and characters in a file

wc [file]

Search for a pattern in a file

grep [pattern] [file]

Replace text in a file using sed

sed -i ‘s/old-text/new-text/g’ [file]

Shutdown the system

sudo shutdown now

Reboot the system

sudo reboot

Schedule a system shutdown (e.g., in 15 minutes)

sudo shutdown +15

Display network interfaces

ifconfig

Display network statistics

netstat

Display DNS information

nslookup [domain]

Test network performance

iperf3 -c [server_IP]

List contents of a tar archive

tar -tvf [archive_name].tar.gz

Create a zip archive

zip -r [archive_name].zip [directory]

Extract a zip archive

unzip [archive_name].zip

Display block devices

lsblk

Display disk partitions

fdisk -l

Mount a filesystem

mount [device] [mount_point]

Unmount a filesystem

umount [mount_point]

Check for system updates (Debian-based)

sudo apt update

Upgrade all installed packages

sudo apt upgrade

Clean up unused packages

sudo apt autoremove

Check for system updates (RHEL-based)

sudo yum check-update

Update all installed packages

sudo yum update

Clean up cached packages

sudo yum clean all

Edit a configuration file using nano editor

nano [file]

Edit a configuration file using vim editor

vim [file]

View and edit environment variables

env

Set an environment variable

export VAR_NAME=value

Check memory usage

free -h

Display disk usage by directory

du -sh *

Display block device statistics

iostat

Check CPU usage

top

Display kernel messages

dmesg

Display loaded kernel modules

lsmod

Load a kernel module

modprobe [module_name]

Unload a kernel module

rmmod [module_name]

Display date and time

date

Set system date and time

sudo date MMDDhhmmYYYY.ss

Synchronize system clock with NTP server

sudo ntpdate [server]

Check and repair filesystem

sudo fsck [device]

Mount a filesystem in read-only mode

sudo mount -o ro [device] [mount_point]

Display hardware information

lshw

List PCI devices

lspci

List USB devices

lsusb

Display system logs

journalctl