|
|
|
|
| Zitat von B0rG*
Du sagst also du hättest nur Befehle befolgt?
| |
Jawohl!
Ich denke der Fachbegriff ist palliative Systemadministration und Entwicklung?
Lächerliche Befehle
| Zitat von [CSF]Omega
15 Jahre alte libc
| |
Ich denke, damit wird die minimal benötigte Version der GLIBC ausgewiesen, dient also der ABI-Kompatiblität. Installiert und verwendet wird auf meinem eigenen System die aktuelle 2.33. Tatsächlich habe ich es Anfangs mit p 'optarg@GLIBC_2.33' versucht, weil ich angenommen hatte auf die aktuelle Version der Bibliothek verweisen zu müssen - dem ist nicht so.
Kannst du mit nm in der Exectuable sehen oder auch mit ldd -v.
|
[Dieser Beitrag wurde 8 mal editiert; zum letzten Mal von hoschi am 14.10.2021 12:04]
|
|
|
|
|
|
292 ist aus dem April diesen Jahres.
¤: Auf die jvm bezogen. 8 wird noch gewartet, und wird es wohl auch noch eine ganze Weile.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SwissBushIndian am 14.10.2021 17:13]
|
|
|
|
|
|
Bis heute Morgen war da auch noch Java 7 drauf
|
|
|
|
|
|
|
Gibts egtl nichts hippes, schlankes, was man so für die eigene Cloud nehmen kann um ein paar User zu verwalten und da mit LDAP/SAML oder sonstwas dann gegen zu authentifizieren mit dem anderen Kram, den man so hostet?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von MartiniMoe am 14.10.2021 18:24]
|
|
|
|
|
|
|
|
|
|
"hippes schlankes SAML"?
|
|
|
|
|
|
|
Keycloak muss ich mir mal angucken. Ich hab mal openldap aufgesetzt für... mich und meine Freundin. 2 Accounts. Ich hab immer noch Alpträume davon. Und an der Uni hab ich mal shibboleth verwenden müssen, das war auch pure Kotze.
|
|
|
|
|
|
|
OpenLDAP ist ein völlig intransparentes Stück schrecklich schlecht dokumentierte Software. Ich "konfiguriere" meine Instanz im wesentlichen durch raten, das ist total schrecklich. Will auch was hippes und schlankes :-(.
|
|
|
|
|
|
|
Keycloak ist bisher das einzige, was mir nicht massiven Arschschmerz beschert hat. Daher: Empfehlung ausgesprochen.
|
|
|
|
|
|
|
Btw irgendwelche starken Meinungen zu PW managern? Bitwarden und ab dafür?
|
|
|
|
|
|
|
|
|
|
|
Jop. Wenn man möchte auch entspannt zum selbst hosten (vaultwarden).
|
|
|
|
|
|
|
| Zitat von hoschi Ich habe gerade etwas schlimmes getan, aber das war meine Aufgabe.
|
Code: |
@forgodssake:~$ java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~12.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
|
|
| |
Ui, endlich mal ein Update gemacht? Never change a running system!
|
|
|
|
|
|
|
Von Strato hab ich noch so einen Mini V-Server für nen Euro im Monat.
Ganz witzig zum rumspielen und Dinge ausprobieren.
Jetzt wollt ich mal Wireguard ausprobieren und scheitere schon daran, dass DKMS das Modul nicht lädt.
Der bekommt, glaube ich, nicht die passenden Header. Die laufende Kernel Version ist einfach nur:
$ cat /proc/version
Linux version 5.4.0
Das gibt es aber nicht im Repository. Da ist nur 5.4.0-XX oder Generic. Und leider zieht auch der nicht. Könnte es sein, dass die keine Header für ihren Kernel zur Verfügung stellen?
//Tatsache, gibt es für deren Kernel nicht. Nur vorgesehen Module können verwendet werden.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von GandalfDerPinke am 19.10.2021 23:04]
|
|
|
|
|
|
Das ist wahrscheinlich auf Containerbasis (mehrere Kunden teilen sich einen Kernel, ala OpenVZ/LXC/...) und keine richtige VM, wo du an deinem eigenen Kernel rumbasteln kannst.
|
|
|
|
|
|
|
Wahrscheinlich.
Sah dein Bender schon immer so aus?
|
|
|
|
|
|
|
Nein
e: Du kannst aber trotzdem Wireguard verwenden (per wireguard-go), zumindest solange du eigene tun-devices erstellen kannst. Das braucht OpenVPN auch und sollte deswegen verfügbar sein.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 19.10.2021 23:46]
|
|
|
|
|
|
| Zitat von csde_rats
Das ist wahrscheinlich auf Containerbasis (mehrere Kunden teilen sich einen Kernel, ala OpenVZ/LXC/...) und keine richtige VM, wo du an deinem eigenen Kernel rumbasteln kannst.
| |
tun devices darf man typischerweise auf diesen billig-container-servern auch nicht erstellen. Wobei ich mir nicht sicher bin, ob das einfach eine Einschränkung ist oder prinzipbedingt, weil das echte tun-device einfach in den container gemountet wird (was natürlich in mehrbenutzer setups zum problem wird)
|
|
|
|
|
|
|
https://gcc.godbolt.org/z/56qKTo1Ke
|
Code: |
bool isEven(int x) {
switch (x) {
case 0: return true;
case 1: return false;
case 2: return true;
case 3: return false;
default: return isEven(x);
}
} |
|
clang -O3 =>
|
Code: |
isEven(int): # @isEven(int)
test dil, 1
sete al
ret |
|
Ist das dieses "Pattern Matching" von dem immer alle reden?
|
|
|
|
|
|
|
TIL: Endlosschleife in C++ sind Undefined behaviour. Heißt das ein Compiler darf auch einfach
zu NOP übersetzen?
|
|
|
|
|
|
|
| Zitat von csde_rats
https://gcc.godbolt.org/z/56qKTo1Ke
|
Code: |
bool isEven(int x) {
switch (x) {
case 0: return true;
case 1: return false;
case 2: return true;
case 3: return false;
default: return isEven(x);
}
} |
|
clang -O3 =>
|
Code: |
isEven(int): # @isEven(int)
test dil, 1
sete al
ret |
|
Ist das dieses "Pattern Matching" von dem immer alle reden?
| |
"default: return isEven(x);" ist (absichtlich) Quatsch, oder?
Der optimierte Code sieht nach Assembler aus. Was tut das? Testet nur das LSB und liefert für Zahlen größer 4 (falsche) Ergebnisse, statt wie im C-Code in eine Endlosschleife zu verfallen?
|
|
|
|
|
|
|
C/++ sagt irgendwo im Standard, dass ein Programm fortschreiten muss, also irgendwelche Art von Wirkung haben muss. Nicht terminieren ist okay, aber while(1); oder stumpfe unendliche Rekursion hat keine Wirkung, markiert also effektiv unerreichbaren Code. Also optimiert der Compiler einfach das case 0-3 und findet dafür eine Implementierung, die zufällig genau das tut wie die Funktion heißt.
e: Bei while(1); bin ich mir gerade unsicher ob es eine "Spracherweiterung" ist, aber das kommt auf Mikrocontrollern ja öfter vor (spätestens wenn man Interrupts hat). Ich nehme an hier wird die entsprechende "Intelligenz" im Compiler deaktiviert. Zumindest hab ich da noch nie eine Fehlkompilation gesehen.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 22.10.2021 10:17]
|
|
|
|
|
|
Ah, keine Wirkung, ja?
There are probably children out there holding down spacebar to stay warm in the winter! YOUR UPDATE MURDERS CHILDREN.
|
|
|
|
|
|
|
Für mich auch neu
|
Progress Guarantee
In a valid C++ program, every thread eventually does one of the following:
- terminate
- makes a call to an I/O library function
- performs an access through a volatile glvalue
- performs an atomic operation or a synchronization operation
No thread of execution can execute forever without performing any of these observable behaviors.
| |
https://en.cppreference.com/w/cpp/language/memory_model
|
|
|
|
|
|
Diplom-Sprachjurist rats
|
Im Grunde folgt das schon aus der Definition der Sprache mittels der abstrakten Maschine, wo jegliche Semantik der Sprache durch beobachtbares Verhalten der Maschine definiert wird und i.A. jede Transformation des Programms, die das definierte beobachtbare Verhalten der Maschine nicht verändert, erlaubt ist (v.v. ist jede Transformation, die lediglich undefiniertes Verhalten verändert, vom Standard gebilligt). Eine unendliche Schleife ist kein beobachtbares Verhalten und damit kein gültiges Programm i.S.d. Standards, ergo kann der Compiler aus dem Auftreten einer unendlichen Schleife darauf schließen, dass diese Zweige des Codes nicht erreicht werden können.
There is no offside in golf. The rules of the game only apply if and when we are playing the game.
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von csde_rats am 22.10.2021 16:04]
|
|
|
|
|
|
/Alter, ich bin immer noch nicht wach heute
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von schmeisses am 22.10.2021 16:12]
|
|
|
|
|
|
Dem Mikrocontroller die Endlosschleife wegzunehmen führt vermutlich nicht zu einer verbesserten Vorhersagbarkeit des Verhaltens, vielleicht duldet man das einfach ohne extra den Standard anzupassen?
Alternativ immer einen Pin frei halten und toggeln? Das müsste doch dem Standard entsprechen.
|
|
|
|
|
|
|
| Zitat von csde_rats
Im Grunde folgt das schon aus der Definition der Sprache mittels der abstrakten Maschine, wo jegliche Semantik der Sprache durch beobachtbares Verhalten der Maschine definiert wird und i.A. jede Transformation des Programms, die das definierte beobachtbare Verhalten der Maschine nicht verändert, erlaubt ist (v.v. ist jede Transformation, die lediglich undefiniertes Verhalten verändert, vom Standard gebilligt). Eine unendliche Schleife ist kein beobachtbares Verhalten und damit kein gültiges Programm i.S.d. Standards, ergo kann der Compiler aus dem Auftreten einer unendlichen Schleife darauf schließen, dass diese Zweige des Codes nicht erreicht werden können.
There is no offside in golf. The rules of the game only apply if and when we are playing the game.
| |
Nun, wie würde denn der Compiler im allgemeinen herausfinden, dass eine Schleife unendlich ist? Naaaaa?
|
|
|
|
|
|
|
|
|
|
|
Das ist eher die Frage für den Programmierer, wie schlau der Compiler ist und ob ein Konstrukt was er heute noch nicht als außerhalb des Standards erkennt auch morgen noch so sieht. Denn nahezu jedes C-Programm steht außerhalb des Standards.
|
|
|
|
|
|
Thema: Der Linux-Thread 100 != 0x24 ( Ein Kernelupgrade später... ) |