To je spis zjevna stupidita Linuxu, kdy system neumoznuje zamykat soubory treba jako ve Windows. Tudiz je vcelku bezne, ze nekdo muze smazat soubor co je otevreny. Tahle (jak ty rikas) „ficura“ se da ve Windows pri otvirani souboru zajistit taky, ale kdo by to delal, snad jen debil … jediny takovy „skvely“ program, ktery tuhle „ficuru“ vyuziva se kterym jsem se setkal je GOM player, hrozna sracka.
Takže jedině superinteligentní vševědoucí víceneuživatelchytřejší systém Windows ví lépe než uživatel, že když chce uživatel smazat soubor, tak ho vlastně smazat nechce, což zjistí superinteligentním altorigmem přímo z Redmondu, zvaným „doNotDeleteIfOpen“. ???
Takovýto systém opravdu používat nechci. Když chci smazat soubor, tak ho chci smazat, ne že mi systém bude říkat „teď to nejde, protože je otevřený“ :P
>To za tebe nerozhoduje system, ale programator,
Aha… takže chyba systému to není… To ty názory měníte náhodně, nebo podle toho odkud vítr fouká?
Proč mi programátor podsouvá, že všechny otevřené soubory musím mít zamčené? Proč když chci smazat odkaz na soubor, který již není potřeba, musím čekat až jej vážené aplikace opustí? Možná zapomínáte, že tím, že smažu v linuxu odkaz na soubor, vlastně nešahám na obsah souboru. A podobně když čtu soubor, proč mi má vadit, že už k němu neexistuje žádný odkaz?
Ale to by bylo asi na delší povídání, když má člověk zúžené uvažování tím že kouká na vše pouze skrz okno :)
On celkově ten přístup typu „nesmažu, i když k tomu nemám žádný důvod“ mi hrozně připomíná Visty… "jak uživatel může vědět kdy se má systém hibernovat nebo vypnout nebo třeba kdy chce systém používat… jen ať zmáčkne ten čudlík, mi mu ukážeme kdo tady co ovládá :D
hm, takze:
ad odkaz na soubor:
ad visty: zatim jsem na nich nenarazil na zadny vetsi problem. me vsechno funguje.
ad kdo to tady ovlada: pokud mate tak silnou potrebu neco ovladat, zkuste se poradit s psychiatrem. a opet, pokud to neudelate, pripravite si jen dlouhe roky trapeni.
Páni, inode, hm… to jste mě dostal, vrhá to úplně jiné světlo na můj příspěvek a ten nyní kompletně postrádá smysl :D
>windowsy nejsou unixove a pokud verite, ze by
Nevím, proč myslíte že věřím? Proč myslíte, že mě to trápí? … Na druhou stranu, proč myslíte že Windows mají čím dál lepší podporu konzolového ovládání (určitě ne kvůli takovým vizionářům, kteří posílají lidi k psychiatrům).
>Takze se soubor stahne, zavre, v tu chvili zmizi
Co je na tom nelogického? Nařídil jste počítači aby stáhnul soubor? Nařídil jste mu aby soubor smazal? Co Vás osobně vede k myšlence, že smazáním souboru se má ukončit nějaký proces? Proč takové nesmysly chcete po systému? Nebo zeptám se jinak.. proč u windows když uživatel chce odstarnit program, nestačí mu smazat odkaz z menu? To je podle mě logičtější než aby systém sám ukončil proces kvůli mazání souboru.
ad visty: zatim jsem na nich nenarazil na zadny vetsi problem. me vsechno funguje.
No vidíte, já slyšel i dokonce o tom že existují uživatele Acer Notebooků, kteří jsou spokojený… lidi toho napovídají :) Já bohužel stejnou zkušenost s Vistama nemám, a neznám (osobně) nikoho kdo by si je chválil. Je pravda že je mám teprve rok a zatím pouze s SP2, ovladače přímo od výrobce notebooku, vše pravidelně aktualizováno, žádné speciality. Modrá obrazovka je oslavou nového týdne, startuje to tak rychle, že v práci si stihnu uvařit kávu (start z hibernace je stejně dlouhý jako nový boot), při odchodu z práce kliknu na hibernaci a než můžu notebook sbalit, stihnu přerovnat knihovnu a uklidit si stůl (cca 2–4 minuty, podle toho jak se jim chce) (to že můžu dát zapnutý notebook do tašky, že se sám vypne, na to už nevěřím… párkrát jsem to udělal a jsem rád že mi taška neshořela a notebook se neroztavil než se vybila baterka). Asi už jsem na ty nový OS moc starý ;)
PS: to používáte při psaní příspěvku linux, nebo u Windows neumíte nastavit klávesnici? Nebo patříte k těm co jsou pro znovuzavedení spřežek?
Z hlediska významu svých příspěvků stále nevidím důvod proč nepoužít slova soubor, ale rád se nechám poučit (považujete soubor za odkaz na inode, nebo samotná data? nebo co by jste označil za soubor vy? já bohužel považuji soubor za něco co obsahuje jak data tak i metadata o datech, něco jako složka/spis v papírové podobě, ve které máte jednak informace, ale zároveň i metadata těch informací, jestli to pak nazvu slovem inode nebo slovem soubor je pro mě irelevantní).
Jinak souhlasím že není o čem se bavit. S člověkem, který se všechny kolem sebe snaží urážet opravdu nemám potřebu se dále bavit.
Chápu výhody zámků, chápu nevýhody zámků. Chápu váš postoj z hlediska výhod mandatory zámků… nicméně nesouhlasím s tím, že nezamykání je „zjevna stupidita Linuxu“. Podle mě oba přístupy (jak mandatory zámek, tak i bez něj) jsou řešením, které má logiku.
PS: Pokud Vás osobně baví žít mezi samými blbci a debily, tak možná budete brzy potřebovat psychiatra Vy. Pokud Vás to nebaví, zkuste trochu více otevřít mysl a hledat důvody PROČ (někdo něco píše, něco dělá …).
ad ps: podivejte, radu let jsem to byl ja, kdo lidem v linuxove komunite s necim pomahal. tj. ja jsem vyresil problem a radil jsem dalsim, jak ho vyresit. dlouhodobe se zivim jako linuxi admin. musel jsem si opravovat drivery, protoze debil ‚developer‘ to bud neumel, nebo nechtel udelat. portoval jsem linux 2.6 na jednu armovou masinu. takze si myslim, ze povazovat vetsinu lidi z linuxove komunity za debily je z meho pohledu naprosto opravnene. a mam komunity akorat tak dost.
pokud ten nazor nezastavate, podivejte se treba dovnitr php (obzvlast funkce php_mail je lahudka). ukazuje to, ze programatori php v realu programovat vubec neumi, nechapou ani to, k cemu jsou v cecku funkce. misto nich pouzivaji ifdef. :-( podobne, kdyz uz jsem u toho php, kdyz jsem zkousel pred asi 5ti lety v php kodu neco menit, nektere knihovny nesly prelozit znova (tj. blblo obycejne make clean :-( ).
co se tyka znamejsich programu, psanych v php, muzu dat za priklad neschopnosti treba templatovy engine smarty. tomu jsem chtel udelat security audit a narazil jsem na takovou prasarnu, ze jsem s tim rychle prestal. tj. kouknete se na mechanismus, kterym smarty preklada templaty do php kodu.
nebo se muzeme podivat do nejake commandlinove utility. typicky problem u linuxich utilit je v tom, ze vubec neresi bezpecnost. tj. pokud nekterou z nich pouzivate, spoustite z nejakeho skriptu pod rootem a utocnik muze podvrhnout data, mate skoro 100% pravdepodobnost, ze davate utocnikovi s shellovymi pravy rootovska prava. navic dnesni linuxove distribuce obsahuji ‚cool‘ varianty na stare utility, tj. obsahuji hromadu neprovereneho kodu. neprohlasil byste po tomhle programatory, kteri pisi dane utility za debily?
nebo se muzeme podivat primo do vnitrnosti posvatne kravy, linuxiho kernelu. treba alsovsky driver pro sb live ma v sobe v makrech psany kompilator do strojaku blasterovkeho dsp. a zadnou moznost upravovat kod v dsp z userspace. pritom kdyz se podivame na oss driver, ten poskytuje mechanismus k managovani kusu dsp progamu, jejich propojovani, mapovani ovladani na mixer. a k tomu ma userspacovy kompilator, ktery produkuje kusy dspckoveho kodu. tj. autora alsovskeho driveru muzeme, i pres mnozstvi patchu, ktere v kernelu ma, s klidem prohlasit za neschopneho debila, protoze misto toho aby pouzil normalni reseni, zbastlil nejaky svuj pochybny kus kodu (protoze nemusi byt pouzitelny, hlavne ze je jeho, ze..).
jo, a pokud vam vadim ja, zkousel jste se uz nekdy bavit treba s johankou (tj. clovekem, ktery pravidelne oznacuje lidi okolo za debily)?
Nebo zeptám se jinak.. proč u windows když uživatel chce odstarnit program, nestačí mu smazat odkaz z menu? To je podle mě logičtější než aby systém sám ukončil proces kvůli mazání souboru.
No, ono to Widle mají – když user zvolí smazat zástupce ukazujícího na EXE, v obvyklém dialogu potvrzeni smazani se navíc zobrazí odkaz a hláška nabízející odinstalování odpovídajícího programu.
No u Vist máte pravdu, že při mazání přímo v menu „start“ se zobrazí hláška, že odstraněním zástupce se program NEODINSTALUJE a je tam opravdu odkaz na Ovládací panely\Programy a funkce… ALE S TÍM, že by odkaz vedl přímo na patřičný program, nebo dokonce kliknutím na tlačítko odinstalovat by se příslušející program odinstaloval UŽ SOUHLASIT NEMŮŽU.
to neni o inteligenci, ale o rizeni pristupu. kdyz si aplikace zamkne soubor, tak je proste zamceny a system to hlida. v linuxu jde tohle obejit, coz se vyuziva k nekolika prasackym trikum (treba pri updatovani os).
windows maji pro podobny pripad nastroj, ktery umi mazat a presouvat soubory pri restartu. tj. ve chvili, kdy zadna aplikace nebezi.
to je potreba v linxuu taky, protoze kdyz neco updatujes, updatujes i knihovny a kvuli tem knihovnam se to musi restartovat, jinak aplikace blbnou. nejde to delat po malych castech, protoze dneska uz jsou ty aplikace natolik provazane, ze je lepsi radsi restartovat vsechno. :-(
jak uz jsem psal nekolikrat, linux je ted na urovni win98. :-((
ano, pokud zvolite restart po malych castech, mohou nastat 2 situace:
pro me je v linuxu jednodussi restartovat server, nez resit nekolik hodin tyhle blbosti. jsou tam hromady ruzne zavislych knihoven, cache a dalsi kraviny, ktere zamezuji normalni funkci po update. restart trva jen par minut..
nekdy ale nepomuze ani to, si treba vzpominam, jak jsem na rh tusim 6 updatoval mysql. dementni programatori tomu mysql neudelali binarni kompatibilitu, takze po updatu na vyssi verzi se chovalo naprosto silene a hlavne pomalu. musely se udelat unloady a nasypat tam data znova. coz bylo fakt cool :-( uvazime-li, jak byla ta db velika a rychlost disku. od te doby mysql uprimne nenavidim.
Restart po castech? V linuxu (resp. unixu obecne) lze pri upgradu na novou verzi restartovat napr. SSH nebo Apache aniz by se tim zabily stara spojeni (ty doobslouzi stara verze, zatimco nova spojeni uz vezme nova), coz je na Windowsech asi nemozne (napr. restart IIS = vsichni co neco stahuji jsou odpojeni)
bezne updatujem kniznice a este nebolo treba ziaden server koli tomu rebootovat … jediny dovod preco linux rebootovat je rekompilacia jadra – ale mam pocit ze uz aj to ide bez rebootu.
Ja zas mam v zivej pamati ako 98ky pytali reboot pri zmene konfiguracie sietovej karty… to linux nerobil ani v tej dobe a ani p[redtym. Cize porovnavat linux a operacny system kde najdolezitejsia featura je tienvrhajuci kurzor mysi na ovladanie haldy wizardov – je viac ako usmevne.
Ale aby som sa vyjadril k teme – ak ako velky Administrator chcem zmazat subor otvoreny inym uzivatelom, tak predsa neocakavam chybove hlasenie – pretoze nejaka bezvyznamna lampa si ten subor otvorila a lockla. Ak koli tomu je potrebne rebootovat widle, pripadne zakupit si nejaku licenciu na enhanced delete, tak to have fun :)
A nespamuj tu forum kravinami ak linux poznas len z buletinu z domeny microsoft DOT com. Predpokladam ze si sa tam docital aj to ze linux nepodporuje SMP, nevie vyuzit viac ako 4MB RAM a nema dychberuce klikacie rozhranie
stay in peace
To je super věc, hlavně v momentě, kdy mi na Widlích spadne při zavírání Word a nechá po sobě tisíce dočasných souborů. Tyto soubory ovšem nelze smazat, protože systém si stále myslí, že jsou používané, takže kromě požadovaného dokumentu je ve složce dalších tisíc souborů k ničemu, které lze smazat až po restartu systému. Naštěstí na Linuxu jsem pánem nad soubory já a ne ten systém jako u Widlí.
jo, jde. treba pres utilitku http://www.codeguru.com/…e.php/c1287/, pres process explorer atd.. nastroju je na to aspon 20.
Jenže to je přes utilitku, kterou je potřeba najít a do systému dodat, systém sám o sobě to v běžné formě nenabízí. A to mě nezajímá, protože nechci systém ladit dodáváním podobných utilit, chci ho používat. Připomíná mi to WM na PDA, tam aby to fungovalo ke spokojenosti, je třeba dodat dalších deset programů, které pak umožňují to, co je na jiných systémech zcela běžné.
Nastroju je asi 20, ale bohuzel zadny neni vicemene pouzitelny – podivej se, jak to funguje – ta utilita zavre handly ve vsech procesech, co pouzivaji dany soubor, coz znamena, ze veskery pristup do souboru se nezdari. Je to uplne neco jineho, nez chces – vetsina aplikaci prestane delat to, co od ni vyzadujes. Zacnou se totiz vyhazovat vyjimky, nefunguje cteni a podobne. Ano, aplikace by to teoreticky mohla mit osetrene ale prakticky nikdo nepocita s tim, ze jednou otevreny handle se sam zavre, aniz by ho zavrel program sam. V Linuxu s danym souborem dal pracujes a vse funguje jak ma. Bohuzel tohle neokecas, ta utilita je jenom silenej hack, ktery ti pomuze v beznadejnych pripadech, napriklad jako kdy jednou spusteny soubor ve WMP nejde cely dalsi mesic smazat ani po restartu, protoze na nej WMP (jehoz proces defaultne startuje pri spusteni) stale udrzuje handle.
no, dela se to takhle proto, ze ve windows je unikatni ten soubor, kdezto v linuxu inode. kdyz vynutim zavreni/smazani inode, budou mit linuxove aplikace uplne stejny problem.
inodes jsou takovy hloupy hack autoru unixu. na inodech jsou postavene hardlinky. a to je dost problem treba kdyz se chce puvodni unixove rizeni pristupu predelat na neco trochu vic pricetneho, napr. novellovske acl, narazime na problem. ono totiz diky hardlinkum neni jasne, jaka maji vlastne byt pristupova prava prislusneho inode. takze nejde cachovat acl na inode, musi se to vzdy vazat na prislusnou cestu. no, a kdyz se tohle vyresi, tak se clovek akorat boji, aby mu nejaky blb nevyrobil hardlink ze zabezpecene oblasti nekam ven – coz vede na zakaz vyroby hardlinku.
Co bys teda dal?:o) Co mi das, kdyz ti reknu jak?:o) Typicky linux lama uzivatel:) Windows pouzivaji handly a kdyz mas na to prava, tak ho muzes zavrit. Proc by to mela byt dira? Je videt, ze nejsi programator, to tve readonly je jen priznak, ktery aplikace muze v klidu ignorovat a navic kdyz dostanes token s jistyma pravama k nejakemu objektu, tak je vcelku logicke a korektni, ze ten token existuje po celou dobu co je nadrazeny objekt nazivu.
Proc? Asi proto, ze kdyz nejaka aplikace ze souboru cte nebo zapisuje, tak je asi (slusne receno) krajne nevhodne takovy soubor smazat kdejakou jinou aplikaci dle libosti. Nicmene i tahle zhovadilost je ve Windows optional, v Linuxu bohuzel mandatory. Mozna muzes zamknout na nejakem specialnim FS nebo mozna nejakou obezlickou do systemu (jako treba smesna podpora ACL), ale bezne to nejde.
Zadna obezlicka, zadny specialni FS… Linuxove jadro podporuje dva typy zamykani.
Advisory Locks – aplikace se musi zeptat, jestli je dany soubor locknuty
Mandatory locks – ptat se nemusi, je to vynuceny lock
Dale kernel podporuje lockovani s vetsi granularitou – jak mu kaze POSIX – takze se da lockovat cast souboru, lock muze byt lokalni, nebo shared a pod … prosim priste se alespon trochu informujte, neni to zas tak tezke.
Jeste jste me inspiroval se svoji „pro linux je to mandatory“ thesi.
Pro Windows je vzdy „mandatory“ lockovani souboru pri spusteni. V Linuxu zadne takove omezeni neni. Diky tomu odpada spousta restartu systemu/zastaveni kriticke aplikace pri aktualizacich a diky tomu napriklad muzete aktualizovat WEB server za behu a provest pouze jeho restart (stejne tak kazdou jinou kritickou aplikaci, cimz ziskavate nespornou vyhodu).
V jedné nejmenované organizaci narazili na problém se zámky také. V dokumentaci k windows serveru napsáno jedno a ono ejhle. Zmaknu soubor, rvu do něj data a druhej systém dostal echo via zámek, že si jako může dělat co chce, a vono prd. Ten zámek byl ještě zamčenej – ha ha ha Tož podporuji Tvé výroky.
není vše co se třpytí.
A na to jste přišel jak?
Mám-li soubor /var/log/kravina.log a chci ho smazat, tak ho proste CHCI SMAZAT → tj. nezajímá mě už jeho obsah → nezajímá mě ani to, co tam kdo chce zapsat.
Kolikrát už se mi stalo, že byl na Windows otevřenej nějakej konfigurák nějakým obskurním programem na pozadí a proto jsem nemohl smazat, co jsem smazat potřeboval. Takže je potřeba zjistit, kdo má ten soubor otevřený. Aha – a máme na Win lsof, nemáme. Takže stáhnout třeba tohle: http://technet.microsoft.com/…b896653.aspx zjistit teda konecne tu zas*nou utilitu, která to používá (typicky nějaký neprosto nepodstatný updater nějaké kraviny) a potom tedy milostivě soubor smazat.
…a proto je správa Windows tak náročná a drahá – protože s každou trivialitou se člověk zasekne na tři hodiny.
Jj, utility od Sysinternals mi zachranili zivot jiz mnohokrat. Jenom moc netusim proc je treba nepridavaji do Windows by default (MS koupil Sysinternals pred delsi dobou). Treba normalne neni ve win utilita na udelani directory junction (neco podobneho jako symlink na adresar nebo ‚mount -o bind‘), i kdyz to NTFS podporuje.
>> Jenom moc netusim proc je treba nepridavaji do Windows by default
Nejenom tyhle, ale spoustu dalších. Microsoft má spoustu užitečných utilit, akorát je všechny musí člověk ručně stahovat z webu a ještě u každé z nich potvrzovat EULU (pokud si to nepořeší v registrech).
Skoro mi to přijde jako že MS prostě chtěl, aby se ve Windowsech lidi moc nešťourali, i když by to šlo… Hlava mi to nebere.
Je to standardne spravanie nielen linuxu ale aj Unixu (BSD, Solaris, Mac OS X …)
Dokonca sa tato vlastnost vyuziva pri docasnych suboroch. Napriklad ked aplikacia pouziva vela docasnych suborov a povedzme ze ju killnete alebo z nejakeho dovodu zhavaruje zostanu vam tieto docasne subory. Ked si ale vytovrite docasne subory, drzite si ich otvorene a zmazete ich tak v priade ze je aplikacia ukoncena, tak OS za vas tieto subory zmaze.
Takto „stupidne“ sa nechova jedine Windows.
Ona to je tak trochu bezpečnostní díra, ne tak to, jak Linux maže soubory, ale spíš to, že otevřené soubory nějakého programu jsou přístupné přes /proc. Ony jsou takhle MMCH přístupné i roury a sockety, ke kterým by se normálně jiný program, než ten, který je má otevřeny, vůbec nedostal. Asi si dovedete představit, co se stane, když pustíte dva programy mají mezi sebou rouru, a jakýkoli třetí program jim do té roury začne kecat.
No, ono je to do urcitej miery bezpecnostna diera v tom, ze sa za nu daju schovat „nekale aktivity“. Napriklad nejaky program ten subor vytvori, necha si nan otvoreny popisovac a hned ho zmaze. A pokial ten program sam o sebe nie je podozrivy a z jeho cmdline nevidno, ze ma ten subor otvoreny, tak je trochu tazsie zistit, ze taky subor tam je a nieco nemusi byt v poriadku.