mirror of
git://git.savannah.gnu.org/guix/maintenance.git
synced 2023-12-14 03:33:04 +01:00
talks: Add FSF Hungary talk.
This commit is contained in:
parent
74df37841f
commit
004c74d507
4 changed files with 314 additions and 0 deletions
BIN
talks/fsf-hu-talk-2018/images/GuixSD-horizontal-print.pdf
Normal file
BIN
talks/fsf-hu-talk-2018/images/GuixSD-horizontal-print.pdf
Normal file
Binary file not shown.
BIN
talks/fsf-hu-talk-2018/images/GuixSD.pdf
Normal file
BIN
talks/fsf-hu-talk-2018/images/GuixSD.pdf
Normal file
Binary file not shown.
BIN
talks/fsf-hu-talk-2018/talk-20180220.pdf
Normal file
BIN
talks/fsf-hu-talk-2018/talk-20180220.pdf
Normal file
Binary file not shown.
314
talks/fsf-hu-talk-2018/talk.tex
Normal file
314
talks/fsf-hu-talk-2018/talk.tex
Normal file
|
@ -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 repositoryban. Egy másik megjelenése ennek, hogy a disztribúció nem támogatja a meltdown és spectre biztonsági sebezhetőségek nem szabad mikrokód frissítéssel való javítását, csak a szabad forráskódú javításokat.
|
||||||
|
\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{boskovits@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{ludo@gnu.org}.\\[3.0mm]
|
||||||
|
Copyright \copyright{} 2018 Gábor Boskovits \texttt{boskovits@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}
|
Loading…
Reference in a new issue