Wuwejův zápisník

Domácí server a přechod na Fedoru

25.08.2025 22:44, Wu | počítače | komentáře -

Logo Tux – authors Larry Ewing, Simon Budig, Anja GerwinskiPravidelných upgradů Fedory se už nebojím a tak když vypršela podpora CentOs, volba byla jasná, v serveru přejdu na ni. Samozřejmě jsem to asi rok odkládal, protože je to docela velká akce. Zkazit si tím letní dovolenou je ale ideální plán, takže jsem se do toho pustil.

A opravdu – dovolenou to zkazilo, tolik problémů jsem ještě nezažil.

První krok bylo stažení ISO image a zapsání na flashku pomocí Fedora Media Writeru. Pak odmountovat síťové disky z desktopu, na dálku server shodit, připojit k němu monitor, klávesnici, myš a flashku a hurá do toho.

Bootování

Problémy začaly hned – BIOS mi sice nabízel volbu na změnu bootování, ale klávesnice nereagovala. Začala fungovat až když nastartoval původní CentOS. Teprve když jsem ji přesunul dopředu, do předních dvou USB portů, už jsem volit mohl. Po volbě „boot z USB keystick“ se samozřejmě nic nestalo, protože flashku, kterou jsem nechal vzadu, taky neviděl. Teprve napotřetí jsem instalaci rozjel.

Instalace je klasická Anaconda, takže

  • klávesnice – zvolit češtinu i angličtinu, angličtinu jako default
  • výběr software – přidal jsem si správu kontejnerů (předpokládám docker) a správu bez zobrazovacího zařízení
  • síť a název stroje – na to obvykle zapomínám a pak hledám jak ho změnit

Cíl instalace a disky

V serveru mám speciální komplikace – SSD mám na 5. SATA, co je původně pro mechaniku a nenabootuje z něj, zatímco pro boot mám USB flashku uvnitř (viz Domácí server HP Proliant Gen8 – instalace operačního systému CentOS).

Jenže jak to nastavit?

  • Vybral jsem ruční rozdělení s tím, že jednoduše namapuju existující svazky. Všechno jsem to naklikal, potvrdil, načež mě instalátor upozornil, že boot partition je příliš malá (ze 4 GB flashky jsem tenkrát použil 512 MB). Takže bych flashku potřeboval na začátku instalace přerozdělit.
  • Na to v ručním rozdělení žádná volba nebyla, zkusil jsem tedy jít do automatického rozdělení.Tam se dá pěkně označit, co smazat, takže jsem si flashku navolil… jenže už jsem zase nemohl určit, kde má být boot, a to, jak si dobře pamatuju, je naprosto nezbytné.
  • Naštěstí je tu třetí volba, pokročilé nastavení pomocí blivet-gui, a v ní jsem mohl udělat všechno. Když už jsem byl v tom, zrušil jsem i oddělení home a /. A hurá instalovat!

Nefunkční grub

Instalace úspěšně skončila, restart… a katastrofa.

GRUB fail

Tohle jsem vidět nechtěl, shell grubu je pro mě španělská vesnice. Konzultoval jsem s chytrákem ChatGPT, googlil… nejčastější problém, že je to nesoulad verzí zaváděcí části a hlavního grubu jsem vyloučil – protože žádná stará verze na těch odstraněných svazcích zůstat nemohla.

Zkušební provolání „insmod normal“ ale potvrdilo, že problém je opravdu už v rámci grubu.

Co s tím? Zase restart do instalační distribuce Fedory, tam zvolit „rescue Fedora System“, která nainstalovaný souborový systém připojí do /mnt/sysroot, a pak GRUB přeinstalovat pomocí

grub-install --root-directory /mnt/sysroot /dev/sdf

(Nejvíc mi pomohl tutorial How to Fix “Symbol ‘grub_calloc’ Not Found” GRUB Boot Error.)

Tady je nutno poznamenat, že „restart do instalační distribuce Fedory“ není nic rychlého – server má dost složitý BIOS a sám startuje minuty, následně boot z flashky, nutnost vybírat v menu „rescue Fedora system“ a pak ještě další dvě volby. Je to nejmíň na pět minut. A jak za chvíli uvidíme, dal jsem si to ještě mockrát…

Po restartu to ale opravdu začalo bootovat. Instalátor mi zkrátka nainstaloval GRUB rozbitý!

Nefunkční boot (dev-disk-by)

Celý šťastný jsem sledoval boot – až do okamžiku, kdy se zasekl Job dev-disk-by.

boot fail dev-disk-by

Aby to bylo pořádně zábavné, tak nejde přerušit a nemá žádný limit, takže se zasekne navždycky. Nezbylo než začít zase googlit, diskuze na Fedora pěkně vysvětlila o co jde, ale návod, který bych mohl udělat, jsem z toho nevykoukal. Nějaký problém se swap partition, a možná zakomentovat v /etc/fstab? Reboot na flashku do rescue Fedora system, 5 minut, zakomentovat, reboot do systému, 5 minut, a opět tentýž problém.

Další googlení a skvělý nález – tenhle borec napsal úplně jasně, co s tím. Jsem na tom stejně jako on, taky se to pokouší připojit swap s uuid, které neexistuje. Akorát že – na rozdíl od něj – já jsem žádné disky neměnil, všechno vzniklo nově při instalaci. To UUID si instalátor vycucal z prstu a všude ho nastavil.

Vypsal jsem si tedy UUID swapu

blkid | grep swap

opsal si to příšerné číslo na papír, pak šel editovat /etc/default/grub

vi /etc/default/grub

a do něj UUID opsal. Pak jsem změnil root, aby se náhodou nepoužilo něco z běžící rescue Fedora system

chroot /mnt/sysroot

Následně přegeneroval konfiguraci

grub2-mkconfig -o /boot/grub2/grub.cfg

A šel restartovat. Opět zamrzlo. Dál už jen v bodech:

  • Odkomentovat zakomentovaný swap v etc/fstab? NE
  • Všimnout si, že jsem při opsání UUID vynechal jeden blok, dopsat, přegenerovat, restartovat – NE
  • Už si zoufat, znovu kontrolovat UUID a zjistit, že jsem vynechaný blok opsal na špatné místo, takže opět restart, opravit, restart – SKORO, protože se to zase seklo v čekání na fstab – kde to původní UUID bylo také. Tam ale je minutu a půl timeout, takže jsem konečně nabootoval.

Aktualizace a automatické updaty

dnf update

Automatické aktualizace nejsou automaticky, takže si je doinstalujeme a zapneme

dnf install dnf-automatic
systemctl enable --now dnf-automatic.timer

Defaultní nastavení je v /usr/share/dnf5/dnf5-plugins/automatic.conf, aktualizace bude stahovat, ale ne aplikovat, což mi vyhovuje. Případné přetížení nastavení by se dělalo v /etc/dnf/automatic.conf. (návod viz)

Až mi někdy v budoucnu aktualizace udělají rozdíly v konfiguracích, rovnou jsem si nainstaloval rpmconf (dnf install rpmconf).

Update 31. 8. 2025: e-maily nechodily, dokud jsem nevytvořil /etc/dnf/automatic.conf a v něm nezměnil hodnoty

[emitters]
emit_via = command_email
emit_no_updates = yes

[command_email]
email_from = root@localhost
email_to = root@localhost

Sledování teploty

Čistě pro zajímavost jsem nainstaloval i sledování teploty

dnf install lm_sensors

Po nainstalování je třeba nechat detekovat všechna čidla (na všechno dávat enter, jen na konci yes, aby si nastavení uložil):

sensors-detect

a pak už jen vypsat aktuální hodnoty zavoláním sensors. Přidal jsem si ho do diagnostického výpisu, co si cronem jednou denně nechám poslat do mailu.

Disky a disková pole

S nastavením SSD jsem se už tolik nestresoval, jen jsem zkontroloval výpisy a do /etc/fstab přidal discard,noatime. (viz rozdělení disků)

SMART diagnostiku fedora má by default, takže jsem ji instalovat nepotřeboval. Zato test fungování notifikací ukázal (viz rozdělení disku, monitoring), že nefungují. Patrně kvůli chybějícímu mailserveru. Doinstaloval jsem postfix:

dnf install postfix
systemctl enable postfix.service
systemctl start postfix.service

a znovu restartoval smart diagnostiku. A maily zase nepřišly, takže jsem se konečně podíval do logu a zjistil, že chybí spíš mailové posílátko:

srp 25 15:53:38 gorgon smartd[18354]: Test of <mail> to root produced unexpected output (74 bytes) to STDOUT/STDERR:
srp 25 15:53:38 gorgon smartd[18354]: /etc/smartmontools/smartd_warning.sh: řádek 221: exec: mail: nenalezeno
srp 25 15:53:38 gorgon smartd[18354]: Test of <mail> to root: failed (32-bit/8-bit exit status: 32512/127)

balíček neznav, zkusil jsem

dnf install mail

a něco to fakt udělalo. Po restartu smartd přišly i maily, takže ještě vrátit zpět konfiguraci, restartovat smartd a diagnostika je ok.

Disky a pole jsou na serveru nastavené, mdadm také, takže stačilo vytvořit /etc/mdadm.conf (poslední dva řádky jsou výstup příkazu mdadm --detail --scan)

DEVICE partitions
MAILADDR root
ARRAY /dev/md0 metadata=1.2 name=gorgon:0 UUID=xxx
ARRAY /dev/md1 metadata=1.2 name=gorgon:1 UUID=yyy

a disková pole si nastavit v /etc/fstab

#raid pole
/dev/md0 /mnt/data1 xfs defaults 1 2
/dev/md2 /mnt/data2 xfs defaults 1 2

NFS

nfs-utils už je nainstalované, jinak podle postupu, čili povolit firewall (pozor, oproti minule nedávat zónu public, jinak to nezabere – čert ví v jaké zóně po čisté instalaci jsem):

firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload

Vlastnění složky uživatelem nfsnobody už nešlo (protože nfsnobody neexistoval). Soubory se ale nastavily uživateli nobody:nobody, který vypadá poněkud podezřele 🤔️. Raději jsem tedy nfsnobody:nfsnobody vytvořil a soubory mu přiřadil:

adduser nfsnobody
chown -R nfsnobody:nfsnobody /mnt/data1

a taky přidal právo na grupu:

chmod -R 775 /mnt/data1

dál bylo třeba nakonfigurovat /etc/exports a u all_squash jsem musel přidat nastavení IDček anonuid=1000 a anongid=1000, bez nich to taky nechodilo (1000 je přidaný nfsnobody):

/mnt/data1/dir1 192.168.30.0/24(rw,all_squash,anonuid=1000, anongid=1000,sync,no_subtree_check)

pak aktivovat a zapnout služby:

exportfs -r
exportfs -v
systemctl enable nfs-server.service
systemctl start nfs-server.service
systemctl enable rpcbind.service
systemctl start rpcbind.service

Na klientu to zafungovalo. Uff.

SMB

Samba šla vcelku hladce, přesně podle minulého postupu. Jediné na co jsem si dal pozor byl firewall (zase bez zóny):

firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

A klienti fungovali. Tedy až na jeden ze tří připojených adresářů. Ten se zcela nepochopitelně nepovedlo připojit a nebyl dostupný. Všechno jsem zkontroloval, práva, vlastnictví, nastavení v smb (které jsem zkopíroval z minulého serveru), všechno stejné. Zkusil jsem chcon, taky nepomohl…

Pak ze zoufalství restart celého serveru, což mi přivodilo další infarktovou situaci, protože nenaběhl, SSHčkem jsem se nepřipojil. Zase jsem vyštrachal monitor, kabel atd., abych viděl tohle:

boot wait relabelling

OMG!

Nastavení pošty

Stejně jako minule:

  • předávání rootovy pošty uživateli
  • úprava konfigurace postfixu (maildir)
  • instalovat dovecot
  • povolit imap na firewallu

Samozřejmě i tady přišel problém. Thunderbird zahlásí, že certifikát nepochází z důvěryhodného zdroje:

thunderbird bad certificate

Tváří se, že můžu přidat výjimku, ale certifikát si nestáhne:

thunderbird bad certificate

A co teď s tím?

  • V Thunderbirdu nastavit SHA otisk? Našel jsem sice konfiguraci, ale nedá se upravit a přidání je stejný dialog jako výše uvedený.
  • Vypnout kontrolu certifikátů v Thunderbirdu úplně? To se mi nechce, protože ho používám i na normální poštu.
  • Opravit dovecot, aby vystavil certifikát? Tedy povolit na firewallu i 993 (firewall-cmd --add-service=imaps --permanent). Ale Thunderbird to stejně nestáhne.
  • Naimportovat do Thunderbirdu certifikát? ChatGPT mě pěkně provedl stažením do souboru – který pak naimportovat stejně nešel (pro servery import nepodporuje).

Tak jsem holt vypnul v dovecotu celé ssl.

  • v /etc/dovecot/conf.d/10-auth.conf: disable_plaintext_auth=no
  • a v /etc/dovecot/conf.d/10-ssl.conf: ssl=no

Uspávání disku

Stejně jako minule, akorát jsem hdparm musel nejdřív nainstalovat.

dnf install hdparm

MiniDLNA

Na minidlna jsem se vykašlal, díky tomu že VLC umí otevírat NFS, a do televize mám stejně HDMI kabel z počítače.

12345
1756154640000

Hodnocení hvězdičkami používá jako prevenci
opakovaného kliknutí anonymní cookie.
Pokud s tím nesouhlasíte, neklikejte.
Další podrobnosti k cookies zde.

Informace

Kontakt

Vyhledávání

Kategorie

Archiv

STRÁNKY ARCHIVOVÁNY NÁRODNÍ KNIHOVNOU ČR

CBDB.cz – Databáze knih a spisovatelů, knihy online