Grüß Gott.
Folgendes: Ich habe auf Linux Suse 9.3. gewechselt.
Bewaffnet mit einer Zeitschrift der Ausgabe PC Welt Linux versuche ich gerade meinen privaten kleinen FTP-Server einzurichten. Es ist alles ziemliches Neuland für mich aber, doch recht spannend.
Nun stehe ich aber vor einem kleinem Problem, zu dem in meiner doch recht fundierten Zeitschrift aber leider nix steht.
Ich habe pure-ftpd runtergeladen und mit rpm -ivh in der Konsole installiert.
Mit dem Aufruf pure-ftpd &
kommt folgende Meldung:
linux:/home/tt # pure-ftpd &
[1] 11890
linux:/home/tt # Unable to start a standalone server: Address already in use
mit netstat -a | grep ftpd:
linux:/home/tt # netstat -a | grep ftp
tcp 0 0 *:ftp *:* LISTEN
linux:/home/tt #
Jetzt steht in meiner Zeitschrift, daß LISTEN ein positives Zeichen ist, und ich bis hierher nichts falsch gemacht habe.
In Yast kann ich aber den Server nicht zum laufen bringen, und es erscheint, daß keine Verbindung da ist.
Wenn ich in der Konsole "ftp" eingebe, wechselt es zwar auf ftp, aber bei allen weiteren Eingaben kommt: nicht verbunden.
Zu guter letzt:
linux:/home/tt # tail -f /var/log/messages
Dec 8 11:27:33 linux kernel: end_request: I/O error, dev fd0, sector 0
Dec 8 11:27:37 linux kernel: cdrom: open failed.
Dec 8 11:27:38 linux kernel: cdrom: open failed.
Dec 8 11:27:41 linux kernel: cdrom: open failed.
Dec 8 11:27:43 linux kernel: cdrom: open failed.
Dec 8 11:27:44 linux kernel: cdrom: open failed.
Dec 8 11:28:35 linux pure-ftpd: (?@?) [ERROR] Unable to start a standalone server: [Illegal seek]
Dec 8 11:29:58 linux su: (to root) tt on /dev/pts/3
Dec 8 11:29:58 linux su: (to root) tt on /dev/pts/3
Dec 8 11:30:11 linux su: (to root) tt on /dev/pts/4
exit
Dec 8 11:40:50 linux su: (to root) tt on /dev/pts/5
Dec 8 11:40:59 linux pure-ftpd: (?@?) [ERROR] Unable to start a standalone server: [Illegal seek]
Irgendwas paßt da einfach nicht, aber so gut kenne ich mich nicht aus, daß ich selber sagen kann, was, bzw. weiß ich nicht, wich ich das Problem beheben kann.
Wenn mir jemand weiterhelfen kann: Danke im voraus.
Linux 15.070 Themen, 107.540 Beiträge
... es sieht so aus, als ob auf deiner Kiste schon ein FTP-Server läuft.
Den musst du erst beenden.
Server und Daemonen sollten nicht direkt gesterten werden, sondern über entsprechende Scripte in /etc/init.d.
HTH, Z.
Danke, so war´s tatsächlich, da rannte schon ein anderer FTP-Server.
Soweit ich das durchblicke, läuft jetzt mein FTP-Server richtig.
Bin aber noch daran, mir Überblick zu verschaffen.
... wird schon ;-). Notfalls sind wir ja auch noch da ...
Gruß, Z.
Ehrlich gesagt kenn ich mich mit diesem FTP-Server auch nicht aus, aber ich glaube das es daran liegen könnte, das man solche netzwerkdienste mit Hilfe von dem INIT-Prozess in einem ausgesuchtem Runlevel startet oder man kann auch den inetd benutzen, der dann wiederrum die entsprechenden Dienste bei Bedarf startet.
Ich würde mal den Runlevel-Editor starten (in yast) und versuchen , ob man den ftpd mit Hilfe von einem vorprogrammiertem Shellscript gleich beim Systemstart starten könnte.
Alternativ kann man auch den inetd in einem Runlevel starten , der dann wiederum den entsprechenden Dienst bei Bedarf startet.
Ich benutze Debian . Bei Debian sind die Scripte zum Starten der netzwerkdiesste im /etc/init.d -Verzeichnis. Die entsprechenden Links für die Runlevel stehen in den /etc/rcx.d Verzeichnissen. SUSE hat eine klein wenig andere Verzeichnisstruktur für die Runlevelscripte.
Du müßtes dich mal genauer mit dem Bootprozess von Linux beschäftigen, dem Konfigurieren der einzelnen Runlevel mit dem Runlevel-Editor und eventuell kann es nicht schaden die Konfigurationsdatei /etc/inittab besser zu kennen.
Linux verwendet einen System V Bootprozess mit entsprechenden Runlevels.
Als erster Prozess wird init gestartet , der dann wiederumm die einzlnen Dienste in den Verzeichnissen /etc/rc.x.d startet. Dabei spielt die Konfigurationsdatei /etc/inittab eine wichtige Rolle. In ihr ist auch der Default-Runlevel eingetragen , welcher immer beim Booten gestartet wird.
Solche Dienste wie der ftpd werden in der regel von der Shell losgelöst gestartet. Dazu dient entweder ein Shellscript in /etc/init.d oder man kann auch den initd in einem Runlevel starten, welcher dann wiederrum die entsprechenden Dienste startet.
Ich kenne diesen ftpd aber nicht . Ich weiß nicht ob schon so ein Shellscript programmiert wurde , mit dem dann dieser Dienst in einem Runlevel von init gestartet werden kann.
PS: Ich weiß nicht warum die Fehlermeldung kommt, das die Adresse schon verwendet wurde.
Du kannst aber mal den Portscanner nmap verwenden, um herauszufinden welche Dienst schon im Hintergrund laufen:
"nmap Rechneradresse"
Karsten, ich schätze deinen Enthusiansmus und dein Engagement, bitte verstehe die Kritik nicht falsch - aber so verprellt man Neulinge :-(.
... am kann auch alles kompliziert machen. Alles, was man für die Analyse brauchte, stand in der Fehlermeldung. B. hat eine perfekte Frage gestellt - er hat präzise alles geliefert! Wenn die Adresse benutzt wird, liegt das daran, dass der dahinterstehende Dienst läuft. Mit nmap sollte man nicht direkt einen Anfänger traktieren . Die Ausgabe von "ps aux | grep ftp" auf einer Konsole hätte genügt, falls dir die Infos nicht gereicht hätten.
Für jemanden < 1 Jahr Linuxerfahrung gilt *IMO*: keine Kernelkompilierung, keine "Hackertools" (nmap und co). Viele sind davon überfordert, und es ist auch so gut wie nie wirklich notwendig.
Just my 2¢, Z.
Ich habe meinen Irrtum schon erkannt.
SUSE hat früher bei meiner ersten SUSE 4.4 Version die Kernelkompilierung im Handbuch sehr schön erklärt. Da waren alle Kerneloption ins Deutsche übersetzt.
Ich hatte nicht mal Ahnung was ein Kompiler wie der gcc überhaupt macht.
SUSE hat das erst später aus dem Handbuch herausgenommen. Irgendwann bekam man keinen Support mehr, wenn man einen eigenen Kern kompiliert hatte. Das war eigentlich schade.
Na ja was soll's.
... Inzwischen besteht ja das Problem, dass eine Standardinstallation nicht mal mehr die Entwicklertools beinhaltet. Damit scheitert die Sache schon, bevor sie begonnen wurde. Man müsste also jemandem erstmal erklären, welche Pakete er noch installieren muss, bevor das Konpilieren überhaupt möglich ist.
Andererseits sind die modularen Standardkernel der großen Distributionen auch so universell, dass eigentlich alles Gängige erstmal läuft. Natürlich bietet es sich aus Tuninggründen an, das angelegentlich durch einen angepassten Kernel zu ersetzen, aber das hat Zeit, bis man sich wirklich mit dem System vertraut gemacht hat.
Gruß. Z.
