Programme für MacOSX (Terminal etc...)

Ark

Stammuser
Hallo zusammen,

mein Thinkpad hat sich leider gestern Abend nach 6 Jahren verabschieded (jaja ist kein Alter aber Helden sterben jung ... ) und mein Vater war so freundlich mir sein Macbook late 2011 zu überlassen (15 Zoll, i7 2.2 ghz, 8 GB RAM, 250 GB SSD). Ich denke damit kann man gut was anfangen :) ...

Ich war vorher jahrelang auf Ubuntu unterwegs und muss jetzt leider meine Palette an Programmen umstellen. Daher würde mich interessieren, was ihr generell so für Programme nutzt. Ganz wichtig wären mir ein gutes Terminal und eine Alternative zu Remmina, falls ich mal per RDP auf eine Windows Kiste muss.

Ich freue mich natürlich generell über jede Empfehlung, was man sich mal anschauen sollte. Vieles gibt es ja auch so schon für Mac (Atom, VirtualBox, etc..).

Ich freue mich über jede Anregung.

Viele Grüße

Ark
 

bitmuncher

Senior-Nerd
Bestes Terminal ist iTerm. Für RDP ist CoRD recht gut. Ansonsten ist für Linux-Umsteiger sicherlich brew oder macports ganz brauchbar um sich die meisten gewohnten Konsolen-Programme auf den Mac zu holen. Für weitere Empfehlungen wäre es aber hilfreich, wenn du uns mitteilen könntest, was du mit dem Rechner machen willst. Für mich gehört z.B. auch Emacs zur Standardausstattung sowie SSHTunnel. Weiterhin Adium als Jabber-Client und XChat für IRC. Synergy nutze ich für Tastatur-Sharing um rechnerübergreifend arbeiten zu können. Als erweiterten Programmstarter nutze ich bevorzugt Quicksilver. Auf SmartGit als Git-Client möchte ich auch nicht mehr verzichten. Zum vollständigen Deinstallieren von Programmen ist AppCleaner ganz hilfreich, da der auch Konfigurationen und sonstige zugehörige Dateien von Programmen findet und auf Wunsch entfernt. Cyberduck ist mein bevorzugter (S)FTP-Client und Shimo ist super, wenn man mit vielen verschiedenen VPN-Verbindungen arbeiten muss. Wenn du mal schnell eine Linux-Laufzeitumgebung brauchst ohne gleich eine vollständige VM zu booten, schau dir Docker an. Container-Virtualisierung ist wesentlich speichersparender als VBox.
 

Ark

Stammuser
Erstmal vielen Dank für deine Antwort :) !

Die üblichen Anwendungsgebiete bei mir sind Administration von Windows und Linux Maschinen, Skriptprogrammierung (Atom oder Vim, je nach dem), normale Office arbeiten bzw. auch für die Uni, ich benutze hier TexStudio und Yed, was es glücklicherweise beides auch für MacOSX gibt. Und naja ansonsten nur "Freizeit" Dinge wie bspw. hin und wieder Skype oder QQ. An IRC und FTP hatte ich doch gar nicht gedacht, dabei benutze ich die Sachen auch täglich. Danke für die entsprechenden Empfehlungen.

Das mit Docker ist interessant. Ehrlich gesagt, habe ich Docker so noch nie genutzt (wird wahrscheinlich mal Zeit). Momentan ist es so, dass mein Kollege und ich an einem Projekt arbeiten, dass auf dem MEAN Stack basiert (MongoDB, Express.js, Angular.js, Node.js) - also ein Webprojekt bei dem sowohl für das Front- als auch Backend Javascript genutzt wird. Leider ist diese Konstellation dermaßen Speicherhungrig, dass meine Entwickler VM wo ich den Stack hoste mit 2 Kernen und 4 GB RAM läuft. Kann ich da was mit Docker einsparen? Leider ist MEAN nicht so einfach zu deployen und resourcen schonen wie der LAMP Stack.
 

bitmuncher

Senior-Nerd
Das mit Docker ist interessant. Ehrlich gesagt, habe ich Docker so noch nie genutzt (wird wahrscheinlich mal Zeit). Momentan ist es so, dass mein Kollege und ich an einem Projekt arbeiten, dass auf dem MEAN Stack basiert (MongoDB, Express.js, Angular.js, Node.js) - also ein Webprojekt bei dem sowohl für das Front- als auch Backend Javascript genutzt wird. Leider ist diese Konstellation dermaßen Speicherhungrig, dass meine Entwickler VM wo ich den Stack hoste mit 2 Kernen und 4 GB RAM läuft. Kann ich da was mit Docker einsparen? Leider ist MEAN nicht so einfach zu deployen und resourcen schonen wie der LAMP Stack.

Zumindest ein MongoDB-Cluster betreibe ich derzeit mit Docker. Da Docker RAM usw. dynamisch alloziert ist das gerade für Entwicklungsumgebungen, die weniger RAM brauchen als die Prod-Umgebung, zumeist recht praktisch. Ausserdem gibt's für MongoDB auch entsprechend vorgefertigte Images, so dass sich der Start einer VM mit MongoDB-Node auf einen Befehl begrenzt:

Code:
docker run --name mongo -v /home/mongo/data:/data/db -v /home/mongo/keyfile:/opt/keyfile -d mongo:3.3 --keyFile /opt/keyfile/mongodb-keyfile --replSet "myreplset" --auth

In diesem Beispiel wird /home/mongo/data des Host-Systems in der VM im Ordner /data/db eingehängt (das Image erwartet dort das Datenverzeichnis) und der Ordner /home/mongo/keyfile des Host-Systems in der VM in den Ordner /opt/keyfile. Dadurch bleiben die Daten auch erhalten, wenn du den MongoDB-Container mal mit einer neueren Version ersetzt, da die Daten nicht in der VM sondern auf dem Host abgelegt werden. In /home/mongo/keyfile/mongodb-keyfile solltest du den Key für dein ReplSet ablegen, so dass er dann im Container in /opt/keyfile/mongodb-keyfile auftaucht.

Node.js kann man ziemlich sicher auch recht einfach in Docker aufsetzen. Ein Unternehmen, für das ich das MongoDB-Cluster betreibe nutzt auch Node.js ein Docker. Entsprechende Images findest du z.B. im Docker-Hub: https://hub.docker.com/_/node/ Auch für andere Server-Anwendungen gibt es fertige Images und zur Not kann man sich mit einem einfachen Dockerfile auch seine eigenen Images basteln.

Damit die Container untereinander Verbindung aufnehmen können, ohne dass du deren Ports an das Host binden musst, solltest du ein Docker-Netzwerk erstellen. Das geht entweder mit einem Overlay-Netzwerk oder mittels

Code:
docker network create --subnet=172.20.0.0/16 netzwerkname

Dadurch kannst du später den Containern feste IPs zuordnen:

Code:
docker run -d --net netzwerkname --ip 172.20.0.10 ...

So kannst du dann Verbindungen zwischen den Containern über die IPs aufbauen.

Insgesamt ist Docker ziemlich leistungsstark. Mit Tools wie Kubernetes kannst du auch komplette Cloud-Umgebungen mit Auto-Scaling etc. aufbauen, die sich über verschiedene Hosts oder gar Netzwerke erstrecken. Sich damit zu beschäftigen ist daher aus meiner Sicht nicht verkehrt. Die Doku ist recht gut und umfangreich und beschreibt diverse Anwendungsfälle.
 

Ark

Stammuser
Ich danke dir Bitmuncher für die detaillierten Infos. Das muss ich erstmal sacken lassen und Docker ist wieder weit oben auf meiner Todo Liste. Vielleicht schaff ich es ja wirklich mal, dieses ganze VM wirrwarr zu entzerren und etwas dynmaischer zu machen.
 
Oben