Anfängerfragen - Linux Neuling? Hier ist der richtige Platz für deine Fragen (2)

  • Ersteller Gelöschtes Mitglied 45455
  • Erstellt am
Okay, dann werde ich Alpine installieren. Mal schauen wie's wird.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
nur ein Web(anwendungs)server, Datenbank (auf localhost beschränkt) und SSH was eben relativ simpel per Distribution zu installieren ist.

Dann hast du Containerisierung noch nicht verstanden. Alpine bietet gerade, beispielsweise, PHP 7.2 an. Darauf läuft deine Applikation. Schön. Jetzt kommt PHP 7.3 in die offiziellen Alpine-Repos und genau jetzt hast du ein Problem, welches du mit Containern nicht hättest. Entweder (A) du updatest dein Betriebssystem nicht mehr und lässt dementsprechend auch alle Updates aus, bis du dir sicher bist, dass deine Applikation unter PHP 7.3 funktioniert, (B) du updatest alles außer PHP und betest, dass PHP danach noch funktioniert (Stichwort Linking) oder (C) du updatest einfach und betest, dass deine Applikation noch funktioniert. Inoffizielle Repos sind keine Alternativen, weil sie meistens von Privatpersonen bereitgestellt werden und potenziell erstmal nicht vertrauenswürdig sind. Selber bauen ist auch keine Alternative, weil du deinen Pflegeaufwand um ein Vielfaches erhöhst. Du machst deine Applikation von dem Betriebssystem abhängig, auf das die Applikation läuft. Und wenn du eine Applikation mal zwei Jahre später wieder erst bauen willst, hast du eventuell ein riesengroßes Problem. Genau das möchtest du mit Containern verhindern. Die Sicherheitsfeatures sind da mehr oder weniger nur ein Bonus.

was auch mehr Performance bringen dürfte (BLAS/FFTW an die Hardware angepasst), als irgendein Docker-Container mit irgendeiner Software-Version...

Nein. Docker-Container laufen unter Linux auf dem Host-Kernel und benutzen auch exakt die gleiche Hardware. Ein Container ist grundsätzlich nicht mehr als ein chroot. Die Performance ist in jedem Szenario identisch.
 
Dann hast du Containerisierung noch nicht verstanden.
Doch. Aber für einen privaten Webserver, wo a) eigene Bastelsoftware und b) fertige Packages von vernünftigen Entwicklern laufen, sind die von dir erwähnten Punkte imho reichlich irrelevant (weil man dort eben nicht x-Versionstände vorhalten muss und im Zweifelsfall eben auch die Anwendungen updatet (und in den Fällen, wo das nicht geht, dürfte die Anwendung auch nicht besonders sicher sein))

Alpine bietet gerade, beispielsweise, PHP 7.2 an. Darauf läuft deine Applikation. Schön. Jetzt kommt PHP 7.3 in die offiziellen Alpine-Repos und genau jetzt hast du ein Problem, welches du mit Containern nicht hättest. Entweder (A) du updatest dein Betriebssystem nicht mehr und lässt dementsprechend auch alle Updates aus, bis du dir sicher bist, dass deine Applikation unter PHP 7.3 funktioniert, (B) du updatest alles außer PHP und betest, dass PHP danach noch funktioniert (Stichwort Linking) oder (C) du updatest einfach und betest, dass deine Applikation noch funktioniert.
Es hindert dich aber auch so niemand daran, einfach ein eigenes APKBUILD vorzuhalten, mit dem du dann die "kritischen Pakete" in eigenen Versionen pflegst (abgesehen von dem Punkt, dass der Overhead einer VM wenn man dann unterschiedliche Softwarestände braucht, zu hoch sein sollte).
Das ist, wenn man es genauer betrachtet, abgesehen vom Deployment auf einem Cluster (das ist ja eigentlich der USP dieser ganzen kommerziellen Containerlösungen, dass es effektiv egal ist, wieviele Server man hat) auch nicht viel komplexer... Und Sicherheit: nunja, Dockerimages sind in den Basiskomponenten auch nicht notwendigerweise up-to-date. Effektiv "löst" man das Problem dadurch, dass man nach außen jeweils nur die gepflegten Komponenten zeigt.


Inoffizielle Repos sind keine Alternativen, weil sie meistens von Privatpersonen bereitgestellt werden und potenziell erstmal nicht vertrauenswürdig sind.
Aber Docker-Images sind potenziell vertrauenswürdig? Es gibt (gerade wenn es nicht ums Deployment selbstentwickelter Software und der dafür nötigen Basisinfrastruktur (für die z.B. für Redhat auch durchaus Möglichkeiten zur Versionierung existieren) geht), genug Images, die einfach irgendwelche Binaries downloaden. Und viele der "deploy 'hyped'-software" with Docker Dockerfiles sehen so aus.

Selber bauen ist auch keine Alternative, weil du deinen Pflegeaufwand um ein Vielfaches erhöhst.
Nicht höher, als das Erstellen und Warten eines Dockerfiles. Und ob jetzt die Umstellung des Deployment-Prozesses für kleine Nutzer die wahnsinnigen Effizienzgewinne liefert?

Du machst deine Applikation von dem Betriebssystem abhängig, auf das die Applikation läuft. Und wenn du eine Applikation mal zwei Jahre später wieder erst bauen willst, hast du eventuell ein riesengroßes Problem.
Wie denn? Ich baue dann für eine minimale Linux-Distribution in einer VM einfach die nötigen Dependencies und die jeweilige Software (gut, bin an den Paketmanager gebunden)? Was anderes macht so ein Dockerskript (bin an Docker gebunden) nämlich auch nicht, außer dass der Distributionsmechanismus für die gebauten Binaries ein anderer ist.

Nein. Docker-Container laufen unter Linux auf dem Host-Kernel und benutzen auch exakt die gleiche Hardware. Ein Container ist grundsätzlich nicht mehr als ein chroot. Die Performance ist in jedem Szenario identisch.
An dem Punkt reden wir minimal aneinander vorbei, denn ich rede über die Performancedifferenz von Numerikbibliotheken zwischen Binaries für eine generische Architektur und solchen, die für ein bestimmtes System kompiliert wurden. Und nicht nur da sehe ich gerade in dem Konzept von Spack auch erhebliche Vorteile gegenüber den (ebenfalls durchaus gebräuchlichen) "how to setup an easy dev environment with docker"-Tutorials.
 
Zuletzt bearbeitet:
Nutzt jemand Ubuntu-Livepatch?
Haltet ihr das für empfehlenswert?
Was sind die Einschränkungen für Nichtkunden von Canonical?
 
Nutzt jemand Ubuntu-Livepatch?
Haltet ihr das für empfehlenswert?
Was sind die Einschränkungen für Nichtkunden von Canonical?

Ist doch hier (falls aktuell) ganz gut erklärt Livepatch › Wiki › ubuntuusers.de. Aber eigentlich ist das doch nur relevant, wenn du außerhalb einer Sandbox nicht vertrauenswürdigen Code ausführst (auf Systemen mit mehreren Nutzern), remote Kernel-Exploits sind ja nicht so häufig und wenn jemand mit deinem Account Code ausführen darf, dürfte das Problem mit einem unsicheren Kernel zwar noch schlimmer sein, aber GAU bleibt GAU.
 
@Dani2070, für Router & Co sind auch die BSDs, z.B. FreeBSD oder OpenBSD, eine schön kompakte Alternative.
 
Ja, die habe ich auch auf dem Schirm. Wollte ich ganz ursprünglich auch verwenden, denn das wäre ne gute Gelegenheit gewesen sich ein bisschen damit zu beschäftigen. Es scheint aber so zu sein, dass Linux deutlich besser mit WLAN Karten zurecht kommt, als die BSDs. Von daher bin ich dann doch wieder auf Linux umgeschwenkt. Das war da schon frickelig genug ein hostapd mit 5Ghz und ordentlichen Datenraten aufzusetzen.
 
Ist doch hier (falls aktuell) ganz gut erklärt Livepatch › Wiki › ubuntuusers.de. Aber eigentlich ist das doch nur relevant, wenn du außerhalb einer Sandbox nicht vertrauenswürdigen Code ausführst (auf Systemen mit mehreren Nutzern), remote Kernel-Exploits sind ja nicht so häufig und wenn jemand mit deinem Account Code ausführen darf, dürfte das Problem mit einem unsicheren Kernel zwar noch schlimmer sein, aber GAU bleibt GAU.

Danke!
Mein Notebook startet sehr selten neu, geht ja immer nur schlafen. Deshalb dachte ich das könnte schon sinnvoll sein.
 
So, ich habe Alpine jetzt soweit eingerichtet auf meinem "Router". Bisher alles in Ordnung, aber irgendwie vermisse ich Systemd :fresse:
Gerade systemd-networkd + systemd-resolved finde ich deutlich angenehmer als /etc/network/interfaces, aber gut muss mans halt auf die harte/alte Tour machen. :d
Vor allem bin ich gespannt, wie stabil Alpine die nächsten Wochen und Monate laufen wird.
 
Zuletzt bearbeitet:
Wann beginnt man systemd zu vermissen? Wenn man einen Autostart einrichten möchte und merkt es ging viel zu schnell und zu einfach? :lol:
 
Dann, wenn du deine 10-Zeilen-Unit versuchst zu SysV zu porten und nach einem 450-Zeilen-Script dann aufgibst.
 
Die Doku ist halt auch für Systemd nicht gut. Aber außer der Tatsache, dass bei SysV-Init alles im Shellskript gemacht werden muss, dürfte der Aufwand vergleichbar sein (bei Systemd kommt man imho halt nicht so einfach mit "billigen", instabilen Lösungen durch...)
 
Wann beginnt man systemd zu vermissen? Wenn man einen Autostart einrichten möchte und merkt es ging viel zu schnell und zu einfach? [emoji38]

Stimmt, das geht echt einfach mit systemd :d
 
Dann, wenn du deine 10-Zeilen-Unit versuchst zu SysV zu porten und nach einem 450-Zeilen-Script dann aufgibst.
Darf ich mich als Glücklicher schätzen, nie mit SysV/etc. zu tun gehabt zu haben? :d Andererseits musste ich dafür länger M$ ertragen.
 
Zuletzt bearbeitet von einem Moderator:
Glaube ich nicht wirklich.. kann mir bis heute noch nicht einmal merken Was Wo hinkommt bei systemd, so verworren sind die Pfade.
 
Glaube ich nicht wirklich.. kann mir bis heute noch nicht einmal merken Was Wo hinkommt bei systemd, so verworren sind die Pfade.

Units, wie Services, Timer, Targets usw. nach "/etc/systemd/system". Das Gleiche für die entsprechenden User-Equivalente nach "/etc/systemd/user". Verstehe das Problem nicht.
 
Auf meinem Router läuft OpenBSD und mal abgesehen von der Lernkurve, die man für jedes neue BS braucht, habe ich noch nie so einfach ein System eingerichtet. Der SMTP Dämon ist mit drei Zeilen konfiguriert, die Firewall hat eine leicht verständliche Syntax und generell muss man an der Konfiguration fast nichts schrauben, weil sie "secure by default" ist. Wenn man die passende Hardware hat und nur Netzwerkdienste braucht, ist das ein richtig gutes System. Und belegt auf der Platte nur 800 MB.
 
- den OpenSMPTD kannst du auch auf Linux installieren.
- die iptables-Syntax ist jetzt auch nicht unverständlich (wenn man einmal die Manpage komplett gelesen hat), nftables gibt es auch schon ein paar Jahre.
- ansonsten: Monokulturen sind nie gut!
 
Nftables ist ein deutlicher Fortschritt zu Iptables finde ich. Vor allem bei der Syntax. Die Firewall bei den BSDs kenne ich aber gar nicht.
 
Nftables ist ein deutlicher Fortschritt zu Iptables finde ich. Vor allem bei der Syntax. Die Firewall bei den BSDs kenne ich aber gar nicht.
Ich habe mich mit Iptables nie befasst (höchstens mit gufw). Nftables verstehe ich gerade noch so. :d
Auf einen Custom-Router mit x86-Architektur läuft pfSense wunderbar.
 
iptables hab ich mich erst mit befasst als ich meine nftables-Regeln wegen Docker auf iptables portiert habe. Seitdem weiß ich wieso iptables so viele Frontends hat. Das ist echt ein Krebs zu schreiben, besonders ungeübt.
 
Ich will hier eigentlich nicht weiter zu BSD trompeten, aber weil die Frage aufkam, das hier ist eine sehr gute Doku zur Firewall: Peter's Firewalling with PF manuscript - More than 200,000 served!

Edit: Ich amüsiere mich jedesmal über diesen Auszug aus dem Link oben:
Compared to working with iptables, PF is like this haiku:

A breath of fresh air,
floating on white rose petals,
eating strawberries.

Now I'm getting carried away:

Hartmeier codes now,
Henning knows not why it fails,
fails only for n00b.

Tables load my lists,
tarpit for the asshole spammer,
death to his mail store.

CARP due to Cisco,
redundant blessed packets,
licensed free for me.
 
Zuletzt bearbeitet:
Ich benötige häufiger den Google Device Finder um herauszufinden, wo mein dämliches Smartphone schon wieder liegt. :fresse:
Hat jemand eine Idee, wie ich es über ein Skript automatisieren könnte, dass die "Klingeln lassen" Funktion per Button ausführbar wird?
Evtl. irgendwie mit curl?
Wie würde ich herausfinden, welchen String ich senden muss, um die Klingelfunktion direkt zu aktivieren? Es geht ja bei diesem Web2.0+ Kram leider nicht mehr über einen einfachen Link, den man vom Button heraus kopieren könnte.
 
Zuletzt bearbeitet:
Ich kanns mir heute Abend mal anschauen. Wird aber nicht ganz so einfach. In der Theorie wird bei dem Klick auf den Button ein Request via JavaScript gefeuert, den du dir aus der Entwicklerkonsole rauskopieren könntest. In der Praxis wird es aber einen Authentifizierungstoken geben, der sicherlich auch keine sonderlich lange Lifetime haben wird und stattdessen regelmäßig per Refresh-Token aktualisiert wird. Das umzusetzen wird schonmal knifflig, da du deinen JWT eigentlich aus den Cookies des Browsers auslesen müsstest und einen abgelaufenen Token per Refresh-Token aktualisieren müsstest. Zusätzlich wird es wohl einen Anti-CSRF-Token geben, um CSRF-Attacken vorzubeugen, wodurch mal mindestens zwei Requests notwendig sein werden. Aber ich kann mir das gleich mal anschauen.
 
Oh, das hört sich wirklich komplizierter an als gedacht. Wäre aber super, wenn du da einen Prototyp basteln könntest! :)
Gibt es da bekannte Regeln, wie häufig der Token sich ändert?
Wenn der eine Woche halten würde wäre es ja nicht ganz so schlimm, ihn manuelle dem Skript verfügbar zu machen. Erschwert wird das wahrscheinlich auch noch, wenn man mehrere Google-Profile aktiv hat.
Falls es zu kompliziert ist, überlege ich es evtl. über ein Greasmonkey-Script oder Macro-Recorder im Browser zu machen, aber das sind ja auch immer so halbseidene Lösungen, die mal funktionieren und mal nicht.
 
Zuletzt bearbeitet:
Nope, nicht ne Woche, sondern eher so 10 Minuten. Und das ganze Konstrukt bettelt natürlich dann auch dafür von heut auf morgen kaputt zu gehen.

Edit: Grad mal reingeschaut. Kannste knicken. :d
 
Zuletzt bearbeitet:
Mein Telefon ist fast immer auf lautlos gestellt ;)
Der Finde-Anruf von Google klingelt aber halt immer.
 
Ich hab gerade ein komisches Problem: Hier im Studentenwohnheim bekommt man Internet aus einer LAN-Buchse im Zimmer. Damit da Internet rauskommt, muss man die MAC-Adresse seines Routers freischalten lassen und bekommt dann eine statische IPv4-Adresse zugeteilt. Ich hab jetzt meinem neuen Router testweise die MAC-Adresse des alten gegeben und IP-Adresse sowie Gateway übernommen, den alten ab- und den neuen angesteckt, aber obwohl ein Link da ist, kan ich nichtmal das Default-Gateway erreichen. "ip neigh show" zeigt die Gateway-Adresse als "FAILED" an. Mit meinem alten Router funktioniert nach wie vor alles. Jemand ne Idee wo es klemmt?

Edit: War zu spät gestern. Man sollte schon auch die MAC für den WAN-Port nehmen. :d
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh