Ubuntu operatsioonisüsteemi ettevalmistamine: erinevus redaktsioonide vahel

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
Resümee puudub
 
(ei näidata sama kasutaja 5 vahepealset redaktsiooni)
5. rida: 5. rida:
 
===Paigaldamine===
 
===Paigaldamine===
   
Installeri läbimine
+
Subiquity installeri läbimine
   
 
[[Fail:20260614-ubuntu-2604-01.png|800px]]
 
[[Fail:20260614-ubuntu-2604-01.png|800px]]
11. rida: 11. rida:
 
kus
 
kus
   
  +
* /boot on 1 G suurune eraldi ext4 failisüsteem
* TODO
 
  +
* /boot peal on /boot/grub/grubenv fail, mida süsteem sh grub efi rakendus peab saama kirjutada-lugeda-jne
  +
* /boot/efi on 700 MB suurune eraldi vfat failisüsteem
   
 
<pre>
 
<pre>
27. rida: 29. rida:
   
 
<pre>
 
<pre>
root@mall-ubuntu-2604-20260614:~# apt-get install rsync driverctl joe tcpdump ethtool lsscsi net-tools socket libcap-ng-utils libbpf-tools ltrace
+
root@mall-ubuntu-2604-20260614:~# apt-get install rsync driverctl joe tcpdump ethtool lsscsi net-tools socket libcap-ng-utils libbpf-tools ltrace qemu-guest-agent
 
</pre>
 
</pre>
  +
  +
Zabbix repo v. 7.0
  +
  +
<pre>
 
TODO
  +
</pre>
  +
  +
Vt
  +
  +
* https://www.auul.pri.ee/wiki/Chrony#Misc_-_PHC
  +
* https://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Ubuntu_kasutamine#netplan_kasutamine
  +
  +
===Seadistamine===
  +
  +
* chrony
  +
* timezone
  +
* locale
  +
* hostname
  +
* apt (auto upgrade)
  +
* ekraani puhastamine
  +
* ssh võti
  +
* ipv6
  +
* cloud-init disable
  +
* joe
  +
* qemu-guest-agent
  +
* ssh over vscock ja 'systemctl disable --now ssh.socket'
   
 
===Ubuntu operatsioonisüsteemi ettevalmistamine===
 
===Ubuntu operatsioonisüsteemi ettevalmistamine===

Viimane redaktsioon: 15. juuni 2026, kell 00:32

Sissejuhatus

Käesolevas tekstis kirjeldatud viisil ettevalmistatakse kõigi labori k8s klastrite aluseks olevad node'id. St nad on tavalised Ubuntu v. 22.04 operatsioonisüsteemid.

Paigaldamine

Subiquity installeri läbimine

20260614-ubuntu-2604-01.png

kus

  • /boot on 1 G suurune eraldi ext4 failisüsteem
  • /boot peal on /boot/grub/grubenv fail, mida süsteem sh grub efi rakendus peab saama kirjutada-lugeda-jne
  • /boot/efi on 700 MB suurune eraldi vfat failisüsteem
root@mall-ubuntu-2604-20260614:~# df -h -t ext4 -t vfat -h -T
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/system-root ext4   12G  3.3G  8.2G  29% /
/dev/vda2               ext4  974M  187M  721M  21% /boot
/dev/vda1               vfat  762M  6.4M  756M   1% /boot/efi

root@mall-ubuntu-2604-20260614:~# mokutil --sb-state
SecureBoot enabled

Tarkvara paigaldamine

root@mall-ubuntu-2604-20260614:~# apt-get install rsync driverctl joe tcpdump ethtool lsscsi net-tools socket libcap-ng-utils libbpf-tools ltrace qemu-guest-agent

Zabbix repo v. 7.0

TODO

Vt

Seadistamine

  • chrony
  • timezone
  • locale
  • hostname
  • apt (auto upgrade)
  • ekraani puhastamine
  • ssh võti
  • ipv6
  • cloud-init disable
  • joe
  • qemu-guest-agent
  • ssh over vscock ja 'systemctl disable --now ssh.socket'

Ubuntu operatsioonisüsteemi ettevalmistamine

Ubuntu operatsioonisüsteem paigaldatakse tavalise Ubuntu installeri abil. Praktiliselt võiks teha ühe arvuti valmis ning seejärel teda nö paljundada. Seejuures võiks igaks juhuks machine-id muuta unikaalseks

# rm /etc/machine-id /var/lib/dbus/machine-id
# dbus-uuidgen --ensure
# cp /etc/machine-id /var/lib/dbus/machine-id
# reboot
  • tekitada laborit teenindavasse dns serverisse dns nimed node'ide kohta
  • Paigaldada tavaline Ubuntu pigem minimaalsete valikutega (st mitte desktop tüüpi)
  • Lisaks peab olema paigaldatud tarkvara: apparmor, iptables ja open-iscsi
  • Arvutitel peab olema kellaaeg õige (tänu ntp kliendi seadistustele)

Tulemuse kontrollimine

  • node'id peavad üksteist oma privaatses subnetis nägema
  • node'id peavad nägema internetti
  • dns nimelahendus töötab
  • arvuti kellaaeg on õige

Misc

SSH

Ubuntu 26.04 kuulab võimalusel (st kui nt PVE virtuaalse arvuti jaoks on vsock sisse lülitatud) kolme protokolli peal ssh kliente

root@ubuntu-2604-01:~# systemctl list-sockets | grep ssh
0.0.0.0:22                                      ssh.socket                           ssh.service
[::]:22                                         ssh.socket                           ssh.service
vsock::22                                       sshd-vsock.socket                    -
/run/ssh-unix-local/socket                      sshd-unix-local.socket               -

systemd-networkd

Tegelemise kaalutlus

  • vähendada süsteemi ründepinda - suhteliselt tundlik protsess töötab ja ei ole sisuliselt vajalik
  • nt vaevalt, et sobiks, et süsteemis töötab iscsi server target kuulab port 3260/tcp ilma sisaldamata reaalset lun'i vms

systemd-networkd on systemd service

root@zabbix-pub-01:~# systemctl status systemd-networkd
● systemd-networkd.service - Network Configuration
     Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; preset: enabled)
     Active: active (running) since Tue 2026-06-02 11:52:17 EEST; 1h 45min ago
TriggeredBy: ● systemd-networkd.socket
       Docs: man:systemd-networkd.service(8)
             man:org.freedesktop.network1(5)
   Main PID: 676 (systemd-network)
     Status: "Processing requests..."
      Tasks: 1 (limit: 2115)
   FD Store: 1 (limit: 512)
     Memory: 1.6M (peak: 1.9M)
        CPU: 440ms
     CGroup: /system.slice/systemd-networkd.service
             └─676 /usr/lib/systemd/systemd-networkd

Jun 02 11:52:17 zabbix-pub-01 systemd-networkd[1744]: enp6s20: Link UP
Jun 02 11:52:17 zabbix-pub-01 systemd-networkd[1744]: enp6s20: Gained carrier
...

Osutub, et vaikimisi Ubuntu 24.04, 26.04 jt systemd-network kuulab af_packet kihis lldp sõnumeid

root@zabbix-pub-01:~# ss -lnp -A 'packet'
Netid       State        Recv-Q       Send-Q        Local Address:Port          Peer Address:Port       Process
p_raw       UNCONN       0            0                   [35020]:enp6s18                   *            users:(("systemd-network",pid=676,fd=18))
p_raw       UNCONN       0            0                   [35020]:enp6s19                   *            users:(("systemd-network",pid=676,fd=19))
p_raw       UNCONN       0            0                   [35020]:enp6s20                   *            users:(("systemd-network",pid=676,fd=20))

kus

  • systemd-network - protsessile vastav kasutajanimi
  • pid - protsessid pid
  • fd - asjasse puutuvad file descriptor väärtus (protsessi vaatest, st mitte süsteemi globaalsest vaatest)

ning küsides protsessi pid=676 käest, mis ta kuulab

root@zabbix-pub-01:~# lsof -n -P -p 676 | grep SOCK_R
systemd-n 676 systemd-network   18u     pack              52583      0t0 35020 type=SOCK_RAW
systemd-n 676 systemd-network   19u     pack              52592      0t0 35020 type=SOCK_RAW
systemd-n 676 systemd-network   20u     pack              52600      0t0 35020 type=SOCK_RAW

kusjuures seda 676 protsessi omajagu nö laiendatakse capablities abil (protsess kuulub kasutajale systemd-network, st mitte root)

root@zabbix-pub-01:~# pscap -p 676
ppid  pid   uid              command             capabilities
1     676   systemd-network  systemd-network     net_bind_service, net_broadcast, net_admin, net_raw @ +

root@zabbix-pub-01:~# ps -u systemd-network -f
UID          PID    PPID  C STIME TTY          TIME CMD
systemd+    1744       1  0 11:52 ?        00:00:00 /usr/lib/systemd/systemd-networkd

tulemusena saab systemd-network arvu ethernetis olevate switchide jutust, nt (eeldusel, et on switche mis räägivad)

root@zabbix-pub-01:~# networkctl lldp
LINK    CHASSIS-ID        SYSTEM-NAME CAPS        PORT-ID    PORT-DESCRIPTION
enp6s18 16:18:9c:2d:31:86 -           ..b........ tap50194i0 -

Capability Flags:
b - Bridge

1 neighbors listed.

Välja lülitamiseks sobib kasutada sellist seadistust (emitlldp on väidetavalt niikuinii 'no' vaikimisi)

root@zabbix-pub-01:~# mkdir /etc/systemd/network/10-netplan-enp6s18.network.d
root@zabbix-pub-01:~# cat /etc/systemd/network/10-netplan-enp6s18.network.d/override.conf
[Network]
LLDP=no
EmitLLDP=no

Teoreetiliselt võiks töötada

root@zabbix-pub-01:~# networkctl edit --drop-in=override.conf @enp6s18

Tööpõhimõte

  • kernel ja udev avastavad võrguseadme ja teevad esmased seadistused (seade saab nime jms)
  • netplan genereerib /etc/netplan/50-cloud-init.yaml alusel systemd-network jaoks seadistuse - /run/systemd/network/10-netplan-enp6s18.network
  • inimene on veel lisanud seadistuse täpsustusi - /etc/systemd/network/10-netplan-enp6s18.network.d/override.conf
  • systemd (st systemd-network) hakkab rakendama seadistust kasutades kõiki asjasse puutuvaid nö fragmente

Muudatuse kehtestamiseks

root@zabbix-pub-01:~# systemctl restart systemd-networkd
root@zabbix-pub-01:~# ss -lnp -A 'packet'
Netid       State        Recv-Q       Send-Q        Local Address:Port          Peer Address:Port       Process
p_raw       UNCONN       0            0                   [35020]:enp6s19                   *            users:(("systemd-network",pid=676,fd=19))
p_raw       UNCONN       0            0                   [35020]:enp6s20                   *            users:(("systemd-network",pid=676,fd=20))

Misc

  • systemd-networkd on Ubuntu spetsiifika
  • Debian kasutab nn ifupdown2 põhist 'root@zabbix-01:~# systemctl status networking' lahendust
  • NetworkManager teeb kogu selle loo veel segasemaks, aga tavaliselt server lahenduse puhul NetworkManager'i ei kasutata (desktop fookus)

Kasulikud lisamaterjalid