Po vlastních microSD kartách nabízí nově Raspberry Pi také vlastní NVMe SSD disky. Samostatně i v sadách s M.2 HAT+.
Byla zveřejněna (𝕏) Zpráva o činnosti Digitální a informační agentury (DIA) za rok 2023 (pdf). Začíná slovy ředitele: "Vznik Digitální a informační agentury (DIA) je v posledních letech možná jedním z nejvýznamnějších kroků, který dodá potřebný impuls digitalizaci státní správy."
Vývojáři AlmaLinuxu představili AlmaLinux OS Kitten 10, tj. vývojovou verzi AlmaLinux OS 10 vycházejícího z CentOS Stream 10. Přehled novinek v poznámkách k vydání. Proč Kitten? Verze AlmaLinux OS jsou pojmenované podle kočkovitých šelem. Z kotěte vyroste další kočka.
Kryptografická knihovna OpenSSL byla vydána v nové verzi 3.4. Přehled změn na GitHubu.
Bylo objeveno nové největší prvočíslo. Jedná se o Mersennovo prvočíslo známé též jako M136279841. To znamená, že v binární formě je prvočíslo tvořeno 136 279 841 jedničkami. Objeveno bylo v rámci distribuovaného výpočetních projektu GIMPS (Great Internet Mersenne Prime Search). Zajímavostí je, že na rozdíl od předchozích takto objevených prvočísel nebylo objeveno pomocí CPU, ale na grafické kartě NVIDIA A100 s pomocí programu Gpuowl.
Protokol MQTT (Wikipedie) dnes slaví 25 let (Mastodon, 𝕏). První publikovaná specifikace je z 22. října 1999.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.4. Přehled novinek na GitLabu. Z novinek lze zmínit podporu telefonu Google Pixel 7. Na stránkách Murena lze koupit Murena Pixel 7.
Připojte se ve středu 30. 10. 2024 od 10:00 do 12:00 na náš webinář "Řízení přístupu do PostgreSQL prostřednictvím externího autentizačního providera" (registrace zdarma) a naučte se, jak nastavit ověřování pomocí GSSAPI pro bezpečný přístup k databázím (Microsoft Active Directory nebo FreeIPA). Záznam předchozího webináře "Co je nového v PostgreSQL 17" můžete zhlédnout zde.
… více »Byla vydána nová verze 0.55 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.
Dle plánu bylo dnes vydáno Factorio 2.0 a Factorio: Space Age, tj. aktualizace 2.0 počítačové hry Factorio (Wikipedie) oficiálně běžící také na Linuxu a velké vesmírní rozšíření Factorio: Space Age.
#!/bin/sh ... eval \("$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \ -Dcatalina.base="\"$CATALINA_BASE\"" \ -Dcatalina.home="\"$CATALINA_HOME\"" \ -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ org.apache.catalina.startup.Bootstrap "$@" start 2>&1 & [ ! -z "$CATALINA_PID" ] && echo $! > "$CATALINA_PID"\) | tee -a $CATALINA_OUT 2>&1 | $RSYSLOG 2>&1 &Takto je to v originalu
eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \ -Dcatalina.base="\"$CATALINA_BASE\"" \ -Dcatalina.home="\"$CATALINA_HOME\"" \ -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 "&"
Ty nepárové uvozovky jsou nějaký záměr?
"$_RUNJAVA\""
V originále jsou párové:
"\"$_RUNJAVA\""
Taky asi místo…
... "$CATALINA_PID"\) ...
…by tam mělo být…
... "$CATALINA_PID"\;\) ...
…protože subshell musí končit středníkem nebo ampersandem.
Navíc mi není jasné, proč je tam tak špatně čitelný eval
jenom kvůli dvojí expanzi "$@"
a pár dalších proměnných. Chci-li dvojitě expandovat některé proměnné, mohlo by to jít třeba takto:
( "$_RUNJAVA" "$LOGGING_CONFIG" \ $(echo "$LOGGING_MANAGER" "$JAVA_OPTS" "$CATALINA_OPTS") \ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ -classpath "$CLASSPATH" \ -Dcatalina.base="$CATALINA_BASE" \ -Dcatalina.home="$CATALINA_HOME" \ -Djava.io.tmpdir="$CATALINA_TMPDIR" \ org.apache.catalina.startup.Bootstrap $(echo "$@") start 2>&1 & \ [ -n "$CATALINA_PID" ] && echo $! > "$CATALINA_PID" ; ) \ | tee -a "$CATALINA_OUT" | "$RSYSLOG" &
Určitě tam mám pár (desítek) překlepů, když to střílím takhle od boku, ale v principu by to fungovat mohlo. Možná tam taky budou nějaké drobné nuance, ale ty už je potřeba vyhodnotit až s konkrétními parametry ("$@"
) a proměnnými. Například odstraněním uvozovek kolem "$JAVA_OPTS"
se dá zajistit ještě další krok expanze, je-li třeba.
Soudě podle názvů proměnných, není náhodou cílem, aby soubor $CATALINA_OUT
obsahoval jenom stdout
, zatímco $RSYSLOG
má dostávat na vstup oba výstupy smíchané? To by pak bylo nějak takhle:
mkfifo catalina_stderr ( "$_RUNJAVA" ... start 2>catalina_stderr & \ [ -n "$CATALINA_PID" ] && echo $! > "$CATALINA_PID" ; ) \ | ( tee -a "$CATALINA_OUT" & cat catalina_stderr & ) \ | "$RSYSLOG" &
Chyby, které vzniknou
…Chyby, které vzniknou při neúspěšném pokusu zapsat do "$CATALINA_PID"
, by se mohly taky nějak zvlášť ošetřit, mají-li se logovat a nemají-li se míchat do streamů od toho Tomcatu nebo co to je. Tedy buď poslat do /dev/null
nebo do nějakého extra logu atd. atp. Nebo předpokládat, že se zápis vždycky podaří. Záleží na tom, jak moc univerzální a neprůstřelné to má být.
rm -rf "$CATALINA_OUT" mkfifo "$CATALINA_OUT" nohup /usr/sbin/rotatelogs -f "$CATALINA_BASE"/logs/console.%Y.%m.%d.log 86400 > /dev/null 2>&1 < "$CATALINA_OUT" & ( "$_RUNJAVA" "$LOGGING_CONFIG" \ $(echo "$LOGGING_MANAGER" "$JAVA_OPTS" "$CATALINA_OPTS") \ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ -classpath "$CLASSPATH" \ -Dcatalina.base="$CATALINA_BASE" \ -Dcatalina.home="$CATALINA_HOME" \ -Djava.io.tmpdir="$CATALINA_TMPDIR" \ org.apache.catalina.startup.Bootstrap $(echo "$@") start 2>&1 & \ [ -n "$CATALINA_PID" ] && echo $! > "$CATALINA_PID" ; ) \ | tee -a "$CATALINA_OUT" | "$RSYSLOG" &
Tiskni Sdílej: