Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revize Předchozí verze | |||
| diskdebug [2012/07/19 18:43] – ubuntu | diskdebug [2019/02/25 17:21] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| + | ====== DiskDebug ====== | ||
| + | **DiskDebug** - skript, který za vás vyhledá informace při problémech s disky - interními, externími, flash paměti, mp3 přehrávače apod. | ||
| + | |||
| + | {{.: | ||
| + | {{.: | ||
| + | |||
| + | Skript se spouští přes //gksudo//, a výsledný soubor **výsledky.txt** se zkopíruje do fóra. Pro podrobnější návod se podívejte na [[Řešení problémů: | ||
| + | |||
| + | ====== Text skriptu ke zkopírování ====== | ||
| + | < | ||
| + | #! /bin/bash | ||
| + | |||
| + | Devkit(){ | ||
| + | which udisks &> /dev/null || { echo " | ||
| + | for i in / | ||
| + | udisks --show-info $i | ||
| + | done | ||
| + | } | ||
| + | |||
| + | if [[ `whoami` != " | ||
| + | zenity --info --title=" | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | ##### zde je možné přidávat příkazy ###### | ||
| + | DiskPrikazy=( " | ||
| + | SystemPrikazy=( " | ||
| + | ########################################## | ||
| + | |||
| + | TempSoubor=`mktemp` | ||
| + | |||
| + | # adresář, z kterého spouštíme skript | ||
| + | AktAdresar=$(cd $(dirname " | ||
| + | # existuje AktAdresar? | ||
| + | # pokud ne, přepokládej $HOME nebo /tmp | ||
| + | [[ -z $AktAdresar ]] && AktAdresar=" | ||
| + | [[ -z $AktAdresar ]] && AktAdresar=/ | ||
| + | |||
| + | PocetDiskPrikazu=$((${# | ||
| + | PocetSystemPrikazu=$((${# | ||
| + | CelkemPrikazu=$(($PocetDiskPrikazu * 2 + $PocetSystemPrikazu + 15)) | ||
| + | |||
| + | zenity --info --title=" | ||
| + | # progress bar | ||
| + | # pokud klikne uživatel Cancel, nestačí to dát do proměnné - je to v souboru $TempSoubor | ||
| + | # ten se pak testuje v průběhu skriptu a la '[[ -s $TempSoubor ]] && exit 1' | ||
| + | exec 3> >(zenity --progress --title=" | ||
| + | |||
| + | j=1 | ||
| + | for i in $(seq 1 $PocetDiskPrikazu); | ||
| + | prikaz=${DiskPrikazy[$i]} | ||
| + | echo $(($j * 100 / $CelkemPrikazu)) >&3 | ||
| + | echo "# ${j}/ | ||
| + | $prikaz &> /tmp/$i.txt | ||
| + | [[ -s $TempSoubor ]] && exit 1 | ||
| + | ((j++)) | ||
| + | sleep 0.2 | ||
| + | done | ||
| + | |||
| + | zenity --info --title=" | ||
| + | for i in {1..14}; do | ||
| + | echo $(($j * 100 / $CelkemPrikazu)) >&3 | ||
| + | echo "# ${j}/ | ||
| + | [[ -s $TempSoubor ]] && exit 1 | ||
| + | ((j++)) | ||
| + | sleep 1 | ||
| + | done | ||
| + | |||
| + | exec &> " | ||
| + | |||
| + | for i in $(seq 1 $PocetDiskPrikazu); | ||
| + | echo $(($j * 100 / $CelkemPrikazu)) >&3 | ||
| + | prikaz=${DiskPrikazy[$i]} | ||
| + | echo "# ${j}/ | ||
| + | echo | ||
| + | echo $prikaz | ||
| + | echo --------------------------- | ||
| + | $prikaz | diff -wB - /tmp/$i.txt | ||
| + | [[ -s $TempSoubor ]] && exit 1 | ||
| + | ((j++)) | ||
| + | sleep 0.2 | ||
| + | done | ||
| + | |||
| + | for i in $(seq 1 $PocetSystemPrikazu); | ||
| + | echo $(($j * 100 / $CelkemPrikazu)) >&3 | ||
| + | prikaz=${SystemPrikazy[$i]} | ||
| + | echo "# ${j}/ | ||
| + | echo | ||
| + | echo $prikaz | ||
| + | echo --------------------------- | ||
| + | $prikaz | ||
| + | [[ -s $TempSoubor ]] && exit 1 | ||
| + | ((j++)) | ||
| + | sleep 0.2 | ||
| + | done | ||
| + | |||
| + | if zenity --question --title=" | ||
| + | editor=" | ||
| + | which " | ||
| + | $editor " | ||
| + | fi | ||
| + | |||
| + | exit 0 | ||
| + | </ | ||
| + | |||
| + | ====== Technické detaily (není nutné znát) ====== | ||
| + | |||
| + | Základem skriptu je vytvoření výpisu příkazů uvedených v proměnné // | ||
| + | |||
| + | Příkaz //zenity// pouze zobrazuje okénka s instrukcemi. | ||
| + | |||
| + | K výpisu jsou ještě připojeny obecné systémové příkazy (proměnná // | ||
| + | |||
| + | {{.: | ||
| + | < | ||
| + | dmesg | ||
| + | --------------------------- | ||
| + | 669,689d668 | ||
| + | < [ 2682.300043] end_request: | ||
| + | < [ 2682.328027] end_request: | ||
| + | < [ 2690.316035] usb 1-4: new high speed USB device using ehci_hcd and address 3 | ||
| + | < [ 2690.451331] usb 1-4: configuration #1 chosen from 1 choice | ||
| + | < [ 2690.505460] Initializing USB Mass Storage driver... | ||
| + | < [ 2690.505622] scsi4 : SCSI emulation for USB Mass Storage devices | ||
| + | < [ 2690.505925] usbcore: registered new interface driver usb-storage | ||
| + | < [ 2690.505931] USB Mass Storage support registered. | ||
| + | < [ 2690.506919] usb-storage: | ||
| + | < [ 2690.506924] usb-storage: | ||
| + | < [ 2695.504188] usb-storage: | ||
| + | < [ 2695.505299] scsi 4:0:0:0: Direct-Access | ||
| + | < [ 2695.505888] sd 4:0:0:0: Attached scsi generic sg3 type 0 | ||
| + | < [ 2695.522417] sd 4:0:0:0: [sdc] 1974271 512-byte logical blocks: (1.01 GB/963 MiB) | ||
| + | < [ 2695.523390] sd 4:0:0:0: [sdc] Write Protect is off | ||
| + | < [ 2695.523394] sd 4:0:0:0: [sdc] Mode Sense: 00 00 00 00 | ||
| + | < [ 2695.523397] sd 4:0:0:0: [sdc] Assuming drive cache: write through | ||
| + | < [ 2695.528271] sd 4:0:0:0: [sdc] Assuming drive cache: write through | ||
| + | < [ 2695.528280] | ||
| + | < [ 2695.696238] sd 4:0:0:0: [sdc] Assuming drive cache: write through | ||
| + | < [ 2695.696248] sd 4:0:0:0: [sdc] Attached SCSI removable disk | ||
| + | |||
| + | lsusb | ||
| + | --------------------------- | ||
| + | 2d1 | ||
| + | < Bus 001 Device 003: ID 3538:0054 Power Quotient International Co., Ltd Flash Drive (2GB) | ||
| + | |||
| + | fdisk -l | ||
| + | --------------------------- | ||
| + | 29,38d28 | ||
| + | < | ||
| + | < Disk /dev/sdc: 1010 MB, 1010826752 bytes | ||
| + | < 255 heads, 63 sectors/ | ||
| + | < Units = cylinders of 16065 * 512 = 8225280 bytes | ||
| + | < Disk identifier: 0x91f72d24 | ||
| + | < | ||
| + | <    Device Boot      Start | ||
| + | < / | ||
| + | < Partition 1 has different physical/ | ||
| + | <      phys=(121, 254, 63) logical=(122, | ||
| + | |||
| + | parted -l | ||
| + | --------------------------- | ||
| + | 29,37d28 | ||
| + | < Model: Generic USB Flash Disk (scsi) | ||
| + | < Disk /dev/sdc: 1011MB | ||
| + | < Sector size (logical/ | ||
| + | < Partition Table: msdos | ||
| + | < | ||
| + | < Number | ||
| + | <  1      32.3kB | ||
| + | < | ||
| + | < | ||
| + | |||
| + | mount | ||
| + | --------------------------- | ||
| + | 15d14 | ||
| + | < /dev/sdc1 on / | ||
| + | |||
| + | blkid -c /dev/null | ||
| + | --------------------------- | ||
| + | 11d10 | ||
| + | < /dev/sdc1: LABEL="" | ||
| + | |||
| + | uname -a | ||
| + | --------------------------- | ||
| + | Linux lean 2.6.31-17-generic #54-Ubuntu SMP Thu Dec 10 16:20:31 UTC 2009 i686 GNU/Linux | ||
| + | |||
| + | cat / | ||
| + | --------------------------- | ||
| + | DISTRIB_ID=Ubuntu | ||
| + | DISTRIB_RELEASE=9.10 | ||
| + | DISTRIB_CODENAME=karmic | ||
| + | DISTRIB_DESCRIPTION=" | ||
| + | |||
| + | free -m | ||
| + | --------------------------- | ||
| + |  | ||
| + | Mem: | ||
| + | -/+ buffers/ | ||
| + | Swap: | ||
| + | |||
| + | df -h | ||
| + | --------------------------- | ||
| + | Filesystem | ||
| + | / | ||
| + | udev 497M 288K 497M 1% /dev | ||
| + | none 497M 140K 497M 1% /dev/shm | ||
| + | none                  497M | ||
| + | none 497M 8.0K 497M 1% /var/lock | ||
| + | none                  497M | ||
| + | / | ||
| + | / | ||
| + | </ | ||