Schlagwort: Linux

Container, die Crux: Updates

Vor eini¬≠ger Zeit hat¬≠te ich auf Arbeit mal ein Ether¬≠pad lite auf¬≠ge¬≠setzt. Das war damals f√ľr mich ein ers¬≠ter Geh¬≠ver¬≠such mit Docker, und das hat auch gut geklappt. Die Nut¬≠zer (jeden¬≠falls Tei¬≠le derer) hat¬≠ten es ange¬≠nom¬≠men. Da aber der zen¬≠tra¬≠le Platz f√ľr Doku¬≠men¬≠ta¬≠ti¬≠on ins Con¬≠flu¬≠ence gewan¬≠dert ist, ist die Ether¬≠pad-Nut¬≠zung ein¬≠ge¬≠schla¬≠fen.
Also habe ich es schon vor län­ge­rem gelöscht.

Nun woll¬≠te ich es pri¬≠vat mal wie¬≠der ein¬≠set¬≠zen. Doch ach: ein aktu¬≠el¬≠les mys¬≠ql wird nicht unter¬≠st√ľtzt. Der Pull-Request, wenigs¬≠tens die Doku ent¬≠spre¬≠chend anzu¬≠pas¬≠sen, bleibt unbe¬≠ar¬≠bei¬≠tet lie¬≠gen. Letz¬≠tes Update vor 2 Jah¬≠ren. Also: Da pas¬≠siert nichts mehr.
Nun fin¬≠de ich das erst¬≠mal gar nicht schlimm: Es gibt kein Recht zu ver¬≠lan¬≠gen, da√ü der Autor nun sein Image bis ans Lebens¬≠en¬≠de wei¬≠ter pfle¬≠gen mu√ü. Aber irgend¬≠wie: Es gibt auch kei¬≠nen ech¬≠ten Exit f√ľr den Autor. Pro¬≠jekt l√∂schen ist doof, schon weil es ja jemand for¬≠ken k√∂nn¬≠te. Das ein¬≠zi¬≠ge was der Autor machen k√∂nn¬≠te w√§re wohl in fet¬≠ten Buch¬≠sta¬≠ben oben ran¬≠zu¬≠schrei¬≠ben: DEPRECATED. N√ľtzt aber auch nichts, wenn ein armer Mensch aus irgend¬≠ei¬≠nem Blog copy-n-pas¬≠ted.

Das­sel­be Pro­blem haben kom­plet­te Dis­tri­bu­tio­nen aber auch: Wie oft ist der Upstream einer mit­ge­lie­fer­ten Soft­ware Mei­len vor­aus. Man ver­su­che mal, youtube-dl aus einem aktu­el­len Debian/Ubuntu zu ver­wen­den.

Zur√ľck zu Docker: Ich kann Stand jetzt w√§rms¬≠tens watch¬≠to¬≠wer emp¬≠feh¬≠len. Das h√§lt die Con¬≠tai¬≠ner (und auch sich sel¬≠ber) aktu¬≠ell, und man kann schnell sehen, wenn ein Con¬≠tai¬≠ner lan¬≠ge nicht mehr aktua¬≠li¬≠siert wur¬≠de:

root@big:~# docker ps
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                                            NAMES
2c2c73561629        tvelocity/etherpad-lite        "/entrypoint.sh bin/…"   49 minutes ago      Up 48 minutes       127.0.0.1:9001->9001/tcp                         etherpad-lite
f8c2046089fe        mysql:5                        "docker-entrypoint.s…"   About an hour ago   Up About an hour    3306/tcp, 33060/tcp                              ep_mysql
bdb7102c1135        collabora/code:latest          "/bin/sh -c 'bash st…"   2 weeks ago         Up 6 days           127.0.0.1:9980->9980/tcp                         collabora
4d4dc619a104        containrrr/watchtower:latest   "/watchtower"            8 weeks ago         Up 6 days                                                            watchtower
2fbd0235759d        mikesplain/openvas             "/bin/sh -c /start"      8 weeks ago         Up 6 days           0.0.0.0:9390->9390/tcp, 127.0.0.1:444->443/tcp   openvas
root@big:~#

watch¬≠to¬≠wer aktua¬≠li¬≠siert die Con¬≠tai¬≠ner von selbst, das ist nat√ľr¬≠lich poten¬≠ti¬≠ell gef√§hr¬≠lich, wenn mann immer latest ver¬≠wen¬≠det. F√ľr den Pri¬≠vat¬≠ge¬≠brauch fin¬≠de ich es aber OK.

#Docker

0

Updaten reicht nicht,

man muß auch die Release Notes lesen…
Ich hab’ mal ein nmap --script ssl-enum-ciphers -p 993 mailserver gegen mein dovecot ren­nen las­sen, und, oh: da wird auch TLS1.0 ange­bo­ten!

Wie­so das denn? in 10-ssl.conf steht ein­deu­tig:

ssl_protocols = !SSLv2 !SSLv3 !TLSv1

Ja, und im error-Log des dovecot steht:

config: Error: Could not find a minimum ssl_min_protocol setting from ssl_protocols = !SSLv2 !SSLv3 !TLSv1: Unrecognized protocol 'SSLv2'

Irgend­wann wur­de ssl_protocols durch ssl_min_protocol ersetzt.

Mit

ssl_min_protocol = TLSv1.2

tut es dann auch rich­tig.

Und was mich beson¬≠ders anfri√üt: Open¬≠VAS hat an TLS1.0 nichts aus¬≠zu¬≠set¬≠zen gehabt ūüôĀ

0

Linux ist kein Kindergeburtstag!

Da gehts zu wie beim Kin­der­mord von Bet­le­hem!

Nov 14 13:35:28 mx1 kernel: [799580.747118] Out of memory: Kill process 510 (clamd) score 598 or sacrifice child
Nov 14 13:35:28 mx1 kernel: [799580.747181] Killed process 510 (clamd) total-vm:2351544kB, anon-rss:1388096kB, file-rss:0kB, shmem-rss:0kB
Nov 14 13:35:28 mx1 kernel: [799581.225562] oom_reaper: reaped process 510 (clamd), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
Nov 14 13:35:28 mx1 systemd[1]: clamav-daemon.service: Main process exited, code=killed, status=9/KILL

Kill pro­cess 510 (clamd) score 598 or sacri­fice child
rea­ped pro­cess

Da gibts nur Tote!

0

Mein ARMer Zoo

Wir mi√ü¬≠brau¬≠chen bc als Bench¬≠mark: ŌÄ auf 5000 Stel¬≠len berech¬≠nen:
time echo "scale=5000; a(1)*4" | bc -l

Dock­star:

real	2m14.971s
user	1m56.748s
sys	0m1.004s

Pro­zes­sor:

Architecture:          armv5tel
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
Model name:            Feroceon 88FR131 rev 1 (v5l)
CPU max MHz:           1200.0000
CPU min MHz:           400.0000

Raspi 3B+:

real	1m20.893s
user	1m20.493s
sys	0m0.150s

Pro­zes­sor:

Architecture:          armv7l
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
Model:                 4
Model name:            ARMv7 Processor rev 4 (v7l)
CPU max MHz:           1200.0000
CPU min MHz:           600.0000
BogoMIPS:              38.40
Flags:                 half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32

Odro­id C2:

real	1m7.685s
user	1m7.660s
sys	0m0.000s

Pro­zes­sor:

Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  1
Socket(s):           4
Vendor ID:           ARM
Model:               4
Model name:          Cortex-A53
Stepping:            r0p4
CPU max MHz:         1536,0000
CPU min MHz:         100,0000
BogoMIPS:            2.00
Flags:               fp asimd crc32

Der Raspi 4:

real	0m38.630s
user	0m38.315s
sys	0m0.021s

Pro­zes­sor:

Architecture:        armv7l
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
Vendor ID:           ARM
Model:               3
Model name:          Cortex-A72
Stepping:            r0p3
CPU max MHz:         1500.0000
CPU min MHz:         600.0000
BogoMIPS:            270.00
Flags:               half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32

Dem¬≠n√§chst wird noch ein Odro¬≠id N2 dazu¬≠kom¬≠men, der soll¬≠te dann Spit¬≠zen¬≠rei¬≠ter wer¬≠den ūüôā

0

EdgeOS, Stolperfalle

Ich hab‚Äô im Kel¬≠ler ja einen ER‚ÄĎX, der mir au√üer¬≠or¬≠dent¬≠lich gut gef√§llt (man h√§t¬≠te ihm aller¬≠dings mehr Sto¬≠rage geben sol¬≠len, 256 MB sind arg weni¬≠g¬Ļ)
Auf dem ist port for¬≠war¬≠ding ein¬≠ge¬≠rich¬≠tet f√ľr

ssh soll nat√ľr¬≠lich von √ľber¬≠all funk¬≠tio¬≠nie¬≠ren, Home Assi¬≠stant aller¬≠dings nur von einer bestimm¬≠ten IP¬≤
Doch egal was ich mache: Es funk¬≠tio¬≠niert von √ľber¬≠all. WTF?
Weil es außer­mensch­li­che Intel­li­genz gibt, und die in die­sem Fal­le hieß:

port-forward {
    auto-firewall enable
    hairpin-nat enable

Oder in bunt grau:

Das sieht man erst, wenn man ‚ÄúShow advan¬≠ced opti¬≠ons‚ÄĚ ange¬≠tickt hat ūüôĀ
Jeden¬≠falls: Sobald die ‚Äúauto-fire¬≠wall‚ÄĚ akti¬≠viert ist, kann man zwar in den Fire¬≠wall-Regeln erlaub¬≠te Source-Adres¬≠sen kon¬≠fi¬≠gu¬≠rie¬≠ren, aber das wird nicht ber√ľck¬≠sich¬≠tigt. auto-fire¬≠wall hei√üt: ‚Äúsource: any‚ÄĚ.

Also habe ich den Quatsch aus¬≠ge¬≠schal¬≠tet, die gew√ľnsch¬≠te Source-Adres¬≠se bei den Fire¬≠wall-Regeln ein¬≠ge¬≠tra¬≠gen, und b√§mm!, nur noch die eine IP darf ūüôā
Mer­ke: Bes­ser die con­fig lesen als der GUI ver­trau­en.


¬Ļ eigent¬≠lich  ist es genug, nur wird bei einem Update das alte Sys¬≠tem behal¬≠ten, so da√ü sich der ver¬≠f√ľg¬≠ba¬≠re Platz fak¬≠tisch halbiert.Auch das reicht, solan¬≠ge man nicht zus√§tz¬≠li¬≠che Soft¬≠ware instal¬≠liert hat. Ich habe zum Bei¬≠spiel noch tcp¬≠dump, screen und rsync nach¬≠in¬≠stal¬≠liert.

¬≤ Ist ne l√§n¬≠ge¬≠re Geschich¬≠te, und die geht so: Wir haben iPho¬≠nes. HA kann IOS push noti¬≠fi¬≠ca¬≠ti¬≠ons, das ist schon ziem¬≠lich geil (ich nut¬≠ze es zum Bei¬≠spiel f√ľr den Staub¬≠sauger). Nur braucht dann HA ein von Apple akzep¬≠tier¬≠tes Zer¬≠ti¬≠fi¬≠kat, also kein selbst¬≠si¬≠gnier¬≠tes. Da bie¬≠tet sich mein LE-Wild¬≠card an f√ľr *.sokoll.com ‚ÄĒ aber wie bekom¬≠me ich das auf den Pi, auf dem HA l√§uft? Da es ein Wild¬≠card ist, mu√ü man ja zwin¬≠gend die DNS-Chal¬≠len¬≠ge neh¬≠men. Klar k√∂nn¬≠te man wil¬≠de Skrip¬≠te kl√∂p¬≠peln ‚ÄĒ ich habe mich f√ľr eine ein¬≠fa¬≠che¬≠re Vari¬≠an¬≠te ent¬≠schie¬≠den: Auf mei¬≠nem Root-Ser¬≠ver l√§uft ein Apa¬≠che mit mod_proxy:

SSLEngine on
SSLCertificateFile /etc/dehydrated/certs/wildcard_sokoll.com/fullchain.pem
SSLCertificateKeyFile /etc/dehydrated/certs/wildcard_sokoll.com/privkey.pem
ProxyRequests off
ProxyPreserveHost On
ProxyPass /api/websocket wss://91.66.58.188/api/websocket
ProxyPassReverse /api/websocket wss://91.66.58.188/api/websocket
ProxyPass / https://91.66.58.188/
ProxyPassReverse / https://91.66.58.188/
SSLProxyEngine on
SSLProxyCheckPeerCN off
SSLProxyCheckPeerExpire off
SSLProxyCheckPeerName off

SSLProxyCheckPeerExpire off h√§t¬≠te ich mir spa¬≠ren k√∂n¬≠nen ūüôā

~$ openssl s_client -showcerts -servername hass.sokoll.com -connect raspberrypi.local:443 < /dev/null 2>/dev/null | openssl x509 -noout -dates
notBefore=May 17 17:17:07 2019 GMT
notAfter=Apr 12 17:17:07 4757 GMT
~$

Im April des Jah­res 4757 ist viel­leicht der Raspi nicht tot, aber wahr­schein­lich ich.

Jeden­falls auf die­ses Wei­se habe ich kei­nen Streß mit Zer­ti­fi­ka­ten.

 

0

Ubuntu, qt und der ganze Rest

Die Geschich­te:
Sohn m√∂ch¬≠te aus lmms nach Midi expor¬≠tie¬≠ren. In sei¬≠ner Ver¬≠si¬≠on:

odroid@moritz:~$ lmms --version
LMMS 1.1.3
(Linux unknown processor, Qt 4.8.7, GCC 6.2.1 20161215)

gibt es das nicht, wohl aber in der aktu¬≠el¬≠len 1.2 ‚ÄĒ die es aber f√ľr sei¬≠ne Platt¬≠form (Ubun¬≠tu 18.04 aarch64) nicht fer¬≠tig gibt. Selbst ist also der Mann, wir fol¬≠gen den Anwei¬≠sun¬≠gen und bau¬≠en selbst.
Und es fällt ein funk­tio­nie­ren­des Bina­ry raus, hur­ra!
Aller¬≠dings gibts nun kein muses¬≠core mehr, und es l√§√üt sich auch erst¬≠mal nicht instal¬≠lie¬≠ren:

root@moritz:~# apt install musescore
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder Incoming noch nicht verlassen haben.
Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:

Die folgenden Pakete haben unerf√ľllte Abh√§ngigkeiten:
musescore : Hängt ab von: libqt5core5a (< 5.10) aber 2:5.9.5+dfsg-2ubuntu2.2 soll installiert werden
E: Probleme k√∂nnen nicht korrigiert werden, Sie haben zur√ľckgehaltene defekte Pakete.
root@moritz:~#

Es hat was mit qt zu tun.
Wie mache ich wei­ter?

0