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

http error codes

Die HTTP-Status-Codes sind in RFC 2616 definiert.

Code Text Bedeutung
Informative Meldungen
100 Continue Der Client hat einen Teil der Anfrage erfolgreich gesendet und wird
aufgefordert fortzufahren.
101 Switching Protocols Der Client wünscht ein anderes – im Header angegebenes – Protokoll.
Der Server bestätigt die Änderung.
102* Processing
Client-Anfrage erfolgreich
200 OK Der Client hat eine erfolgreiche Anfrage gesendet. Der Server sendet
hiermit das angeforderte Objekt.
201 Created Der Client hat den Server aufgefordert, ein neues Objekt (genauer:
einen URL) zu erzeugen. Der Server bestätigt die Ausführung.
202 Accepted Der Client hat eine Anfrage gesendet, die der Server akzeptiert, aber
nicht sofort verarbeitet.
203 Non-Authoritative Information Der Server sendet Daten, die aus einer externen Quelle (nicht von
ihm selbst) stammen.
204 No Content Der Server sendet eine Antwort mit Header, aber ohne Body. Zum Beispiel für
CGI-Programme, die Informationen aus einem Web-Formular auslesen,
die bereits dargestellte Seite im Browser aber nicht verändern sollen.
205 Reset Content Der Client wird aufgefordert, die Inhalte eines Formulars zurÜckzusetzen.
206 Partial Content Der Client hat mit einem Range-Header nur einen Teil eines Objekts
angefordert. Der Server sendet die angeforderten Daten.
207* Multi Status Es gibt mehr als einen Status-Code. Im Body werden die Status-Codes
aufgelistet.
Client Anfrage weitergeleitet bzw. weitere Aktion erforderlich
300 Multiple Choices Für die Anfrage des Clients kommen mehrere Objekte in Betracht, z.B.
Dokumente in mehreren Sprachen. Der Server kann im Body z.B. eine
Auswahlliste für den Benutzer senden.
301 Moved Permanently Das angefragte Objekt (der URL) existiert nicht mehr. Die neue Adresse
ist aber bekannt und wird dem Client mitgeteilt, mit der Aufforderung
diese zukünftig zu benutzen.
302 Moved Temporarily Veraltet. Ersetzt durch Code 307
303 See Other Das angefragte Objekt (der URL) existiert nicht mehr. Die neue Adresse
ist aber bekannt und wird dem Client mitgeteilt.
304 Not Modified Der Client hat angefragt, ob eine bereits vorhandenes Objekt geändert
wurde (If-Modified-Since).Der Server antwortet, dass das Objekt unverändert ist (Client kann seine
lokale Kopie weiter nutzen).
305 Use Proxy Der Client wird aufgefordert, das angefragte Objekt nicht vom Server,
sondern Über den im Header angegebenen Proxy zu beziehen.
307 Temporary Redirect Das angeforderte Objekt wurde vorÜbergehend verschoben. Die
neue Adresse (URL) des Objekts wird dem Client mitgeteilt, ist jedoch
nur für diese Anfrage gültig.
Client-Anfrage unvollständig
400 Bad Request Der Client hat eine fehlerhafte Anfrage gestellt.
401 Unauthorized Der Client hat eine Anfrage auf ein geschÜtztes Objekt gestellt, das
eine besondere Authentifizierung erfordert. Der Client wird hiermit
aufgefordert, die Authentifizierungsdaten (i.d.R. Benutzername und
Passwort) zu übermitteln.
402 Payment Required Der Client hat eine kostenpflichtige Anfrage gestellt. Eine Zahlungsfunktion
per HTTP ist jedoch z.Zt. noch nicht implementiert. Das heißt, dieser Status-Code
kann noch nicht weiterverarbeitet werden.
403 Forbidden Der Client hat eine Anfrage gestellt, die der Server ohne weitere
Angabe von Gründen verweigert.
404 Not Found Der Client hat ein Objekt angefragt, das nicht existiert.
405 Method Not Allowed Der Client hat eine Methode benutzt, die der Server an dieser Stelle
nicht erlaubt (z.B. GET statt POST).
406 Not Acceptable Der Server konnte das Objekt nicht ausliefern, weil der Client diesen
Objekttyp laut seinem Accept-Header nicht unterstützt.
407 Proxy Authentication Required Der Client ist selbst ein Proxy und stellt eine Anfrage bei einem
benachbarten bzw. übergeordneten Proxy. Dieser verlangt jedoch hiermit
eine Authentifizierung des anfragenden Proxys (Proxy-Proxy Authentifizierung).
408 Request Timeout Der Server hat in der vorgegebenen Zeit keine vollständige Anfrage
vom Client erhalten und beendet die Verbindung.
409 Conflict Der Server konnte die Anfrage aufgrund eines Konflikts (z.B. mit einer
anderen Anfrage) nicht bearbeiten. Gegebenenfalls wird eine genauere Fehlermeldung
im Body mitgesendet.
410 Gone Der Client hat ein Objekt angefordert, das auf dem Server nicht
mehr existiert (im Gegensatz zu 404 gab es das Objekt irgendwann
einmal).
411 Length Required Der Client hat Daten an den Server übermittelt, die dieser nicht ohne
eine Content-Length-Angabe im Header akzeptiert.
412 Precondition Failed Der Client hat eine oder mehrere If…-Header übermittelt und die
darin formulierten Bedingungen konnten nicht erfüllt werden.
413 Request Entity Too Large Der Client hat dem Server zu viele Daten übermittelt (z.B. Upload
einer zu großen Datei).
414 Request URI Too Large Der Client hat einen zu großen URL an den Server gesendet (z.B. GET-Anfrage
mit angehängten Formulardaten).
415 Unsupported Media Type Der Client hat dem Server Daten (im Body) übermittelt, die der Server
nicht unterstützt.
416 Request Range Not Satisfiable Der Client hat in seiner Anfrage einen Range-Header für die
Anforderung eines Teilobjekts angegeben. Der angegebene Teil des Objekts
existiert jedoch nicht (siehe 206).
417 Expectation Failed Der Client hat einen Expect-Header gesendet, den der Server
aber nicht akzeptiert.
424* Locked Das angeforderte Objekt ist in Bearbeitung und wurde vom Server
(vorübergehend) für Anfragen gesperrt.
424* Failed Dependency Der Client hat eine Webseite angefordert, die der Server aus inhaltlichen
Gründen nicht übermitteln kann (zu viele Frames, Seite in Bearbeitung,
…).
433* Unprocessable Entity
Server-Fehler
500 Internal Server Error Der Server hat bei sich einen Fehler entdeckt,
z.B. durch eine fehlerhafte Konfiguration oder durch ein abgestürztes
CGI-Programm. In den Log-Files des Servers sollten sich genauere Angaben
finden.
501 Not Implemented Der Server kann die Anforderung des Clients nicht
ausführen, weil diese nicht unterstützt wird.
502 Bad Gateway Der Server oder Proxy hat formal ungültige Antworten von einem anderen
Server oder Proxy bekommen. Header: WWW-Authenticate: Enthält Informationen
über die Art der notwendigen Authentifizierung.
503 Service Unavailable Der Server kann die Anforderung des Clients momentan nicht ausführen.
Ggf. gibt der Server in einem „Retry-After“-Header
zurück, wann der Dienst wieder zur Verfügung steht.
504 Gateway Timeout Der Client hat selbst eine Anfrage an einen Gateway oder Proxy gestellt,
die innerhalb der auf dem Server definierten Zeit nicht beantwortet
wurde (siehe auch 408)
505 HTTP Version Not Supported Der Client unterstützt die in der Anforderung angegebene HTTP-Version
nicht.
507* Insufficient Storage Es steht nicht genügend Speicherplatz zur Verfügung, um das Ergebnis
dieser Methode abzulegen.

 

* Erweiterung nach RFC 2518 (WebDAV)

Quelle: Squid-Handbuch http://www.squidportal.de/

Windows Shortcuts

Tastatur Shortcuts

Hier eine Übersicht über die gebräuchlichsten Tastatur-Kommandos unter Windows 2000/XP. Wer seine gesamte Tasturbelegung ändern möchte,
z.B. um die Windows-Taste zu ändern, findet hier einen KeyTweaker.

Übersicht Windows Shotcuts

[Shift] + [Entf] Löscht ein Objekt direkt, ohne den Papierkorb.
[Strg] + Mausziehen Erstellt automatisch eine Kopie
[Alt] + Mausziehen Erstellt automatisch eine Verknüpfung
[Shift] + Mausziehen Objekt wird verschoben
]Alt] + [Enter] Objekt Eigenschaften anzeigen
[Shift] + [F10] Alternative zur rechten Maustaste
[F2] Umbenennen
[Strg] + [z] Letzte Aktion rückgängig machen
[Druck] Kopiert den Bildschirminhalt in die Zwischenablage
[Alt] + [Druck] Kopiert den Bildschirminhalt des aktiven Fensters in die Zwischenablage
[Win] + [e] öffnet den Windows Explorer
[Win] + [r] öffnet Dialog zum Ausführen von Programmen
[Win] + [Pause] öffnet die Systemeigenschaften
[Win] + [d] Desktop anzeigen
[Win] + [M] Minimiert alle Fenster
[Win] + [Shift] + [m] Maximiert alle Fenster
[Win] + [L] Sperrt den Rechner
[Win] + [A] Makiert alle Objekte z.B. eines Fensters
[Strg] + [x] Element ausschneiden
[Strg] + [c] Element kopieren
[Strg] + [v] Element einfügen
[Alt] + [tab] Blätter durch geöffnete Fenster
[Alt] + [Space] öffnet das Fenstermenü
[Strg] + [F6] Blättert durch Fensterelemente
[Alt] + [ESC] Wechsel zwischen Anwendungen in der Reihenfolge wie sie geöffnet wurden
[F5] Aktualisieren des Fenster bzw. Desktops
[Alt] + [F4] Schließt das aktive Fenster
[Strg] + [Shift] + [ESC] öffnet den Task-Manager
[Alt] + [Shift] + [Druck] Windows-Kontrast ein- und ausschalten
[Alt] + [Shift] + [Num] Tastatur-Maus ein- und ausschalten
[Shift] + CD/DVD Unterbindet den Autostart