Next: , Previous: , Up: Nastavenie systému   [Contents][Index]


3.8 Spúšťanie Guixu na serveri Linode

Ak chcete spustiť Guix na serveri hosťovanom na Linode, začnite s odporúčaným Debianovým serverom. Na zavedenie Guixu vám odporúčame použiť predvolenú distribúciu. Vytvorte si kľúče SSH.

ssh-keygen

Pridajte si SSH kľúč pre rýchle prihlasovanie na vzdialený server. Vďaka grafickému rozhraniu Linode je pridávanie SSH kľúčov veľmi jednoduché. Choďte do vášho profilu a kliknite na Pridať SSH kľúč. Tam potom skopírujte výstup príkazu:

cat ~/.ssh/<pouzivatel>_rsa.pub

Vypnite Linode.

Na karte „Storage“ (úložisko) v Linode zmenšite disk s Debianom. Odporúča sa 30 GB voľného priestoru. Potom kliknite na „Add a disk“ (pridať disk) a vyplňte formulár nasledujúcimi údajmi:

Na karte „Configurations“ (nastavenia) kliknite na „Edit“ (upraviť) pri predvolenom profile Debianu. Pod „Block Device Assignment“ (pridelenie diskových zariadení) kliknite na „Add a Device“ (pridať zariadenie). Malo by to byť /dev/sdc a môžete pridať disk „Guix“. Uložte zmeny.

Teraz „Add a Configuration“ (pridať nastavenie) s nasledovným:

Teraz opätovne spustite server s nastavením Debianu. Po spustení sa k vášmu serveru pripojte cez SSH pomocou ssh root@<IP-adresa-vasho-servera-tu> (IP adresu vášho servera môžete nájsť v odseku „Summary“, t.j. zhrnutie, na Linode). Teraz môžete vykonať inštalačné kroky z see Binary Installation in GNU Guix:

sudo apt-get install gpg
wget https://sv.gnu.org/people/viewgpg.php?user_id=15145 -qO - | gpg --import -
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
guix pull

Teraz je čas dať dohromady nastavenia servera. Kľúčové poznatky sú uvedené nižšie. Uložte výsledný súbor ako guix-config.scm.

(use-modules (gnu)
             (guix modules))
(use-service-modules networking
                     ssh)
(use-package-modules admin
                     package-management
                     ssh
                     tls)

(operating-system
  (host-name "moj-server")
  (timezone "Europe/Bratislava")
  (locale "sk_SK.UTF-8")
  ;; Tento kód vytvorí grub.cfg
  ;; bez inštalácie grubu na disk.
  (bootloader (bootloader-configuration
               (bootloader
                (bootloader
                 (inherit grub-bootloader)
                 (installer #~(const #true))))))
  (file-systems (cons (file-system
                        (device "/dev/sda")
                        (mount-point "/")
                        (type "ext4"))
                      %base-file-systems))


  (swap-devices (list "/dev/sdb"))


  (initrd-modules (cons "virtio_scsi"    ; Potrebné pre nájdenie disku
                        %base-initrd-modules))

  (users (cons (user-account
                (name "jozkomrkvicka")
                (group "users")
                ;; Pridá účet do skupiny „wheel“,
                ;; aby sa z neho stal sudoer.
                (supplementary-groups '("wheel"))
                (home-directory "/home/jozkomrkvicka"))
               %base-user-accounts))

  (packages (cons* openssh-sans-x
                   %base-packages))

  (services (cons*
             (service dhcp-client-service-type)
             (service openssh-service-type
                      (openssh-configuration
                       (openssh openssh-sans-x)
                       (password-authentication? #false)
                       (authorized-keys
                        `(("jozkomrkvicka" ,(local-file "jozkomrkvicka_rsa.pub"))
                          ("root" ,(local-file "jozkomrkvicka_rsa.pub"))))))
             %base-services)))

Nahraďte nasledovné polia vo vyššie uvedenom nastavení:

(host-name "moj-server")       ; nahraďte názvom vášho servera
; ak si vyberiete Linode server mimo Slovenska, tak pomocou
; tzselect vyhľadajte správne nastavenie časového pásma
(timezone "Europe/Bratislava") ; v prípade potreby, nahraďte časové pásmo
(name "jozkomrkvicka")              ; nahraďte vašim používateľským menom
("jozkomrkvicka" ,(local-file "jozkomrkvicka_rsa.pub")) ; nahraďte vašim používateľským menom a SSH kľúčom
("root" ,(local-file "jozkomrkvicka_rsa.pub")) ; nahraďte vašim SSH kľúčom

Posledný riadok vo vyššie uvedenom príklade vám umožňuje prihlásiť sa na server ako root a nastaviť prvotné heslo používateľa root (viď poznámku o prihlasovaní používateľa root na konci receptu). Po tomto môžete daný riadok z nastavenia vymazať a znovunastaviť, aby ste zabránili prihlasovaniu ako root.

Skopírujte váš verejný SSH kľúč (napr. ~/.ssh/id_rsa.pub) do <vase-pouzivatelske-meno-tu>_rsa.pub a premiestnite guix-config.scm do rovnakého priečinka. V novom príkazovom riadku vykonajte nasledovné príkazy.

sftp root@<ip adresa vzdialeného servera>
put /cesta/k/súborom/<používateľ>_rsa.pub .
put /cesta/k/súborom/guix-config.scm .

Vo vašom prvom príkazovom riadku pripojte disk guix:

mkdir /mnt/guix
mount /dev/sdc /mnt/guix

Kvôli spôsobu akým sme nastavili zavádzač v príslušnom oddieli guix-config.scm sa nainštaluje iba súbor nastavení grubu. Musíme, teda, prekopírovať nejaké súbory zavádzača GRUB, ktoré už sú nainštalované v systéme Debian:

mkdir -p /mnt/guix/boot/grub
cp -r /boot/grub/* /mnt/guix/boot/grub/

Teraz nastavte inštaláciu Guixu do východzieho stavu:

guix system init guix-config.scm /mnt/guix

Dobre, vypnite server! Cez príkazový riadok Linode spustite server a vyberte „Guix“.

Po spustení by ste mali byť schopní prihlásiť sa cez SSH! (Nastavenie servera ale bude zmenené.) Môžete sa stretnúť s chybou ako je táto:

$ ssh root@<ip adresa servera>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:0B+wp33w57AnKQuHCvQP0+ZdKaqYrI/kyU7CfVbS7R4.
Please contact your system administrator.
Add correct host key in /home/jozkomrkvicka/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/jozkomrkvicka/.ssh/known_hosts:3
ECDSA host key for 198.58.98.76 has changed and you have requested strict checking.
Host key verification failed.

Buď odstráňte súbor ~/.ssh/known_hosts, alebo vymažte dotknutý riadok začínajúci IP adresou vášho servera.

Nezabudnite si nastaviť vaše heslo ako aj heslo používateľa root.

ssh root@<vzdialená ip adresa>
passwd  ; pre nastavenie hesla používateľa root
passwd <používateľ> ; pre nastavenie hesla daného používateľa

V tomto bode možno nebudete môcť vyššie uvedené príkazy vykonať. Ak máte ťažkosti so vzdialeným prihlásením cez SSH, tak možno budete musieť používateľské heslá nastaviť kliknutím na možnosť „Launch Console“ (spustiť príkazový riadok) vo vašom Linode. Vyberte „Glish“ namiesto „Weblish“. Teraz by ste už mali byť schopní prihlásiť sa do stroja.

Sláva! Teraz môžete server vypnúť, odstrániť disk s Debianom a rozšíriť disk Guixom. Blahoželáme!

Inak, ak teraz výsledok uložíte ako obraz disku, uľahčíte si tým spúšťanie nových obrazov s Guixom! Pre uloženie ako obraz disku možno budete musieť disk s Guixom zmenšiť na 6144 MB, ale potom ho môžete znovu rozšíriť na pôvodnú veľkosť.


Next: Running Guix on a Kimsufi Server, Previous: Prispôsobenie správcu okien, Up: Nastavenie systému   [Contents][Index]