{"id":35687,"date":"2019-10-31T22:05:46","date_gmt":"2019-10-31T19:05:46","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kategorii-vmesto-direktorij-ili-semanticheskaya-fajlovaya-sistema-dlya-linux\/"},"modified":"2019-10-31T22:05:46","modified_gmt":"2019-10-31T19:05:46","slug":"kategorii-vmesto-direktorij-ili-semanticheskaya-fajlovaya-sistema-dlya-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kategorii-vmesto-direktorij-ili-semanticheskaya-fajlovaya-sistema-dlya-linux","title":{"rendered":"Kategooriad asemel kataloogid, v\u00f5i Semantilise failis\u00fcsteemi rakendamine Linuxile","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Andmete klassifitseerimine on iseenesest huvitav uurimisteema. Mulle meeldib koguda teavet, mis tundub vajalik, ja olen alati p\u00fc\u00fcdnud luua loogilisi kataloogihierarhiaid oma failide jaoks. \u00dchel \u00f5htul n\u00e4gin unen\u00e4os kaunist ja mugavat programmi failidele siltide kinnitamiseks ning otsustasin, et sedasi elada ei saa.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1 id=\"problema-ierarhicheskih-faylovyh-sistem\">Hierarhiliste failis\u00fcsteemide probleem<\/h1>\n<p><\/p>\n<p>Kasutajad puutuvad sageli kokku probleemiga, kus valida, kuhu salvestada uus fail, ja probleemiga leida oma faile (m\u00f5nikord ei ole failide nimed isegi inimese jaoks meeldej\u00e4tmiseks m\u00f5eldud).<\/p>\n<p><\/p>\n<p>Lahendusena v\u00f5ivad olla semantilised failis\u00fcsteemid, mis on tavaliselt traditsioonilise failis\u00fcsteemi pealispind. Nendes asendatakse kaustad semantiliste atribuutidega, mida tuntakse ka kui silte, kategooriaid ja metaandmeid. Kasutan tihemini terminit &#171;kategooria&#187;, kuna failis\u00fcsteemide kontekstis v\u00f5ib s\u00f5na &amp;#171:silt&#187; m\u00f5nikord kummaliselt k\u00f5lada, eriti kui ilmuvad &#171;alam-sildid&#187; ja &#171;siltide pseudon\u00fc\u00fcmid&#187;.<\/p>\n<p><\/p>\n<p>Kategooriate m\u00e4\u00e4ramine failidele vabastab suurel m\u00e4\u00e4ral salvestus- ja leidmisprobleemidest: kui m\u00e4letad (v\u00f5i aimad) v\u00e4hemalt \u00fchte failile m\u00e4\u00e4ratud kategooriat, siis fail ei kao enam kunagi silmist.<\/p>\n<p><\/p>\n<p>Varem on Habrisse selle teema \u00fcle korduvalt r\u00e4\u00e4gitud (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/27581\/\">kord<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/337202\/\">kaks<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/374465\/\">kolm<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/81352\/\">neli<\/a><\/noindex> jne.), siin kirjeldan ma oma lahendust.<\/p>\n<p><\/p>\n<h1 id=\"put-k-realizacii\">Teekond teostuseni<\/h1>\n<p><\/p>\n<p>Vahetult p\u00e4rast mainitud unen\u00e4o kirjutasin vihikusse k\u00e4surealiidese, mis tagab vajaliku t\u00f6\u00f6 kategooriatega. Siis otsustasin, et protot\u00fc\u00fcbi kirjutamine Pythonis v\u00f5i Bashis v\u00f5tab n\u00e4dal v\u00f5i kaks, ning seej\u00e4rel on vaja rakendada graafiline liides Qt v\u00f5i GTK abil. Reaalsus oli nagu alati palju karmim ning arendus venis.<\/p>\n<p><\/p>\n<p>Algne m\u00f5te oli eelk\u00f5ige luua mugava ja l\u00fchikese k\u00e4surealiidesega programm, mis loob, kustutab kategooriaid, m\u00e4\u00e4rab failidele kategooriaid ja eemaldab kategooriad failidest. Nimetasin programmi <em>vitis<\/em>.<\/p>\n<p><\/p>\n<p>Esimene katse luua <em>vitis<\/em> l\u00e4ks k\u00f5ik pekki, kuna t\u00f6\u00f6 ja instituut n\u00f5udsid liiga palju aega. Teine katse oli juba millegi poolest edukas: magistrit\u00f6\u00f6 raames \u00f5nnestus l\u00f5petada planeeritud projekt ja isegi teha GTK-liidese protot\u00fc\u00fcp. Kuid see versioon osutus nii ebausaldusv\u00e4\u00e4rseks ja ebamugavaks, et tuli palju \u00fcmber m\u00f5elda.<\/p>\n<p><\/p>\n<p>Kolmandat versiooni olen p\u00e4riselt kasutanud juba v\u00e4ga pikka aega, jagades oma faile kategooriatesse, kokku mitu tuhat. K\u00fcll aitas sellele kaasa ka rakendatud bash autokomplekteerimine. Kuid m\u00f5ned probleemid, nagu automaatsete kategooriate puudumine ja v\u00f5imalus salvestada sama nimega faile, j\u00e4id siiski alles ning programm hakkas juba enda keerukuse t\u00f5ttu kokku varisema. Nii j\u00f5udsin ma vajaduseni lahendada keerulise tarkvara arendamise probleeme: kirjutada p\u00f5hjalikud n\u00f5uded, v\u00e4lja t\u00f6\u00f6tada funktsionaalsete testide s\u00fcsteem, uurida pakendamisjuhiseid ja palju muud. N\u00fc\u00fcd olen j\u00f5udnud kavandatule, nii et see tagasihoidlik looming v\u00f5ib minna vabale kogukonnale. Niisugune spetsiifiline failihaldus, nagu haldamine kategooriate kontseptsiooni kaudu, t\u00f5statab ootamatuid k\u00fcsimusi ja probleeme, ning nende lahendamiseks. <em>vitis<\/em> s\u00fcndis \u00fcmber tema veel viis projekti, millest m\u00f5ned kajastatakse artiklis. Kuni t\u00e4naseni <em>vitis<\/em> grafikap\u00f5hist liidest pole omandanud, kuid failikategooriate kasutusmugavus k\u00e4surealt \u00fcletab minu jaoks k\u00f5ik klassikalise graafilise failihalduri eelised.<\/p>\n<p><\/p>\n<h1 id=\"primery-ispolzovaniya\">Kasutusn\u00e4ited<\/h1>\n<p><\/p>\n<p>Alustame lihtsast \u2014 loome kategooria:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis create Muusika<\/code><\/pre>\n<p><\/p>\n<p>Lisame sellesse n\u00e4iteks \u00fche kompositsiooni:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis assign Muusika -f \"The Ink Spots - I Don't Want To Set The World On Fire.mp3\"<\/code><\/pre>\n<p><\/p>\n<p>Kategooria &#171;Muusika&#187; sisu vaadata saab alamaksa k\u00e4suga &#171;show&#187;:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis show Muusika<\/code><\/pre>\n<p><\/p>\n<p>Seda saab taasesitada alamaksa k\u00e4suga &#171;open&#187;.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis open Muusika<\/code><\/pre>\n<p><\/p>\n<p>Kuna meie kategoorias &#171;Muusika&#187; on ainult \u00fcks fail, siis k\u00e4ivitub ainult see. Failide avamiseks oma vaikimisi programmidega tegin ma eraldi utiliidi. <em>vts-fs-open<\/em> (tavainstrumendid nagu xdg-open v\u00f5i mimeopen ei sobinud mulle mitmel p\u00f5hjusel; kuid igaks juhuks, seadetes saate m\u00e4\u00e4rata muu universaalse failide avamise utiliidi). See utiliit t\u00f6\u00f6tab h\u00e4sti erinevates jaotustes koos erinevate t\u00f6\u00f6keskkondadega, seega soovitan koos vitisega selle ka installida.<\/p>\n<p><\/p>\n<p>Failide avimiseks v\u00f5ib ka otse m\u00e4\u00e4rata programmi:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis open Muusika --app qmmp<\/code><\/pre>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kategooriad asemel kataloogid, v\u00f5i Semantilise failis\u00fcsteemi rakendamine Linuxile\" src=\"\/wp-content\/uploads\/2019\/06\/4823ff69e03b2e8b9986eedfe0604a9d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Loome veel kategoriate ja lisame faile k\u00e4suga &#171;assign&#187;. Kui faile m\u00e4\u00e4ratakse veel mitteolevatele kategooriatele, k\u00fcsitakse nende loomise j\u00e4rele. Liigset k\u00fcsimist saab v\u00e4ltida, kui kasutada lippu &#8212;yes.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis assign Programmeerimine R -f \"Sissejuhatus R.pdf\" \"Statistiline paket R: t\u00f5en\u00e4osusteooria ja matemaatiline statistika.pdf\" --yes<\/code><\/pre>\n<p><\/p>\n<p>N\u00fc\u00fcd tahame lisada failile &#171;Statistical package R: probabilities and math statistics.pdf&#187; kategooria &#171;Matemaatika&#187;. Teame, et sellel failil on juba kategooria &#171;R&#187; ja seet\u00f5ttu saame kasutada kategooriate teed Vitis-s\u00fcsteemis:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis assign Matemaatika -v \"R\/Statistiline paket R: t\u00f5en\u00e4osusteooria ja matemaatiline statistika.pdf\"<\/code><\/pre>\n<p><\/p>\n<p>\u00d5nneks v\u00f5imaldab bash automaatne t\u00e4iendamine seda lihtsalt teha.<\/p>\n<p><\/p>\n<p>Vaatame, mis v\u00e4lja tuli, kasutades lippu &#8212;categories, et n\u00e4ha iga faili kategooriate loendit:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis show R --categories<\/code><\/pre>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kategooriad asemel kataloogid, v\u00f5i Semantilise failis\u00fcsteemi rakendamine Linuxile\" src=\"\/wp-content\/uploads\/2019\/06\/7bbaf561e6efe407ec8dfcda3a89c3b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pange t\u00e4hele, et failidele on samuti omistatud automaatsed kategooriad formaadi, t\u00fc\u00fcbi (\u00fchendab formaadid) ja failide laiendite j\u00e4rgi. Need kategooriad on soovi korral v\u00e4lja l\u00fclitatavad. Hiljem teen kindlasti nende nimede lokaliseerimise.<\/p>\n<p><\/p>\n<p>Lisame variatsiooniks &#171;Matemaatikale&#187; veel midagi:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis assign Matemaatika -f \"Matemaatiline anal\u00fc\u00fcs - 1984.pdf\" Perelman_Huvitav_matemaatika_1927.djvu <\/code><\/pre>\n<p><\/p>\n<p>Ja n\u00fc\u00fcd algab huvitav osa. Kategooriate asemel v\u00f5ib kirjutada v\u00e4ljendeid koos \u00fchendamise, ristumise ja lahutamise operatsioonidega, seega kasutada hulgaoperatsioone. N\u00e4iteks &#171;Matemaatika&#187; ja &#171;R&#187; ristumine annab tulemuseks \u00fche faili.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis show R i: Matemaatika<\/code><\/pre>\n<p><\/p>\n<p>Lahutame &#171;Matemaatikast&#187; &#171;R&#187; keele mainimised:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis show Matemaatika R # v\u00f5i vitis show Matemaatika c: R<\/code><\/pre>\n<p><\/p>\n<p>Saame t\u00e4htsusetult \u00fchendada muusika ja keel R:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis show Muusika u: R<\/code><\/pre>\n<p><\/p>\n<p>Lipp -n v\u00f5imaldab &#171;v\u00e4ljav\u00f5tteid&#187; k\u00fcsitava tulemuse numbrite ja\/v\u00f5i vahemike j\u00e4rgi, n\u00e4iteks: <code>-n 3-7<\/code>, v\u00f5i midagi keerulisemat: <code>-n 1,5,8-10,13<\/code>. Tihti on kasulik koos subk\u00e4sklusega open, mis v\u00f5imaldab avada vajalikud failid nimekirjast.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kategooriad asemel kataloogid, v\u00f5i Semantilise failis\u00fcsteemi rakendamine Linuxile\" src=\"\/wp-content\/uploads\/2019\/06\/5e9181a711a88368b38d8cd2f2e628f4.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kuigi me eemalduksime tavalise kaustastruktuuri kasutamisest, on sageli kasulik omada hierarhilisi kategooriaid. Loome alakhirarki &#171;Statistika&#187; kategoorias &#171;Matemaatika&#187; ja lisame selle kategooria sobivale failile:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis create Matemaatika\/Statistika\n\nvitis assign Matemaatika\/Statistika -v \"R\/Sissejuhatus R.pdf\"\n\nvitis show Matemaatika --categories<\/code><\/pre>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kategooriad asemel kataloogid, v\u00f5i Semantilise failis\u00fcsteemi rakendamine Linuxile\" src=\"\/wp-content\/uploads\/2019\/06\/0bb3381f35cfa2fce381ecc66a62701f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>N\u00e4eme, et n\u00fc\u00fcd on sellel failil kategooria &#171;Matemaatika\/Statistika&#187; asemel &#171;Matemaatika&#187; (liigseid linke j\u00e4lgitakse).<\/p>\n<p><\/p>\n<p>T\u00e4pse tee j\u00e4rgi navigeerimine v\u00f5ib olla ebamugav, loome &#171;globaalset&#187; pseudon\u00fc\u00fcmi:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis assign Matemaatika\/Statistika -a Statistika\n\nvitis show Statistika<\/code><\/pre>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Kategooriad asemel kataloogid, v\u00f5i Semantilise failis\u00fcsteemi rakendamine Linuxile\" src=\"\/wp-content\/uploads\/2019\/06\/619c27802802fd93594d3c0050dd78e8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h2 id=\"ne-tolko-obychnye-fayly\">Mitte ainult tavalised failid<\/h2>\n<p><\/p>\n<h3 id=\"internet-ssylki\">Interneti-lingid<\/h3>\n<p><\/p>\n<p>Igakaudu info salvestamise \u00fchtlustamiseks oleks kasulik, v\u00e4hemalt, kategoriseerida lingid veebiresurssidele. Ja see on v\u00f5imalik:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis assign \u0425\u0430\u0431\u0440 \u0426\u0432\u0435\u0442\u043e\u0430\u043d\u043e\u043c\u0430\u043b\u0438\u044f -i https:\/\/habr.com\/ru\/company\/sfe_ru\/blog\/437304\/ --yes<\/code><\/pre>\n<p><\/p>\n<p>Erilised failid luuakse HTML-lehe pealkirjaga ja laiendiga .desktop. See on traditsiooniline otsetee formaat GNU\/Linuxis. Sellised otseteed saavad automaatse kategooria NetworkBookmarks.<\/p>\n<p><\/p>\n<p>Muidugi, otseteed luuakse selleks, et neid kasutada:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis open \u0426\u0432\u0435\u0442\u043e\u0430\u043d\u043e\u043c\u0430\u043b\u0438\u044f<\/code><\/pre>\n<p><\/p>\n<p>K\u00e4skluse t\u00e4itmine toob kaasa just salvestatud lingi avamise brauseris. Kategoriseeritud otseteed veebiallikatele v\u00f5ivad toimida brauseri j\u00e4rjehoidjate asemel.<\/p>\n<p><\/p>\n<h3 id=\"fragmenty-faylov\">Failide fragmendid<\/h3>\n<p><\/p>\n<p>Samuti on kasulik omada kategooriaid ka failifragmente jaoks. Ei ole halb idee, eks? Kuid praegune rakendus katab praegu ainult tavalised tekstifailid, audio- ja videofailid. Oletame, et peate m\u00e4rkima teatud osa m\u00f5nest kontserdist v\u00f5i naljakast hetkes filmist, siis &#171;assign&#187; kasutades saate kasutada lippusid &#8212;fragname, &#8212;start, &#8212;finish. Salvestame &#171;Duck Tales&#187; sissejuhatuse:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis assign vitis assign -c Zastavki -f Duck_Tales\/s01s01.avi --finish 00:00:59 --fragname \"Duck Tales intro\"\n\nvitis open Zastavki<\/code><\/pre>\n<p><\/p>\n<p>Tegelikult ei toimu failide k\u00e4rpimist, selle asemel luuakse fragmentide viitest fail, kus on kirjeldatud faili t\u00fc\u00fcp, tee failini, fragmenti algus ja l\u00f5pp. Fragmentide viidete loomine ja avamine on delegeeritud utiliididele, mille olen spetsiaalselt nende eesm\u00e4rkide jaoks teinud \u2014 need on mediafragmenter ja fragplayer. Esimene loob, teine avab. Audio- ja videofailide puhul toimub meediafaili k\u00e4ivitamine teatud punktist teatud punktini VLC m\u00e4ngijaga, seega peab see s\u00fcsteemis olema. Alguses tahtsin teha selle p\u00f5hjal mplayer&amp;#8217:iga, kuid seal polnud mingil p\u00f5hjusel positsioneerimisega sujuv.<br \/>\nMeie n\u00e4ites luuakse fail &#171;Duck Tales intro.fragpointer&#187; (see asetatakse eraldi kohta) ja seej\u00e4rel esitatakse fragment faili algusest (kuna &#8212;starti ei m\u00e4\u00e4ritud loomisel) kuni 59 sekundi m\u00e4rgini, p\u00e4rast mida VLC suletakse.<\/p>\n<p><\/p>\n<p>Teine n\u00e4ide \u2014 otsustasime kategoriseerida m\u00f5ne tuntud esineja kontserdil toimunud esinemise:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis assign Leps \"P\u00e4\u00e4stke meie hinged\" -f Grigori Leps - Kontsert P\u00e4rlus - Vladimir Vysotski laule.mp4 --fragname \"P\u00e4\u00e4stke meie hinged\" --start 00:32:18 --finish 00:36:51\n\nvitis open \"P\u00e4\u00e4stke meie hinged\"<\/code><\/pre>\n<p><\/p>\n<p>Fail avatakse \u00f5igel positsioonil ja sulgub nelja ja poole minuti p\u00e4rast.<\/p>\n<p><\/p>\n<h1 id=\"kak-eto-vsyo-rabotaet--dopolnitelnye-vozmozhnosti\">Kuidas see k\u00f5ik t\u00f6\u00f6tab + t\u00e4iendavad v\u00f5imalused<\/h1>\n<p><\/p>\n<h2 id=\"hranenie-kategoriy\">Kategooriate salvestamine<\/h2>\n<p><\/p>\n<p>Alguses, kui m\u00f5tlesin v\u00e4lja semantilise failis\u00fcsteemi korraldust, tuli mulle meelde kolm meetodit: s\u00fcmboolsete linkide, andmebaasi ja XML kirjelduse kaudu. V\u00f5itis esimene meetod, kuna see on \u00fchelt poolt lihtne teostada ning teisalt annab kasutajale v\u00f5imaluse vaadata kategooriaid otse failis\u00fcsteemist (mis on mugav ja oluline). Kasutamise alguses <em>vitis<\/em> Kasutaja kodukaustas luuakse kaust &#171;Vitis&#187; ja konfiguratsioonifail &#171;.config\/vitis\/vitis.conf&#187;. Kaustas ~\/Vitis luuakse kaustad, mis vastavad kategooriatele, ja nendes kategooria kaustades luuakse s\u00fcmboolsed lingid originaalfailidele. Kategooriate pseudon\u00fc\u00fcmid on samuti lihtsalt lingid neile. Muidugi v\u00f5ib kausta &#171;Vitis&#187; olemasolu kodukataloogis kedagi h\u00e4irida. Saame vahetada mis tahes teise koha peale:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis service set path \/mnt\/MyFavoriteDisk\/Vitis\/<\/code><\/pre>\n<p><\/p>\n<p>M\u00f5nes hetkes saab selgeks, et hajali erinevates kohtades asuvaid faile on m\u00f5ttekas kategoriseerida, kuna nende asukoht v\u00f5ib muutuda. Seet\u00f5ttu l\u00f5in ma esialgu endale kausta, kuhu lihtsalt k\u00f5ik kogusin ja sellele k\u00f5igile kategooriaid andsin. Seej\u00e4rel m\u00f5istsin, et oleks hea see hetk programmi tasemel vormistada. Nii s\u00fcndis m\u00f5iste &#171;failide ruum&#187;. <em>vitis<\/em> ei oleks kohe \u00fcldse paha seadistada selline koht (seal kuhjatakse k\u00f5ik vajalikud failid) ja sisse l\u00fclitada automaatne salvestamine:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis service add filespace \/mnt\/MyFavoriteDisk\/Filespace\/\nvitis service set autosave yes<\/code><\/pre>\n<p><\/p>\n<p>Ilma automaatset salvestamist k\u00e4su &#171;assign&#187; kasutamisel on vaja lippu &#8212;save, kui soovite salvestada lisatavat faili failiruumis.<\/p>\n<p><\/p>\n<p>Veelgi enam, saab lisada mitmeid failiruume ja muuta nende prioriteete, mis v\u00f5ib olla kasulik, kui faile on palju ja need on erinevates seadmetes. Siin ma seda v\u00f5imalust ei k\u00e4sitle, detaile saab lugeda programmi abist.<\/p>\n<p><\/p>\n<h2 id=\"migraciya-semanticheskoy-faylovoy-sistemy\">Semantilise failis\u00fcsteemi migratsioon<\/h2>\n<p><\/p>\n<p>Nii v\u00f5i teisiti, kaust Vitis ja failiruumi v\u00f5ivad teoreetiliselt m\u00f5nikord paigutust vahetada. T\u00f6\u00f6tamiseks olen loonud eraldi utiliidi <em>link-editor<\/em>, mis suudab massiliselt linke redigeerida, asendades teed osad teistega:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">cp -r \/mnt\/MyFavoriteDisk\/Vitis\/ ~\/Vitis\nlink-editor -d ~\/Vitis\/ -f \/mnt\/MyFavoriteDisk\/Vitis\/ -r ~\/Vitis\/ -R\ncp -r \/mnt\/MyFavoriteDisk\/Filespace\/ ~\/MyFiles\nlink-editor -d ~\/Vitis\/ -f \/mnt\/FlashDrive-256\/Filespace\/ -r ~\/MyFiles -R<\/code><\/pre>\n<p><\/p>\n<p>Esimesel juhul, p\u00e4rast liikumist \/mnt\/MyFavoriteDisk\/Vitis\/ kodu katalooge, muudetakse s\u00fcmboolseid linke, mis on seotud aliastega. Teisel juhul, peale failiruumi asukoha muutmist, muudetakse k\u00f5ik linkid Vitis'e uute osadega nende tee asenduse p\u00f5hjal.<\/p>\n<p><\/p>\n<h2 id=\"avtomaticheskie-kategorii\">Ainulaadsed kategooriad<\/h2>\n<p><\/p>\n<p>Kui k\u00e4ivitate k\u00e4su <code>vitis service get autocategorization<\/code>, siis n\u00e4ete, et vaikimisi on seadistatud automaatsete kategooriate m\u00e4\u00e4ramine faili formaadi (Format ja Type) ja laiuse (Extension) j\u00e4rgi.<\/p>\n<p><\/p>\n<p>See on kasulik, kui peate n\u00e4iteks leidma midagi PDF-ide seast v\u00f5i vaatama, mis teil on salvestatud EPUB ja FB2 formaadis, saate lihtsalt teostada p\u00e4ringu<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">vitis show Format\/MOBI u: Format\/FB2<\/code><\/pre>\n<p><\/p>\n<p>Tundub, et standardsed GNU\/Linux t\u00f6\u00f6riistad nagu file v\u00f5i mimetype ei rahuldanud mind just sellep\u00e4rast, et nad ei m\u00e4\u00e4ra formaati alati \u00f5igesti. Seepeale pidin tegema oma implementatsiooni failide allkirjade ja laiendite p\u00f5hjal. \u00dcldiselt on failiformaatide m\u00e4\u00e4ratlemise teema huvitav uurimisteema ja v\u00e4\u00e4rib eraldi artiklit. Kui r\u00e4\u00e4kida, siis v\u00f5ib-olla ei ole ma k\u00f5igi maailmas olevate formaatide jaoks taganud usaldusv\u00e4\u00e4rset tuvastamist, kuid \u00fcldiselt t\u00f6\u00f6tab see juba praegu p\u00e4ris h\u00e4sti. T\u00f5si, EPUB m\u00e4\u00e4ratakse praegu formaadina ZIP (millel on oma \u00f5igustus, kuid praktikas ei peaks seda pidama normaalseks k\u00e4itumiseks). Teatud aja jooksul pidage seda v\u00f5imalust eksperimentaalseks ja andke teada, kui leiate vigu. Veidratel juhtudel v\u00f5ib alati kasutada failide laiendite kategooriaid, n\u00e4iteks Extension\/epub.<\/p>\n<p><\/p>\n<p>Kui automaatsed kategooriad formaadi j\u00e4rgi on lubatud, siis on samuti lubatud automaatsed kategooriad, mis \u00fchinevad m\u00f5nede formaatidena, nagu: &#171;Archives&#187;, &#171;Pictures&#187;, &#171;Video&#187;, &#171;Audio&#187; ja &#171;Documents&#187;. Neile alamkategooriatele tehakse samuti lokaliseeritud nimesid.<\/p>\n<p><\/p>\n<h1 id=\"o-chyom-ne-skazano\">Millest ei r\u00e4\u00e4gita<\/h1>\n<p><\/p>\n<p><em>vitis<\/em> on saanud v\u00e4ga mitmekesise t\u00f6\u00f6riista, ning on keeruline k\u00f5ike korraga katma. L\u00fchidalt mainin, mida veel teha saab:<\/p>\n<p><\/p>\n<ul>\n<li>kategooriaid saab kustutada ja faile neist eemaldada;<\/li>\n<li>p\u00e4ringute tulemusi saab kopeerida m\u00e4\u00e4ratud kausta;<\/li>\n<li>faile saab k\u00e4ivitada programmidena;<\/li>\n<li>meeskonnal show on palju valikuid, n\u00e4iteks sorteerimine nime\/muutmise kuup\u00e4eva v\u00f5i ligip\u00e4\u00e4su\/suuruse\/failit\u00fc\u00fcbi j\u00e4rgi, faili omaduste ja originaalide teede kuvamine, peidetud failide kuvamise aktiveerimine jne.;<\/li>\n<li>Internetiallika linkide salvestamisel on v\u00f5imalik ka HTML-lehek\u00fclgede kohalikud koopiad salvestada.<\/li>\n<\/ul>\n<p><\/p>\n<p>K\u00f5iki \u00fcksikasju leiate kasutajatoe juhendist.<\/p>\n<p><\/p>\n<h1 id=\"perspektivy\">Perspektiivid<\/h1>\n<p><\/p>\n<p>Sageli \u00fctlevad skeptikud, et &#171;keegi ei hakka neid tage ise panema&#187;. Oma kogemuse p\u00f5hjal v\u00f5in t\u00f5estada vastupidist: olen juba kategooriatesse paigutanud \u00fcle kuue tuhande faili, loonud \u00fcle tuhande kategooria ja h\u00fc\u00fcdnime, ja see oli seda v\u00e4\u00e4rt. Kui \u00fche komandiga <code>vitis open Plaan<\/code> avatakse oma \u00fclesannete nimekiri v\u00f5i kui \u00fches k\u00e4skluses <code>vitis open LaTeX<\/code> avada Stolyarovi raamat LaTeX vorminduss\u00fcsteemist, siis on juba vaimselt keeruline kasutada failis\u00fcsteemi &#171;vana moe j\u00e4rgi&#187;.<\/p>\n<p><\/p>\n<p>Sellel p\u00f5hjusel kerkib esile rida ideid. N\u00e4iteks v\u00f5iks luua automaatse raadio, mis m\u00e4ngib temaatilist muusikat vastavalt praegusele ilmale, p\u00fchadele, n\u00e4dalap\u00e4evadele, kellaajale v\u00f5i aastaaegadele. Veel l\u00e4hedasem teema on muusikapleier, mis teab kategooriaid ja suudab m\u00e4ngida muusikat kategooriate operatsioonide kaudu nagu hulkadega. Kasulik oleks luua demon, mis j\u00e4lgib &#171;Downloads&#187; katalooge ja pakub v\u00e4lja uute failide kategoriseerimise. Ja muidugi, peaks looma korraliku graafilise semantilise failihalduri. Kunagi tegin isegi ettev\u00f5ttele veebiteenuse faile kollektiivselt kasutamiseks, kuid see ei olnud prioriteet ja muutus ebaoluliseks, ehkki saavutas k\u00f5rge t\u00f6\u00f6kindluse taseme. (Seoses suurte muutustega iseenda) <em>vitis<\/em>, on see juba kasutusk\u00f5lbmatu.)<\/p>\n<p>\n<b class=\"spoiler_title\">siin on v\u00e4ike demo<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Kategooriad asemel kataloogid, v\u00f5i Semantilise failis\u00fcsteemi rakendamine Linuxile\" src=\"\/wp-content\/uploads\/2019\/06\/0a8e3829424135a6bf9390d2b2654499.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h1 id=\"zaklyuchenie\">Kokkuv\u00f5te<\/h1>\n<p><\/p>\n<p><em>Vitis<\/em> \u2014 ei ole esimene katse radikaalselt muuta andmete t\u00f6\u00f6tlemise stiili, kuid pean oluliseks ellu viia oma ideed ja jagada teostust avatud juurdep\u00e4\u00e4suga GNU GPL litsentsi alusel. Mugavuse huvides on loodud deb-pakett x86-64 jaoks, see peaks t\u00f6\u00f6tama k\u00f5ikidel kaasaegsetel Debian jaotustel. ARM-is tekkisid v\u00e4ikesed raskused (kuid k\u00f5ik teised programmid, mis on seotud <em>vitis<\/em>, t\u00f6\u00f6tavad korralikult), kuid tulevikus koostatakse t\u00f6\u00f6tav pakett ka sellele platvormile (armhf). RPM-pakettide loomisega olen praegu l\u00f5petanud seoses probleemidega Fedora 30 juures ja raskustega hajutada end paljudele RPM jaotustele, kuid hiljem tehakse siiski pakette v\u00e4hemalt paarile neist. Praegu saab kasutada <code>make &amp;&amp; make install<\/code> v\u00f5i <code>checkinstall<\/code>.<\/p>\n<p><\/p>\n<p>T\u00e4nan k\u00f5iki t\u00e4helepanu eest! Loodan, et see artikkel ja see projekt osutuvad kasulikeks.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.com\/tech.vindex\/vitis\">Lingid projekti reposiitiumile<\/a><\/noindex><\/p>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/457328\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439. \u042f \u043b\u044e\u0431\u043b\u044e \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043a\u0430\u0436\u0443\u0449\u0443\u044e\u0441\u044f \u043d\u0443\u0436\u043d\u043e\u0439, \u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439 \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u0438 \u043e\u0434\u043d\u0430\u0436\u0434\u044b \u0432\u043e \u0441\u043d\u0435 \u044f \u0443\u0432\u0438\u0434\u0435\u043b \u043a\u0440\u0430\u0441\u0438\u0432\u0443\u044e \u0438 \u0443\u0434\u043e\u0431\u043d\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0434\u043b\u044f \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u044d\u0433\u043e\u0432 \u0444\u0430\u0439\u043b\u0430\u043c, \u0438 \u0440\u0435\u0448\u0438\u043b, \u0447\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435 \u0442\u0430\u043a \u0436\u0438\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0447\u0430\u0441\u0442\u043e \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26733,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35687","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kategorii-vmesto-direktorij-ili-semanticheskaya-fajlovaya-sistema-dlya-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439, \u0438\u043b\u0438 \u0421\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kategorii-vmesto-direktorij-ili-semanticheskaya-fajlovaya-sistema-dlya-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:05:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:05:46+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kategooriad asemel kaustad, v\u00f5i Semantilised failis\u00fcsteemid Linuxile | ProHoster","description":"Andmete klassifitseerimine on iseenesest huvitav uurimisteema.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kategorii-vmesto-direktorij-ili-semanticheskaya-fajlovaya-sistema-dlya-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439, \u0438\u043b\u0438 \u0421\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f Linux | ProHoster","og:description":"\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/kategorii-vmesto-direktorij-ili-semanticheskaya-fajlovaya-sistema-dlya-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:05:46+00:00","article:modified_time":"2019-10-31T19:05:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35687","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 00:23:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:57:46","updated":"2026-01-22 00:23:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/35687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=35687"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/35687\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/26733"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=35687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=35687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=35687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}