2016-06-17 16 views
-1

Ich möchte gitolite zu gerrit migrieren, so muss ich den gitolite-service vor der migration stoppen. Ich möchte den Befehl wie folgt ausführen service gitolite stop, aber es hat nicht funktioniert! Kann mir jemand das Recht geben, das zu tun? thx :)How to stop gitolite service

+0

Wenn Sie 'service gitolite stop' schreiben, können Sie eine Warnung/einen Fehler/einen anderen Text in Ihrer Konsole sehen? – pes502

+0

es kommt zurück wie diese 'Ubuntu @ local-git: ~ $ sudo Dienstgitolitestopp' 'gitolite: unerkannter Service' –

Antwort

3

Wenn Sie eine typische Installation von Gitolite ausführen, gibt es keinen speziellen Daemon, der ausgeführt wird, da er auf reinem ssh basiert. Das ist es, was Gitolite magisch macht. Siehe here. Das stimmt mit Ihrer Fehlermeldung überein.

Also, wenn Sie gitolite deaktivieren möchten, haben Sie 2 Möglichkeiten.

Die erste ist, nur Push deaktivieren, noch Lesen zulassen. Dies wird beschrieben in this section. Dies kann nützlich sein, wenn Sie es aus historischen Gründen/Vergleich mit Ihnen als reine Lesekopie behalten wollen.

Die zweite ist einfach zu verhindern, dass ein ssh-Befehl erfolgreich ist. Um dies zu tun, einfach umbenennen ~/.ssh/authorized_keys zu etwas anderem (~/.ssh/authorized_keys.removed zum Beispiel). Das sollte sofort verhindern, dass ein Git-Befehl auf dem Server erfolgreich ist. Natürlich müssen Sie zuerst den Benutzer finden, der Ihre gitolite Installation bewirtet. Tun Sie dies bei keinem anderen Benutzer, da Sie sich sonst von Ihrem Server absperren könnten.

Ich persönlich würde mit der ersten Lösung gehen.

In jedem Fall würde ich dringend empfehlen, sich mit der gitolite install/setup vertraut zu machen, bevor Sie das tun. Es ist eine schnelle Lesung here und here for the install procedure.

+0

thx! Für mich geht das –

1

Wie in der anderen Antwort erwähnt, könnten Sie gitolite writable verwenden, um Push zu deaktivieren. Das kann wie dieses

erfolgen Wenn Sie einen separaten Benutzer für gitolite Schalter geschaffen, um es zuerst

sudo su GIT_USER 

Liste Nutzungs

gitolite writable -h 

Liste aktuellen Status (Exit-Code 0 für beschreibbare, 1 für nicht beschreibbar)

gitolite writable @all status 

echo $? 

Disable Schreib auf allen repos