111 lines
6.0 KiB
TeX
Executable File
111 lines
6.0 KiB
TeX
Executable File
\section{RPM Paket Manager}
|
|
\begin{justify}
|
|
Der Paket Manager {\ttfamily RPM} wurde urspr"unglich von Red Hat entwickelt und unter der DNU General Public License (GPL) gestellt. Heute verwenden diesen Paket Manager au"ser Red Hat noch OpenSuSE, Fedora und CentOS. Die erstellten Pakete haben die Endung RPM.\\
|
|
Der Paket Manager kopiert alle im Paket enthaltenen Dateien an die festgelegte Stelle, f"uhrt alle nozwendigen Scripte aus und aktualisiert dann die RPM Datenbank. Die RPM Datenbank handelt es sich um eine handvoll Dateien auf BDB-Basis. Die Datenbank befindet sich im Verzeichnis {\ttfamily /var/lib/rpm}.\\
|
|
Gibt es bei der Installation des Paketes Abh"angigkeiten mit anderen Programmen oder Bibliotheken, so werden diese nicht automatisch aufgel"ost. Das muss der Anwender dann selber erledigen.
|
|
\subsection{Paket Installieren}
|
|
%\begin{justify}
|
|
Ein Software Paket aus dem Internet, von einer DVD oder von der lokalen Festplatte, wird mit dem Befehl {\ttfamily rpm -i} unstalliert.
|
|
\listBash
|
|
\begin{lstlisting}[captionpos=b, caption=Paket installieren, label=lst:bash]
|
|
uws@tux>sudo rpm -i <paketname>
|
|
\end{lstlisting}
|
|
M"ochte man bei der Installation des Paketes mehr Informationen erhalten, so gibt man die Option {\ttfamily -v} und {\ttfamily -h} an. Mit diesen beiden Optionen werden der Status und der Fortschritt angezeigt.
|
|
\listBash
|
|
\begin{lstlisting}[captionpos=b, caption=Fortschritt anzeigen, label=lst:bash]
|
|
uws@tux>rpm -ivh "http://<domainname>/<paketname>
|
|
\end{lstlisting}
|
|
Soll ein Paket installiert werden, ohne vorher die Abh"angigkeiten aufzul"osen, so gibt man die Option {\ttfamily \verb|--|nodeps} oder {\ttfamily \verb|--|force} an. Die dann installierte Software wird h"ochstwarscheinlich nicht funktionieren.
|
|
\listBash
|
|
\begin{lstlisting}[captionpos=b, caption=Nodeps, label=lst:bash]
|
|
uws@tux>rpm -i --nodeps <paketname>
|
|
\end{lstlisting}
|
|
%-------------------------------------------------------------------------------
|
|
% Section: Paket update
|
|
%-------------------------------------------------------------------------------
|
|
\subsection{Paket update}
|
|
Ist ein Paket installiert und man m"ochte eine neuere Version installieren, so wird hier die Option {\ttfamily -U} benutzt.
|
|
\listBash
|
|
\begin{lstlisting}[captionpos=b, caption=Paket update, label=lst:bash]
|
|
uws@tux>rpm -U <paketname>
|
|
\end{lstlisting}
|
|
\newpage
|
|
%-------------------------------------------------------------------------------
|
|
% Section: Failed to cache
|
|
%-------------------------------------------------------------------------------
|
|
\subsection{Failed to cache}
|
|
Bei einer Installation / Update kommt die Meldung: {\ttfamily Failed to cache rpm database}, so muss man die RPM-DB neu erstellen.
|
|
\listBash
|
|
\begin{lstlisting}[captionpos=b, caption=Create RPM-DB, label=lst:bash]
|
|
uws@tux>sudo rpm --rebuild
|
|
\end{lstlisting}
|
|
%-------------------------------------------------------------------------------
|
|
% Section: Paket loeschen
|
|
%-------------------------------------------------------------------------------
|
|
\subsection{Paket l"oschen}
|
|
Um ein installiertes Paket loszuwerden, gibt man die Option {\ttfamily -e} an.
|
|
\listBash
|
|
\begin{lstlisting}[captionpos=b, caption=Paket deinstallieren, label=lst:bash]
|
|
uws@tux>rpm -e <paketname>
|
|
\end{lstlisting}
|
|
%\begin{justify}
|
|
Wird versucht, ein Paket zu deinstallieren, welche andere Programme ben"otigen, so scheitert dieser Versuch. Mit der Option {\ttfamily \verb|--|whatrequires} kann man sich anzeigen lassen, welche Pakete die zu deinstallierete Software ben"otigen. Diese Pakete gilt es dann vorher zu l"oschen. Mit der Option {\ttfamily \verb|--|nodeps} oder {\ttfamily \verb|--|force} werden die Abh"angigkeiten ignoriert und das Paket wird deinstalliert.
|
|
%\end{justify}
|
|
\listBash
|
|
\begin{lstlisting}[captionpos=b, caption=Paket l"oschen, label=lst:bash]
|
|
uws@tux>rpm -e --whatrequires <paketname>
|
|
\end{lstlisting}
|
|
%-------------------------------------------------------------------------------
|
|
% Section: Paket Abfrage
|
|
%-------------------------------------------------------------------------------
|
|
\subsection{Paket Abfrage}
|
|
Die RPM Datenbank wird mit der Option {\ttfamily -q} abgefragt.
|
|
\listBash
|
|
\begin{lstlisting}[captionpos=b, caption=DB Abfragen, label=lst:bash]
|
|
uws@tux>rpm -q <paketname>
|
|
|
|
uws@tux>rpm -qpl <paketname>
|
|
|
|
uws@tux>rpm -q --scripts <paketname>
|
|
|
|
uws@tux>rpm -qa | grep binutil
|
|
\end{lstlisting}
|
|
\begin{table}[ht]
|
|
\begin{tabular}{p{3cm}p{13cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
|
\rowcolor{hellgrau}\emph{\textbf{Schalter}} & \emph{\textbf{Beschreibung}}\\
|
|
\hline
|
|
\hline
|
|
-a & Alle Pakete auflisten.\\
|
|
-l & Auflisten aller Dateien im Paket\\
|
|
-c & Nur die Konfigurationsdateien anzeigen\\
|
|
-d & Anzeigen der enthaltenen Dokumentation\\
|
|
-i & Anzeige der Meta-Informationen\\
|
|
-p & Abfrage eines nicht installierten Paketes\\
|
|
\verb|--|scripts & Anzeige der Scriptinhalte\\
|
|
\verb|--|changelog & Anzeige einer Pakethistorie\\
|
|
\verb|--|whatrequires & Anzeige, welche Abh"angigkeiten es gibt\\
|
|
\end{tabular}
|
|
\caption{Abfrage Schalter}
|
|
\end{table}
|
|
%-------------------------------------------------------------------------------
|
|
% Section: Abhaenigkeiten Abfrage
|
|
%-------------------------------------------------------------------------------
|
|
\subsection{Abh"angigkeiten Abfrage}
|
|
Welche Abh"angigkeiten es f"ur ein Paket gibt, kann man mit der folgenden Abfrage sich anzeigen lassen.
|
|
\listBash
|
|
\begin{lstlisting}[captionpos=b, caption=Abfrage Abh"anigkeiten, label=lst:bash]
|
|
uws@tux>rpm -q --whatrequires <paketname>
|
|
\end{lstlisting}
|
|
%-------------------------------------------------------------------------------
|
|
% Section: Install Datum}
|
|
%-------------------------------------------------------------------------------
|
|
\subsection{Install Datum}
|
|
Das Installationsdatum f"ur ein Paket kann man sich mit der Option {\ttfamily \verb|--|last} anzeigen lassen.
|
|
\listBash
|
|
\begin{lstlisting}[captionpos=b, caption=Install Datum, label=lst:bash]
|
|
uws@tux>rpm -qa --last | grep firefox
|
|
|
|
firefox-17.0.6-1.0.1.el6_4.x86_64 Do 16 Mai 2013 15:27:29 CEST
|
|
\end{lstlisting}
|
|
\end{justify}
|