abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | Nová verze

    Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).

    Ladislav Hagara | Komentářů: 5
    dnes 15:11 | Nová verze

    Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.

    Ladislav Hagara | Komentářů: 0
    dnes 14:44 | Humor

    Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.

    Ladislav Hagara | Komentářů: 4
    dnes 11:33 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    včera 21:44 | Nová verze

    Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    15.9. 21:33 | Nová verze

    Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (43%)
     (57%)
     (0%)
     (7%)
     (14%)
     (7%)
     (21%)
     (7%)
     (14%)
    Celkem 14 hlasů
     Komentářů: 1, poslední dnes 13:49
    Rozcestník

    Dotaz: man: write error: Přerušena roura (SIGPIPE)

    26.4.2007 11:29 Kit
    man: write error: Přerušena roura (SIGPIPE)
    Přečteno: 398×
    Při vyvolání jakékoli manuálové stránky se mi zobrazí pouze

    Unimplemented option chosen.

    Formátuji split(1), prosím počkejte chvíli... /usr/bin/nroff: line 217: echo: write error: Peruena roura (SIGPIPE)

    Zvláštní je, že se tato chyba neobjeví, pokud jsem přihlášen jako root - manuálová stránka se normálně zobrazí. Tedy někde budou asi špatně práva nebo cesty. Dělalo mi to u openSUSE 10.1 a očekával jsem, že to v další verzi opraví. Verze 10.2 však tuto chybu obsahuje také. Snažil jsem se tuto chybu najít a opravit, ale ztratil jsem se v binárkách. Má někdo řešení?

    Odpovědi

    26.4.2007 11:39 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: man: write error: Přerušena roura (SIGPIPE)
    V openSuSE 10.1 ani 10.2 nejspíš žádná chyba není, mám (měl jsem) je nainstalované na několika počítačích a nikdy jsem podobný problém nezaznamenal. Zkuste si zavést nového uživatele a spustit to pod ním; pokud bude 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.
    26.4.2007 14:50 Kit
    Rozbalit Rozbalit vše Re: man: write error: Přerušena roura (SIGPIPE)
    Mám ho nainstalované na více počítačích a dělá mi to na třech.

    Nový uživatel má stejný problém. $PAGER má hodnotu "less", což by mělo být OK. Zkusil jsem i "/usr/bin/less", ale beze změny. Při spuštění nroff jsem si nechal vypsat seznam procesů:
     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 -Tutf8
    
    Zatím v tom chybu nevidím. Přesto mi man stále nefunguje.
    26.4.2007 15:47 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: man: write error: Přerušena roura (SIGPIPE)

    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).

    26.4.2007 16:24 Kit
    Rozbalit Rozbalit vše Re: man: write error: Přerušena roura (SIGPIPE)
    > 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'
    
    26.4.2007 16:27 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: man: write error: Přerušena roura (SIGPIPE)
    Tak asi opravdu nezbyde než na to vypustit strace a podívat se, který program přesně tam havaruje a proč.
    26.4.2007 16:35 Kit
    Rozbalit Rozbalit vše Re: man: write error: Přerušena roura (SIGPIPE)
    Ten 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
    
    26.4.2007 16:43 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: man: write error: Přerušena roura (SIGPIPE)

    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
    
    26.4.2007 16:53 Kit
    Rozbalit Rozbalit vše Re: man: write error: Přerušena roura (SIGPIPE)
    MD5 nroff souhlasí. Sedím teď u jiného PC, kde mi (jak jsem před chvílí zjistil) man nefunguje ani pod rootem. Ještě se podívám na PC, kde mi man chodí alespoň pod rootem a na PC, kde mi man funguje i pod běžným userem (instaloval jsem ho včera).
    26.4.2007 16:56 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: man: write error: Přerušena roura (SIGPIPE)
    Tak se aspoň podívejte, jak vypadají řádky 203-210 v /usr/bin/nroff na tom systému, ze kterého pochází ten výpis strace.
    26.4.2007 17:14 Kit
    Rozbalit Rozbalit vše Re: man: write error: Přerušena roura (SIGPIPE)
    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.
    1.5.2007 19:51 Kit
    Rozbalit Rozbalit vše Re: man: write error: Přerušena roura (SIGPIPE)
    Tak jsem si to nakonec vyřešil sám. Místo pochybného 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.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.