Gitea installieren

Vor ein paar Jahren schrieb ich eine Anleitung, in der es darum ging Gogs zu installieren. Schon damals hatte sich eine Abspaltung unter dem Namen Gitea herausgelöst, welche einen Community zentrierten Ansatz bei der Entwicklung fuhr. Gitea ist eine vollwertige Lösung, welche einen Git-Server, eine Weboberfläche und weitere Entwicklerwerkzeuge, wie einen Bugtracker und eine Wiki bereitstellt.

Gitea

Zur Installation von Gitea muss im ersten Schritt Git installiert werden:

apt-get install git

Nachdem dies geschehen ist, wird ein Nutzer für Gitea angelegt und in dessen Kontext gewechselt:

adduser --disabled-password --gecos "" git
su git
cd

Nun kann Gitea heruntergeladen werden. Dazu muss der passende Download-Link über die Projektseite ermittelt werden:

wget https://dl.gitea.io/gitea/1.8.3/gitea-1.8.3-linux-amd64

Im Normalfall sollte hierbei die Linux-AMD64-Version genutzt werden. Nach dem Download kann Gitea für den ersten Testlauf gestartet werden:

mkdir gitea
mv gitea-1.8.3-linux-amd64 gitea/gitea
cd gitea
chmod 755 gitea
./gitea

Nach dem Start kann Gitea im Browser unter der URL aufgerufen werden:

http://example.org:3000/

Sobald der erste Testlauf erfolgreich durchgeführt wurde, sollte Gitea wieder beendet werden. Im nächsten Schritt muss die systemd-Unit eingerichtet werden, welche dafür sorgt, dass der Service automatisch gestartet wird. Dazu wird im ersten Schritt die entsprechende Datei angelegt:

nano /etc/systemd/system/gitea.service

Diese Datei wird nun mit folgendem Inhalt befüllt:

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535

Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gitea
ExecStart=/home/git/gitea/gitea web
Restart=always
Environment=USER=git HOME=/home/git

# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

Nachdem die systemd-Unit angelegt wurde, kann sie aktiviert und gestartet werden:

systemctl enable gitea
systemctl start gitea

Damit wird Gitea automatisch gestartet und läuft als Service im Hintergrund. Im Browser kann Gitea nun aufgerufen werden und installiert werden. Dazu wird der Anmelden-Button in der Weboberfläche gedrückt oder alternativ die URL:

http://example.org:3000/install

aufgerufen. In der Installationsroutine wird unter anderem die Datenbank-Verbindung definiert und es besteht die Möglichkeit einen administrativen Nutzer anzulegen. Für kleinere Installation kann SQLite3 als Datenbank-Backend bedenkenlos genutzt werden.

Sollten Fehler bei der Installation des Services oder bei Gitea aufgetreten sein, so lohnt es sich in das systemd-Log mittels:

systemctl status gitea

hineinzuschauen. Das Gitea-eigenen Logs befindet sich bei dieser Installation unter /home/git/gitea/log/:

/home/git/gitea/log/gitea.log 
/home/git/gitea/log/http.log 
/home/git/gitea/log/xorm.log

Swift im Browser ausprobieren

Swift ist der freie Nachfolger der Sprache Objective-C und wird unter anderem für die App-Entwicklung unter macOS und iOS genutzt. Daneben kann Swift auch unter anderen Systemen wie Linux genutzt werden. Wer Swift im Browser testen möchte, kann dies mit dem Online Swift Playground tun.

swiftplayground.run

Mit der Nutzung der lokalen Versionen können auch eigene Packages eingebunden werden. Zu finden ist der Online Swift Playground unter online.swiftplayground.run. Der Quelltext ist auf GitHub zu finden, allerdings ist dieser unter der Creative Commons CC-BY-NC lizenziert und damit keine freie Software.

jMonkeyEngine

Mit libGDX hatte ich vor einem Jahr bereits eine Game Engine für Java vorgestellt. Daneben existieren natürlich noch weitere Game Engines. Eine dieser Engines ist die jMonkeyEngine, welche seit 2003 entwickelt wird. Technisch basiert der SDK-Editor auf NetBeans-Plattform. Die Engine selbst nutzt OpenGL für die Darstellung der Grafik und verfügt über unterschiedlichste Features wie die Unterstützung für Beleuchtung, die Nutzung von Shadern, eine Reihe von Filtern und Effekten und eine Physikunterstützung. Daneben werden auch andere Dinge wie die Eingabe des Nutzers von der Engine abstrahiert.

Das jMonkeyEngine SDK

Lizenziert ist jMonkeyEngine unter der BSD-Lizenz und damit freie Software. Der Quelltext kann über GitHub bezogen werden. Die offizielle Seite des Projektes ist unter jmonkeyengine.org zu finden.

.rnd-Dateien unter Linux

Bei Durchsicht eines meiner Linux-Systeme fiel mir in einem der Verzeichnisse eine Datei mit dem Namen .rnd auf. Vor ein paar Tagen war diese Datei dort noch nicht zu finden. Erst nach einem aktuellen Update von OpenSSL, ist die Datei aufgetaucht.

Zusätzliche Entropie wird in den .rnd-Dateien hinterlegt

Nun sollte der geneigte Nutzer natürlich vorsichtig sein, wenn ohne weitere Erklärungen seltsame Dateien in Ordnern auftauchen. Und so stellt sich die Frage was es mit der .rnd-Datei auf sich hat. Hintergrund für diese Datei ist die Erzeugung von zufälligen Zahlen unter Linux. Diese nutzt unterschiedliche Quellen für die Erzeugung von sicheren Zufallszahlen. In den .rnd-Dateien befindet sich zusätzliche Entropie, welche für diese Generierung dieser Zahlen genutzt werden kann.

Die Dateien selber können bedenkenlos gelöscht werden, da sie nicht die einzige Quelle für zufällige Zahlen unter Linux sind. Normalerweise befinden sich diese Dateien im jeweiligen Nutzerorder, sie können aber auch an anderen Orten wie z.B. dem Ordner /var/www/ auftauchen.