Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Zasto se pod Linuxom ne moze znati kada je fajl kreiran?

  • 23 odgovora
  • 10.195 pregleda

Najnovija ↓

Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 12:36 · pre 230 meseci #3
Hmm nekim cudom mislim da si pobrkao loncice, oduvek je moglo da se se vidi vreme kreiranja, vreme poslenje promene, i vreme kada je poslednji put prisutpljeno fajlu. Ovo zavisi doduse i od fajlsistema, ali jos i prastari ext2 je ovo podrzavao, evo sta ti vraca stat/fstat/lstat.

Code:

              struct stat {
                  dev_t         st_dev;      /* device */
                  ino_t         st_ino;      /* inode */
                  mode_t        st_mode;     /* protection */
                  nlink_t       st_nlink;    /* number of hard links */
                  uid_t         st_uid;      /* user ID of owner */
                  gid_t         st_gid;      /* group ID of owner */
                  dev_t         st_rdev;     /* device type (if inode device) */
                  off_t         st_size;     /* total size, in bytes */
                  blksize_t     st_blksize;  /* blocksize for filesystem I/O */
                  blkcnt_t      st_blocks;   /* number of blocks allocated */
                  time_t        st_atime;    /* time of last access */
                  time_t        st_mtime;    /* time of last modification */
                  time_t        st_ctime;    /* time of last change */
              };


Potpis
http://speedy-order.com
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 13:02 · pre 230 meseci #4
Citat:
Dejan Lozanovic: [...] oduvek je moglo da se se vidi vreme kreiranja [...] i prastari ext2 je ovo podrzavao, evo sta ti vraca stat/fstat/lstat.
Code:
...
 time_t        st_ctime;    /* time of last change */


Jok, to je vreme promene atributa (dozvola), ne stvaranja. Tako da ima vreme pristupa, izmene sadržaja, i izmene atributa.

Verovatno je nešto Posiksom određeno, jer baš sad uhvatih jednog, i na Meku stat daje samo ova tri vremena, iako onaj njegov sistem podržava i vreme stvaranja (koje se vidi u GUIju...)
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 13:10 · pre 230 meseci #5
Hehe

Sad cemo da slusamo objasnjenja kako nikom ne treba vreme kreiranja fajla ;-)

Citat:

Linuxas A: Meni to nikad nije trebalo, kome to treba uopste?
Linuxas B: To je softverski patent zlog majkrosofta, zato ga nema u Linuxu
Linuxas C: To moze da se odradi uz pomoc -kobasica1 dfjrKrkl -kobasica 2 drkRKdlk | kobasica 3 i rekompajliranja kernela
Linuxas D: Ovo pitanje je postavljeno samo da bi se platio Linux i OSS
Linuxas E: Ako vam se ne svidja odgovor a treba vam, imate source - pa napisite sami
Potpis
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 13:46 · pre 230 meseci #7
Nisam ni primetio da ne postoji file creation date u tim bar starijim fajl sistemima. Pogledajte sta Redhat kaze na ovoj stranici:
Code:

Try it. Type:
ls -al
There's quite a bit more detail now. You can see the file creation date, its size, ownership, permissions and more.

Ali, ok, hajde da vidimo zasto stvarno to nije implementirano ranije?
Potpis
Unices are great!
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 14:33 · pre 230 meseci #8
Citat:
Dundjerski Nemanja: Pogledajte sta Redhat kaze [...] ls -al [...] You can see the file creation date [...] Ali, ok, hajde da vidimo zasto stvarno to nije implementirano ranije?

Ma jok, opet greška, ls -al daje vreme izmene sadržaja.

Citat:
Ivan Dimkovic: Sad cemo da slusamo objasnjenja kako nikom ne treba vreme kreiranja fajla ;-) [...] Linuxas A: Meni to nikad nije trebalo, kome to treba uopste?

Zna nas Ivan u glavu :) Ja već skretao vodu na ovu livadu, na Linuksou gde je Stefan prvo pitao, http://www.linuxo.net/componen...om_smf/Itemid,82/topic,8459.0/ .

Stvarno, dajte neke primere gde se koriste vremena stvaranja, ovi navedeni u gorepomenutoj temi meni dođu pre kao antiprimeri, a po njima vreme stvaranja ne mogućnost, već antimogućnost.

Od novijih datotečnih sistema, recimo rajzer4 takođe piše da ne čuva stvaranje, dok za ekst4 kaže da hoće. Pa se pitam otkud taj raskol.
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 14:56 · pre 230 meseci #9
Svim ljudima kojima ovo predstavlja gorući problem savetujem 1) smirenje nabavkom Unix Haters Handbook-a (tu se mogu naći navedene još desetine ako ne i stotine mana u dizajnu Unixa) i, 2) naravno, brzu migraciju na VMS.

Edit: He, izgleda da ZFS čuva creation timestamp. Eto povoda da konačno migrirate servere na ozbiljan Unix sistem.
Potpis
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 15:03 · pre 230 meseci #10
Citat:
Stvarno, dajte neke primere gde se koriste vremena stvaranja

Recimo, naidjem na sumnjive fajlove, nepoznatog porekla, i jako bih voleo da znam *kada* su dospeli tu.
Vreme izmene ne pomazhe u sluchaju da su menjani vishe od jednom od trenutka kreiranja.
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 15:39 · pre 230 meseci #12
Citat:
NastyBoy: Recimo, naidjem na sumnjive fajlove, nepoznatog porekla, i jako bih voleo da znam *kada* su dospeli tu. Vreme izmene ne pomazhe u sluchaju da su menjani vishe od jednom od trenutka kreiranja.

„Sumnjivac“ samo ako napravi kopiju a izbriše prethodnu verziju, već je uništio stvarni podatak o vremenu prispeća. A to može učiniti iz jednog od sto razloga ako već radi na datotekama pošto ih je smestio tu gde su; i sami programi mogu raditi tako što prvo zapišu novi dokument, pa ako je prošlo kako treba, uklone stari i preimenuju novi. A ako se na datotekama ne radi pošto su smeštene tu gde jesu, onda je vreme izmene/atributa isto kao što bi bilo stvaranja.

Drugo, šta ako su datoteke samo premeštene iz jednog direktorijuma u drugi, koji čak ne moraju biti ni lokalni, već mrežna montiranja (sve dok ne ide preko nekog, hm, protokola, kao FTP/SSH/šta-ga-znam — izvin'te na tehničkoj nesuvislosti :)? Tada će se promeniti samo vreme atributa, tako da bi vreme stvaranja opet „lagalo“ otkada su datoteke tu gde jesu.
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 18:14 · pre 230 meseci #14
Citat:
Dejan Lozanovic: Hmm nekim cudom mislim da si pobrkao loncice, oduvek je moglo da se se vidi vreme kreiranja, vreme poslenje promene, i vreme kada je poslednji put prisutpljeno fajlu.


E, ondak dođe Gentoo ekipa i u svom oficijelnom priručniku za instalaciju (8. Configuring your System) a povodom fstab-a, kaže slijedeće:

Citat:
To improve performance, most users would want to add the noatime mount option, which results in a faster system since access times aren't registered (you don't need those generally anyway).
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 18:28 · pre 230 meseci #15
Sto je sasvim tacno.

Desktop OS-evi nemaju ama bas nikakvu potrebu za "access time" modifikacijom koja ubija performanse fajl sistema zbog ucestalih zahteva promene metadata informacija za fajlove.

Microsoft je access-time snimanje iskljucio u svojim desktop OS-evima od Windows-a XP (mozda i iz 2k, ne secam se) - i drzi to samo na serverskim verzijama OS-a.

Osim toga, access time recording je jedan od razloga koji su doveli do manifestacije onog Debian bug-a koji je skracivao zivot HDD-ovima hheheh:-)

--

Nego, on topic - sve to nema veze sa pracenjem creation vremena, sto uopste ne utice na performanse a moze biti korisno i end-userima, na primer, ako hoce da pregledaju kada su napravili neki fajl. Vecina modernih formata ima svoj "creation date" metadata zapis, bas zbog toga sto nije moguce garantovati ocuvanje ovog podatka sa prelaskom sa fajlsistema na fajlsistem.

Ali, opet, meni bi koristilo da vidim kada je neki .txt fajl napravljen - nije da bih umro ako toga nema, ali je "nice to have" feature, koji nema nikakav uticaj na FS performanse, za razliku od tog access-time recordinga.
Potpis
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 19:40 · pre 230 meseci #16
Citat:
Ivan Dimkovic: Nego, on topic - sve to nema veze sa pracenjem creation vremena, sto uopste ne utice na performanse a moze biti korisno i end-userima, na primer, ako hoce da pregledaju kada su napravili neki fajl.


Ja ništa, ali ništa na temu praćenja vremena kad je fajl kreiran rekao nijesam. Dosad.

Što čovjek da kaže kad se jedna ovako kritična falinka nađe? I kad se otkrije zašto, od Vladivostoka do Ognjene zemlje, svi koji su na ovaj ili onaj način izloženi a Unix-u, a linux-u, pakovanom u kakav uređaj ili serviranom kao glavno jelo, skviče i kukaju (ostat se ovdje od kuknjave ne može, na ovu mećavu) zašto im se potura polufabrikat koji ovako jednu kritičnu funkciju ne podržava.

Nego čovjek da preklopi i da postiđeno ćuti, kad je pomislio da bez ovakve jedne stvari može da se živi, a kamoli radi na računaru.
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 19:56 · pre 230 meseci #17
Elem, konstatovali smo da je to missing feature - koji ima vrlo bogat istorijat razloga :-)

Nista bitno naravno, ali nije lose znati ;-)
Potpis
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 20:14 · pre 230 meseci #18
Citat:
Časlav Ilić: dajte neke primere gde se koriste vremena stvaranja, ovi navedeni u gorepomenutoj temi meni dođu pre kao antiprimeri, a po njima vreme stvaranja ne mogućnost, već antimogućnost.


Ama sto bih morao bilo kome da dajem bilo kakav primer?!! Jednostavno, bilo bi lepo kad bih na ext3, file system-u koji ja koristim, imao taj feature. Sto rece Ivan, nije da bih crkao bez njega, ali antimogucnost and stuff...? Right!
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 21:27 · pre 230 meseci #19
Citat:
BrokeBody: Ama sto bih morao bilo kome da dajem bilo kakav primer?!! Jednostavno, bilo bi lepo kad bih na ext3, file system-u koji ja koristim, imao taj feature.


Heh, zašto bi morao da bilo kome daješ bilo kakav primjer? Zato što funkcija koje spadaju u "lijepo bi bilo" uvijek ima više od ruku koje mogu da ih implementiraju, eto zato. Nezavisno od toga da li se o open source ili komercijalnom softveru radi. Ja ekipi koja održava softver koji mi se vrti 24/7 na mašini (razvojni alat) kad ovakve stvari prijavim, znam da ću naletjeti na "smiješak Mona Lize". Kad im roknem poruku "ovo je kritična funkcija, evo dokaz da ne radi"... patch je tu očas posla.

Ovdje ti ljudi kao argument na pitanje "zašto ne postoji" poturaju "zato što ne postoji kritična masa onih kojima to treba", u suštini. Unix postoji otkad sebe, pojavljivali se novi fajl sistemi, ljudi koji su kao i ti mislili "lijepo bi bilo", ili kojima je ta funkcionalnost objektivno trebala, ne branim, su očigledno u N situacija bili ili zapostavljeni, ili preglasani.

Ne znači da se sjutra neće pojaviti, ali se sigurno neće pojaviti ako korisnici kojima to treba ćute. Naravno, mogućnost "glasanja nogama" i korišćenja NTFS i/ili FAT sistema, kome je baš toliko stalo, a za koje nam je specifično napomenuto da takve ljepote troše uvijek ostaje kao alternativa.
Re: Zasto se pod Linuxom ne moze znati kada je fajl kreiran? 03.12.2007. u 21:28 · pre 230 meseci #20
Citat:
Ivan Dimkovic: Ali, opet, meni bi koristilo da vidim kada je neki .txt fajl napravljen [...]

Za šta bi ti koristilo? Šta ako ti je uređivač teksta podešen da pravi rezerve, premesti prethodnu datoteku u *~, a novi sadržaj upiše u novu?

Citat:
Ivan Dimkovic: Elem, konstatovali smo da je to missing feature [...]

Polako der :)

Kad bih ja zaključivao za druge, rekao bih da su primeri izneti do sada (u ovoj i onoj temi na Linuksou) u stvari antiprimeri — za šta ne treba koristiti vreme stvaranja — te da je, samo na osnovu njih, ovo nedostajuća antimogućnost (ili na srpskom: misfeature).

Sad mi još pade na pamet: pošto je vreme nove datoteke nastale kopiranjem stare jednako trenutku kopiranja, to onda znači da joj vreme stvaranja bude novije od vremena izmene? „Gle ovaj dokument sam otpočeo pošto sam ga poslednji put izmenio!“ — baš intuitivno :) Iako je, naravno, ovakvo razmišljanje posledica brkanja vremena nastanka sadržaja i nastanka nosioca sadržaja, koja samo slučajno mogu biti ista. Isto čine i svi dosadašnji primeri, osim Bojanovog, gde je poistovećivanje sa prvom pojavom sadržaja na određenom mestu.

Citat:
BrokeBody: Ama sto bih morao bilo kome da dajem bilo kakav primer?!! Jednostavno, bilo bi lepo kad bih na ext3, file system-u koji ja koristim, imao taj feature. [...]

Kad tražiš novu mogućnost, moraš da obrazložiš čemu služi, i posebno, da paziš na zbrku koju može izazvati. U ovom konkretnom slučaju, rekao bih da želiš nešto što će ti podilaziti, da kažem, ne-baš-najboljoj navici.

Ja nemam problema sa pretpostavkom da vreme stvaranja može poslužiti za neke ziher-administrativne zahvate (mada još uvek bez primera :), valjda ga zato neki noviji sistemi i uvode. Ali bi za mene laika trebalo da ide sa velikim, prijateljskim natpisom „oslonite se na njega samo ako ga dobro shvatate!“
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme