Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
gdebug [2012/07/28 14:28] – vytvořeno ubuntu | gdebug [2019/02/25 18:20] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
+ | ====== gDebug ====== | ||
+ | {{.: | ||
+ | ===== Postup ===== | ||
+ | ==== Stručně ==== | ||
+ | Skript se spouští přes //gksudo//, a výsledný soubor **výsledky.txt** se zkopíruje do fóra. | ||
+ | |||
+ | ==== Přesnější popis ==== | ||
+ | Níže uvedený skript zkopírujte, | ||
+ | |||
+ | Vyberte problémovou oblast dle své situace. | ||
+ | |||
+ | {{ .: | ||
+ | |||
+ | Nechte skript pracovat. | ||
+ | |||
+ | {{ .: | ||
+ | |||
+ | Nakonec skript vytvoří soubor **výsledky.txt** s uloženými výpisy. Buď si ho otevřete sami, nebo vám gDebug nabídne, že ho otevře za vás. | ||
+ | |||
+ | {{ .: | ||
+ | |||
+ | ===== Text skriptu ke zkopírování ===== | ||
+ | < | ||
+ | #! /bin/bash | ||
+ | # angličtina je lepší | ||
+ | # protože výstupy jsou pak dohledatelnější | ||
+ | LANG=en_US.UTF-8 | ||
+ | |||
+ | # co je možné debugovat | ||
+ | # pokud se něco doplní sem, je třeba pak doplnit i příkazy do case níže | ||
+ | # ZM je seznam potřebný do zenity | ||
+ | moznosti=( zvuk flash instalace ) | ||
+ | |||
+ | for i in $(seq 0 $((${# | ||
+ | ZM=" | ||
+ | done | ||
+ | |||
+ | # nechat vybrat | ||
+ | while :; do | ||
+ | CoDebugovat=" | ||
+ | # zmáčkl cancel? | ||
+ | [[ $? -eq 1 ]] && exit 1 | ||
+ | # zadal něco? | ||
+ | [[ -n $CoDebugovat ]] && break | ||
+ | zenity --error --text "Vyber jednu problémovou oblast!" | ||
+ | done | ||
+ | |||
+ | # zde je možné doplňovat příkazy pro jednotlivé oblasti | ||
+ | # příkaz je potřeba zadat tak, aby jeho provádění netrvalo | ||
+ | # déle než cca 45 sekund (viz $CasLimitPrikaz) | ||
+ | case $CoDebugovat in | ||
+ | zvuk) | ||
+ | prikazy=( "aplay -l" "grep Codec / | ||
+ | " | ||
+ | " | ||
+ | "df -Th" "cat / | ||
+ | ;; | ||
+ | flash) | ||
+ | prikazy=( "dpkg -l | egrep ' | ||
+ | "ls -al / | ||
+ | " | ||
+ | ;; | ||
+ | instalace) | ||
+ | prikazy=( "dpkg --configure -a" "dpkg -l | grep -Ev ' | ||
+ | " | ||
+ | " | ||
+ | "ls -l / | ||
+ | "ls -l / | ||
+ | "df -Th" "cat / | ||
+ | ;; | ||
+ | *) | ||
+ | # TODO: něco ukecanějšího by nebylo? | ||
+ | exit 1 | ||
+ | esac | ||
+ | |||
+ | TempSoubor=`mktemp` | ||
+ | # jak dlouho dát max. čas pro provedení příkazu | ||
+ | # nesmí být moc, uživatel je netrpělivý | ||
+ | # sekundy = asi CasLimitPrikaz/ | ||
+ | CasLimitPrikaz=250 | ||
+ | |||
+ | # adresář, z kterého spouštíme skript | ||
+ | AktAdresar=$(cd $(dirname " | ||
+ | # existuje AktAdresar? | ||
+ | # pokud ne, předpokládej $HOME nebo /tmp | ||
+ | [[ -z $AktAdresar ]] && AktAdresar=" | ||
+ | [[ -z $AktAdresar ]] && AktAdresar=/ | ||
+ | |||
+ | PocetPrikazu=$((${# | ||
+ | |||
+ | exec 3> >(zenity --progress --title=" | ||
+ | # výstup do souboru výsledky.txt | ||
+ | exec &> " | ||
+ | |||
+ | for (( i=0; i< | ||
+ | prikaz=${prikazy[$i]} | ||
+ | echo "# $(($i + 1))/ | ||
+ | echo | ||
+ | echo $prikaz | ||
+ | echo --------------------------- | ||
+ | eval " | ||
+ | ChildPID=$! | ||
+ | |||
+ | # příkaz se spouští na pozadí | ||
+ | # když uživatel klikne Cancel, nebo se příkaz provádí dlouho | ||
+ | # je nemilosrdně zabit | ||
+ | for ((j=0; | ||
+ | kill -0 $ChildPID &> /dev/null || break | ||
+ | [[ -s $TempSoubor ]] && exit 1 | ||
+ | echo $(((($i * $CasLimitPrikaz + $j) * 100) / ($PocetPrikazu * $CasLimitPrikaz))) >&3 | ||
+ | sleep 0.2 | ||
+ | done | ||
+ | kill -0 $ChildPID &> /dev/null && { echo " | ||
+ | echo $((($i + 1) * 100 / $PocetPrikazu)) >&3 | ||
+ | done | ||
+ | |||
+ | if zenity --question --title=" | ||
+ | editor=" | ||
+ | which " | ||
+ | $editor " | ||
+ | fi | ||
+ | |||
+ | exit 0 | ||
+ | </ | ||
+ | ===== Příklad možného obsahu souboru výsledky.txt ===== | ||
+ | {{.: | ||
+ | < | ||
+ | dpkg --configure -a | ||
+ | --------------------------- | ||
+ | dpkg: error processing adobe-flashplugin (--remove): | ||
+ | | ||
+ | | ||
+ | Errors were encountered while processing: | ||
+ | | ||
+ | |||
+ | dpkg -l | grep -Ev ' | ||
+ | --------------------------- | ||
+ | Desired=Unknown/ | ||
+ | | Status=Not/ | ||
+ | |/ Err? | ||
+ | ||/ Name Version | ||
+ | +++-=====================================-==========================================-============================================ | ||
+ | rFR adobe-flashplugin | ||
+ | |||
+ | tail -20 / | ||
+ | --------------------------- | ||
+ | 2010-02-04 16:27:33 startup packages remove | ||
+ | 2010-02-04 16:27:33 status installed libreadline5 5.2-6 | ||
+ | 2010-02-04 16:27:33 remove libreadline5 5.2-6 5.2-6 | ||
+ | 2010-02-04 16:27:33 status half-configured libreadline5 5.2-6 | ||
+ | 2010-02-04 16:27:33 status half-installed libreadline5 5.2-6 | ||
+ | 2010-02-04 16:27:33 status triggers-pending libc-bin 2.10.1-0ubuntu16 | ||
+ | 2010-02-04 16:27:33 status config-files libreadline5 5.2-6 | ||
+ | 2010-02-04 16:27:33 status config-files libreadline5 5.2-6 | ||
+ | 2010-02-04 16:27:33 trigproc libc-bin 2.10.1-0ubuntu16 2.10.1-0ubuntu16 | ||
+ | 2010-02-04 16:27:33 status half-configured libc-bin 2.10.1-0ubuntu16 | ||
+ | 2010-02-04 16:27:33 status installed libc-bin 2.10.1-0ubuntu16 | ||
+ | |||
+ | find /etc/apt -type f -name ' | ||
+ | --------------------------- | ||
+ | deb http:// | ||
+ | deb http:// | ||
+ | deb http:// | ||
+ | deb http:// | ||
+ | deb http:// | ||
+ | deb http:// | ||
+ | deb http:// | ||
+ | deb http:// | ||
+ | deb http:// | ||
+ | deb http:// | ||
+ | deb http:// | ||
+ | deb http:// | ||
+ | deb http:// | ||
+ | |||
+ | ls -l / | ||
+ | --------------------------- | ||
+ | -rw-r--r-- 1 root root 2271643 2009-10-30 20:27 / | ||
+ | -rw-r--r-- 1 root root 1254290 2010-02-01 00:37 / | ||
+ | -rw-r--r-- 1 root root 346435 2010-01-30 23:57 / | ||
+ | -rw-r--r-- 1 root root 345971 2010-01-29 19:50 / | ||
+ | -rw-r--r-- 1 root root 345671 2010-01-28 21:53 / | ||
+ | -rw-r--r-- 1 root root 345458 2010-01-26 23:56 / | ||
+ | -rw-r--r-- 1 root root 345052 2010-01-25 20:32 / | ||
+ | -rw-r--r-- 1 root root 344752 2010-01-24 22:13 / | ||
+ | |||
+ | ls -l / | ||
+ | --------------------------- | ||
+ | total 5164 | ||
+ | drwxr-xr-x 2 root root 4096 2010-02-02 10:58 alternatives | ||
+ | -rw-r--r-- 1 root root 1250240 2010-02-04 23:57 available | ||
+ | -rw-r--r-- 1 root root 1250240 2010-02-04 23:55 available-old | ||
+ | -rw-r--r-- 1 root root 8 2009-10-30 20:22 cmethopt | ||
+ | -rw-r--r-- 1 root root 338 2010-01-26 20:27 diversions | ||
+ | -rw-r--r-- 1 root root 186 2009-11-20 23:53 diversions-old | ||
+ | drwxr-xr-x 2 root root 225280 2010-02-04 16:27 info | ||
+ | -rw-r----- 1 root root 0 2010-02-04 23:57 lock | ||
+ | drwxr-xr-x 2 root root 4096 2009-09-20 10:23 parts | ||
+ | -rw-r--r-- 1 root root 112 2010-01-14 22:18 statoverride | ||
+ | -rw-r--r-- 1 root root 152 2010-01-14 22:18 statoverride-old | ||
+ | -rw-r--r-- 1 root root 1254290 2010-02-04 23:57 status | ||
+ | -rw-r--r-- 1 root root 1254290 2010-02-04 23:55 status-old | ||
+ | drwxr-xr-x 2 root root 4096 2010-02-04 16:27 triggers | ||
+ | drwxr-xr-x 2 root root 4096 2010-02-04 23:57 updates | ||
+ | |||
+ | lsof / | ||
+ | --------------------------- | ||
+ | |||
+ | df -Th | ||
+ | --------------------------- | ||
+ | Filesystem | ||
+ | / | ||
+ | udev | ||
+ | none | ||
+ | none | ||
+ | none | ||
+ | none | ||
+ | / | ||
+ | |||
+ | cat / | ||
+ | --------------------------- | ||
+ | DISTRIB_ID=Ubuntu | ||
+ | DISTRIB_RELEASE=9.10 | ||
+ | DISTRIB_CODENAME=karmic | ||
+ | DISTRIB_DESCRIPTION=" | ||
+ | </ |