Linux-Distribution auf der Kommandozeile ermitteln

Vor ein paar Tagen stand ich vor dem Problem, das ich ermitteln wollte welche Distribution auf einem Server lief. Die Kernelversion einer Linux-Distribution kann dabei einfach über:

uname -or

ermittelt werden. Als Ausgabe erhält man z.B.

3.10.0-229.el7.x86_64 GNU/Linux

Um die Distribution weiter einzugrenzen könnte man Dateien nutzen welche sich auf eine bestimmte Distribution beziehen – unter Ubuntu wäre dies die Datei lsb-release. Distributionsübergreifender funktioniert die Ermittlung derselben mit:

cat /etc/issue

Für ein Ubuntu 14.04 LTS würde die Ausgabe dabei so aussehen:

Ubuntu 14.04.03 LTS

Bei bestimmten Distribution kann es allerdings auch bei der issue-Datei passieren, das diese Datei leer ist und man somit tiefer graben muss um die Distribution zu ermitteln.

Alle .git Ordner rekursiv entfernen

Vor kurzem stand ich vor dem Problem, das ich eine Menge Git-Repositories auf der Festplatte hatte und diese um den .git Ordner bereinigen wollte. Unter Linux und Mac OS X kann man sich für diese Aufgabe mit der Kommandozeile behelfen. Dazu wechselt man in den entsprechenden Ordner und gibt im Terminal folgendes ein:

find . | grep .git | xargs rm -rf

Damit werden sämtliche .git Ordner rekursiv gesucht und gelöscht. Was übrig bleibt sind die aktuellen Arbeitskopien der jeweiligen Git-Repositores.

Firewall unter CentOS 7 deaktivieren

Möchte man die installierte Standard-Firewall unter Cent OS 7 deaktivieren, so muss man sich am Dienst firewalld zu schaffen machen. Dieser kann dabei mit dem Kommando:

systemctl stop firewalld

gestoppt werden. Anschließend kann der Dienst mittels:

systemctl disable firewalld

dauerhaft deaktiviert werden. Mit dem Kommando:

firewall-cmd --state

kann nun überprüft werden ob der Dienst wirklich deaktiviert wurde. Wenn dies der Fall zeigt das Kommando die Ausschrift not running an.

Konnektivität nach der Installation von CentOS 7 herstellen

Wenn man ein CentOS 7 in der Minimal-Installation installiert (und dabei nicht aufpasst), wird man nach der Installation feststellen das man über keine Konnektivität verfügt. Das ist bedingt dadurch das die entsprechende Netzwerkschnittstelle beim Booten nicht konfiguriert wird. Um die Schnittstelle zu konfigurieren, sollte im ersten Schritt in den entsprechenden Ordner gewechselt werden:

cd /etc/sysconfig/network-scripts/

In diesem Ordner befindet sich eine Datei ifcfg-eth0 (alternativ sind auch andere Schnittstellennamen wie ifcfg-enp0s3, em1 und ähnliche möglich). Die entsprechende Datei wird nun mittels vi geöffnet:

vi ifcfg-eth0

In dieser Datei gibt es eine Option mit dem Namen ONBOOT, deren Wert standardmäßig auf no gestellt ist. Dieser Wert muss in yes geändert werden und anschließend die Datei gespeichert werden (:w zum Speichern der Datei, :q um VIM zu schließen). Nach einem anschließenden Neustart, sollte die Netzwerkschnittstelle konfiguriert und funktionsfähig sein.

Gogs aktualisieren

Nutzt man die freie Git-Hosting-Lösung Gogs, so kommt man regelmäßig in den Genuss von Updates. Möchte man das Upgrade einspielen, so gibt es einige Dinge zu beachten. Im ersten Schritt sollte der Dienst auf dem Server natürlich beendet werden:

service gogs stop

Anschließend wird in den Kontext des Nutzers gewechselt unter welchem Gogs betrieben wird:

su git
cd

Der nächste Schritt ist der Download der neuen Version, sowie die Verschiebung der alten Version und das Kopieren der Konfigurationsdatei von der alten zur neuen Version:

mv gogs gogs_old
wget https://github.com/gogits/gogs/releases/download/v0.8.10/linux_amd64.zip
unzip linux_amd64.zip 
cp -R gogs_old/custom gogs
cp -R gogs_old/data gogs
cp -R gogs_old/log gogs

Danach wird in den Gogs Ordner gewechselt und Gogs manuell gestartet.

cd gogs
./gogs web

Bei diesem Start wird die Migration der Datenbank durchgeführt. Anschließend kann Gogs wie gehabt genutzt werden. Die heruntergeladene Datei sowie der Ordner gogs_old können anschließend entfernt werden.