[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: talks: Add talk by Gábor.
From: |
Ludovic Courtčs |
Subject: |
01/01: talks: Add talk by Gábor. |
Date: |
Mon, 14 May 2018 04:45:07 -0400 (EDT) |
civodul pushed a commit to branch master
in repository maintenance.
commit 28bd2073aef75dc070799384ca0c9b93453f7127
Author: Ludovic Courtès <address@hidden>
Date: Mon May 14 10:43:32 2018 +0200
talks: Add talk by Gábor.
---
.../images/GuixSD-horizontal-print.pdf | 1 +
.../images/GuixSD.pdf | 1 +
talks/szabad-szoftver-konferencia-hu-2018/talk.pdf | Bin 0 -> 99997 bytes
.../szabad-szoftver-konferencia-hu-2018/talk.pdfpc | 87 +++++
talks/szabad-szoftver-konferencia-hu-2018/talk.tex | 393 +++++++++++++++++++++
5 files changed, 482 insertions(+)
diff --git
a/talks/szabad-szoftver-konferencia-hu-2018/images/GuixSD-horizontal-print.pdf
b/talks/szabad-szoftver-konferencia-hu-2018/images/GuixSD-horizontal-print.pdf
new file mode 120000
index 0000000..7e536b6
--- /dev/null
+++
b/talks/szabad-szoftver-konferencia-hu-2018/images/GuixSD-horizontal-print.pdf
@@ -0,0 +1 @@
+../../fsf-hu-talk-2018/images/GuixSD-horizontal-print.pdf
\ No newline at end of file
diff --git a/talks/szabad-szoftver-konferencia-hu-2018/images/GuixSD.pdf
b/talks/szabad-szoftver-konferencia-hu-2018/images/GuixSD.pdf
new file mode 120000
index 0000000..1f2477d
--- /dev/null
+++ b/talks/szabad-szoftver-konferencia-hu-2018/images/GuixSD.pdf
@@ -0,0 +1 @@
+../../fsf-hu-talk-2018/images/GuixSD.pdf
\ No newline at end of file
diff --git a/talks/szabad-szoftver-konferencia-hu-2018/talk.pdf
b/talks/szabad-szoftver-konferencia-hu-2018/talk.pdf
new file mode 100644
index 0000000..506e768
Binary files /dev/null and b/talks/szabad-szoftver-konferencia-hu-2018/talk.pdf
differ
diff --git a/talks/szabad-szoftver-konferencia-hu-2018/talk.pdfpc
b/talks/szabad-szoftver-konferencia-hu-2018/talk.pdfpc
new file mode 100644
index 0000000..2105b3d
--- /dev/null
+++ b/talks/szabad-szoftver-konferencia-hu-2018/talk.pdfpc
@@ -0,0 +1,87 @@
+[duration]
+21
+[notes_position]
+RIGHT
+[last_minutes]
+3
+[end_user_slide]
+14
+[notes]
+### 1
+
+### 2
+Itt az elsĹ‘ követelmĂ©ny lazĂthatĂł, Ăşgy, hogy ekvivalens bemenetetek esetĂ©n
ekvivalens kimeneteket várunk el.
+
+A második követelmény valójában annyi, hogy perzisztens adatszerkezetben
tároljuk az eredményeket.
+
+A gyakorlati megvalĂłsĂtásokban irányĂtott aciklikus gráfot használunk.
+
+A cél az, hogy ha szükséges, akkor egy tetszőleges verziót újra elő lehessen
állĂtani. Az adatszerkezetben csak konzisztens állapotoknak megfelelĹ‘
konfigurációt tárolunk.
+
+Ez egy node esetĂ©n nem okoz problĂ©mát, de nagyobb deployment esetĂ©n ezt Ăgy
nem lehet csinálni.
+
+Olyan módszerek is kellenek, amik ellenőzik, hogy az állapot valóban
összeegyeztethető a tárolt gráffal.
+### 3
+PĂ©ldául frissĂtĂ©s közben megszűnik az áramellátás, vagy egyszerűen valamelyik
csomag frissĂtĂ©sekor hiba lĂ©p fel. A rĂ©gi csomag fĂĽggĹ‘sĂ©gek már eltávolĂtásra
kerültek, esetleg maga a régi csomag is, az új csomagot pedig nem sikerült
feltelepĂteni. Ez azt jelenti, hogy az adott csomag funkcionalitása nem
elérhető. A legsúlyosabb esetekben ez akár bootolhatatlan rendszert is
eredményezhet.
+
+Ugyanez az időablak a nix és guix esetében egy symlink atomikus átváltására
szűkül. Ha ez nem sikerül, akkor egyszerűen annyi történik, hogy a régi
rendszeren maradunk.
+
+A nix és guix semmi olyan szoftvert nem töröl, ami valaha a rendszeren
telepĂtve volt, erre kifejezetten kĂ©rni kell. Ilyen esetben a csomagkezelĹ‘
azokat a szoftvereket törli, amelyekrĹ‘l bizonyĂtani tudja, hogy azt más
szoftver a rendszeren nem használja. Lehetőség van bizonyos szoftvereket
megjelölni, hogy használatban vannak, Ăgy lehet kezelni a nem guix-el
telepĂtett szoftverek fĂĽggĹ‘sĂ©geit, amirĹ‘l a guix nem tudhat. Jobb mĂłdszer, ha
lehetsĂ©ges guix csomagot kĂ©szĂteni, mert Ăgy rendszer [...]
+
+A nixos Ă©s guixsd konfiguráciĂł központosĂtja a konfiguráciĂłkezelĂ©st, Ă©s a
GuixSD esetĂ©ben lehetĹ‘vĂ© teszi a konfiguráciĂłs fĂĽggĹ‘sĂ©gek megvilágĂtását is
(Shepherd service extension).
+
+Fontos alap feltételezés, hogy a központi csomagkezelés csak akkor működik, ha
mindent nix-el/guix-el csomagolunk.
+### 4
+A bitről bitre reprodukálhatóságnak rengeteg előnye van. Az egyik
legfontosabb, hogy helyi ĂşjrafordĂtással az eredmĂ©nyt összehasonlĂtva
meggyĹ‘zĹ‘dehetĂĽnk rĂłla, hogy a csomagot ugyanĂşgy állĂtották elĹ‘, mint ahogy mi
tennénk.
+
+Ezen felĂĽl lehetĹ‘sĂ©get biztosĂt a helyettesĂtĹ‘csomagok hash alapján törtĂ©nĹ‘
azonosĂtására.
+
+SzintĂ©n lehetĹ‘sĂ©get ad arra, hogy a központi tárolĂł tartalomcĂmezhetĹ‘ legyen.
Ebben az esetben kialakĂthatĂł zero trust architektĂşra, hiszen bárhonnan
letöltve a helyetttesĂtĹ‘csomagot, biztosak lehetĂĽnk benne, hogy tĂ©nyleg
ugyanazt a szoftvert futtatjuk, nem vagyunk ráutalva arra, hogy megbĂzzunk a
helyettesĂtĹ‘ket biztosĂtĂł szerverben.
+### 5
+Ez egy nix kifejezĂ©s. Ez a nix csomagdefinĂciĂłs nyelve.
+
+AlapvetĹ‘en egy haskell tĂpusĂş nyelv, nĂ©mi bash szkripttel vegyĂtve.
+
+Ez egy külső DSL, saját ad-hoc szintaxisa van, és külön értelmező kell hozzá.
+
+Ezeket a kifejezĂ©seket host side kĂłdnak hĂvják.
+
+A build side kĂłd c++.
+
+Külön repositoryban kezelik a host és build side kódokat.
+### 6
+Ez egy guix csomagdefinĂciĂł.
+
+A nyelv egy belső DSL, a hostnyelv a guile scheme.
+
+A nyelvet g-exp-nek nevezik. A scheme a define-syntax konstrukciójával
különösen alkalmas belső DSL-ek definiálására, amik teljes mértékben olyan
érzést eredményeznek a programozás során, mintha eleve a nyelv részét képeznék.
+
+A host side Ă©s build side kĂłd ugyanabban a repoban van, Ă©s guile scheme
nyelven ĂrĂłdott.
+
+Az egyetlen olyan rész ami még mindig C++ az a daemon. Jelenleg folyamatban
van az újraimplementálása schemeben.
+### 7
+A GuixSD egy teljes mértékben GNU FSDG-vel kompatibilis disztribúció.
+
+Ez a hivatalos GNU disztribĂşciĂł.
+
+A GNU Guix a GNU hivatalos csomagkezelője.
+
+A GNU Guile scheme a GNU hivatalos kiterjesztési nyelve.
+### 8
+Ezen kĂvĂĽl lehetĹ‘sĂ©g van minden felhasználĂł számára tetszĹ‘leges profilokat
definiálni, és bármelyik profil bármelyik generációjára váltani.
+
+SzintĂ©n lehetĹ‘sĂ©g van profil manifesteket kĂ©szĂteni, ami lehetĹ‘vĂ© teszi
például a csomagok verzióinak kötését.
+
+Lehetőség van egyszerű parancssori argumentumokkal a szoftver patchelt
veziĂłinak fordĂtása a tesztelĂ©si fázisban.
+
+A csomagkezelő nyelv lehetővé teszi a csomag örököltetését egy másik
csomagból, ami azt jelenti, hogy kisebb variánsok, például egy patchelt verzió,
vagy egy olyan, amin nem futtatjuk le a teszteket, esetleg más konfigurációs
flagekkel, vagy bemenetekkel fordĂtunk csak nĂ©hány sor.
+### 9
+Itt fontos megjegyezni, hogy milyen mértékben lehet azt funkcionálissá tenni.
A GuixSD itt egy elég extrém irányt vett, a funkcionális működéshez szükséges
dologkat a lehető legkorábban, már az initrd-ben betölti.
+
+TulajdonkĂ©ppen Ăgy a bootloader Ă©s a kernel parancssor kerĂĽl ki a funkcionális
konfiguráció keretei közül.
+
+Ezen kĂvĂĽl jelenleg a rendszertelepĂtĂ©s nem funkcionális, elsĹ‘sorban nincs
funkcionális particionáló nyelv.
+
+Tehát itt fordulhatnak még elő inkonzisztenciák.
+
+Jelenleg igyekszĂĽnk, hogy lehetĹ‘sĂ©get biztosĂtsunk a rendszertelepĂtĂ©s
funkcionálissá tételére, illetve a bootloader konfiguráció és a kernel
command-line monitorozására.
diff --git a/talks/szabad-szoftver-konferencia-hu-2018/talk.tex
b/talks/szabad-szoftver-konferencia-hu-2018/talk.tex
new file mode 100644
index 0000000..dc2fad9
--- /dev/null
+++ b/talks/szabad-szoftver-konferencia-hu-2018/talk.tex
@@ -0,0 +1,393 @@
+\documentclass{beamer}
+
+\usetheme{default}
+
+\usefonttheme{structurebold}
+\usepackage{helvet}
+\usecolortheme{seagull} % white on black
+
+\usepackage[utf8]{inputenc}
+\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref,xspace,multicol}
+\usepackage[absolute,overlay]{textpos}
+\usepackage{tikz}
+\usetikzlibrary{arrows,shapes,trees,shadows,positioning}
+\usepackage{fancyvrb} % for \Verb
+
+\usepackage{pgfpages}
+
+\setbeameroption{show notes on second screen=right}
+
+% Remember the position of every picture.
+\tikzstyle{every picture}+=[remember picture]
+
+\tikzset{onslide/.code args={<#1>#2}{%
+ \only<#1>{\pgfkeysalso{#2}} % \pgfkeysalso doesn't change the path
+}}
+
+% Colors.
+\definecolor{guixred1}{RGB}{226,0,38} % red P
+\definecolor{guixorange1}{RGB}{243,154,38} % guixorange P
+\definecolor{guixyellow}{RGB}{254,205,27} % guixyellow P
+\definecolor{guixred2}{RGB}{230,68,57} % red S
+\definecolor{guixred3}{RGB}{115,34,27} % dark red
+\definecolor{guixorange2}{RGB}{236,117,40} % guixorange S
+\definecolor{guixtaupe}{RGB}{134,113,127} % guixtaupe S
+\definecolor{guixgrey}{RGB}{91,94,111} % guixgrey S
+\definecolor{guixdarkgrey}{RGB}{46,47,55} % guixdarkgrey S
+\definecolor{guixblue1}{RGB}{38,109,131} % guixblue S
+\definecolor{guixblue2}{RGB}{10,50,80} % guixblue S
+\definecolor{guixgreen1}{RGB}{133,146,66} % guixgreen S
+\definecolor{guixgreen2}{RGB}{157,193,7} % guixgreen S
+
+\setbeamerfont{title}{size=\huge}
+\setbeamerfont{frametitle}{size=\huge}
+\setbeamerfont{normal text}{size=\Large}
+
+% White-on-black color theme.
+\setbeamercolor{structure}{fg=guixorange1,bg=black}
+\setbeamercolor{title}{fg=white,bg=black}
+\setbeamercolor{date}{fg=guixorange1,bg=black}
+\setbeamercolor{frametitle}{fg=white,bg=black}
+\setbeamercolor{titlelike}{fg=white,bg=black}
+\setbeamercolor{normal text}{fg=white,bg=black}
+\setbeamercolor{alerted text}{fg=guixyellow,bg=black}
+\setbeamercolor{section in toc}{fg=white,bg=black}
+\setbeamercolor{section in toc shaded}{fg=white,bg=black}
+\setbeamercolor{subsection in toc}{fg=guixorange1,bg=black}
+\setbeamercolor{subsection in toc shaded}{fg=white,bg=black}
+\setbeamercolor{subsubsection in toc}{fg=guixorange1,bg=black}
+\setbeamercolor{subsubsection in toc shaded}{fg=white,bg=black}
+\setbeamercolor{frametitle in toc}{fg=white,bg=black}
+\setbeamercolor{local structure}{fg=guixorange1,bg=black}
+
+\newcommand{\highlight}[1]{\alert{\textbf{#1}}}
+
+\title{Funkcionális csomagkezelés}
+\subtitle{Szabad Szoftver Konferencia 2018}
+\author{Boskovits Gábor}
+\date{\small{2018. május 12., Budapest, Magyarország}}
+
+\setbeamertemplate{navigation symbols}{} % remove the navigation bar
+
+\AtBeginSection[]{
+ \begin{frame}
+ \frametitle{}
+ \tableofcontents[currentsection]
+ \end{frame}
+}
+
+
+\newcommand{\screenshot}[1]{
+ \begin{frame}[plain]
+ \begin{tikzpicture}[remember picture, overlay]
+ \node [at=(current page.center), inner sep=0pt]
+ {\includegraphics[width=\paperwidth]{#1}};
+ \end{tikzpicture}
+ \end{frame}
+}
+
+\begin{document}
+
+\maketitle
+
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\begin{frame}[fragile]
+ \frametitle{Mi a funkcionális csomagkezelés?}
+
+ Egy sikeres csomagkezelési művelet eredménye csak a művelet bemeneteitől
fĂĽgg,
+ az állapottól független.
+
+ \begin{itemize}
+ \item A fordĂtási folyamat: tiszta fĂĽggvĂ©ny.
+ \item A lefordĂtott szoftver: perzisztens gráf.
+ \end{itemize}
+
+ Az elméleti hátteret lásd:
+
+ Eelco Dolstra. The Purely Functional Software Deployment Model.
+ PhD thesis, Faculty of Science, Utrecht, The Netherlands.
+ January 2006. ISBN 90-393-4130-3.
+
+ % \note{20 perc}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Mi a probléma a jelenlegi modellel?}
+\scriptsize{
+ \begin{enumerate}
+ \item A frissĂtĂ©sek Ă©s konfiguráciĂł változtatások nehezek, gyakran nem tudunk
+ visszatérni az előző jó konfigurációhoz, előfordulhat, hogy egy sikertelen
+ csomagkezelési műveletet követően a rendszer inkonzisztens állapotba kerül
+ \item Több csomagkezelési és konfigurálási művelet után követhetetlenné válik
+ a rendszer pillanatnyi állapota, lehetséges, hogy két rendszer, amelyeknek
+ ugyan abban az állapotban kellene lennie mégis különböző állapotba kerül
+ \item A konfiguráció szét van tördelve, gyakran még az sem világos, hogy egy
+ adott szoftver működĂ©sĂ©t melyik konfiguráciĂłs beállĂtások befolyásolják,
+ nincs központi konfiguráció kezelés
+ \item A csomagok elĂ©rhetĹ‘sĂ©gi Ă©s telepĂtĂ©si informáciĂłi szĂ©t vannak tördelve,
+ nagyrészt a nyelvspecifikus csomagkezelőknek köszönhetően, nem
áttekinthető,
+ hogy egyáltalán milyen csomagok vannak egy adott rendszeren telepĂtve,
nincs
+ központi csomagkezelés
+ \item Ezeknek a töredezett csomag és konfigurációs adatoknak köszönhetően
+ nincs megfelelő függőségi információnk a rendszerről
+ \end{enumerate}
+}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{A funkcionális csomagkezelők alapvető működése}
+
+ Jelenleg két funkcionális csomagkezelőt ismerünk, ezek a
+ Nix Ă©s a Guix.
+
+ A működĂ©s alapelve a következĹ‘: a programokat egy központi helyre telepĂtik,
+ minden programnak kĂĽlön izolált telepĂtĂ©si fája van. Ezek a megfelelĹ‘
+ helyekre, például a felhasználók profiljaiba szimbolikus linkekkel kerülnek
+ becsatolásra. A központi tárolóhoz csak egy rendszergazdai jogosultságokkal
+ rendelkezĹ‘ szolgáltatás fĂ©rhet hozzá. A szoftver fordĂtás izolált
+ környezetben törtĂ©nik, Ă©s csak a csomagleĂrásban kifejezetten bemenetkĂ©nt
+ emlĂtett csomagok állnak rendelkezĂ©sre a fordĂtási környezetben. A cĂ©l, hogy
+ az eredmény bitről bitre reprodukálható legyen.
+
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{CsomagdefinĂciĂł pĂ©lda - Nix}
+\tiny{
+ \begin{verbatim}
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+ name = "hello-2.10";
+
+ src = fetchurl {
+ url = "mirror://gnu/hello/${name}.tar.gz";
+ sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
+ };
+
+ doCheck = true;
+
+ meta = {
+ description = "A program that produces a familiar, friendly greeting";
+ longDescription = ''
+ GNU Hello is a program that prints "Hello, world!" when you run it.
+ It is fully customizable.
+ '';
+ homepage = http://www.gnu.org/software/hello/manual/;
+ license = stdenv.lib.licenses.gpl3Plus;
+ maintainers = [ stdenv.lib.maintainers.eelco ];
+ platforms = stdenv.lib.platforms.all;
+ };
+}
+ \end{verbatim}
+}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{CsomagdefinĂciĂł pĂ©lda - Guix}
+\tiny {
+\begin{verbatim}
+(define-module (gnu packages hello)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix licenses)
+ #:use-module (gnu packages gawk))
+
+(define-public hello
+ (package
+ (name "hello")
+ (version "2.10")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/hello/hello-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
+ (build-system gnu-build-system)
+ (arguments '(#:configure-flags '("--enable-silent-rules")))
+ (inputs `(("gawk" ,gawk)))
+ (synopsis "Hello, GNU world: An example GNU package")
+ (description "Guess what GNU Hello prints!")
+ (home-page "http://www.gnu.org/software/hello/")
+ (license gpl3+)))
+
+ \end{verbatim}
+}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Különbségek a Guix és a Nix között}
+
+ KĂ©t fontos kĂĽlönbsĂ©get kell megemlĂtenĂĽnk:
+ \begin{enumerate}
+ \item MĂg a Nix egy kĂĽlsĹ‘ DSL mellett tette le a voksát, addig a Guix egy
+ belső DSL-t válaszott. Ez lehetővé teszi a Guix esetében a fogadó
+ programnyelv lehetőségeinek teljes körű kihasználását.
+ \item A másik különbség filozófiai jellegű, a Guix nem támogatja a nem
+ szabad szoftvereket, a hivatalos csomagadatbázisokban csak szabad szoftver
+ található. Ez nem jelenti azt, hogy ilyen szoftver nem használható vagy
+ csomagolhatĂł Guix-el, de ezek a csomagok nem kerĂĽlhetnek be a hivatalos
+ repoba.
+ \end{enumerate}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{A Guix parancssor rövid bemutatása}
+ \begin{itemize}
+ \item guix package -r lua -u guile emacs -i address@hidden : egy
+ tranzakciĂłban törölje a lua, frissĂtse a guile,emacs Ă©s telepĂtse a
+ guile-cairo csomag 1.9.91-es verzióját. Ha ebből bármi nem sikerül, a
+ rendszer az eredeti állapotában marad.
+ \item guix package --roll-back : A legutóbbi csomagkezelési tranzakció
+ visszavonása
+ \item guix package -s emacs : Keressen információt az adott csomagokról
+ \item guix pull : A Guix frissĂtĂ©se
+ \item guix environment guix --ad-hoc git strace : Hozzon létre egy fejlesztői
+ környezetet a guix csomaghoz, amiben a git és az strace is rendelkezésre
áll
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Funkcionális rendszerkonfiguráció}
+
+ A funkcionális csomagkezelés természetesnek tűnő kiterjesztése a funkcionális
+ rendszerkonfiguráció. Erre mindkét csomagkezelőnek van megoldása, a NixOS és
+ a GuixSD disztribúciók. Ezek a Nix illetve Guix csomagkezelőt használják, és
+ kiegĂ©szĂtik egy rendszerkonfiguráciĂłs nyelvvel, illetve ehhez tartozĂł
+ felhasználói felületek, ami a Guix esetében a guix system parancs.
+
+ Előnyei:
+ \begin{itemize}
+ \item konfigurálható és kiterjeszthető rendszerszolgáltatások
+ \item tranzakcionális frissĂtĂ©s/visszaállĂtás
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Rendszerkonfiguráció - GuixSD}
+\scriptsize {
+ \begin{verbatim}
+(operating-system
+ (host-name "schememachine")
+ (timezone "Japan")
+ (locale "ja_JP.utf8")
+ (bootloader (grub-configuration (device "/dev/sda")))
+ (file-systems (cons (file-system
+ (device "my-root")
+ (title 'label)
+ (mount-point "/")
+ (type "ext4"))
+ %base-file-systems))
+ (users (cons (user-account
+ (name "alice")
+ (group "users")
+ (home-directory "/home/alice"))
+ %base-user-accounts))
+ (services (cons* (dhcp-client-service)
+ (lsh-service #:port-number 2222)
+ %base-services)))
+ \end{verbatim}
+}
+\end{frame}
+
+
+\begin{frame}[fragile]
+ \frametitle{A guix system bemutatása}
+
+ \begin{itemize}
+ \item guix system reconfigure file: a rendszer újrakonfigurálása a fájlban
+ szereplő konfiguráció alapján
+ \item guix system roll-back: a rendszer visszaállĂtása az elĹ‘zĹ‘
konfigurációra
+ \item guix system vm file: rendszer indĂtása az adott konfiguráciĂłval
+ virtuális gépben
+ \item guix system container file: rendszer indĂtása az adott konfiguráciĂłval
+ konténerben
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{NixOps, Upcast}
+ A következĹ‘ lĂ©pĂ©s a teljes többgĂ©pes telepĂtĂ©sek funkcionálissá tĂ©tele. Itt
még
+ jelenleg elĂ©g sok a kihĂvás. A Nix csomagkezelĹ‘nek kĂ©t megoldása van rá, a
+ hivatalos NixOps, és az Upcast. A NixOps egy sqlite adatbázisban tárolja a
+ telepĂtĂ©s állapotát, mĂg az Upcast erre egy szöveges fáljt használ, ami olyan
+ szempontból jobb, hogy verziókövetés alá lehet vonni. A Guix közösség még
+ keresi a megoldásokat a felmerĂĽlĹ‘ problĂ©mákra, Ăgy a Guix-nek erre mĂ©g nincs
+ kész megoldása.
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Guix továbbfejlesztési tervek}
+ \begin{itemize}
+ \item szoftvercsatornák - tervezés alatt
+ \item több gĂ©pes telepĂtĂ©sek - tervezĂ©s alatt
+ \item teljes forráskód alapú bootstrap útvonal - fejlesztés alatt
+ \item grafikus telepĂtĹ‘ - fejlesztĂ©s alatt
+ \item build farm webfelület - fejlesztés alatt (GSoC)
+ \item systemd kompatibilitás - feljlesztés alatt (GSoC)
+ \item a daemon úrjaimplementálás scheme-ben - fejlesztés alatt (GSoC)
+ \item barátságosabb kimenet - fejlesztés alatt (Outreachy)
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{A Guix Ă©s GuixSD közössĂ©g szĂvesen veszi a segĂtĂ©get}
+ \vspace{0.7cm}
+ \large{
+ \begin{itemize}
+ \item minĂ©l többen telepĂtik Ă©s használják a Guix-et, annál jobb
+ felhasználói élményt tud nyújtani
+ \item a fejlesztők számára a hibajelentések és kérdések nagyon sokat
+ jelentenek, Ăgy tudják a Guix-et mĂ©g jobbá tenni
+ \item a közösség számára fontos, hogy a felhasználóik és az újonnan
+ csatlakozĂł fejlesztĹ‘k megosszák az ötleteiket, hiszen Ăgy lehet
+ a Guix-et Ăşj, hasznos funkciĂłkkal bĹ‘vĂteni
+ \end{itemize}
+ }
+\end{frame}
+
+\begin{frame}[fragile]
+
+\vfill{
+ \vspace{2.5cm}
+ \center{\includegraphics[width=0.3\textwidth]{images/GuixSD}}\\[1.0cm]
+ address@hidden://gnu.org/software/guix/}}}
+}
+
+\end{frame}
+
+\begin{frame}[fragile]
+
+ \begin{textblock}{12}(2, 8)
+ \tiny{
+ Copyright \copyright{} 2010, 2012--2016 Ludovic Courtès address@hidden
+ Copyright \copyright{} 2018 Gábor Boskovits address@hidden
+ GNU GuixSD logo, CC-BY-SA 4.0, \url{https://gnu.org/s/guix/graphics}
+
+ Copyright of other images included in this document is held by
+ their respective owners.
+ \\[3.0mm]
+ This work is licensed under the \alert{Creative Commons
+ Attribution-Share Alike 3.0} License. To view a copy of this
+ license, visit
+ \url{http://creativecommons.org/licenses/by-sa/3.0/} or send a
+ letter to Creative Commons, 171 Second Street, Suite 300, San
+ Francisco, California, 94105, USA.
+ \\[2.0mm]
+ At your option, you may instead copy, distribute and/or modify
+ this document under the terms of the \alert{GNU Free Documentation
+ License, Version 1.3 or any later version} published by the Free
+ Software Foundation; with no Invariant Sections, no Front-Cover
+ Texts, and no Back-Cover Texts. A copy of the license is
+ available at \url{http://www.gnu.org/licenses/gfdl.html}.
+ \\[2.0mm]
+ % Give a link to the 'Transparent Copy', as per Section 3 of the GFDL.
+ The source of this document is available from
+ \url{http://git.sv.gnu.org/cgit/guix/maintenance.git}.
+ }
+ \end{textblock}
+\end{frame}
+
+\end{document}