Ich hab das auch vor ~ 3 Jahren durch, bin von Linux + KDE auf macOS gewechselt.

Der Umstieg selbst ist gar nicht so wild, wenn man ein paar Tools kennt. Ist aber natuerlich je nach eigenem Workflow auch stark verschieden.

Die Keyboard Shortcuts wurden schon angesprochen, das war bei mir aber nicht so auffaellig weil ich sowieso eine nicht-Apple Tastatur benutze und das da nicht so ins Gewicht faellt. Prinzipiell verwechselt man zum Anfang auf einer nicht-Apple Tastatur oft CRLT und ALT (z.B. Tab schliessen CTRL+W auf Win/Linux, aber ALT+W auf macOS).

Meine persoenliche Empfehlung an Toolset:

  • iTerm2 als Terminal. Das was im Default mitkommt ist einfach nix. iTerm2 laesst dich Profile anlegen, Shortcuts anpassen, kann split in alle Richtungen, versteht SSH Agents usw.
  • Amethyst als Window Manager. Wenn man von Linux kommt, hat man vermutlich mit mehreren virtuellen Desktops gearbeitet. Das geht nativ in macOS auch, aber die Shortcut Moeglichkeiten dazu sind im Default sehr rudimentaer. Ausserdem gibts obendrauf halt direkt nen Tiling Window Manager mit dazu.
  • Alfred als App Launcher. Launchpad ist "ok", kann mir persoenlich aber viel zu wenig. Bei Alfred lohnt die grosse Lizenz. Kostet irgendwas knapp unter 100 Euro lifetime AFAIR, bringt dir aber z.B. Workflows die dann Python verstehen usw.
  • EM Client fuer Mails. Versteht mehr Protokolle und kommt mit mehreren Mailboxen und Kalendern fuer mich besser klar als das Apple Mail Programm. Mehr Moeglichkeiten fuer Shortcuts. Muss man auch bezahlen, lohnt aber imho.
  • Brew als Paketmanager. Wenn man von Linux kommt, will man irgendwie einfach nen CLI Tool fuer seine Software nutzen, das ist Brew. Ich versuche nichts aus dem Apple Store zu installieren oder per DMG Installer weils fuers Updaten einfach nervig ist wenn man kein CLI Tool hat.
  • Fish/ZSH auf jeden Fall als Shell. Also auch das, was man von Linux kennt. Wenn du Bash bevorzugst, musst du dich z.B. bei Brew um ein aktuelles Release kuemmern

Zum Thema Virtualisierung:

  • Fuer klassische VMs soll Parallels gut sein, hab aber den Use Case nicht mehr. VirtualBox z.B. unterstuetzt die Silicon Chips nicht.
  • Docker gibts nur als Docker Desktop. Das ist schon ziemlich scheisse wenn man vorher unter Linux mit dem normalen Docker Daemon gearbeitet hat, gibt aber eben keine Alternative (ausser sowas auf ner Linux VM zu machen dann).

Developer Tools ist ein weites Feld, aber die gaengigen grossen IDEs gibts alle fuer macOS. Alle Tools drum rum wie git auch. Klassische Editoren die man von Linux kennt wie vim auch.

Aber ich interessiere mich generell auch einfach was euch beim Umstieg auf MacOS gestört hat, ob es eine Lösung gab und auch natürlich was euch gefallen hat.

Gestoert tatsaechlich nur, dass die Bedienung halt erstmal sehr anders ist und obwohl man in der breiten Masse das Gegenteilige hoert, so leider gar nicht intuitiv ist, wenn man von Windows oder KDE kommt.

Und halt der Umstand, dass man ne Apple ID braucht.

Ausserdem - aber das hab im Umfeld irgendwie nur ich - dass beim Restart obwohl ich sage "Bitte neue Session aufmachen" immer droelfzig Apps wieder angeschmissen werden.

Gefallen bzw. was macOS fuer mich besser zum Arbeiten (ich bin ITler, also eher Poweruser statt "normaler" Endbenutzer) macht als KDE:

  • Aufklappen -> Arbeiten. Auch nach grossen Updates.
  • Sehr flott bei wenig Stromverbrauch (ich hab ein MacBook Air M1 2020 mit 16G RAM, das krieg ich mit meiner Workload nie ausgelastet)
  • Backups! Timemachine ist einfach so viel geiler als die Alternativen unter Win/Linux
  • Das geht auch Geraeteuebergreifend. Bei nem neuen Geraet hangt man die USB Platte dran, zieht den letzten Timemachine Stand drauf und kann exakt da weiterarbeiten wo man aufgehoert hat.
  • Toller USB- und Bluetooth Geraete Support. Egal was man wie rumsteckt und in welcher Reihenfolge, die Geraeteinstellungen bleiben einfach gleich. Das hat mich zuletzt beim Linux am meisten gestoert.
  • Selbiges beim Praesentieren z.B. in Meeting Raeumen. Das geht halt einfach, ohne gross rumkonfigurieren und rumbasteln und Soundserver 3x neustarten usw.

Das zumindest mal so grob 😅

...zur Antwort

Dein Server braucht zu lange fuer einen Tick.

Das kann bedeutet, dass z.B. deine CPU ausgelastet ist oder dein Block Device. Bzw. wenn du auf Shared Hardware lauefst, dass wer anders die Kiste zufaehrt und du keine Resourcen mehr bekommst.

Elegante Loesung: Schauen was da wo Resourcen zieht und Problem beheben.

Schnelle Loesung: Das Tick Watchdog Viech in den Server-Properties abschalten (max-tick-time -> https://minecraft.fandom.com/wiki/Server.properties)

...zur Antwort
Ist das schlimm?

Jein. Primaer verhalten sich die Zugriffe erstmal wie "normale" Besucher.

Wenn du allerdings eine WebApp so im Internet haengen hast, die z.B. ohne SSL/TLS laeuft, aber einen Login hat oder irgendwie ein Frontend fuers heimische Smart Home Zeugs ist oder eine Testapp die du aber nicht weiter wartest, dann wird das frueher oder spaeter schlimm, weil dir Daten verloren gehen koennen, Dinge kaputt gespielt werden koennen oder im bloedesten Fall eben der Systemzugriff erlangt wird.

...zur Antwort
lohnt sich da schon eine Cloud?

Absolut.

1 Euro fuer 3 GB finde ich aber hart viel. Privat wie beruflich nutze ich Backblaze B2 (aktuell 6 Dollar fuer 1 TB im Monat). Da kannst du auch gaengige Tools wie Restic ranbringen.

Auf jeden Fall wuerde ich vor dem Upload alles verschluesseln, z.B. mit OpenSSL oder GPG oder so.

...zur Antwort

Kommt ein bisschen drauf an.

Benutzt du LVM? Dann geht das problemlos ohne gross Fummeln; nimm die leere Partition als PV dazu, VG erweitern, LV vergroessern.

Falls nicht, geht das auch, ist aber sehr fummelig und du solltest zumindest die Moeglichkeit haben per Rescue Console auf die Kiste zu kommen.

*hier sollte ein Warnhinweis stehen

Du kannst in einer(!) fdisk Session beide Partitionen (sda2 und sda3) loeschen, vorher von sda den Startsektor sowie Typ notieren und dann eine neue sda2 anlegen die beim notierten Sektor startet und eben bis zum Ende der Platte geht.

Der Typ muss derselbe sein. Erst wenn sda2-neu denselben Typ hat und beim selben Sektor anfaengt die Partitionstabelle speichern.

Moeglicherweise brauchst du dann nen Reboot um die Tabelle sauber einzulesen -> Danach ein resize2fs aufs FS und dein Root FS ist vergroessert.

Wie gesagt: Wenn man nicht 100% versteht, was man da tut am besten mit Backup und Rescue Console.

Alternative: Ueberleg dir wo du die meisten Daten im FS hast (z.B. /home oder /var) und bau dir auf sda3 ein eigenes FS und mounte das entsprechend um.

...zur Antwort
Gibt es andere Wege, Mailcow zu installieren?

Nicht mehr. Das Oekosystem ist auch zu gross ums mal eben aus den Container Images zu ziehen.

Oder gibt es noch andere mögliche Fehlerquellen?

Was ist das fuer ein Host? Echtes Blech oder eine VM? Bei so Pseudo containerized virtualisierten Dingen funktioniert Mailcow nicht.

OpenVZ, Virtuozzo and LXC are not supported. - https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-system/#minimum-system-resources

...zur Antwort

zu 1)

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}";
    "${distro_id}:${distro_codename}-security";
    "${distro_id}:${distro_codename}-updates";
};

Wenn du neben den Upstream Mirrors noch andere benutzt, muessen die entsprechend in diese Liste mit rein.

zu 2)

Je nach Konfiguration. unattended-upgrades ist in Python gebaut, das ist kein wirklicher Wrapper fuer "apt" oder "apt-get". Per default wird aber die Funktionalitaet von "apt dist-upgrade" ausgefuehrt.

...zur Antwort

Housing

Du mietest Platz in Form von Rack Units und in der Regel auch Strom sowie Internet bzw. Netzwerk in einem Rechenzentrum an.

D.h. du bringst deine eigene Hardware ein. Das "Outsourcing" betrifft also eigentlich nur Netzwerk, Internet, Strom und Rackspace.

Hosting

Klassisches Mietmodell ueber einen Zeitraum - z.B. pro Monat oder pro Jahr - von Services, z.B. Webspace oder aber ganzen Servern (physisch oder virtuell).

Dabei bezahlst du deine "Miete" immer, egal ob du den Hosting Server an 28 von 30 Tagen im Monat runterfaehrst oder ob du vom eingepreisten Internet Traffic nur einen Bruchteil oder gar nichts benutzt.

Auch wenn neue Hosting Angebote mittlerweile sehr schnell zur Verfuegung gestellt werden, gibts da keine wirkliche Garantie drauf dass du dein Bestelltes quasi sofort verwenden kannst.

IaaS

IaaS beschreibt mehr oder weniger das Orchestrieren* von Infrastruktur Ressourcen, wie z.B. Netzwerke, Server, IP Adressen oder Speicherplatz.

Man bezahlt dabei ueberlichweise nach einem dynamischen Modell, d.h. wenn du deine Ressourcen an 28 von 30 Tagen im Monat runtergefahren hast, bezahlst du auch nur 2 Tage.

Die meisten IaaS Provider bieten stundengenaue Abrechnung an.

Technisch ist es beim IaaS auch moeglich, Ressourcen-"Pools" zu kaufen, z.B. 10 vCPUs und 64 GB vRAM. Ob du daraus dann 10 Server baust oder nur einen, ist dir ueberlassen. Das geht beim klassischen Hosting Angebot nicht.

*Orchestrieren meint in dem Fall, dass die Infrastruktur Plattform laeuft und genug Reserven vorhaelt, so dass du instant durch Klick die Ressourcen anfahren kannst.

...zur Antwort
Liegt das daran, dass der RasPi im gleichen Subnetz ist wie alle anderen?

Ja. Deine Requests gehen einfach nie uebers Gateway, darum wird da auch nix geblockt.

Das was du eigentlich suchst, ist eine DMZ; also ein dediziertes Netz wo nur der Raspi drin ist und wo die Requests zu den anderen Geraeten zwingend uebers Gateway gehen muessen.

...zur Antwort

Ich vermute, dass du dir das selbst kompilieren musst. Die alten Tarballs findest du unter https://www.php.net/releases/index.php

Es gaebe auch Docker Images von 5.4, aber da wirst du die PHP Extensions nicht mehr nachinstallieren koennen; ist moeglicherweiser aber nochmal einen Blick wert:

https://hub.docker.com/_/php?tab=tags&page=1&name=5.4

...zur Antwort

Vorbetrachtung

Die Clustersize oder Blocksize gibt an in welchen "Stuecken" Daten ins Dateisystem geschrieben werden.

D.h.: Bei einer Blocksize von 4K werden immer 4K grosse Bloecke geschrieben. Wenn eine Datei nur 2K gross ist, bleiben entsprechend 2K "leer"; wenn eine 8K Datei gross ist, werden also 2 Bloecke verbraucht.

Normalerweise bzw. bei den meisten IO Pattern kann man die Blocksize beim default des Filesystems belassen; das sind in der Regel 4K.

Nun aber zu den Fragen:

Was ist der große Unterschied zwischen den Clustergrößen, speichert man schneller die Daten ? Oder lässt sich eine Datei in großen Clustergrößen schneller Finden?

Wie so oft: Kommt immer drauf an (:

Theorie

Ganz generell gilt erst einmal: Je kleiner die Bloecke, desto mehr Zugriffe braucht man um Daten zu lesen oder schreiben. Je groesser die Bloecke desto weniger.

Daraus laesst sich ableiten, dass das lesen/schreiben in kleine Bloecke mehr "kostet", in dem Fall Performance, sprich: es ist langsamer.

Im Umkehrschluss ist das lesen/schreiben in grosse Bloecke schneller.

Anders ausgedrueckt: der Datendurchsatz - gemessen z.B. in MB/s - wird mehr, je weniger Zugriffe man hat. Darum wird ein Benchmark auf eine HDD oder SSD auch bei groesseren Blocksizes ein besseres Ergebnis liefern als bei niedrigen.

Neben dem Durchsatz gibt es noch eine zweite relevante Groesse, die IOPS (IO Operationen pro Sekunde). Ggf. fuehrt das hier aber zu weit, dazu kann ich bei Bedarf noch was hier drunter schreiben :)

Praxis

Soweit erstmal zur Theorie, in der Praxis gibts dann aber auch Daten die in das Dateisystem geschrieben werden wollen und da faengts an kompliziert zu werden.

Wenn auf meinem Computer eine Applikation laeuft, die als IO Pattern immer nur 2-4K grosse Dateien liest/schreibt wird meine Gesamtperformance bei einer Blocksize von z.B. 32K dennoch langsamer, weil fuer jede 2-4K immer 32K eingelesen oder geschrieben werden muessen. Bei ein paar Lese-/Schreib-Operationen faellt das wenig ins Gewicht, bei ein paar Tausend dann aber schon.

Andersrum gilt dasselbe: Wenn eine Applikation benutzt wird, die immer Files von 16K Groesse anlegt, wird es eine merkliche Performance Steigerung bringen, wenn man die Blocksize von 4K auf 16K hochsetzt. Somit muessen nicht fuer jede Datei 4 Bloecke geschrieben werden, sondern eben nur einer (was dann wieder schneller ist).

Wenn man also das IO Pattern seiner Applikationen kennt und dieses eher homogen ist, kann es sehr viel bringen sich mit der Blocksize / Clustersize des Dateisystems auseinanderzusetzen und diese zu tunen.

Bonusmaterial

Das obige bezieht sich auf eine "Dimension" die betrachtet wird, naemlich einen Computer mit einer Festplatte (egal ob HDD oder SSD).

Man hat in der Praxis aber auch gerne ein paar Dimensionen mehr ;)

Beispiel 1:

Das Dateisystem liegt auf einem RAID Array. Ein RAID Array hat eine konfigurierbare Chunk Size. Diese gibt genau wie die Blocksize/Clustersize an in welchen "Stuecken" Daten in das Array geschrieben werden.

Im allerbesten Fall passt die Blocksize vom Dateisystem zur Chunk Size vom RAID Array oder ist zumindest ein Vielfaches oder Teiler davon.

Wenn beide Groessen stark unterschiedlich sind, z.B. 16K Chunk Size und 10K Blocksize wuerde das folgendes bedeuten:

Der erste 10K Block passt in einen 16K Chunk rein. Das ist gut. Im Chunk sind noch 6K Platz.

Vom zweiten 10K Block passen ja nur noch 6K in den Chunk, die verbleibenden 4K Block muessen in den naechsten Chunk, also auf die naechste Festplatte. D.h. um den zweiten Block zu lesen, muss man von zwei Festplatten lesen anstatt von einer.

Das ginge dann immer so weiter. Man spricht bei sowas von einem Misalignment

Auch hier wirds in Summe sehr stark messbar und spuerbar fuer die Performance.

Beispiel 2:

Das Dateisystem liegt auf einem virtuellen Volume (weil der Computer eine VM ist) und dieses wiederrum liegt auf einem RAID Array.

Dann muessen also die Blocksize in der VM zur Blocksize des virtuellen Volumes passen und das wiederrum zur Chunk Size vom RAID Array.

Im duemmsten Fall passen dann die Dateisystem Bloecke nicht sauber in die Volume Bloecke und die Volume Bloecke gehen ueber die Chunk Grenzen hinaus.

Beispiel 3 erspare ich dir mal, aber es gibt noch mannigfaltige weiter Dimensionen, z.B. Pages von Storage Engines bei Datenbank Systemen usw. usw.

...zur Antwort
NAS mounten bei Linux Mint?

Guten Abend,

gleich mal vorne weg, ich bin mir natürlich bewusst, dass es für dieses Thema tausende Internetseiten und beantwortete Fragen gibt.

Aber irgendwie scheint bei mir nichts davon zu funktionieren. (oder ich stelle mich mal wieder unglaublich blöd)

auf jeden Fall habe ich (genau wie bei meiner Frage mit dem Pi) :

  • Einen Pfad, unter dem die Dateien gezeigt werden sollen: /home/johannes/Bilder
  • die IP meines Routers: 192.168.178.1
  • Am Router eine Usergruppe für NAS: Johannes
  • Und ein dazugehöriges PW: RgYhXh47

Ich habe versucht die Platte über fstab zu mounten, also mit folgendem entry:

//192.168.178.1/fritzbox/NAS1/Johannes/Bilder   /home/johannes/Bilder   cifs -o vers=1.0,_netdev,username=Johannes,password=RgYhXh47,uid=1000,gid=1000,rw,soft

dann habe ich fstab gespeichert und den PC neu gestartet.

Während dem Bootvorgang musste ich mein Root PW eingeben um den Mount durchzuführen (ist das wirklich nötig? bzw. gibt es dafür eine andere Möglichkeit?)

Nachdem der PC hochgefahren war, war aber die NAS-Platte nicht eingehängt.

Ich habe versucht irgendwelche error logs zu finden.

In /var/log/bootlog steht folgendes:

[^[[0;32m  OK  ^[[0m] Reached target Network is Online.
         Mounting /home/johannes/Videos...
         Mounting /home/johannes/Code...
         Mounting /home/johannes/Projekte...
         Mounting /home/johannes/Dokumente...
         Mounting /home/johannes/Musik...
         Mounting /home/johannes/Bilder...
         Mounting /home/johannes/Fotos...

was ja darauf schleißen lässt, dass alles gemountet wurde.

Mit dem Befehl

sudo mount -t cifs -o vers=1.0,_netdev,username=Johannes,password=RgYhXh47,uid=1000,gid=1000 //192.168.178.1/fritzbox/NAS1/Johannes/Bilder /home/johannes/Bilder

kann ich das NAS Verzeichnis ganz normal mounten, nachdem ich mein root-Pw eingegeben habe, jedoch geht dieser Mount nach einem Reboot verloren.

Ich wollte in /var/log/messages

session setup failed: NT_STATUS_LOGON_FAILURE

bringt mir die Fehlermeldung

session setup failed: NT_STATUS_LOGON_FAILURE

Dafür finde ich bei mir aber auch keine funktionierende Lösung.

nmap -sT -p 445 192.168.178.1

meldet mir Port 455 als offen.

Hat jemand eine Idee, woran ich scheitere?

...zur Frage

Lass mal das -o weg in der fstab, also

//192.168.178.1/fritzbox/NAS1/Johannes/Bilder   /home/johannes/Bilder   cifs vers=1.0,_netdev,username=Johannes,password=RgYhXh47,uid=1000,gid=1000,rw,soft 0 0

Wenn du den Mount per Konsole sauber reindruecken kannst, dann hol dir aus der /etc/mtab einfach deine Zeile und werf die in die fstab :)

...zur Antwort
Jetzt hängt an dieser Fritzbox 7490 über ein Netzwerkkabel noch eine weitere Fritzbox 7430, die im ersten Stock steht.

Per WAN oder LAN Port?

Kann man dieser FritzBox 7430 im ersten Stock eine neue, feste IP-Adresse zuweisen?

Ja, je nachdem wie sie angeschlossen ist musst entweder nur dem LAN Interface eine feste IP geben oder eben auch dem WAN Interface.

Ist das sinnvoll, den weiteren Netzwerkgeräten eine feste IP-Adresse zuzuweisen?

Unbedingt. Alles was man irgendwie managen kann und wo man per IP hinkommen muss, sollte per fixed IP konfiguriert werden. Hat einfach praktische Gruende.

Wenn die Standardadresse 192.168.178.1 ist, welchen Bereich dieser Adresse darf ich verändern?

Das letzte Oktett; sprich das 192.168.178 ist fix und im letzten Oktett kannst du IPs benutzen.

Wenn du mit festen IPs arbeitest dann empfiehlt es sich dem DHCP Server auf einer (falls die Zweite per LAN angeschlossen ist) oder auf beiden (falls die Zweite per WAN angeschlossen ist) eine Range fuer die Clients zu konfigurieren die eben nicht in dem Bereich liegt, aus dem du die festen IPs holst.

...zur Antwort

Dein Hostname ist nicht richtig gesetzt, du spricht dort HTTP an, was in einem MySQL Connection String folglich nicht funktionieren kann.

Versuch mal:

String host = "meineAdresse.ddns.net";
...zur Antwort

TRIM Support definitiv aktiviert lassen, ansonsten wirst du dich irgendwann ueber mangelnde Performance wundern duerfen.

Wenn die SSD TRIM unterstuetzt (was die 850 Evo tut), kommt sie schon damit klar ;)

...zur Antwort

Ist die Tatsache, dass die VM direkt auf der Hardware läuft an sich schon ein Vor oder Nachteil?

Definitiv ein Vorteil. Auch der Umstand, dass Typ 1 Hypervisoren die Ressourcen viel besser managen koennen als Typ 2 Hypervisoren macht sie "vorteilhafter" ausserhalb von Testumgebungen.

Obiges gilt fuer eine klareTrennung der beiden Typen, Dinge wie KVM sind da mal aussen vorgenommen.

...zur Antwort

Wenn du selbst absolute Lust auf diesen Ausbildungsberuf hast und das dementsprechend bei Einstellungsgespraechen auch rueberbringen kannst, sind deine Noten bei vielen Unternehmen zweitrangig.

Was in der Tat schwieriger wird, ist eine Bewerbung ohne abgeschlossenes Abitur. Da man - wenn man nicht gerade beim PC-Schrauber lernt - recht schnell viel Verantwortung uebernehmen kann und teilweise muss, ist dort das Alter bzw. das Verantwortungsbewusstsein und die "Reife" wichtig.

Das ist natuerlich nicht an einen Schulabschluss geknuepft, aber defacto sind Abiturienten zumindest schon mal "erwachsen" und werden daher bevorzugt eingeladen/eingestellt (ueber die Sinnhaftigkeit dessen laesst sich natuerlich streiten). 

...zur Antwort

Vorteile Core CPUs:

  • koennen uebertaktet werden
  • bringen onboard GPUs mit
  • sind preiswerter (sowohl CPU als auch Board)
  • brauchen weniger Strom

Vorteile Xeon CPUs:

  • Unterstuetzen (viel) mehr RAM
  • Unterstuetzen ECC RAM
  • Unterstuetzen vPro
  • Groesserer L3 Cache
  • Mehr Cores
  • kaum CPUs ohne HT (HyperThreading)
  • kaum CPUs ohne VT-d und VT-x
  • Multi CPU moeglich (Dual Socket z.B.)

In der Regel kann man als normaler Anwender von den Vorteilen einer Xeon CPU nicht profitieren, damit rechnen die sich kaum.

...zur Antwort