EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

git-daemon – Online in der Cloud

Führen Sie git-daemon im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl git-daemon, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


git-daemon – Ein wirklich einfacher Server für Git-Repositorys

ZUSAMMENFASSUNG


git Daemon [--verbose] [--syslog] [--export-all]
[--timeout= ] [--init-timeout= ] [--max-connections= ]
[--strict-paths] [--base-path= ] [--base-path-relaxed]
[--user-path | --user-path= ]
[--interpolated-path= ]
[--reuseaddr] [--detach] [--pid-file= ]
[--enable= ] [--disable= ]
[--allow-override= ] [--forbid-override= ]
[--access-hook= ] [--[no-]informative-errors]
[--inetd |
[--listen= ] [--port= ]
[--user= [--group= ]]]
[ ...]

BESCHREIBUNG


Ein wirklich einfacher TCP-Git-Daemon, der normalerweise den Port „DEFAULT_GIT_PORT“, auch bekannt als 9418, überwacht.
Es wartet auf eine Verbindung, die nach einem Dienst fragt, und stellt diesen Dienst bereit, wenn dies der Fall ist
aktiviert.

Es überprüft, ob das Verzeichnis die magische Datei „git-daemon-export-ok“ enthält, und das wird auch der Fall sein
Weigern Sie sich, Git-Verzeichnisse zu exportieren, die nicht ausdrücklich auf diese Weise für den Export markiert wurden
(es sei denn, die --export-all Parameter angegeben ist). Wenn Sie einige Verzeichnispfade als übergeben git
Daemon Argumente können Sie die Angebote weiter auf eine Whitelist beschränken, die diese enthält.

Standardmäßig ist nur der Upload-Pack-Dienst aktiviert, der dient git holen-pack machen git
ls-remote Clients, von denen aus aufgerufen wird git holen, git ziehen und git klonen.

Dies eignet sich ideal für schreibgeschützte Updates, also das Abrufen aus Git-Repositorys.

Zur Bereitstellung steht auch ein Upload-Archiv zur Verfügung git Archiv.

OPTIONAL


--strict-paths
Passen Sie die Pfade genau an (d. h. „/foo/repo“ ist nicht zulässig, wenn der tatsächliche Pfad lautet
„/foo/repo.git“ oder „/foo/repo/.git“) und verwenden Sie keine benutzerbezogenen Pfade. git Daemon
verweigert den Start, wenn diese Option aktiviert ist und keine Whitelist angegeben ist.

--base-path=
Ordnen Sie alle Pfadanforderungen relativ zum angegebenen Pfad neu zu. Das ist eine Art „Git-Root“
- wenn du läufst git Daemon mit --base-path=/srv/git auf example.com, dann wenn Sie später
versuche zu ziehen git://example.com/hello.git, git Daemon wird den Pfad als interpretieren
/srv/git/hello.git.

--base-path-relaxed
Wenn --base-path aktiviert ist und die Repo-Suche fehlschlägt, mit dieser Option git Daemon werden wir
Versuchen Sie, nachzuschlagen, ohne den Basispfad voranzustellen. Dies ist nützlich für den Wechsel zu
--base-path-Nutzung, während weiterhin die alten Pfade zugelassen werden.

--interpolated-path=
Um virtuelles Hosting zu unterstützen, kann eine interpolierte Pfadvorlage dynamisch verwendet werden
alternative Wege konstruieren. Die Vorlage unterstützt %H für den Zielhostnamen als
vom Client bereitgestellt, aber in Kleinbuchstaben konvertiert, %CH für den kanonischen Hostnamen,
%IP für die IP-Adresse des Servers, %P für die Portnummer und %D für den absoluten Pfad
des genannten Repositorys. Nach der Interpolation wird der Pfad anhand der validiert
Verzeichnis-Whitelist.

--export-all
Erlauben Sie das Abrufen aus allen Verzeichnissen, die wie Git-Repositorys aussehen (haben die Objekte
machen Ref Unterverzeichnisse), auch wenn sie nicht über das verfügen git-daemon-export-ok Datei.

--inetd
Lassen Sie den Server als inetd-Dienst ausführen. Impliziert --syslog. Inkompatibel mit --detach,
--port, --listen, --user und --group Optionen.

--listen=
Hören Sie auf eine bestimmte IP-Adresse oder einen bestimmten Hostnamen. IP-Adressen können entweder IPv4 sein
Adresse oder eine IPv6-Adresse, falls unterstützt. Wenn IPv6 nicht unterstützt wird, dann
--listen=hostname wird ebenfalls nicht unterstützt und --listen muss eine IPv4-Adresse erhalten.
Kann mehr als einmal gegeben werden. Nicht kompatibel mit --inetd .

--port=
Hören Sie auf einem alternativen Port. Nicht kompatibel mit --inetd .

--init-timeout=
Zeitüberschreitung (in Sekunden) zwischen dem Zeitpunkt des Verbindungsaufbaus und dem Client
Anfrage empfangen wird (normalerweise ein eher niedriger Wert, da dies grundsätzlich der Fall sein sollte).
sofort).

--timeout=
Timeout (in Sekunden) für bestimmte Client-Unteranfragen. Dazu gehört auch die benötigte Zeit
die der Server benötigt, um die Unteranfrage zu verarbeiten, und die Zeit, die er mit dem Warten auf die nächste verbringt
Kundenwunsch.

--max-connections=
Maximale Anzahl gleichzeitiger Clients, standardmäßig 32. Setzen Sie den Wert auf Null, um keine Begrenzung zu erhalten.

--syslog
Melden Sie sich bei syslog statt bei stderr an. Beachten Sie, dass diese Option daher nicht --verbose impliziert
Standardmäßig werden nur Fehlerbedingungen protokolliert.

--user-path, --user-path=
Ermöglicht die Verwendung der ~user-Notation in Anfragen. Wenn ohne Parameter angegeben,
Anfragen an git://host/~alice/foo werden als Zugriffsanfragen gewertet foo Repository in
das Home-Verzeichnis des Benutzers alice. Wenn --user-path=path angegeben ist, dieselbe Anfrage
wird als Anfrage zum Zugriff auf das Pfad-/Foo-Repository im Home-Verzeichnis des Benutzers angesehen
Alice.

- ausführlich
Protokolldetails zu den eingehenden Verbindungen und angeforderten Dateien.

--reuseaddr
Verwenden Sie SO_REUSEADDR, wenn Sie den Listening-Socket binden. Dadurch kann der Server neu gestartet werden
ohne auf das Timeout alter Verbindungen warten zu müssen.

--ablösen
Von der Schale lösen. Impliziert --syslog.

--pid-file=
Speichern Sie die Prozess-ID unter Datei. Wird ignoriert, wenn der Daemon unter --inetd ausgeführt wird.

--user= , --group=
Ändern Sie die UID und GID des Daemons, bevor Sie in die Serviceschleife eintreten. Wenn nur --user ist
Wird ohne --group angegeben, wird die primäre Gruppen-ID für den Benutzer verwendet. Die Werte der
Option gegeben sind getpwnam(3) und Getgrnam(3) und numerische IDs werden nicht unterstützt.

Die Angabe dieser Optionen ist ein Fehler, wenn sie mit --inetd verwendet werden; Nutzen Sie die Möglichkeiten von inet
Daemon, um das Gleiche vor dem Spawnen zu erreichen git Daemon wenn benötigt.

Wie viele Programme, die die Benutzer-ID wechseln, setzt der Daemon die Umgebung nicht zurück
Variablen wie $HOME, wenn Git-Programme ausgeführt werden, z. B. Upload-Pack und Receive-Pack.
Wenn Sie diese Option verwenden, möchten Sie möglicherweise auch HOME so festlegen und exportieren, dass es auf das Zuhause zeigt
Verzeichnis von Bevor Sie den Daemon starten, stellen Sie sicher, dass alle Git-Konfigurationen vorhanden sind
Dateien in diesem Verzeichnis können von gelesen werden .

--enable= , --disable=
Aktivieren/deaktivieren Sie den Dienst standardmäßig auf der gesamten Website. Beachten Sie, dass ein Dienst deaktiviert ist
Site-weit kann weiterhin pro Repository aktiviert werden, wenn es als überschreibbar markiert ist und die
Das Repository aktiviert den Dienst mit einem Konfigurationselement.

--allow-override= , --forbid-override=
Erlauben/verbieten Sie das Überschreiben der Site-weiten Standardeinstellung mit der Konfiguration pro Repository. Von
Standardmäßig können alle Dienste überschrieben werden.

--[no-]informative-errors
Wenn informative Fehler aktiviert sind, meldet Git-Daemon ausführlichere Fehler an
den Client, wobei Bedingungen wie „kein solches Repository“ von „Repository nicht“ unterschieden werden
exportiert". Dies ist für Kunden bequemer, kann jedoch dazu führen, dass Informationen darüber verloren gehen
Existenz nicht exportierter Repositories. Wenn informative Fehler nicht aktiviert sind, alle
Fehler melden dem Client „Zugriff verweigert“. Der Standardwert ist --no-informative-errors.

--access-hook=
Führen Sie jedes Mal, wenn ein Client eine Verbindung herstellt, zunächst einen vom angegebenen externen Befehl aus
mit Dienstname (z. B. „upload-pack“), Pfad zum Repository, Hostname (%H),
kanonischer Hostname (%CH), IP-Adresse (%IP) und TCP-Port (%P) als Befehlszeile
Argumente. Der externe Befehl kann entscheiden, den Dienst abzulehnen, indem er mit a beendet wird
Status ungleich Null (oder um dies zu ermöglichen, indem Sie mit einem Status von Null beenden). Man kann es auch anschauen
die Umgebungsvariablen $REMOTE_ADDR und $REMOTE_PORT, um mehr über den Anforderer zu erfahren
bei dieser Entscheidung.

Der externe Befehl kann optional eine einzelne Zeile in seine Standardausgabe schreiben
Wird als Fehlermeldung an den Antragsteller gesendet, wenn dieser den Dienst ablehnt.


Ein Verzeichnis, das zur Whitelist der zulässigen Verzeichnisse hinzugefügt werden soll. Es sei denn, --strict-paths ist
Wenn angegeben, umfasst dies auch Unterverzeichnisse jedes benannten Verzeichnisses.

SERVICES


Diese Dienste können mithilfe der Befehlszeilenoptionen global aktiviert/deaktiviert werden
Befehl. Wenn eine feinkörnigere Steuerung gewünscht ist (z. B. um zu ermöglichen git Archiv gegen die man antreten muss
(nur in einigen ausgewählten Repositorys, die der Daemon bedient), die Konfiguration pro Repository
Die Datei kann verwendet werden, um sie zu aktivieren oder zu deaktivieren.

Upload-Paket
Das dient git holen-pack machen git ls-remote Kunden. Es ist standardmäßig aktiviert, aber a
Das Repository kann es deaktivieren, indem das Konfigurationselement daemon.uploadpack auf „false“ gesetzt wird.

Upload-Archiv
Das dient git Archiv --Fernbedienung. Es ist standardmäßig deaktiviert, ein Repository kann dies jedoch
Aktivieren Sie es, indem Sie das Konfigurationselement daemon.uploadarch auf true setzen.

Empfangspaket
Das dient git Paket senden Clients, die anonymes Push ermöglichen. Es ist standardmäßig deaktiviert.
wie es ist nicht Authentifizierung im Protokoll (mit anderen Worten, jeder kann pushen).
alles in das Repository, einschließlich der Entfernung von Refs). Dies ist ausschließlich für a gedacht
geschlossene LAN-Umgebung, in der alle freundlich sind. Dieser Dienst kann durch Einstellung aktiviert werden
Das Konfigurationselement „daemon.receivepack“ wird auf „true“ gesetzt.

Beispiele:


Wir gehen von Folgendem aus / etc / Dienste

$ grep 9418 / etc / Dienste
git 9418/tcp # Git-Versionskontrollsystem

git Daemon als inetd-Server
Einzurichten git Daemon als inetd-Dienst, der jedes Repository unter verwaltet
Platzieren Sie in den auf die Whitelist gesetzten Verzeichnissen /pub/foo und /pub/bar einen Eintrag wie den
Folgendes in /etc/inetd alles in einer Zeile:

Git Stream TCP wartet jetzt auf niemanden /usr/bin/git
Git-Daemon --inetd --verbose --export-all
/pub/foo /pub/bar

git Daemon als inetd-Server für virtuelle Hosts
Einzurichten git Daemon als inetd-Dienst, der Repositorys für verschiedene verwaltet
Platzieren Sie auf den virtuellen Hosts www.example.com und www.example.org einen Eintrag wie den folgenden
in /etc/inetd alles in einer Zeile:

Git Stream TCP wartet jetzt auf niemanden /usr/bin/git
Git-Daemon --inetd --verbose --export-all
--interpolated-path=/pub/%H%D
/pub/www.example.org/software
/pub/www.example.com/software
/Software

In diesem Beispiel enthält das Stammverzeichnis /pub jeweils ein Unterverzeichnis
Virtueller Hostname wird unterstützt. Darüber hinaus bewerben beide Hosts Repositorys einfach als
git://www.example.com/software/repo.git. Für Clients vor 1.4.0 ein Symlink von
/software in das entsprechende Standard-Repository könnte ebenfalls erstellt werden.

git Daemon als regulärer Daemon für virtuelle Hosts
Einzurichten git Daemon als regulärer, nicht inetd-Dienst, der Repositorys für verwaltet
Um mehrere virtuelle Hosts basierend auf ihren IP-Adressen zu erstellen, starten Sie den Daemon wie folgt:

Git-Daemon --verbose --export-all
--interpolated-path=/pub/%IP/%D
/pub/192.168.1.200/software
/pub/10.10.220.23/software

In diesem Beispiel enthält das Stammverzeichnis /pub jeweils ein Unterverzeichnis
Unterstützte virtuelle Host-IP-Adresse. Auf Repositorys kann weiterhin über den Hostnamen zugegriffen werden
vorausgesetzt, sie entsprechen diesen IP-Adressen.

Dienste pro Repository selektiv aktivieren/deaktivieren
Aktivieren git Archiv --Fernbedienung und deaktivieren git holen gegen ein Repository, haben die
Folgendes in der Konfigurationsdatei im Repository (das ist die Datei Config neben
KOPF, Ref machen Objekte).

[Dämon]
uploadpack = false
uploadarch = true


git Daemon setzt REMOTE_ADDR auf die IP-Adresse des Clients, der eine Verbindung hergestellt hat, wenn
Die IP-Adresse ist verfügbar. REMOTE_ADDR wird in der Umgebung von Hooks verfügbar sein
wird aufgerufen, wenn Leistungen erbracht werden.

GIT


Ein Teil des git(1) Suite

Verwenden Sie git-daemon online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad