Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
man fungovat, je problém ve vaší uživatelské konfiguraci (možná chybně nastavená proměnná PAGER); jinak by to asi chtělo použít strace, abyste zjistil, co se to vlastně pokouší spustit za potomka a proč umřel.
PID TTY STAT TIME COMMAND 6108 pts/2 Ss 0:00 /bin/bash 7731 pts/2 S+ 0:00 man mkdir 7732 pts/2 S+ 0:00 sh -c (echo '.ll 79n'; /usr/bin/zsoelim /usr/share/man/man1/mkdir.1) | /usr/bin/tbl | /usr/bin/nroff -mandocdb -rLL=79n -rLT=79n -Tutf8 | less 7736 pts/2 S+ 0:00 /bin/sh /usr/bin/nroff -mandocdb -rLL=79n -rLT=79n -Tutf8Zatím v tom chybu nevidím. Přesto mi man stále nefunguje.
Ještě jeden nápad: zkuste sem hodit výpis
for v in ${!LESS*}; do echo "$v='${!v}'"; done
(nejlépe jednou pod rootem, jednou pod normálním uživatelem).
> for v in ${!LESS*}; do echo "$v='${!v}'"; done
LESS='-M -I'
LESSCLOSE='lessclose.sh %s %s'
LESSKEY='/etc/lesskey.bin'
LESSOPEN='lessopen.sh %s'
LESS_ADVANCED_PREPROCESSOR='no'
> su
Heslo:
# for v in ${!LESS*}; do echo "$v='${!v}'"; done
LESS='-M -I'
LESSCLOSE='lessclose.sh %s %s'
LESSKEY='/etc/lesskey.bin'
LESSOPEN='lessopen.sh %s'
LESS_ADVANCED_PREPROCESSOR='no'
strace a podívat se, který program přesně tam havaruje a proč.
strace vyprodukuje asi 5000 řádků, zkusím sem poslat pár posledních:
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7d6fb48) = 6279
close(3) = 0
close(5) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
pipe([3, 5]) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7d6fb48) = 6280
close(4) = 0
close(5) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7d6fb48) = 6281
close(3) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
waitpid(-1, /usr/bin/nroff: line 203: Scenario: command not found
/usr/bin/nroff: line 204: Scenario: command not found
/usr/bin/nroff: line 205: Unimplemented: command not found
/usr/bin/nroff: line 206: Unimplemented: command not found
/usr/bin/nroff: line 207: Scenario: command not found
/usr/bin/nroff: line 208: Scenario: command not found
/usr/bin/nroff: line 209: Scenario: command not found
/usr/bin/nroff: line 210: 2: command not found
[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 6281
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn() = ? (mask now [])
waitpid(-1, 0xbfbb2e98, WNOHANG) = 0
waitpid(-1, /usr/bin/nroff: line 217: echo: write error: P�eru�ena roura (SIGPIPE)
[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 6280
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn() = ? (mask now [])
waitpid(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGPIPE}], WNOHANG) = 6278
waitpid(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGPIPE}], 0) = 6279
rt_sigaction(SIGINT, {SIG_DFL}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0
chdir("/home/pospichal") = 0
ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
exit_group(0) = ?
Process 6277 detached
Tohle mi připadá, jako byste měl /usr/bin/nroff (což je skript, který emuluje tradiční nroff pomocí groff) přepsaný nějakými nesmysly. V openSuSE 10.2 by měl mít MD5 kontrolní součet
15c08b049d17656b083cbe4dee2e0589 /usr/bin/nroff
/usr/bin/nroff na tom systému, ze kterého pochází ten výpis strace.
while true ; do
case "$1" in
--)
if [ -n "$2" ] ; then
INPUTFILE="$2"
shift 2
else
INPUTFILE=""
shift 1
fi
break
;;
*)
OLDARGS="$OLDARGS $1"
echo $1
shift 1
;;
esac
done
Ovšem MD5 jsme si před chvílí odsouhlasili a obsah $1 už tady taky proběhl. Vše vypadá normálně - až na to, že to nefunguje.
while true ; do jsem prozatím vložil while false ; do. O 2 řádky výš je totiž chybný příkaz
TEMP=$(getopt --options "abcCd:eEf:F:gGhiI:lL:m:M:n:No:pP:r:RsStT:UvVw:W:XzZ" --longoptions help,version -- ${1+"$@"})
jehož výsledkem v TEMP je řetězec "Unimplemented option chosen.". Nevím, co je na tom příkazu špatně, protože parametry odpovídají popisu v manuálu. Od této chvíle mi už man chodí alespoň v nějakém degradovaném režimu.
Tiskni
Sdílej: