civodul pushed a commit to branch master in repository maintenance. commit 004c74d5074ed80b615702dab8ddce5c39570eca Author: Gábor Boskovits <boskov...@gmail.com> Date: Fri Mar 2 14:36:24 2018 +0100
talks: Add FSF Hungary talk. --- .../images/GuixSD-horizontal-print.pdf | Bin 0 -> 6174 bytes talks/fsf-hu-talk-2018/images/GuixSD.pdf | Bin 0 -> 9429 bytes talks/fsf-hu-talk-2018/talk-20180220.pdf | Bin 0 -> 91558 bytes talks/fsf-hu-talk-2018/talk.tex | 314 +++++++++++++++++++++ 4 files changed, 314 insertions(+) diff --git a/talks/fsf-hu-talk-2018/images/GuixSD-horizontal-print.pdf b/talks/fsf-hu-talk-2018/images/GuixSD-horizontal-print.pdf new file mode 100644 index 0000000..b5242cb Binary files /dev/null and b/talks/fsf-hu-talk-2018/images/GuixSD-horizontal-print.pdf differ diff --git a/talks/fsf-hu-talk-2018/images/GuixSD.pdf b/talks/fsf-hu-talk-2018/images/GuixSD.pdf new file mode 100644 index 0000000..52c2cfa Binary files /dev/null and b/talks/fsf-hu-talk-2018/images/GuixSD.pdf differ diff --git a/talks/fsf-hu-talk-2018/talk-20180220.pdf b/talks/fsf-hu-talk-2018/talk-20180220.pdf new file mode 100644 index 0000000..489bfde Binary files /dev/null and b/talks/fsf-hu-talk-2018/talk-20180220.pdf differ diff --git a/talks/fsf-hu-talk-2018/talk.tex b/talks/fsf-hu-talk-2018/talk.tex new file mode 100644 index 0000000..1ab8274 --- /dev/null +++ b/talks/fsf-hu-talk-2018/talk.tex @@ -0,0 +1,314 @@ +\documentclass{beamer} + +\usetheme{default} + +\usefonttheme{structurebold} +\usepackage{helvet} +\usepackage{multimedia} % movie +\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 + +% 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{GuixSD: a GNU disztribúció} + +\author{Boskovits Gábor} +\date{\small{2018. február 20., 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}{bg=white} +\begin{frame}[plain] + \begin{tikzpicture}[remember picture, overlay] + \node [at=(current page.center), inner sep=0pt] + {\includegraphics[width=0.7\paperwidth]{images/GuixSD-horizontal-print}}; + \end{tikzpicture} +\end{frame} +\setbeamercolor{normal text}{fg=white,bg=black} + +\begin{frame}[fragile] + \frametitle{Miben különöbözik a többi disztribúciótól} + \begin{itemize} + \item tiszteletben tartja a felhasználók szabadságát (user freedom) + \item egyszerű csomagkezelési műveleteken kÃvül lehetÅ‘vé teszi a tranzakcionális frissÃtést és visszaállÃtást, felhasználói csomag és profilkezelést + \item a teljes rendszer API hozzáférhetÅ‘, többek között magas szintű beágyazott nyelvek formájában csomagok és rendszerkonfigurációk definiálásához + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{A felhasználók szabadságának tiszteletben tartása} + A kontribútoraink nagy gonddal ügyelnek, hogy az upstream disztribúcióba csak szabad szoftver kerülhessen be. Ez nem jelenti azt, hogy nem alkalmas a rendszer bármilyen szoftver futtatására, de ne várjuk el a fejlesztÅ‘ktÅ‘l, hogy nem szabad szoftvert csomagoljanak vagy támogassanak. A felhasználók szabadságának (user freedom) tiszteletben tartásásnak a leglátványosabb megjelenése, hogy az alapértelmezett kernel a linux-libre, és nincs vanilla linux kernel csomag az alapértelezett reposi [...] +\end{frame} + +\begin{frame}[fragile] + \frametitle{Csomagkezelési fogalmak} + \begin{itemize} + \item felhasználói csomagkezelés - a felhasználók rendszergazdai jogosultságok nélkül telepÃthetnek, frissÃthetnek, törölhetnek csomagokat + \item felhasználó profilok - minden felhasználónak van egy alapértelmezett profilja, és ezen kÃvül létrehozhat még tetszÅ‘leges számú profilt. Egy profil profilgenerációk egy lánca. + \item profilgeneráció - az adott profil egy adott állapota, például, hogy milyen csomagok és milyen konfigurációk vannak benne + \item manifest - egy teljes felhasználói konfiguráció leÃrása + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Manifest - példa} + \begin{semiverbatim} +(\alert{specifications->manifest} + '("emacs" "guile@2.2" "guile@2.2:debug")) + \end{semiverbatim} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Tranzakcionális és funkcionális csomagkezelés} + \begin{itemize} + \item tranzakcionális csomagkezelés - egy csomagkezelési művelet vagy teljes mértékben sikeres, vagy nem változtat egyáltalán a rendszer állapotán. Ezért nem fordulnak elÅ‘ részleges frissÃtések, nem marad a csomagadatbázis inkonzisztens állapotban. + \item 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. Ez lehetÅ‘vé teszi, hogy különbözÅ‘ gépeken, vagy különbözÅ‘ idÅ‘pontokban teljesen azonos környezeteket hozzunk létre. + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Egyszerű csomagdefinÃciók} + \begin{itemize} + \item egyszerű, jól definiált csomagleÃrások + \item könnyen kiterjeszthetÅ‘ rendszer + \item több ezer csomag + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{CsomagdefinÃció - példa} + \begin{semiverbatim} + \scriptsize{ +(\alert{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) + (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{semiverbatim} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Funkcionális rendszerkonfiguráció} + \begin{itemize} + \item egyszerű funkcionális konfiguráció leÃró nyelv + \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ó - példa} + \begin{semiverbatim} + \scriptsize{ +(\alert{operating-system} + (host-name "schememachine") + (timezone "Japan") + (locale "ja_JP.utf8") + (bootloader (grub-configuration (device "/dev/sda"))) + (file-systems (cons (\alert{file-system} + (device "my-root") + (title 'label) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + (users (cons (\alert{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{semiverbatim} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Csomagok a GuixSD körül} + \begin{itemize} + \item Guix - funkcionális szoftverkörnyezet kezelÅ‘ + \item Shepherd - init rendszer + \item Curiass - continuous delivery + \item Guile - scheme fordÃtó + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Guix} + \begin{itemize} + \item a disztribúció csomagkezelÅ‘je + \item képes izolált fejlesztÅ‘i környezetek generálására + \item képes az adott csomagokat és függÅ‘ségeiket tartalmazó konténerképek generálására + \item lehetÅ‘séget ad a szoftverkörnyezet teljesen azonos állapotba hozására + \item lehetÅ‘vé teszi, hogy a szoftverek függÅ‘ségi viszonyait vizsgáljuk + \item lehetÅ‘vé teszi például azt is, hogy ellenÅ‘rizzük, hogy az adott szoftverre hatással van-e valamilyen ismert biztonsági sebezhetÅ‘ség + \item lehetÅ‘vé teszi, hogy meggyÅ‘zÅ‘djünk róla, hogy az adott szoftver milyen forrásból származik + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Shepherd} + \begin{itemize} + \item a GuixSD init-je + \item lehetÅ‘vé teszi rendszerszolgáltatások definiálását scheme nyelven + \item egy systemd kompatibilitási réteg jelenleg fejlesztés alatt van + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Curiass} + \begin{itemize} + \item jelenleg ez a berlin.guixsd.org build farm szoftvere + \item lehetÅ‘vé teszi, hogy egy adott commitban szereplÅ‘ csomagokat megépÃtsük + \item ezzel a helyettesÃtÅ‘csomagok elérhetÅ‘vé válnak, Ãgy a felhasználók binárisként letölthetik Å‘ket + \item jelenleg fejlesztés alatt áll az a technika, amivel a csomagok többségét tartalomcÃmezhetÅ‘vé tehetjük + \item jelenleg fejlesztés alatt áll egy csatornákról szóló tervezet, amely lehetÅ‘vé fogja tenni, hogy különbözÅ‘ szervezetek maguk is csomagszolgáltatók lehessenek + \item a guix publish parancs jelenleg is lehetÅ‘vé teszi, hogy a csomagjainkat másokkal megosszuk + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Guile} + \begin{itemize} + \item a GNU scheme fordÃtója + \item a GuixSD rendszerben már az initrd képtÅ‘l kezdve a rendszer része + \item ez lehetÅ‘vé teszi hogy a rendszerállapot nagy részét kézben tudjuk tartani + \item ez a GNU projekt hivatalos kiterjesztési nyelve, rendkÃvül jó C integrációval + \end{itemize} +\end{frame} + +\begin{frame}{Csatlakozzatok hozzánk, osszuk meg a zárójeleket!} + \vspace{0.7cm} + \Large{ + \begin{itemize} + \item \textbf{telepÃtsétek a disztribúciót} + \item \textbf{használjátok}, jelentsétek a hibákat, adjatok hozzá csomagokat + \item osszátok meg velünk az \textbf{ötleteiteket}! + \end{itemize} + } +\end{frame} + +\begin{frame}[plain] + +\vfill{ + \vspace{2.5cm} + \center{\includegraphics[width=0.3\textwidth]{images/GuixSD}}\\[1.0cm] + \texttt{boskov...@gmail.com}\hfill{\alert{\url{https://gnu.org/software/guix/}}} +} + +\end{frame} + +\begin{frame}{} + + \begin{textblock}{12}(2, 8) + \tiny{ + Copyright \copyright{} 2010, 2012--2016 Ludovic Courtès \texttt{l...@gnu.org}.\\[3.0mm] + Copyright \copyright{} 2018 Gábor Boskovits \texttt{boskov...@gmail.com}.\\[3.0mm] + 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}