Die Zeile
apt‑key adv ‑‑keyserver keyserver.ubuntu.com ‑‑recv‑keys E084DAB9
in beiden Listings enthält nicht [»normale« Bindestriche][1] `-` (U+002D) sondern [geschützte Bindestriche][2] `‑` (U+2011).
Herausgefunden habe ich das folgendermaßen:
- Dein Beispiel kompiliert
- in der `log`-Datei die Zeile `! Package inputenc Error: Unicode char \u8:‑ not set up for use with LaTeX` gefunden
Damit war der Schuldige gefunden: das Zeichen nach `\u8:`, nämlich `‑`. Dieses habe ich kopiert und unter http://unicode-table.com/de/ nachgeschaut, was es ist.
Lösung: in der betreffenden Zeile alle Bindestriche durch »normale« Bindestriche ersetzen.
ersetzen, zum Beispiel durch Search & Replace.
Übrigens: das optionoale optionale Argument der `lstlisting`-Umgebung _muss_ in der gleichen Zeile wie `\begin{lstlisting}` beginnen, sonst wird es einfach Teil des Codes.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\begin{document}
\begin{verbatim}
apt-get install software-properties-common
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
add-apt-repository ppa:marutter/rrutter
apt-get update
apt-get upgrade
\end{verbatim}
\begin{lstlisting}[caption={ein paar Zeilen code}\label{lst:test123},captionpos=t]
apt-get install software-properties-common
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
add-apt-repository ppa:marutter/rrutter
apt-get update
apt-get upgrade
\end{lstlisting}
\end{document}
![alt text][3]
[1]: http://unicode-table.com/de/002D/
[2]: http://unicode-table.com/de/2011/
[3]: http://texwelt.de/wissen/upfiles/listing_1.png