[ Astral Projection @ 17.06.2007. 23:40 ] @
E znaci ponekad koristim windows i vratim ga na godinu unazad (2006.) jer mi je istekla registracija za FL. Uglavnom uvijek zaboravim da vratim godinu na 2007. i kad mi se pali linux startuje se fsck. Htio bih da napravim skriptu koja bi se startovala odmah kad se ucita kernel (znaci jedna od prvih bootskripti) koja bi sama vratila godinu na 2007., tako bih izbjegao fsck. Je li ovo moguce izvesti?
[ brcha @ 18.06.2007. 11:50 ] @
Citat:
Astral Projection: E znaci ponekad koristim windows i vratim ga na godinu unazad (2006.) jer mi je istekla registracija za FL. Uglavnom uvijek zaboravim da vratim godinu na 2007. i kad mi se pali linux startuje se fsck. Htio bih da napravim skriptu koja bi se startovala odmah kad se ucita kernel (znaci jedna od prvih bootskripti) koja bi sama vratila godinu na 2007., tako bih izbjegao fsck. Je li ovo moguce izvesti?


Najbolje resenje ti je da skines novu verziju ili novi krek za FL (sta god ti to bilo...) i da ostavis godinu na miru.

Sto se tice fsck-a, verovatno se startuje zbog te godine, te je zbog toga najefikasnije da izeditujes samu skriptu koja startuje fsck (ne znam koju distribuciju imas, ali verovatno se zove check_fs ili check_root ili mount_nesto i tako dalje, a mozda se zove i samo fsck). Dodaj na pocetak komandu tipa sledece:

Code:

 date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]


da bi saznao trenutni datum, odradi u skripti nesto tipa:

Code:

YEAR=`/bin/date +%F | /usr/bin/awk -F'-' -- '{print $1}'`
MONTH=`/bin/date +%F | /usr/bin/awk -F'-' -- '{print $2}'`
DAY=`/bin/date +%F | /usr/bin/awk -F'-' -- '{print $3}'`

HOUR=`/bin/date +%T | /usr/bin/awk -F':' -- '{print $1}'`
MINUTE=`/bin/date +%T | /usr/bin/awk -F':' -- '{print $2}'`
SECOND=`/bin/date +%T | /usr/bin/awk -F':' -- '{print $3}'`


i iza toga da podesis datum:

Code:

/bin/date ${MONTH}${DAY}${HOUR}${MINUTE}$((++YEAR))


najbolje bez sekundi, da ih ne bi zajebao... Sad, ovaj metod moze da te zezne u vezi minute, ako je bilo sekund do kraja minuta i slicno, a, ako si bas nesrecan u izboru trenutka za paljenje racunara, moze da te sjebe i za sat, dan, mesec i godinu, ali jebiga, pazi na te "detalje". I pazi, ovako podeseno ce da ti podesi svaki put godinu na sledecu, a ako bas hoces 2007-mu, onda mesto onog $((++YEAR)) stavi 2007.

Takodje bi bilo uputno da ubacis neki ntp-client koji ce sa neta da skine tacno vreme. Samo sto bi se on aktivirao tek kasnije, te ti ne bi resavao problem oko fsck-a.

PS: Proveri tacne lokacije za date i awk na tvom sistemu, da ne bi bilo nekih problema.
[ chupcko @ 18.07.2007. 10:03 ] @
Amateri :P

Jel cita neko man ?

probaj : date -s year
a posle vrati sa : date -s 'year ago'

A ako ne upisujes vreme u bios, i ne moras da ga posle vracas :)
[ brcha @ 14.08.2007. 13:12 ] @
Citat:
chupcko: Amateri :P

Jel cita neko man ?

probaj : date -s year
a posle vrati sa : date -s 'year ago'

A ako ne upisujes vreme u bios, i ne moras da ga posle vracas :)


Ajd pročitaj ti taj man još malo pre nego što počneš da pišeš gluposti ovde. date -s služi za setovanje datuma te komanda date -s year pokušava da podesi datum na „year“ što rezultuje sledećom porukom:

Code:

[[email protected] ~]$ date -s year
date: cannot set date: Operation not permitted
čet, 14. avg 2008.  14:07:36 CEST


Za razliku od te komande ova druga date -s 'year ago' pokušava da podesi datum na „year ago“ što rezultuje potpuno različitom porukom sledećeg karaktera:

Code:

[[email protected] ~]$ date -s 'year ago'
date: cannot set date: Operation not permitted
pon, 14. avg 2006.  14:08:56 CEST


Korišćnjem tih komandi se eto vrlo lako podesi datum na prethodnu godinu, zar ne? Ili možda da ti ipak pročitaš još mnogo puta taj man pre nego što počneš da pišeš gluposti i prozivaš bez osnove.
[ chupcko @ 14.08.2007. 17:46 ] @
Code:

[desktop] 0 /root # date
Tue Aug 14 18:32:48 CEST 2007
[desktop] 0 /root # date -s year
Thu Aug 14 18:32:53 CEST 2008
[desktop] 0 /root # date -s 'year ago'
Tue Aug 14 18:33:08 CEST 2007


Dakle covek je zeleo da podesi vreme, jel tako :)))) zato i ima -s.
E sada da si to isto pokusao kao root, ko zna sta bi bilo :).

E sada posto si amater, probaj sledece, ali pazi da te ne zaboli glava. Raspakuj coreutils, pogledaj src/date.c videces da se argument posle -s parsira sa necim opisanim lib/getdate.c a tu je negde cak i lib/getdate.y opa, sta ce mu yacc fajl, pa zato sto postoji jezik za opis datuma.

Dakle ajde prvo probaj sledece:

Code:

[desktop] 0 /home/chupcko => date -d year
Thu Aug 14 18:42:48 CEST 2008
[desktop] 0 /home/chupcko => date -d "year ago"
Mon Aug 14 18:42:58 CEST 2006
[desktop] 0 /home/chupcko => date -d month
Fri Sep 14 18:43:02 CEST 2007
[desktop] 0 /home/chupcko => date -d "3 month ago"
Mon May 14 18:43:09 CEST 2007
[desktop] 0 /home/chupcko => 


Naravno ako zelis detaljni opis sintakse koja moze posle -s ili posle -d neces je naci u man strani, lepo otvori source, nije dzabe open source program.

P.S. Samo poslednji amater bi pokusao da promeni vreme kao obican user, ipak neke stvari moze samo root da uradi.
[ brcha @ 14.08.2007. 19:18 ] @
Citat:
chupcko
Dakle covek je zeleo da podesi vreme, jel tako :)))) zato i ima -s.
E sada da si to isto pokusao kao root, ko zna sta bi bilo :).


Alo Chupko, ti nisi cuo ton ironije u onome sto sam napisao? Ono kao, nisam li eksplicitno dao primere koji pokazuju da ta opcija radi? A ne vidim zbog cega bih zeleo na svom racunaru da menjam godinu gore-dole, pa stoga nisam nista ni radio kao rut.

Citat:
Naravno ako zelis detaljni opis sintakse koja moze posle -s ili posle -d neces je naci u man strani, lepo otvori source, nije dzabe open source program.


Pa nije open source program. Idi pitaj RMS-a sta misli o OpenSource-u. Usput, ima te sintakse i na info-u, tako da nije neophodno prckati po sorsu da bi se procitala sintaksa (doduse ne garantujem da nema neki deo sintakse koji nije opisan u info-u).

PS: Kul ti je prompt. Samo me zanima cemu ti sluzi ova 0 posle hostnejma?
[ chupcko @ 14.08.2007. 20:27 ] @
Nema ironije kod mene, ja lepo citam sta pise.

Coreutils jeste opensource jer sam uspeo da otvorim source.

Sto se tice man strane, i info-a, sve zavisi od distribucije. U mojoj distribuciji nema :).

Sto se tice 0 u promptu :) to je exit kod prethodne komande

Code:

[desktop] 0 /home/chupcko => false 
[desktop] 1 /home/chupcko => true
[desktop] 0 /home/chupcko => (exit 10)
[desktop] 10 /home/chupcko => (exit 12345)
[desktop] 57 /home/chupcko => (exit -1)
[desktop] 255 /home/chupcko => 


P.S. Sto se tice postavljanja datuma, pogledaj jos jednom naslov "Treba mi skripta koja ce pri initu da stavi godinu 2007 :)"
[ brcha @ 14.08.2007. 20:55 ] @
Citat:
chupcko: Nema ironije kod mene, ja lepo citam sta pise.

Coreutils jeste opensource jer sam uspeo da otvorim source.


U tom slučaju je i M$ Vindovz OpenSource, pošto je sors lepo kružio po P2P mrežama pre godinu-dve... Mada, ja bi pre rekao da je sav softver sa gnu.org/software/%(name)s više FreeSoftware, jel, pošto otvoreni izvorni kod i slobodni softver generalno ne znače ni približno iste stvari.

Citat:
Sto se tice man strane, i info-a, sve zavisi od distribucije. U mojoj distribuciji nema :).


Ne bi trebalo... Ja imam coreutils bez neke preterane količine pečeva (neki za pam samo) koji je skinut sa gnu.org (što bi se reklo nije redhetov coreutils, pošto mi se čini da oni imaju neku svoju verziju, ako se ne varam, mada sumnjam da u toj drugoj verziji fale info strane). Uz njega regularno dolaze .texi fajlovi sa kompletnim info manualom. A imaš i texi2{html,pdf,štajoš} verzije na gnu.org/software/coreutils. Koji distro ti koristiš? Da ne moraš možda dodatno da instaliraš neki paket tipa „coreutils-info“ ili štogod slično?

Citat:
Sto se tice 0 u promptu :) to je exit kod prethodne komande


Dobra ideja :) Skraćuje pisanje echo $? svaki put kad ne znaš što ti je crk’o program...

Citat:
P.S. Sto se tice postavljanja datuma, pogledaj jos jednom naslov "Treba mi skripta koja ce pri initu da stavi godinu 2007 :)"


Da, ali ja nisam threadstarter i ja nisam imao nameru da stvarno i promenim godinu na svom kompu ;)
[ chupcko @ 14.08.2007. 23:16 ] @
Citat:
brcha: Da, ali ja nisam threadstarter i ja nisam imao nameru da stvarno i promenim godinu na svom kompu ;)


Nisi, ali zapocinjes flame, imas Advocacy za to.

Ja sam samo ukazao na ono sto mnogi ne znaju zato sto su amateri, a to je da date ima opciju da se datum zadaje u raznim oblicima, recimo treba ti koji je dan u mesecu bio juce: date +%d -d yesterday. Cak si i sam konstatovao da postoji to u dokumentaciji. Ali OK, malo si pozurio, mozda nisi znao sa kime pricas :).

Ovim sam zavrsio sve sto sam imao reci na ovu temu :).