Debian

Debian

Debian etch NO_PUBKEY apt-get update error

Wenn man zusätzliche Quellen in die apt source.list einträgt, kann es nach einem apt-get update zu folgendem Fehler kommen:

Problem:
W: GPG error http://ftp2.de.debian.org etch/volatile Release: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY EC61E0B0BBE55AB3
W: Probieren Sie „apt-get update“, um diese Probleme zu korrigieren.

Lösung:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PUBKEY>


apt-key adv --keyserver keyring.debian.org --recv-keys <PUBKEY>

oder

gpg --keyserver pgpkeys.mit.edu --recv-key  <PUBKEY>
gpg -a --export <PUBKEY> | sudo apt-key add -
apt-get update

(Den fehlenden Key entsprechend ersetzen)

Alternativ kann man auch von http://www.debian.org/devel/debian-volatile/ die Datei
etch-volatile.asc herunterladen und mit apt-key add etch-volatile.asc zum apt-keyring hinzufügen.

Apt-Pinning

Warum apt-pinning ?

Debian ist in mehreren Versionen aufgeteilt. Die aktuelle Verion ist die stable Version (z.Z. Debian 4.0 Etch)
Diese Version wird vom Security Team unterstützt. Die Versionen Testing und Unstable nicht. Manchmal ist aber notwendig
Programm-Versionen aud dem testing oder Unstable Baum zu benutzen, da in den neuen Versionen notwendige Funktionen enthalten sind.

Die apt source.list

Der erste Schritt um pinning zu benutzen ist die source.list von apt zu editieren. Der Pfad lautet
/etc/apt/source.list
, die wird um die Versionen testing/unstable erweitert.

Ein Beispiel der source.list könnte so aussehen:

#stable
deb ftp://ftp.de.debian.org/debian stable main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free

#testing
deb http://ftp.de.debian.org/debian testing main non-free contrib

#unstable
deb http://ftp.de.debian.org/debian unstable main non-free contrib

Je nach den angegeben Quellen kann sie unterschiedlich aussehen.

preferences

Der nächste Schritt ist es die datei /etc/apt/preferences zu bearbeiten bzw. zu erstellen. In preferences
wird das apt-pinning festgelegt. Normalerweise wird das Packet mit der höchseten Prioriät installiert, dies wird aber hier verändert.

Beispiel der preferences Datei:

Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 650

Package: *
Pin: release a=unstable
Pin-Priority: 600

Man sieht das stable die höchste Priorität hat. Und testing wiederum gegenüber unstable.

apt-get update

Nun sind alle Dateien fertig editiert. Mit apt-get update werden die neuen Versionen in apt Liste hinzugefügt

Error: Dynamic NMap ran out of room

Es kann sein das ein Fehler wie folgt erscheint:
E: Dynamic MMap ran out of room
E: Error occured while processing sqlrelay-sqlite (NewPackage)
E: Problem with MergeList /var/lib/apt/lists/ftp.us.debian.org_debian_dists_etch_contrib_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.

Das kommt daher das der Cache von apt zu klein ist alle Versionen zu speichern. Das einfachste dieses Problem zu fixen, ist die /etc/apt/apt.conf
zu bearbeiten.

ATP::Cache-Limit 18388608;

Neue Packete installieren

Um ein neues Packet zu installieren, geht man wie gehabt vor apt-get install <packetname>.
Wenn es das Packet in stable gibt wird es installiert. Und wenn es nur in unstable gibt,
wird es genommen.

Wenn es aber in beiden stable und unstable gibt, und das aus unstable soll genommen werden? Es sind zwei Möglichekeiten wie man das machen kann.

apt-get install <packetname>/unstable

Das wird die unstable Version des Packetes installieren, und alle Abhängigkeiten von stable. Das wird nicht funktionieren, aber apt sagt uns warum:

# apt-get install zsh/unstable
Reading Package Lists… Done
Building Dependency Tree… Done
Selected version 4.0.6-7 (Debian:unstable) for zsh
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:

Sorry, but the following packages have unmet dependencies:
zsh: Depends: libc6 (>= 2.2.5-13) but 2.2.5-11.1 is to be installed
E: Sorry, broken packages

apt-get -t unstable install <packetname>

Das wird die unstable Version des Packetes installieren, und alle Abhängigkeiten von unstable werden auflösen.

# apt-get -t unstable install zsh
Reading Package Lists… Done
Building Dependency Tree… Done
The following extra packages will be installed:
libc6 libc6-dev libc6-pic libdb1-compat locales
The following NEW packages will be installed:
libdb1-compat
5 packages upgraded, 1 newly installed, 0 to remove and 394 not upgraded.
Need to get 11.6MB of archives. After unpacking 606kB will be used.
Do you want to continue? [Y/n]

Das war es!

Mit den Änderungen der source.list und der preferences ist es möglich zwischen den einzelen Versionen von Debian einfach zu wechseln
und Packete aus allen Versionen zu installieren.

Quelle: Apt-Pinning for Beginners

VMWare-Tools in Debian 4.0 etch installieren

Um die VMWare-Tools in einem Debian Gastsystem zu installieren sind folgende Schritte durchzuführen:

Zuerst sollte mit uname -r die installierte Versions Nummer des Kernels ermittelt werden (z.B. 2.6.18-5-686), dementsprechend das passende Header Packet auswählen.
Danach wird per apt-get die fehlenden Software installiert.

apt-get install make binutils gcc cpp cpp-3.3 autoconf automake linux-headers-2.6.18-5-686

Anschließend wird ein Verzeichnis erstellt und verlinkt.

mkdir /usr/src/linux/include
ln -s /usr/src/linux-headers-2.8.18-5-686/include /usr/scr/linux/include

Dann werden die VMWare-Tools gemounten und in ein Verzeichnis die VMwareTools-xxx.tar.gz entpackt, z.B. nach /tmp, und ins Verzeichniss vmware-tools-distrib gewechselt.
Anschließend das Script vmware-install.pl ausführen.

./vmware-install.pl

Alle Fragen während des Installationsprozess können mit den Voreinstellungen beantwortet werden. Bei der Bildschirmauflösung sollte die gewünschte Auflösung
(z.B. 1024×768) ausgewählt werden. Nach Abschluss der Installation sollte das System neu gestartet werden oder man führt folgende Befehle aus:

/etc/init.d/network stop
rmmod pcnet32
rmmod vmxnet
modprobe vmxnet
/etc/init.d/network start

Midnight Commander

Dateitransfer per SSH Problem: Sie möchten im Midnight Commander auf einen entfernten Linux-Rechner zugreifen,
um Dateien zu übertragen. Dort läuft aber kein FTP-Server.
Lösung: Auf die meisten Linux-Rechner können Sie per SSH (Secure Shell) zugreifen, vorausgesetzt natürlich, Sie kennen dort entweder das root- oder ein Benutzerpasswort.
Im Midnight Commander lässt sich die Verzeichnisstruktur eines entfernten Rechners mit SSH direkt in einer grafischen
Oberfläche öffnen. Dann können Sie bequem Dateien per „F5“-Taste kopieren oder per „F6“ verschieben. Starten Sie die
zweigeteilte Midnight-Commander-Oberfläche in einem Terminal-Fenster mit dem Befehl „mc“. Wechseln Sie zunächst mit
der „F9“-Taste in das Menü, und wählen Sie die Seite des Fensters aus („Links“ oder „Rechts“), mit der Sie auf den
entfernten Rechner zugreifen möchten. Mit „Return“ klappen Sie das Menü aus, wählen dort den Eintrag „Shell-Verbindung“
und öffnen wieder mit „Return“ eine Eingabemaske.

Dort geben Sie folgende Zeile ein:

Benutzername@IP-Adresse

Nach erfolgreicher Verbindung verlangt Midnight Commander unten noch nach dem Passwort, das Sie einfach eingeben
und mit „Return“ quittieren. Sie schließen die Verbindung, indem Sie oben den Eintrag mit den beiden Punkten markieren und
per „Return“-Taste in die Ordnerstruktur Ihres lokalen Rechners wechseln.

Tastaturkürzel / Kombinationen Auswirkung
F1 .. F10 siehe Menüleiste ab unteren Bildschirmrand
Tab (Tabulator) Wechseln auf anderes Panel
Strg-O Wegklappen der Panels, so dass der normale Bildschirminhalt sichtbar wird
STRG+x i Infomodus im anderen Fenster
STRG+x q Quickview im anderen Fenster
STRG+s / ALT+s Namenssuche im aktuellen Fenster
Esc-P vorheriges Kommando
Esc-Enter aktuellen Dateinamen auf Kommandozeile übernehmen
Esc-Tab Kommando-Vervollständigung (ggfs. auch zweimal)
ALT-o Fenster angleichen (anderes Fenster erhält gleichen Pfad!)
ALT-c Wechsel in ein anzugebendes Verzeichnis
ALT+TAB Shell-Erweiterung (nicht unter X)
ALT+? oder Esc+? Dateisuche
ALT+t (togle) Wechsel zw. verschiedenen Listing-Arten
+ / – select / unselect (pattern matching)
STRG+x c chmod

Apache2 Server Zertifikat

Um ein Server Zertifikat auf dem Apache2 Webserver zu erstellen, gehen Sie folgender maßen vor:

1) Erstellen eines selbst signieren Zertifikat mit openssl

openssl req -new -x509 -nodes -out test.admin-camp.net.crt -keyout test.admin-camp.net.key

Wichtig: der „Common Name“ muss exakt mit dem Hostnamen des Webservers übereinstimmen!!!

2) Wenn das Zertifikat von einer Zertifizierungsstelle signiert werden soll.

openssl x509 -x509toreq -signkey test.admin-camp.net.key -in test.admin-camp.net.crt

Anschließend die Signierungsanfrage (CSR) z.B. bei cacert.org signieren lassen und das Ergebnis in test.admin-camp.net.crt speichern.

Dann die beiden Files in der Apache2 Konfiguration einbinden:
SSLCertificateFile        /etc/apache2/ssl/test.admin-camp.net.crt
SSLCertificateKeyFile  /etc/apache2/ssl/test.admin-camp.net.key

Anschließend den Server neu starten.
Fertig.

Quelle:
Debian/Apache HOWTO