HDD, boot i Linux (molim pojašnjenje termina i pozicije)

Novi ste u svijetu Linuxa? Imate hrpu početničkih pitanja?

Moderator/ica: Moderatori/ce

Pravila foruma
PRAVILA ZA NOVE KORISNIKE LINUXA!
Prije otvaranja bilo kakve diskusije svaki novi korisnik u svijetu Linuxa obavezan je učiniti sljedeće korake:
Pročitati ove tekstove iz naše Wikipedije:
- Sve uvodne tekstove Linuxa za početnike (njih 5)
- Sve što trebate znati o radu s diskovima
- Pročitati ovu temu za početnike
- Pokušati pronaći riješenje problema u Enciklopediji znanja

Nakon toga korisnik smije otvoriti temu s naslovom svog problema uz obaveznu naznaku Linux distribucije koju koristi u formi:
[Linux distribucija, broj verzije, grafičko okruženje]: Naslov problema
U prvom postu korisnik obavezno mora odgovoriti na ova pitanja:
- Da li ima instalirane Windowse?
- Što ga je motiviralo na instaliranje i korištenje Linux distribucije?
- Obavezno je potrebno navesti specifikacije hardvera (Ime Laptopa, tip procesora, grafičke i mrežne kartice, količina RAM-a i diska)

Bez učinjenih ovih prvih koraka, na teme se neće odgovarati i one će biti izbrisane s foruma!
Avatar
sumski
Moderator
Postovi: 1779
Pridružen/a: 10 ruj 2010, 11:20
Spol: M
OS: openSUSE Factory KDE

Re: HDD, boot i Linux (molim pojašnjenje termina i pozicije)

Post Postao/la sumski »

-B
Query/set Advanced Power Management feature, if the drive supports it. A low value means aggressive power management and a high value means better performance. Possible settings range from values 1 through 127 (which permit spin-down), and values 128 through 254 (which do not permit spin-down). The highest degree of power management is attained with a setting of 1, and the highest I/O performance with a setting of 254. A value of 255 tells hdparm to disable Advanced Power Management altogether on the drive (not all drives support disabling it, but most do).
http://linux.die.net/man/8/hdparm
Listen, I gotta fight the lion. That's what that guy Scott's all about. I know. I've studied him already.
Avatar
ujodarko
Postovi: 207
Pridružen/a: 25 tra 2011, 13:07
Spol: M
OS: Mint KDE, Studio
Lokacija: svemir :)

Re: HDD, boot i Linux (molim pojašnjenje termina i pozicije)

Post Postao/la ujodarko »

sumski je napisao/la:
-B
Query/set Advanced Power Management feature, if the drive supports it. A low value means aggressive power management and a high value means better performance. Possible settings range from values 1 through 127 (which permit spin-down), and values 128 through 254 (which do not permit spin-down). The highest degree of power management is attained with a setting of 1, and the highest I/O performance with a setting of 254. A value of 255 tells hdparm to disable Advanced Power Management altogether on the drive (not all drives support disabling it, but most do).
http://linux.die.net/man/8/hdparm
OK, hvala na pojašnjenju :)
open code i open mind cijelom čovječanstvu ;)
Avatar
ujodarko
Postovi: 207
Pridružen/a: 25 tra 2011, 13:07
Spol: M
OS: Mint KDE, Studio
Lokacija: svemir :)

Re: HDD, boot i Linux (molim pojašnjenje termina i pozicije)

Post Postao/la ujodarko »

semiRocket je napisao/la:Napraviš svoju novu skriptu, što naredbe koje sam ti u predhodnom postu napisao to i rade. Ili opiči

Kod: Označi sve

sudo nano /etc/rc6.d/K99standby
i piši sam i uređuj. imaj na umu da skripta mora početi sa '#!/bin/bash' bez navodnika. I da ju moraš napraviti izvršnom datotekom naredbom 'chmod +x /etc/rc6.d/K99standby' bez navodnika.

Korisničke skripte u početku naziva sadrže K99 radi redoslijeda pokretanja (nakon sistemskih skripti). Bilo bi dobro da demontiraš particije u skripti prije pokretanja hdparm-a, kako sam već napisao. Upiši sve particije koje postoje na tom hd pa si bez brige.

Koje su ti particije trenutno montirane možeš saznati naredbom mount (bez parametara). Koje particije postoje na hd možeš saznati naredbom fdisk -l
Mount:

Kod: Označi sve

/dev/sdb1 on / type ext4 (rw,errors=remount-ro,commit=0)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
/dev/sdb3 on /home type ext4 (rw,commit=0)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/d/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=d)
fdisk -l

Kod: Označi sve

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xad0df678

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          52      409600   27  Unknown
Partition 1 does not end on cylinder boundary.
/dev/sda2   *          52       19488   156122112    7  HPFS/NTFS
/dev/sda3           19488       37973   148480000    7  HPFS/NTFS
/dev/sda4           37973       38827     6859777    5  Extended
/dev/sda5           37973       38793     6585344   83  Linux
/dev/sda6           38793       38827      273408   82  Linux swap / Solaris

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xdd866a7e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        1306    10490413+  83  Linux
/dev/sdb2            1307        1437     1052257+  82  Linux swap / Solaris
/dev/sdb3            1438        2743    10490445   83  Linux
/dev/sdb4            2744       30401   222162854+   5  Extended
/dev/sdb5            2744       30401   222162853+   7  HPFS/NTFS
Ako ovu posljednju particiju (koju Ubuntu tretira kao disk) pokušam otpojiti s "Safe remove disk", onda mi javi ovo:

slika

Inače, za sada skripta izgleda ovako.
slika
Nedostaje li što još?
Isprobao sam je, ali i dalje HDD zacvili... Ima li logike da se glave trebaju parkirati još kasnije pod sistemskim ovlastima? Možda je K99 korak daleko raniji od potrebnog? Možda bi glave trebale biti parkirane korak prije samog gašenja struje?
Oprosti, nisam na čisto kako to sve izvesti, ali vjerujem kako ću uz tvoju pomoć doći do riješenja.

Hvala ti!!
open code i open mind cijelom čovječanstvu ;)
semiRocket
Postovi: 287
Pridružen/a: 13 lip 2009, 03:34

Re: HDD, boot i Linux (molim pojašnjenje termina i pozicije)

Post Postao/la semiRocket »

Kod: Označi sve

/dev/sdb1 on / type ext4 (rw,errors=remount-ro,commit=0)
/dev/sdb3 on /home type ext4 (rw,commit=0)
Znači linuxi koji se vrte su sa tog hd? Nisam siguran da li se može demontirati root (/) particiju, ali možeš probati. Za to u skripti fali:

Kod: Označi sve

#!/bin/bash
umount /dev/sdb3
umount /dev/sdb1
hdparm -y /dev/sdb
Pokušaj vidjeti da li ima sistemskih skripti koje počinju sa S u /etc/rd6.d/ direktoriju, ako da pokušaj promijeniti naziv svoje skripte da počinje sa S, tako da se pokrene zadnja:

Kod: Označi sve

sudo mv /etc/rc6.d/K99standby /etc/rc6.d/S99standby
BTW: Mislim da na onoj stranici krivo piše, izgleda da je direktorij /etc/rc0.d zadužen za shutdown. Da budeš siguran napravi kopiju u oba direktorija ili iz jednog napravi simbolični link na original.
▓▒░░▒▓╚╩══╦╧═══╨─◄♦
Avatar
ujodarko
Postovi: 207
Pridružen/a: 25 tra 2011, 13:07
Spol: M
OS: Mint KDE, Studio
Lokacija: svemir :)

Re: HDD, boot i Linux (molim pojašnjenje termina i pozicije)

Post Postao/la ujodarko »

semiRocket je napisao/la:

Kod: Označi sve

/dev/sdb1 on / type ext4 (rw,errors=remount-ro,commit=0)
/dev/sdb3 on /home type ext4 (rw,commit=0)
Znači linuxi koji se vrte su sa tog hd? Nisam siguran da li se može demontirati root (/) particiju, ali možeš probati.
jes,
te obje particije su na ekternom disku s kojeg se vrti sustav. Meni se čini moguće isključiti root particiju ukoliko je sustav na neki način više ne treba... Možda bi trebalo sustav "uvjeriti" kako to zapravo i nije root particija! Možda bi mu tako bilo "lakše" otpusitit je ;) na mirovanje.
Za to u skripti fali:

Kod: Označi sve

#!/bin/bash
umount /dev/sdb3
umount /dev/sdb1
hdparm -y /dev/sdb
Sjajno, dodat ću i to!
Pokušaj vidjeti da li ima sistemskih skripti koje počinju sa S u /etc/rd6.d/ direktoriju, ako da pokušaj promijeniti naziv svoje skripte da počinje sa S, tako da se pokrene zadnja:

Kod: Označi sve

sudo mv /etc/rc6.d/K99standby /etc/rc6.d/S99standby
ovo je sadržaj /etc/rc6.d

K20speech-dispatcher
K74bluetooth
K99standby
K99standby.save
README
S10unattended-upgrades
S20sendsigs
S30urandom
S31umountnfs.sh
S35networking
S40umountfs
S60umountroot
S90reboot
BTW: Mislim da na onoj stranici krivo piše, izgleda da je direktorij /etc/rc0.d zadužen za shutdown. Da budeš siguran napravi kopiju u oba direktorija ili iz jednog napravi simbolični link na original.
... postoje mape rc0.d, rc1.d, rc2.d pa tako sve do rc6.d, ali i rcS.d
Koja mapa vodi hardveraj na neku konkretnu, od strane korisnika željenu akciju... ti vjerojatno znaš, ali ja nemam pojma :cigara

Ovako laički, sanjarim kako bi sav taj... unmount i hdparm -y /dev/sdb zapravo trebao biti sadržan u skripti halt. Ona se nalazi u /etc/init.d
Ondje se nalazi skripta, a prećica koja vodi do nje nalazi se u /etc/rc0.d i ima naziv S90halt.

E sada... po nekoj mojoj logici, ako halt skripta gasi računalo tj. zaustavlja stroj i gasi napajanje... ne bi li onda možda baš u njoj trebali biti podaci o otkapčanju (parkiranju glava eksternog) diska s kojeg se vrti sustav? Ako da, tj. ako ima logike u tome... gdje ubaciti tekst kojeg smo na početku planirali staviti u posebnu skriptu K99standby?

Evo koda skripte halt. Ako imaš saznanja, molim te javi na koje se mjesto može ubaciti (i može li se to uopće) odmontiranje i 'parkiranje' glava diska.

Kod: Označi sve

#! /bin/sh
### BEGIN INIT INFO
# Provides:          halt
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:      0
# Short-Description: Execute the halt command.
# Description:
### END INIT INFO

NETDOWN=yes

PATH=/sbin:/usr/sbin:/bin:/usr/bin
[ -f /etc/default/halt ] && . /etc/default/halt

. /lib/lsb/init-functions

do_stop () {
	if [ "$INIT_HALT" = "" ]
	then
		case "$HALT" in
		  [Pp]*)
			INIT_HALT=POWEROFF
			;;
		  [Hh]*)
			INIT_HALT=HALT
			;;
		  *)
			INIT_HALT=POWEROFF
			;;
		esac
	fi

	# See if we need to cut the power.
	if [ "$INIT_HALT" = "POWEROFF" ] && [ -x /etc/init.d/ups-monitor ]
	then
		/etc/init.d/ups-monitor poweroff
	fi

	# Don't shut down drives if we're using RAID.
	hddown="-h"
	if grep -qs '^md.*active' /proc/mdstat
	then
		hddown=""
	fi

	# If INIT_HALT=HALT don't poweroff.
	poweroff="-p"
	if [ "$INIT_HALT" = "HALT" ]
	then
		poweroff=""
	fi

	# Make it possible to not shut down network interfaces,
	# needed to use wake-on-lan
	netdown="-i"
	if [ "$NETDOWN" = "no" ]; then
		netdown=""
	fi

	log_action_msg "Will now halt"
	halt -d -f $netdown $poweroff $hddown
}

case "$1" in
  start)
	# No-op
	;;
  restart|reload|force-reload)
	echo "Error: argument '$1' not supported" >&2
	exit 3
	;;
  stop)
	do_stop
	;;
  *)
	echo "Usage: $0 start|stop" >&2
	exit 3
	;;
esac

:
Hvala! Hvala!
open code i open mind cijelom čovječanstvu ;)
semiRocket
Postovi: 287
Pridružen/a: 13 lip 2009, 03:34

Re: HDD, boot i Linux (molim pojašnjenje termina i pozicije)

Post Postao/la semiRocket »

Nije dobro uređivati originalne sistemske skripte, iz razloga što nadogradnja može prebrisati tvoja uređenja. A i može se zbrljati sistem ako se negdje pogriješi.

Po meni ako S99 ne radi, probaj staviti ranije prije skripte koja gasi računalo, a nakon skripte koja demontira filesisteme. S61standby npr.

Jesi siguran da je skripta izvršna? napravio chmod +x. Provjeri naredbom

Kod: Označi sve

ls -l /etc/rc6.d/
pored tvoje datoteke bi trebali biti x u prvom stupcu:. Nešto kao: -rwxr-xr-x
▓▒░░▒▓╚╩══╦╧═══╨─◄♦
Avatar
ujodarko
Postovi: 207
Pridružen/a: 25 tra 2011, 13:07
Spol: M
OS: Mint KDE, Studio
Lokacija: svemir :)

Re: HDD, boot i Linux (molim pojašnjenje termina i pozicije)

Post Postao/la ujodarko »

Kod: Označi sve

ls -l /etc/rc0.d
total 12
lrwxrwxrwx 1 root root  27 2011-11-14 01:19 K20speech-dispatcher -> ../init.d/speech-dispatcher
lrwxrwxrwx 1 root root  19 2011-11-14 01:19 K74bluetooth -> ../init.d/bluetooth
-rwxr-xr-x 1 root root  31 2011-11-16 01:10 K99standby
-rw-r--r-- 1 root root 353 2009-09-07 20:58 README
lrwxrwxrwx 1 root root  29 2011-11-14 01:19 S10unattended-upgrades -> ../init.d/unattended-upgrades
lrwxrwxrwx 1 root root  18 2011-11-14 01:19 S20sendsigs -> ../init.d/sendsigs
lrwxrwxrwx 1 root root  17 2011-11-14 01:19 S30urandom -> ../init.d/urandom
lrwxrwxrwx 1 root root  22 2011-11-14 01:19 S31umountnfs.sh -> ../init.d/umountnfs.sh
lrwxrwxrwx 1 root root  20 2011-11-14 01:19 S35networking -> ../init.d/networking
lrwxrwxrwx 1 root root  18 2011-11-14 01:19 S40umountfs -> ../init.d/umountfs
lrwxrwxrwx 1 root root  20 2011-11-14 01:19 S60umountroot -> ../init.d/umountroot
lrwxrwxrwx 1 root root  14 2011-11-14 01:19 S90halt -> ../init.d/halt
-rwxr-xr-x 1 root root  65 2011-11-18 23:00 S99standby
isto ispiše i s ls -l /etc/rc6.d naredbom.
U obje mape su S99, a ostala je i K99...
No, ne. I dalje "zaškripi".

Ma... zar nije čudno da zaškripi eksterni HDD, a interni pri gašenju NE!
Pri reboot-u nema škripanja jer (izgleda) računalo tj. laptop ne ugasi napon na USB portu. Jedino je shut down problematičan.

Kako mi nije bitno (mogu reinstalirati OS milijun puta ako treba), otvorio sam onu halt dadoteku do koje sustav dolazi prečicom S90halt.
I.... ubacio sam hdparm -y /dev/sdb i zamisli, morao sam još nakon toga ubaciti i pause 20 da bih u tih 20 sekundi doživio parkiranje glava!
Sustav ugasi eksterni disk, on se zaustavi za tih 20sec, ali onda ga (kvragu) sustav ponovno starta i sekundicu nakon ponovno ugasi na način naglog ukidanja struje tj. uz škripu.

Pitam se... što li se to još odigrava pod skriptom halt nakon mojeg ubacivanja naredbe za parkiranje glava sdb diska?
Nakon moje ubačene naredbe slijedi ova:

halt -d -f $netdown $poweroff $hdddown

Trebalo li bi negdje stajati i npr. $sdbdown?
Malo maštam... ali ako je tu navedeno $hdddown, što bi to drugo značilo nego "parkiraj i ugasi interni disk"?
Zar ne? OS očito treba root particiju da izvrši i tu $hdddown naredbu, ali da je nakon nje i naredba koja gasi eksterni disk... možda bi se ja napokon dočepao riješenja :D
Što misliš o tome?

Kod: Označi sve

       netdown="-i"
        if [ "$NETDOWN" = "no" ]; then
                netdown=""
        fi

        # Ovo sam ja dodao.
        log_action_msg "Will now halt"
        hdparm -y /dev/sdb
        sleep 20
        [b]halt -d -f $netdown $poweroff $hdddown
[/b]}

case "$1" in
  start)
        # No-op
        ;;
  restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
  stop)
        do_stop
        ;;
  *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac

:
open code i open mind cijelom čovječanstvu ;)
semiRocket
Postovi: 287
Pridružen/a: 13 lip 2009, 03:34

Re: HDD, boot i Linux (molim pojašnjenje termina i pozicije)

Post Postao/la semiRocket »

$netdown $poweroff $hdddown su varijable koje se vjerovatno proslijeđuju između skripti. Vjerovatno te varijable uređuju predhodne skripte, dodavajući odgovarajući parametar ovisno o stanju ili puste praznu varijablu (parametar isključen) naredbi halt. Vidi ovdje. Što drži disk budnim nemam pojma više particije bi trebale već biti demontirane predhodnim skriptama sudeći po nazivu istih.

Možda upali slijedeće, pokrene halt i hdparm istovremeno, te nakon naredbe hdparm, naredbu sleep

Kod: Označi sve

halt -d -f $netdown $poweroff $hdddown & hdparm -y /dev/sdb && sleep 20
Ili pokrene sve 3 naredbe jednu iza druge (Ovo možda neće raditi jer će računalo možda već biti ugašeno)

Kod: Označi sve

halt -d -f $netdown $poweroff $hdddown && hdparm -y /dev/sdb && sleep 20
▓▒░░▒▓╚╩══╦╧═══╨─◄♦
Avatar
ujodarko
Postovi: 207
Pridružen/a: 25 tra 2011, 13:07
Spol: M
OS: Mint KDE, Studio
Lokacija: svemir :)

Re: HDD, boot i Linux (molim pojašnjenje termina i pozicije)

Post Postao/la ujodarko »

za sada opet isto...
samo zacvili...

iz nekog razloga naredba halt probudi disk...

može još poneko pitanje?

1 Je li skripta halt u init.d direktoriju zaista posljednja skripta koja se izvršava?
2 Kako to i što osigurava da se interni disk uredno ugasi?
3 Ima li kakve štetnosti za datoteke sustava ako ... moja malenkost, ja, isključim USB disk iz USB porta kada se on zaustavi nakon one prije ubačene naredbe u halt skriptu? Naime, ako sustav ne prođe liniju: halt -d -f $netdown $poweroff $hdddown
hoće li to naštetiti softverskom dijelu (budući je hardver ugašen. Pardon, ugašen je sigurno eksterni disk, ali za interni nisam siguran... idem provjeriti...
open code i open mind cijelom čovječanstvu ;)
Avatar
ujodarko
Postovi: 207
Pridružen/a: 25 tra 2011, 13:07
Spol: M
OS: Mint KDE, Studio
Lokacija: svemir :)

Re: HDD, boot i Linux (molim pojašnjenje termina i pozicije)

Post Postao/la ujodarko »

Nakon prčkanja i prčkanja, ovo je uspjelo ugasiti disk na vrijeme!!!

halt -d -f $netdown $hdddown $poweroff & hdparm -y /dev/sdb

Prije toga sam ostavio naredbu bez $poweroff pa je sustav parkirao glave, zahaltao se, ali ne i ugasio napajanje.
To je ovako izgledalo ;)

slika

Sada se još samo nadam kako se ipak neće predomisliti... Nadam se kako je potraga duga još od Ubuntua 9.04 ... konačno završena.
open code i open mind cijelom čovječanstvu ;)
Odgovori