Jak na malý a levný domácí server: instalace, ovládání a připojení | Kapitola 6
Seznam kapitol
Podíváme se, jak si postavit malý domácí server s Linuxem. V tomto článku si probereme instalaci, ovládání a připojení na server.
Nyní se podíváme na základy ovládání Linuxu v příkazové řádce. Tahle kapitola nebude kompletní tutoriál, pouze doporučí vhodné programy pro usnadnění ovládání a několik základních příkazů.
Takže si shrneme situaci. Máme nainstalován Linux bez vlastního uživatelského rozhraní a zprovozněný dálkový přístup. Hodily by se nějaké programy, které usnadní správu souborů a procesů v prostředí příkazové řádky.
Nainstalujeme dva zajímavé programy s textovou grafikou.
použijeme tyto příkazy:
apt-get update
apt-get install mc htop
Co jsme to nainstalovali?
Midnight Commander
Dvoupanelový správce souborů v textové grafice inspirující se ve starém programu Norton Commander. Ovládá se pomocí funkčních klávesnice s využitím funkčních kláves. Modrý design.
Htop
Správce procesů a ukazatel vytížení systému. Má přehledný design v textové grafice a snadné ovládání.
Nastavení sítě
Pokud je zapotřebí změnit nastavení, je třeba zajít do konfiguračních souborů. Přiložené příklady těchto souborů jsou pouze ukázkové. Údaje upravte podle vlastního nastavení. Konfigurace v Ubuntu se nachází v souboru /etc/netplan/00-installer-config.yaml
. Má tento zápis. Při úpravě dodržujte přesně rozložení původního stavu.
# This is the network config written by 'subiquity'
network:
ethernets:
enp0s3:
addresses:
- 192.168.0.100/24
nameservers:
addresses:
- 192.168.0.50
- 192.168.0.1
search: []
routes:
- to: default
via: 192.168.0.1
optional: true
version: 2
Po úpravě restartujeme nastavení sítě pomocí příkazu sudo netplan apply
.
V Debianu je nastavení trochu odlišné. Konfigurační soubor se nachází na této cestě. /etc/network/intefaces
. Též je nutno při editaci dodržovat rozvržení původního souboru.
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.0.100/24
gateway 192.168.0.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.0.50
dns-search domov.test
Restart po úpravě provedeme pomocí příkazu service networking reload
.
Příkazy do příkazového řádku
Ovládání služeb
Na začátek se podíváme na příkazy, které nám umožní základní management běžících služeb. Jde o základní úkoly pro služby, kvůli kterým server provozujeme. Pro ukázku příkazu použiji systémovou službu systemd-resolved. Stará se o překlad IP adres na doménová jména. Pro zkoušení příkazů je důležité, že neshodí SSH přístup. Po skončení testování obnovte nastavení služby na výchozí stav.
Jde především o dva příkazy service
a systemctl
. Jaký je rozdíl? Příkaz service je univerzální, umí ovládat více protokolů pro běh služeb. V současnosti především systemd a init.d skripty. Kvůli univerzálnosti však některé činnosti nezvládá. Příkaz systemctl je řídící příkaz pro služby provozované pomocí systemd. Má složitější syntaxi, ale umožňuje více činností.
service systemd-resolved status | Vypíše stav služby a krátký log. |
service systemd-resolved start | Startuje službu. |
service systemd-resolved stop | Zastavuje službu. |
service systemd-resolved restart | Restartuje službu. |
service systemd-resolved reload | Znovu načte konfigurační parametry služby. |
systemctl enable systemd-resolved.service | Povolí spouštění služby po startu. |
systemctl disable systemd-resolved.service | Zakáže spouštění služby po startu. |
Příklady, kde je použit příkaz systemctl, zde nejdou realizovat pomocí service. Opačně je možno použít bez problémů pro všechny uvedené činnosti i příkaz systemctl.
Tak a nyní se podíváme na jeden se způsobů jak zabít proces, který se případně chová nepatřičně.
ps -ef | grep wine
vypíše výpis procesů, které mají v pojmenování wine
|
Ve druhém sloupci máme ID procesu. Proces zabijeme pomocí příkazu kill
a ID procesu. Parametr -9 proces zabíjí a nepokouší se ho ukončit. Bez parametru je proveden pokus o ukončení. Alternativně lze použít příkaz killall
a proces identifikovat jménem. Pozor, shodí vše co má v pojmenování zadaný řetězec. Může tedy být nepřesný.
kill -9 <ID procesu>
Dále již stručněji v tabulce. Pro přesný popis možností zápisu příkazu použijte před příkazem program pro vyvolání nápovědy man<požadovaný příkaz>
. Pozor, jde jen o minimální výběr toho, co by se mohlo hodit. Možných příkazů je mnohem více. V případě potřeby použijte internet a Google.
Základní systémové informace
df -h | Zobrazí volné místo na disku. Parametr -h zobrazí údaje v GB. |
free -m | Volná paměť systému. |
ip address show | Zobrazí síťová rozhraní a informace o nich. |
lspci | Výpis PCI zařízení. |
lsusb | Výpis připojených zařízení USB. |
cat /proc/meminfo | Vypíše obsazení paměti jednotlivými procesy. |
Minimum pro práci se soubory
Většina lidí, pro které je tento článek primárně určen, bude pro práci se soubory používat hlavně výše představený program Midnight Commander. Ovšem přehled základních příkazů se může hodit.
pwd | Zobrazí aktuální pracovní adresář, kde se nacházíme. |
cd | Změna aktuálního pracovního adresáře. |
cp | Kopírování souborů a adresářů. |
mv | Přesun souborů a adresářů. |
rm | Smazání souboru a adresáře. Pokud adresáře není prázdný je potřeba použít parametr -r pro smazání i obsahu. |
chmod | Změna uživatelských oprávnění. Vzor chmod <prava ><soubor> |
chown | Přiřazení vlastnictví. Vzor chown <uzivatel> <soubor> |
Jak nastavit práva v příkazu chmod? Jde o trojici čísel. První číslo určuje oprávnění majitele souboru, druhé skupiny a třetí ostatních uživatelů. 0 znamená nemá přístup. Dále se postupuje na principu sčítání. 4 představuje základní oprávnění pro přístup a čtení. 2 určuje možnost editace a vytváření. 1 spouštění. Požadovaná práva nastavíme pomocí součtu čísel, přičemž základní práva 4 musí být obsaženy vždy. Takže povolené kombinace jsou 0, 4, 5, 6, 7.
Něco málo k uživatelům.
Pro domácí použití většina uživatelů nebude příliš řešit tvorbu uživatelů a jejich správu. Přesto se bez některých základů člověk neobejde.
adduser | Vytvoření nového uživatele |
userdell | smazání uživatele. |
Členství ve skupinách doporučuji upravovat pomocí editace konfiguračního souboru /etc/group
. Jak vypadá?
adm:x:4:syslog,tomas
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:tomas
Jednotlivé uživatele do skupin dopisujeme na konci řádku, oddělujeme čárkou.
V této kapitole jsme probrali základní ovládání serveru. Znovu zdůrazňuji, je zde uveden pouze malý výčet příkazů a postupů, které se podle mého názoru hodí pro začátky.