Skip to content

Commit 1f6ce84

Browse files
committed
Přidat prezentaci Instalace balíčků
1 parent 9430ad6 commit 1f6ce84

2 files changed

Lines changed: 275 additions & 0 deletions

File tree

197 KB
Binary file not shown.
Lines changed: 275 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,275 @@
1+
\documentclass{beamer}
2+
\usepackage[utf8]{inputenc}
3+
\usepackage[T1]{fontenc}
4+
\usepackage[czech]{babel}
5+
6+
\setbeamerfont{title}{size=\LARGE}
7+
8+
\title{Instalace balíčků}
9+
\author{Eliška Jégrová}
10+
\date{11. 11. 2025}
11+
12+
% pro obrázky a kreslení
13+
\usepackage{tikz}
14+
\usetikzlibrary{positioning}
15+
\usepackage{graphicx}
16+
\usepackage{datetime}
17+
\usepackage{svg}
18+
\usepackage{listings}
19+
\usepackage{dirtree}
20+
21+
22+
% vlastní příkaz pro tildy
23+
\newcommand{\ts}{\raisebox{-0.25em}{\textasciitilde}}
24+
25+
\begin{document}
26+
27+
\frame{\titlepage}
28+
29+
\begin{frame}{Obsah}
30+
\tableofcontents
31+
\end{frame}
32+
33+
\section{Balíčky v Linuxu}
34+
35+
\begin{frame}{Balíčky v Linuxu}
36+
\begin{itemize}
37+
\item Programy v Linuxu jsou většinou baleny do \textbf{balíčků}.
38+
\item Balíčky obsahují:
39+
\begin{itemize}
40+
\item vlastní program nebo knihovny,
41+
\item informace o verzi,
42+
\item seznam závislostí (co je nutné mít nainstalováno),
43+
\item konfigurace,
44+
\item manuálové stránky, dokumentace,
45+
\item instalační skripty (ne nutně).
46+
\end{itemize}
47+
\item Každá distribuce má svůj vlastní systém správy balíčků.
48+
\end{itemize}
49+
\end{frame}
50+
51+
52+
53+
\begin{frame}{Základní a nadstavbové systémy}
54+
\begin{itemize}
55+
\item Na systémech jsou obvykle dva balíčkovací systémy:
56+
\begin{itemize}
57+
\item \textbf{Základní:} stará se o instalaci a evidenci (\texttt{rpm})
58+
\item \textbf{Nadstavbová:} řeší stahování a závislosti (\texttt{dnf})
59+
\end{itemize}
60+
61+
\vspace{1em}
62+
\begin{itemize}
63+
\item Všechny spravují software dostupný všem uživatelům
64+
\item Pro instalaci je potřeba oprávnění superuživatele
65+
\end{itemize}
66+
67+
\end{itemize}
68+
\end{frame}
69+
70+
\begin{frame}{Různé distribuce, různé nástroje}
71+
\begin{center}
72+
\begin{tabular}{|l|l|}
73+
\hline
74+
\textbf{Distribuce} & \textbf{Základní systém správy balíčků} \\
75+
\hline
76+
Debian, Ubuntu & APT (dpkg) \\
77+
Fedora, CentOS & DNF (RPM) \\
78+
openSUSE & Zypper (RPM) \\
79+
Arch Linux & Pacman \\
80+
\hline
81+
\end{tabular}
82+
\end{center}
83+
\end{frame}
84+
85+
86+
\section{RPM}
87+
\begin{frame}[fragile]{RPM – informace o balíčcích}
88+
\begin{itemize}
89+
\item Dotaz na verzi balíčku
90+
91+
\texttt{\$ rpm -q bash \\
92+
bash-5.2.37-1.fc42.x86\_64 \\
93+
\$ rpm -q kernel \\
94+
kernel-6.17.7-200.fc42.x86\_64}
95+
96+
\vspace{0.5em}
97+
98+
\texttt{\$ rpm -qi bash \\
99+
Name : bash \\
100+
Version : 5.2.37 \\
101+
Release : 1.fc42 \\
102+
Architecture: x86\_64 \\
103+
Install Date: Wed 09 Apr 2025 02:05:13 PM CEST \\
104+
Group : Unspecified \\
105+
Size : 8547020 \\
106+
License : GPL-3.0-or-later \\
107+
...}
108+
\end{itemize}
109+
\end{frame}
110+
111+
\begin{frame}[fragile]{RPM – informace o balíčcích}
112+
\begin{itemize}
113+
\item Zobraz všechny soubory které balíček obsahuje
114+
115+
\texttt{\$ rpm -q -l bash \\
116+
/etc/skel/.bash\_logout \\
117+
/etc/skel/.bash\_profile \\
118+
/etc/skel/.bashrc \\
119+
/usr/bin/alias \\
120+
/usr/bin/bash \\
121+
/usr/bin/bashbug \\
122+
/usr/bin/bashbug-64 \\
123+
/usr/bin/bg \\
124+
/usr/bin/cd \\
125+
/usr/bin/command \\
126+
/usr/bin/fc \\
127+
...}
128+
129+
\end{itemize}
130+
\end{frame}
131+
132+
\begin{frame}[fragile]{RPM – závislosti}
133+
\begin{itemize}
134+
\item Dotaz na závislosti balíčku (co potřebuje bash) \\
135+
\texttt{\$ rpm -q -{}-requires bash\\
136+
/usr/bin/sh\\
137+
config(bash) = 5.2.37-1.fc42\\
138+
filesystem >= 3\\
139+
libc.so.6()(64bit)\\
140+
libc.so.6(GLIBC\_2.11)(64bit)}
141+
142+
\vspace{1em}
143+
\item Dotaz - jaký balíček poskytuje danou závislost
144+
145+
\texttt{\$ rpm -q -{}-whatprovides 'libc.so.6()(64bit)'}
146+
\texttt{glibc-2.41-11.fc42.x86\_64}
147+
148+
\end{itemize}
149+
\end{frame}
150+
151+
\begin{frame}{Samostatné práce 1 – Informace o balíčku}
152+
Zjisti informace o balíčcích \texttt{coreutils} a \texttt{firefox}:
153+
\begin{itemize}
154+
\item Verze balíčků
155+
\item Podrobné informace (-i)
156+
\item Seznam souborů, které balíček obsahuje (-l)
157+
\end{itemize}
158+
\end{frame}
159+
160+
\begin{frame}{Samostatné práce 2 – Závislosti balíčku}
161+
Zjisti závislosti a poskytovatele knihoven:
162+
\begin{itemize}
163+
\item Zjisti, jak se jmenuje balíček pro vim (/usr/bin/vim)
164+
\item Jaké závislosti má balíček \texttt{vim}? (requires)\\
165+
\item Který balíček poskytuje \texttt{libacl.so.1()(64bit)}? (whatprovides)\\
166+
\end{itemize}
167+
\end{frame}
168+
169+
170+
\section{Repozitář}
171+
\begin{frame}{Repozitář}
172+
\begin{itemize}
173+
\item Příkaz \texttt{rpm} nekomunikuje po internetu – neumí vyhledávat balíčky, které nejsou nainstalované
174+
\vspace{0.8em}
175+
176+
\item Nemůžeme zjistit, který balíček obsahuje určitý soubor, pro nenainstalované programy:
177+
178+
\texttt{\$ rpm -q -{}-whatprovides /usr/bin/sl}\\
179+
chyba: soubor \texttt{/usr/bin/sl}: Adresář nebo soubor neexistuje
180+
181+
\item K tomu je potřeba prohlédnout repozitář – seznam všeho softwaru, který Fedora poskytuje
182+
\end{itemize}
183+
\end{frame}
184+
185+
\section{DNF}
186+
\begin{frame}{Repozitář – práce s \texttt{dnf}}
187+
\begin{itemize}
188+
\item Obdoba příkazu \texttt{rpm -q} je \texttt{dnf repoquery}:
189+
190+
\texttt{\$ dnf repoquery -{}-whatprovides /usr/bin/sl}\\[0.2em]
191+
\texttt{Fedora 42 - x86\_64 \hspace{1em} 6.8 MB/s | 74 MB 00:10}\\
192+
\texttt{sl-0:5.02-23.fc42.x86\_64}
193+
194+
\vspace{1em}
195+
\item Při prvním použití stahuje metadata o repozitářích.
196+
\item Při dalším spuštění zobrazí jak stará metadata má k dispozici
197+
\end{itemize}
198+
\end{frame}
199+
200+
\begin{frame}{Instalace a odinstalace}
201+
\begin{itemize}
202+
\item \texttt{rpm} umí instalovat (\texttt{-i}) a mazat (\texttt{-e}) balíčky, ale:
203+
\begin{itemize}
204+
\item neřeší závislosti ani stahování,
205+
\item hodí se jen ve zvláštních případech (např. odpojené systémy).
206+
\end{itemize}
207+
\vspace{1em}
208+
\item Pro běžnou správu se používá \texttt{dnf}:
209+
210+
\texttt{\$ dnf install <balíček>} \\
211+
\texttt{\$ dnf remove <balíček>} \\
212+
\texttt{\$ dnf update}
213+
214+
215+
\vspace{1em}
216+
\item Příklad: \\
217+
\texttt{\$ sudo dnf install sl}\\
218+
\texttt{\$ sudo dnf remove -y htop}
219+
\vspace{1em}
220+
\item Přepínač \texttt{-y} = automaticky odpovídá „ano“
221+
\end{itemize}
222+
\end{frame}
223+
224+
\section{Konfigurace repozitáře}
225+
\begin{frame}{Repozitáře}
226+
\begin{itemize}
227+
\item konfigurace repozitářů v \texttt{/etc/yum.repos.d/}
228+
\item Fedora neobsahuje některé balíčky (např. MP3, videa) kvůli patentům.
229+
\item RPM Fusion = evropský projekt s volným i uzavřeným softwarem:
230+
\begin{itemize}
231+
\item \texttt{free} – open source, volně používat, měnit, zkoumat
232+
\item \texttt{nonfree} – uzavřený software, např. Steam
233+
\end{itemize}
234+
\vspace{1em}
235+
\item zkus nainstalovat program \texttt{mplayer}
236+
\end{itemize}
237+
\end{frame}
238+
239+
\begin{frame}{Instalace repozitáře RPM Fusion}
240+
\begin{itemize}
241+
\item https://rpmfusion.org/
242+
\end{itemize}
243+
\begin{itemize}
244+
\item Při první instalaci se DNF zeptá, zda důvěřuje GPG klíčům.
245+
\begin{itemize}
246+
\item lze ověřit na rpmfusion.org/keys
247+
\end{itemize}
248+
\vspace{0.5em}
249+
\item Po úspěšné instalaci bude balíček \texttt{rpmfusion-free-release} obsahovat konfiguraci repozitáře. \\
250+
\texttt{\$ rpm -ql rpmfusion-free-release
251+
/etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-2020
252+
/etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-latest
253+
/etc/yum.repos.d/rpmfusion-free-updates.repo
254+
/etc/yum.repos.d/rpmfusion-free.repo \\
255+
...}
256+
\end{itemize}
257+
\end{frame}
258+
259+
\begin{frame}{Samostatné práce 3 – Práce s repozitáři a dnf}
260+
Zjisti balíček, který obsahuje program \texttt{terminator}, i když není nainstalovaný (/usr/bin/terminator)
261+
\begin{itemize}
262+
\item Nainstaluj balíček
263+
\item Odinstaluj balíček
264+
\end{itemize}
265+
\end{frame}
266+
267+
\begin{frame}{Samostatné práce 4 – Instalace specifické verze balíčku }
268+
Zjisti verze balíčku htop, které se dají nainstalovat (repoquery)
269+
\begin{itemize}
270+
\item Nainstaluj starší verzi: 3.3.0
271+
\item Nainstaluj nejnovější verzi.
272+
\end{itemize}
273+
\end{frame}
274+
275+
\end{document}

0 commit comments

Comments
 (0)