Archiv der Kategorie: mac

Nokogiri auf dem Mac installieren

Ich möchte mich ein wenig mit Ruby on Rails beschäftigen und bin für die Installation nach der Anleitung https://install-rails-mac.com/#check-the-gem-manager vorgegangen. Jedoch bin ich bei der Installation von nokogiri (gem install nokogiri) auf folgenden Fehler gestoßen.

ERROR:  While executing gem … (Gem::FilePermissionError)

    You don’t have write permissions for the /Library/Ruby/Gems/2.3.0 directory.

Mit dem dem folgenden Befehl war die Installation jedoch möglich.

sudo gem install nokogiri -n /usr/local/bin

Mongodb unter Mac nutzen

Ich wollte mich in nächster Zeit ein wenig mit mongodb und nodejs beschäftigen. Hierfür habe ich Mongodb von der Seite https://www.mongodb.com/download-center/community heruntergeladen.

Die tgz Datei wurde mit tar -zxvf mongodb-osx-ssl-x86_64-<version>.tgz entpackt und unter /usr/local/bin abgelegt. Für den Speicherort der Daten habe ich mich für das Standardverzeichnis /data/db entschieden. Das Verzeichnis wurde unter dem root Benutzer angelegt und der Besitzer der Verzeichnisse wurde auf meinen Benutzer mit dem ich auf dem Mac arbeite geändert.

Zum starten der mongodb muss folgendes auf der Kommandozeile ausgeführt werden

export PATH=/usr/local/bin/mongodb-osx-x86_64-4.0.6/bin:$PATH
mongod

Um sich die Eingabe des Export Befehls zu sparen, wurde dieser in der .bash_profile hinterlegt

mac os mavericks langsamer Zugriff auf Sambafreigabe

Ein Kollege arbeitet seit Jahren mit Mac OS und für seine Bildablage etc nutzt er Sambafreigaben, die er auf einem Linux(Ubuntu) eingerichtet hat.

Bisher hat er die Verbindung über smb://192.168.1.10 aufgebaut und hatte an der Zugriffsgeschwindigkeit nichts auszusetzen. Seit dem Update auf Mavericks wird die Verbindung zur Sambafreigabe nur langsam aufgebaut und Inhalte der Freigabe werden meistens nicht dargestellt.

Das Problem liegt bei der Implementierung des SMB2 Protokolls bei Mavericks, es gibt hier einen Unterschied zu Linux und Windows. Wenn die Freigabe über cifs://192.168.1.10 eingebunden wird, kann die Freigabe mit der gewohnten Zugriffsgeschwindigkeit genutzt werden.

Festplatte aus einem Mac unter Linux mounten

Beim mounten einer Festplatte die mit hfsplus formatiert war, erhielt ich die folgende Meldung in der /var/log/syslog.

hfs: unable to find HFS+ superblock

Damit Ubuntu die Festplatte überhaupt erkannte, musste ich zuvor die hfsprogs(apt-get install hfsprogs) installieren.

Mit Hilfe von fdisk /dev/sde fand ich heraus, das die Festplatte anscheinend nur eine Partition hat. Diese versuchte ich mit mount -t hfsplus /dev/sde1 /media/temp zu mounten, jedoch ohne Erfolg. Im Internet fand ich die verschiedensten Optionen die ich mit angeben konnte, die Lösung war aber die zweite Partition zu mounten.

Das Problem ist, das fdisk in diesem Fall nur die mbr Tabelle anzeigen kann und es sich bei der sde1 um die EFI Partition gehandelt hat. Die sde2 Partition läßt sich dann mit mount -t hfsplus /dev/sde2 /media/temp als read only mounten. Der Grund für das read only ist, das unter Mac das journaling aktiviert wurde. Um die Festplatte auch schreibbar zu mounten, muss vorher das journaling deaktiviert werden. Dieses geht jedoch leider nur unter einem Mac mit dem Befehl:

diskutil disableJournal Volume Name

[gerrit] ist sehr langsam bzw Verbindungen brechen ab

Ein Kollege wies mich auf etwas beim gerrit hin, was ich nun versuche hier wiederzugeben.

Der Gerrit Server macht bei einer SSH Verbindung einen Thread auf, in diesem Threadpool werden die Verbindungen abgearbeitet. Pro Thread werden nur x Verbindungen zugelassen und alle weiteren landen in einer Warteschleife. Nun kann es vorkommen das die Verbindungen nicht rechtzeitig abgearbeitet werden und einige Verbindungen nicht sauber geschlossen werden bzw brechen ab.
Die Anzahl der Threads ist unter anderem Abhängig von der Anzahl der CPU Kerne, mehr Kerne also mehr mögliche Verbindungen.

Werden Jenkins Server verwendet die auf den git Server zugreifen, verursachen diese ebenfalls Threads (Verbindungen).
Damit sich die Verbindungen der Jenkins Server und der Benutzer nicht in die quere können, kann für die Server ein Non-Interactive Users erstellt werden.

Dieser wird wie folgt erstellt, der Befehl muss von einem Benutzer mit Adminrechten ausgeführt werden.

cat /home/jenkins-user/.ssh/id_rsa.pub | ssh -p 29418 git.itbasic.de gerrit create-account –ssh-key – jenkins-user

Ein Non-Interactive kann sich nicht an der Weboberfläche anmelden, somit kann man weitere SSH Keys nur über die Datenbank hinzufügen. Hierfür müssen in der Tabelle account_ssh_keys die Felder ssh_public_key,valid,account_id und seq befüllt werden. Nur zu Info, die Spalte seq muss manuell hochgezählt werden.

Wenn ein neuer SSH Key hinzugefügt wurde muss noch das nachfolgende Kommando ausgeführt werden, da ansonsten ein Zugriff nicht möglich ist.

ssh -p29418 benutzer@git.itbasic.de gerrit flush-caches –cache=sshkeys

Auch hier muss der Benutzer Adminrechte haben.